Function at 0x5ff618
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff50
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov byte [ebp - 0x29], dl
mov dword [ebp - 8], eax
lea esi, [ebp - 8]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0x29]
mov eax, dword [esi]
call fcn.00488c70
mov eax, dword [esi]
cmp byte [eax + 0x242], 0
jne 0x600b41
mov eax, dword [esi]
call fcn.005fb148
test eax, eax
jne 0x5ff699
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x78]
call fcn.005bba8c
jmp 0x5ff6a3
lea edx, [ebp - 0x78]
mov eax, dword [esi]
call fcn.005faee0
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
jne 0x5ffa50
mov eax, dword [esi]
cmp byte [eax + 0x2e8], 0
jne 0x5ffa50
mov eax, dword [esi]
call fcn.005fb148
dec eax
jne 0x5ff9d9
mov eax, dword [esi]
mov byte [eax + 0x2e9], 2
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
mov ebx, eax
mov eax, dword [esi]
mov byte [eax + 0x240], 0
push ebp
mov eax, ebx
call fcn.005c8390
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff727
mov eax, dword [esi]
mov byte [eax + 0x240], 1
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
fld xword [ebx + 0x60]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
fld xword [ebx + 0x70]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff766
mov eax, dword [esi]
mov byte [eax + 0x240], 2
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
fld xword [ebx + 0x60]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff7a0
mov eax, dword [esi]
mov byte [eax + 0x240], 3
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
fld xword [ebx + 0x70]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff7da
mov eax, dword [esi]
mov byte [eax + 0x240], 4
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
fld xword [ebx + 0x60]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
fld xword [ebx + 0x70]
fdiv dword [0x600b4c]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff81f
mov eax, dword [esi]
mov byte [eax + 0x240], 5
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
fld xword [ebx + 0x70]
fdiv dword [0x600b4c]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff85c
mov eax, dword [esi]
mov byte [eax + 0x240], 6
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
fld xword [ebx + 0x60]
fdiv dword [0x600b4c]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff899
mov eax, dword [esi]
mov byte [eax + 0x240], 7
jmp 0x5ff8d9
push ebp
mov eax, ebx
call fcn.005c8390
fld xword [ebx + 0x60]
fdiv dword [0x600b4c]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
fld xword [ebx + 0x70]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ff8d9
mov eax, dword [esi]
mov byte [eax + 0x240], 8
mov eax, ebx
mov edx, dword [0x5c2308]
call fcn.00403f90
test al, al
je 0x5ff9bc
cmp byte [ebx + 0x190], 0
jne 0x5ff98d
fld xword [ebx + 0x60]
fcomp dword [0x600b50]
fnstsw ax
sahf
jne 0x5ff944
mov eax, dword [esi]
mov al, byte [eax + 0x240]
mov edx, eax
sub dl, 1
je 0x5ff91d
sub dl, 2
jne 0x5ff928
mov eax, dword [esi]
mov byte [eax + 0x240], 7
jmp 0x5ff944
sub al, 2
je 0x5ff930
sub al, 2
jne 0x5ff93b
mov eax, dword [esi]
mov byte [eax + 0x240], 8
jmp 0x5ff944
mov eax, dword [esi]
mov byte [eax + 0x240], 0
fld xword [ebx + 0x70]
fcomp dword [0x600b50]
fnstsw ax
sahf
jne 0x5ff9bc
mov eax, dword [esi]
mov al, byte [eax + 0x240]
mov edx, eax
sub dl, 1
je 0x5ff966
sub dl, 3
jne 0x5ff971
mov eax, dword [esi]
mov byte [eax + 0x240], 6
jmp 0x5ff9bc
add al, 0xfe
sub al, 2
jae 0x5ff982
mov eax, dword [esi]
mov byte [eax + 0x240], 5
jmp 0x5ff9bc
mov eax, dword [esi]
mov byte [eax + 0x240], 0
jmp 0x5ff9bc
mov eax, dword [esi]
mov al, byte [eax + 0x240]
cmp al, 1
jne 0x5ff9a4
mov eax, dword [esi]
mov byte [eax + 0x240], 9
jmp 0x5ff9bc
cmp al, 2
jne 0x5ff9b3
mov eax, dword [esi]
mov byte [eax + 0x240], 0xa
jmp 0x5ff9bc
mov eax, dword [esi]
mov byte [eax + 0x240], 0
mov eax, dword [esi]
cmp byte [eax + 0x240], 0
jne 0x5ff9d0
mov eax, dword [esi]
mov byte [eax + 0x2e9], 0
push ebp
call fcn.005ff5f0
pop ecx
jmp 0x5ffa50
mov eax, dword [esi]
call fcn.005fb148
dec eax
jle 0x5ffa47
mov eax, dword [esi]
mov byte [eax + 0x2e9], 4
mov eax, dword [esi]
call fcn.005fb07c
mov ebx, eax
push ebp
mov eax, ebx
call fcn.005c8390
fld xword [ebx + 0x60]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
call fcn.005c8340
fld xword [ebx + 0x70]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff198
pop ecx
test al, al
je 0x5ffa33
mov dx, 0xfff8
mov eax, dword [esi]
call fcn.004875ac
jmp 0x5ffa50
xor edx, edx
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
mov byte [eax + 0x2e9], 0
jmp 0x5ffa50
xor edx, edx
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
jne 0x5ffb5a
mov eax, dword [esi]
cmp byte [eax + 0x2e8], 0
jne 0x5ffb5a
mov eax, dword [esi]
mov al, byte [eax + 0x2e9]
sub al, 2
je 0x5ffb5a
sub al, 2
je 0x5ffb5a
xor edx, edx
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
mov byte [eax + 0x2e9], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x2ec]
mov edi, dword [eax + 8]
dec edi
test edi, edi
jl 0x5ffb5a
inc edi
mov dword [ebp - 0x4c], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x2ec]
mov edx, dword [ebp - 0x4c]
call fcn.004208bc
mov ebx, eax
mov eax, ebx
mov edx, dword [0x5c2b10]
call fcn.00403f90
test al, al
je 0x5ffb50
cmp byte [ebx + 0x100], 0
je 0x5ffb18
push ebp
fld xword [ebx + 0x40]
fld xword [ebx + 0x60]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff38c
pop ecx
test al, al
je 0x5ffb50
mov dx, 0xfff2
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
mov byte [eax + 0x2e9], 3
mov eax, dword [esi]
mov dword [eax + 0x3a4], ebx
jmp 0x5ffb5a
push ebp
fld xword [ebx + 0x50]
fld xword [ebx + 0x70]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.005ff240
pop ecx
test al, al
je 0x5ffb50
mov dx, 0xfff1
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
mov byte [eax + 0x2e9], 3
mov eax, dword [esi]
mov dword [eax + 0x3a4], ebx
jmp 0x5ffb5a
inc dword [ebp - 0x4c]
dec edi
jne 0x5ffab4
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x5ffc89
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 3
jne 0x5ffc89
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov eax, dword [esi]
mov byte [eax + 0x2ea], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x3a4]
cmp byte [eax + 0x100], 0
je 0x5ffbed
fld xword [eax + 0x60]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov edx, dword [eax]
call dword [edx + 0x3c]
jmp 0x5ffc01
fld xword [eax + 0x70]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov edx, dword [eax]
call dword [edx + 0x40]
mov eax, dword [esi]
mov edx, dword [eax + 0x3a4]
mov eax, dword [esi]
call fcn.005fddbc
mov eax, dword [esi]
call fcn.005fda14
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2b8]
wait
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2c8]
wait
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [esi]
mov ebx, dword [eax + 0x3a4]
mov ax, word [ebx + 0x48]
push eax
push dword [ebx + 0x44]
push dword [ebx + 0x40]
mov ax, word [ebx + 0x58]
push eax
push dword [ebx + 0x54]
push dword [ebx + 0x50]
mov ax, word [ebx + 0x68]
push eax
push dword [ebx + 0x64]
push dword [ebx + 0x60]
mov ax, word [ebx + 0x78]
push eax
push dword [ebx + 0x74]
push dword [ebx + 0x70]
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
jne 0x5ffd1c
test byte [ebp - 0x29], 2
je 0x5ffd1c
xor edx, edx
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
mov byte [eax + 0x2e9], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x2ec]
mov edi, dword [eax + 8]
dec edi
test edi, edi
jl 0x5ffd1c
inc edi
mov dword [ebp - 0x4c], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x2ec]
mov edx, dword [ebp - 0x4c]
call fcn.004208bc
mov ebx, eax
mov eax, ebx
mov edx, dword [0x5c1824]
call fcn.00403f90
test al, al
je 0x5ffd16
push ebp
mov eax, ebx
call fcn.005ff29c
pop ecx
test al, al
je 0x5ffd16
mov eax, dword [esi]
mov dword [eax + 0x270], ebx
mov dx, 0xfffc
mov eax, dword [esi]
call fcn.004875ac
mov eax, dword [esi]
mov byte [eax + 0x2e9], 5
jmp 0x5ffd1c
inc dword [ebp - 0x4c]
dec edi
jne 0x5ffcc8
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
jne 0x5ffdf5
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 7
jne 0x5ffdf5
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x278]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x282]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov eax, dword [esi]
call fcn.005fca80
mov eax, dword [esi]
fld xword [eax + 0x278]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x278]
wait
mov eax, dword [esi]
fld xword [eax + 0x282]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x282]
wait
mov eax, dword [esi]
call fcn.005fca80
mov eax, dword [esi]
lea ebx, [eax + 0x274]
mov ax, word [ebx + 0xc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
mov ax, word [ebx + 0x16]
push eax
push dword [ebx + 0x12]
push dword [ebx + 0xe]
mov ax, word [ebx + 0x20]
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
mov ax, word [ebx + 0x2a]
push eax
push dword [ebx + 0x26]
push dword [ebx + 0x22]
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x5ffee0
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 7
jne 0x5ffee0
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x278]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x282]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov eax, dword [esi]
call fcn.005fca80
mov eax, dword [esi]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x28c], edx
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x290], edx
mov dx, word [ebp - 0x10]
mov word [eax + 0x294], dx
mov eax, dword [esi]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x296], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x29a], edx
mov dx, word [ebp - 0x20]
mov word [eax + 0x29e], dx
mov eax, dword [esi]
call fcn.005fca80
mov eax, dword [esi]
lea ebx, [eax + 0x274]
mov ax, word [ebx + 0xc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
mov ax, word [ebx + 0x16]
push eax
push dword [ebx + 0x12]
push dword [ebx + 0xe]
mov ax, word [ebx + 0x20]
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
mov ax, word [ebx + 0x2a]
push eax
push dword [ebx + 0x26]
push dword [ebx + 0x22]
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x600153
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 1
jne 0x600153
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov eax, dword [esi]
cmp byte [eax + 0x2ea], 0
jne 0x60005b
mov eax, dword [esi]
call fcn.005fb148
dec eax
jne 0x60005b
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
mov edx, dword [0x5c2b10]
call fcn.00403f90
test al, al
je 0x60005b
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
cmp byte [eax + 0x100], 0
je 0x60005b
mov eax, dword [esi]
mov eax, dword [eax + 0x2ec]
mov edi, dword [eax + 8]
dec edi
test edi, edi
jl 0x60005b
inc edi
mov dword [ebp - 0x4c], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x2ec]
mov edx, dword [ebp - 0x4c]
call fcn.004208bc
mov ebx, eax
mov eax, ebx
mov edx, dword [0x5c10f4]
call fcn.00403f90
test al, al
je 0x600051
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
fld xword [eax + 0x40]
fld xword [0x600b54]
fsubp st(1)
fld xword [ebx + 0x40]
fcompp
fnstsw ax
sahf
jb 0x600051
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
add eax, 0x40
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
fld xword [eax + 0x60]
pop eax
fld xword [eax]
faddp st(1)
fld xword [0x600b54]
faddp st(1)
fld xword [ebx + 0x40]
fld xword [ebx + 0x60]
faddp st(1)
fcompp
fnstsw ax
sahf
ja 0x600051
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
mov edx, ebx
call fcn.00420710
inc dword [ebp - 0x4c]
dec edi
jne 0x5fffba
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
mov edx, dword [0x5c2b10]
call fcn.00403f90
test al, al
je 0x60009d
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
cmp byte [eax + 0x100], 0
je 0x60009d
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov word [ebp - 0x20], ax
mov eax, dword [esi]
mov byte [eax + 0x2ea], 1
mov eax, dword [esi]
call fcn.005fb148
mov edi, eax
dec edi
test edi, edi
jl 0x600113
inc edi
mov dword [ebp - 0x4c], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
mov edx, dword [ebp - 0x4c]
call fcn.004208bc
mov ebx, eax
fld xword [ebx + 0x40]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
mov edx, dword [ebx + 0x38]
call fcn.00420918
inc eax
jne 0x60010d
fld xword [ebx + 0x50]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x38]
inc dword [ebp - 0x4c]
dec edi
jne 0x6000bc
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2b8]
wait
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2c8]
wait
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x80]
lea edx, [ebp - 0x78]
mov eax, dword [esi]
call fcn.005faee0
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x6004c6
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 2
jne 0x6004c6
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov eax, dword [esi]
mov byte [eax + 0x2ea], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
xor edx, edx
call fcn.004208bc
mov ebx, eax
mov eax, dword [esi]
movzx eax, byte [eax + 0x240]
cmp eax, 0xa
ja case.0x6001e2.0
jmp dword [eax*4 + 0x6001e9]
fld xword [ebx + 0x40]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
fld xword [ebx + 0x60]
fld xword [ebp - 0x18]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
fld xword [ebx + 0x50]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x38]
fld xword [ebx + 0x70]
fld xword [ebp - 0x28]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
jmp case.0x6001e2.0
fld xword [ebx + 0x60]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
fld xword [ebx + 0x70]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
jmp case.0x6001e2.0
fld xword [ebx + 0x50]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x38]
fld xword [ebx + 0x60]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
fld xword [ebx + 0x70]
fld xword [ebp - 0x28]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
jmp case.0x6001e2.0
fld xword [ebx + 0x40]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
fld xword [ebx + 0x60]
fld xword [ebp - 0x18]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
fld xword [ebx + 0x70]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
jmp case.0x6001e2.0
fld xword [ebx + 0x60]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
jmp case.0x6001e2.0
fld xword [ebx + 0x40]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
fld xword [ebx + 0x60]
fld xword [ebp - 0x18]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
jmp case.0x6001e2.0
fld xword [ebx + 0x50]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x38]
fld xword [ebx + 0x70]
fld xword [ebp - 0x28]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
jmp case.0x6001e2.0
fld xword [ebx + 0x70]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
push ebp
mov eax, ebx
call fcn.005ff51c
pop ecx
push ebp
call fcn.005ff5f0
pop ecx
fld xword [ebx + 0x40]
fcomp dword [0x600b50]
fnstsw ax
sahf
jae 0x6003e6
push 0
push 0
push 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, ebx
mov edx, dword [0x5c2b10]
call fcn.00403f90
test al, al
je 0x60045c
mov eax, dword [esi]
mov al, byte [eax + 0x240]
sub al, 1
je 0x60040b
sub al, 2
je 0x60040b
sub al, 4
jne 0x60044c
mov eax, dword [ebx + 0x30]
mov edi, dword [eax + 8]
dec edi
test edi, edi
jl 0x60044c
inc edi
mov dword [ebp - 0x4c], 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x30]
call fcn.004208bc
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
fld xword [eax + 0x50]
fld xword [ebp - 0x28]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
call dword [edx + 0x38]
inc dword [ebp - 0x4c]
dec edi
jne 0x60041e
mov edx, ebx
mov eax, dword [esi]
call fcn.005fddbc
mov eax, dword [esi]
call fcn.005fda14
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2b8]
wait
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2c8]
wait
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x80]
mov ax, word [ebx + 0x48]
push eax
push dword [ebx + 0x44]
push dword [ebx + 0x40]
mov ax, word [ebx + 0x58]
push eax
push dword [ebx + 0x54]
push dword [ebx + 0x50]
mov ax, word [ebx + 0x68]
push eax
push dword [ebx + 0x64]
push dword [ebx + 0x60]
mov ax, word [ebx + 0x78]
push eax
push dword [ebx + 0x74]
push dword [ebx + 0x70]
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x60076c
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 4
jne 0x60076c
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov eax, dword [esi]
mov byte [eax + 0x2ea], 1
mov eax, dword [esi]
lea ebx, [eax + 0x322]
fld xword [ebx + 0x14]
fld xword [ebp - 0x18]
faddp st(1)
fld xword [ebx]
fcompp
fnstsw ax
sahf
ja 0x6005b2
fld xword [ebx + 0x1e]
fld xword [ebp - 0x28]
faddp st(1)
fld xword [ebx + 0xa]
fcompp
fnstsw ax
sahf
ja 0x6005b2
mov ax, word [ebx + 8]
push eax
push dword [ebx + 4]
push dword [ebx]
mov ax, word [ebx + 0x12]
push eax
push dword [ebx + 0xe]
push dword [ebx + 0xa]
fld xword [ebx + 0x14]
fld xword [ebp - 0x18]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
fld xword [ebx + 0x1e]
fld xword [ebp - 0x28]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0xa0]
call fcn.005bba8c
mov eax, dword [esi]
push esi
lea esi, [ebp - 0xa0]
lea edi, [eax + 0x322]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
fld xword [eax + 0x336]
mov eax, dword [esi]
fld xword [eax + 0x322]
fsubp st(1)
mov eax, dword [esi]
fld xword [eax + 0x35e]
mov eax, dword [esi]
fld xword [eax + 0x34a]
fsubp st(1)
fdivp st(1)
fstp xword [ebp - 0x38]
wait
mov eax, dword [esi]
fld xword [eax + 0x340]
mov eax, dword [esi]
fld xword [eax + 0x32c]
fsubp st(1)
mov eax, dword [esi]
fld xword [eax + 0x368]
mov eax, dword [esi]
fld xword [eax + 0x354]
fsubp st(1)
fdivp st(1)
fstp xword [ebp - 0x48]
wait
mov eax, dword [esi]
call fcn.005fb148
mov edi, eax
dec edi
test edi, edi
jl 0x6006f3
inc edi
mov dword [ebp - 0x4c], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x374]
mov edx, dword [ebp - 0x4c]
call fcn.004208bc
mov ebx, eax
fld xword [ebx + 0x9c]
mov eax, dword [esi]
fld xword [eax + 0x34a]
fsubp st(1)
fld xword [ebp - 0x38]
fmulp st(1)
mov eax, dword [esi]
fld xword [eax + 0x34a]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
fld xword [ebx + 0xa6]
mov eax, dword [esi]
fld xword [eax + 0x354]
fsubp st(1)
fld xword [ebp - 0x48]
fmulp st(1)
mov eax, dword [esi]
fld xword [eax + 0x354]
faddp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x38]
mov eax, dword [ebx + 0x38]
mov edx, dword [0x5c2b10]
call fcn.00403f90
test al, al
je 0x6006b7
fld xword [ebx + 0x50]
mov eax, dword [ebx + 0x38]
fld xword [eax + 0x50]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x38]
fld xword [ebx + 0xb0]
fld xword [ebp - 0x38]
fmulp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
fld xword [ebx + 0xba]
fld xword [ebp - 0x48]
fmulp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x40]
inc dword [ebp - 0x4c]
dec edi
jne 0x600620
mov eax, dword [esi]
fld xword [eax + 0x2b8]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2b8]
wait
mov eax, dword [esi]
fld xword [eax + 0x2c8]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x2c8]
wait
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [esi]
lea ebx, [eax + 0x322]
fld xword [ebx + 0x14]
fld xword [ebx]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
fld xword [ebx + 0x1e]
fld xword [ebx + 0xa]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
mov ax, word [ebp - 0x30]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov ax, word [ebp - 0x40]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x48]
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x6007f2
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 6
jne 0x6007f2
mov eax, dword [esi]
call fcn.005fc9f0
mov eax, dword [esi]
mov dx, word [eax + 0x380]
push edx
push dword [eax + 0x37c]
push dword [eax + 0x378]
mov eax, dword [esi]
mov dx, word [eax + 0x38a]
push edx
push dword [eax + 0x386]
push dword [eax + 0x382]
fild dword [ebp - 4]
add esp, 0xfffffff4
fstp xword [esp]
wait
fild dword [ebp + 8]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0xa0]
call fcn.005bba8c
mov eax, dword [esi]
push esi
lea esi, [ebp - 0xa0]
lea edi, [eax + 0x378]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
call fcn.005fc9f0
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
jne 0x6008c5
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 8
jne 0x6008c5
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x278]
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x282]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
xor edx, edx
mov eax, dword [esi]
call fcn.005fcb80
mov eax, dword [esi]
fld xword [eax + 0x278]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x278]
wait
mov eax, dword [esi]
fld xword [eax + 0x282]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x282]
wait
xor edx, edx
mov eax, dword [esi]
call fcn.005fcb80
mov eax, dword [esi]
lea ebx, [eax + 0x274]
mov ax, word [ebx + 0xc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
mov ax, word [ebx + 0x16]
push eax
push dword [ebx + 0x12]
push dword [ebx + 0xe]
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x6009b6
mov eax, dword [esi]
cmp byte [eax + 0x2e9], 8
jne 0x6009b6
fild dword [ebp - 4]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x278]
mov eax, dword [esi]
fld xword [eax + 0x28c]
faddp st(1)
fsubp st(1)
fstp xword [ebp - 0x18]
wait
fild dword [ebp + 8]
mov eax, dword [esi]
fld xword [eax + 0x318]
fdivp st(1)
mov eax, dword [esi]
fld xword [eax + 0x282]
mov eax, dword [esi]
fld xword [eax + 0x296]
faddp st(1)
fsubp st(1)
fstp xword [ebp - 0x28]
wait
push ebp
call fcn.005ff4c0
pop ecx
test al, al
jne 0x600b41
mov dl, 1
mov eax, dword [esi]
call fcn.005fcb80
mov eax, dword [esi]
fld xword [eax + 0x28c]
fld xword [ebp - 0x18]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x28c]
wait
mov eax, dword [esi]
fld xword [eax + 0x296]
fld xword [ebp - 0x28]
faddp st(1)
mov eax, dword [esi]
fstp xword [eax + 0x296]
wait
mov dl, 1
mov eax, dword [esi]
call fcn.005fcb80
mov eax, dword [esi]
lea ebx, [eax + 0x274]
mov ax, word [ebx + 0xc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
mov ax, word [ebx + 0x16]
push eax
push dword [ebx + 0x12]
push dword [ebx + 0xe]
mov ax, word [ebx + 0x20]
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
mov ax, word [ebx + 0x2a]
push eax
push dword [ebx + 0x26]
push dword [ebx + 0x22]
lea eax, [ebp - 0x78]
call fcn.005bba8c
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x600b0e
mov eax, dword [esi]
cmp word [eax + 0x78], 0x32
je 0x600b0e
mov eax, dword [esi]
mov ebx, dword [eax + 0x30]
mov eax, ebx
mov edx, dword [0x49d124]
call fcn.00403f90
test al, al
je 0x600b0e
mov eax, dword [esi]
fild dword [eax + 0x2d2]
mov eax, dword [esi]
fld xword [eax + 0x318]
fmulp st(1)
call fcn.00402d48
add dword [ebp - 4], eax
mov eax, dword [esi]
fild dword [eax + 0x2d6]
mov eax, dword [esi]
fld xword [eax + 0x318]
fmulp st(1)
call fcn.00402d48
add dword [ebp + 8], eax
lea edx, [ebp - 0xb0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebx + 0x208]
add eax, dword [edx + 0xc]
cmp eax, dword [ebp - 4]
jge 0x600a78
lea edx, [ebp - 0xb0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebx + 0x208]
add eax, dword [edi + 0xc]
mov edx, dword [ebp - 4]
sub edx, eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebx + 0x208]
mov edx, dword [eax + 0xc]
add edx, dword [ebp - 0x4c]
mov eax, edi
call fcn.004a0c3c
mov edx, dword [ebx + 0x208]
mov eax, dword [edx + 0xc]
cmp eax, dword [ebp - 4]
jle 0x600a97
mov ecx, eax
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x4c], ecx
sub eax, dword [ebp - 0x4c]
xchg edx, eax
call fcn.004a0c3c
lea edx, [ebp - 0xb0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebx + 0x20c]
add eax, dword [edx + 0xc]
cmp eax, dword [ebp + 8]
jge 0x600aef
lea edx, [ebp - 0xb0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebx + 0x20c]
add eax, dword [edi + 0xc]
mov edx, dword [ebp + 8]
sub edx, eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebx + 0x20c]
mov edx, dword [eax + 0xc]
add edx, dword [ebp - 0x4c]
mov eax, edi
call fcn.004a0c3c
mov edx, dword [ebx + 0x20c]
mov eax, dword [edx + 0xc]
cmp eax, dword [ebp + 8]
jle 0x600b0e
mov ecx, eax
sub ecx, dword [ebp + 8]
mov dword [ebp - 0x4c], ecx
sub eax, dword [ebp - 0x4c]
xchg edx, eax
call fcn.004a0c3c
mov eax, dword [esi]
call fcn.005fb148
test eax, eax
je 0x600b24
mov eax, dword [esi]
cmp byte [eax + 0x2eb], 0
je 0x600b41
mov eax, dword [esi]
cmp word [eax + 0x3c2], 0
je 0x600b41
mov ebx, dword [esi]
lea edx, [ebp - 0x78]
mov eax, dword [ebx + 0x3c4]
call dword [ebx + 0x3c0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4