mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-12-15 14:40:53 +00:00
436 lines
4.1 KiB
Text
436 lines
4.1 KiB
Text
.486
|
|
.model flat
|
|
extrn __fltused:near
|
|
extrn __ftol:near
|
|
public _main
|
|
_TEXT segment
|
|
_main:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
push 0
|
|
call _exit
|
|
add esp,4
|
|
mov eax,0
|
|
L1:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _nested
|
|
_nested:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
cmp dword ptr (20)[ebp],4
|
|
jge L6
|
|
cmp dword ptr (24)[ebp],114
|
|
je L9
|
|
L6:
|
|
cmp dword ptr (20)[ebp],1
|
|
jne L8
|
|
mov edi,dword ptr (24)[ebp]
|
|
cmp edi,104
|
|
je L9
|
|
cmp edi,105
|
|
je L9
|
|
L8:
|
|
cmp dword ptr (20)[ebp],2
|
|
jne L3
|
|
mov edi,dword ptr (24)[ebp]
|
|
cmp edi,111
|
|
je L9
|
|
cmp edi,121
|
|
jne L3
|
|
L9:
|
|
mov edi,dword ptr (24)[ebp]
|
|
mov dword ptr (20)[ebp],edi
|
|
L3:
|
|
mov eax,0
|
|
L2:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _s
|
|
_s:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
L10:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
public _Dy
|
|
align 4
|
|
_Dy label byte
|
|
dd 0
|
|
db 4 dup (0)
|
|
public _Dz
|
|
align 4
|
|
_Dz label byte
|
|
dd 1
|
|
db 4 dup (0)
|
|
public _Dfunc
|
|
_DATA ends
|
|
_TEXT segment
|
|
_Dfunc:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _f
|
|
_f:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _f1
|
|
_f1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _f2
|
|
_f2:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _g
|
|
_g:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _h
|
|
_h:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _h1
|
|
_h1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _h2
|
|
_h2:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
align 4
|
|
L21 label byte
|
|
dd 1
|
|
public _set1
|
|
_DATA ends
|
|
_TEXT segment
|
|
_set1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
align 4
|
|
L23 label byte
|
|
dd 2
|
|
public _set2
|
|
_DATA ends
|
|
_TEXT segment
|
|
_set2:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_goo:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _sss
|
|
_sss:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
align 4
|
|
L27 label byte
|
|
db 4 dup (0)
|
|
public _rrr
|
|
_DATA ends
|
|
_TEXT segment
|
|
_rrr:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _setstatic
|
|
_setstatic:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _gx1
|
|
_gx1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _ff1
|
|
_ff1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _gg1
|
|
_gg1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _hh1
|
|
_hh1:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _cmp
|
|
_cmp:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _sort
|
|
_sort:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _onearg
|
|
_onearg:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
extrn _exit:near
|
|
_TEXT segment
|
|
_TEXT ends
|
|
extrn _qsort:near
|
|
_TEXT segment
|
|
_TEXT ends
|
|
extrn _strcmp:near
|
|
_TEXT segment
|
|
_TEXT ends
|
|
_DATA segment
|
|
public _ss4
|
|
align 4
|
|
_ss4 label byte
|
|
db 4 dup (0)
|
|
align 4
|
|
_ss2 label byte
|
|
db 4 dup (0)
|
|
align 4
|
|
_ss5 label byte
|
|
db 4 dup (0)
|
|
public _ss3
|
|
align 4
|
|
_ss3 label byte
|
|
db 4 dup (0)
|
|
align 4
|
|
_ss1 label byte
|
|
db 4 dup (0)
|
|
align 4
|
|
_yy label byte
|
|
db 4 dup (0)
|
|
public _z
|
|
align 4
|
|
_z label byte
|
|
db 4 dup (0)
|
|
public _y
|
|
align 4
|
|
_y label byte
|
|
db 4 dup (0)
|
|
public _x
|
|
align 4
|
|
_x label byte
|
|
db 4 dup (0)
|
|
public _b
|
|
align 4
|
|
_b label byte
|
|
db 4 dup (0)
|
|
public _a
|
|
align 4
|
|
_a label byte
|
|
db 4 dup (0)
|
|
_DATA ends
|
|
end
|