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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffaf4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x4c8], ebx
mov dword [ebp - 0x4c4], ebx
mov dword [ebp - 0x4c0], ebx
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
test esi, esi
js 0x5ee2bd
mov edi, dword [ebx + esi*4]
dec esi
push edi
jns 0x5ee2b6
mov dword [ebp + 0x1c], esp
mov ebx, ecx
test ebx, ebx
js 0x5ee2cd
mov esi, dword [edx + ebx*4]
dec ebx
push esi
jns 0x5ee2c6
mov edx, esp
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5eecaf
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xbf800000
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0x7fffffff
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp dword [eax + 0x10], 0
je 0x5ee352
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [0x8e6ddc]
mov eax, dword [eax]
call eax
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
jne 0x5ee33b
cmp dword [ebp - 0x18], 0
jae 0x5ee360
jmp 0x5ee33d
jge 0x5ee360
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
call fcn.005add5c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
jmp 0x5ee360
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x4a4]
xor ecx, ecx
mov edx, 0x400
call fcn.00404d90
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
xor ebx, ebx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x37a], 0
je 0x5ee39b
mov eax, dword [ebp + 0xc]
imul dword [ebp + 0x10]
mov edx, dword [ebp + 0x10]
add edx, eax
jmp 0x5ee3a0
xor eax, eax
mov edx, dword [ebp + 0x14]
dec edx
sub edx, eax
jl 0x5ee8a2
inc edx
mov dword [ebp - 0x90], edx
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*4]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x44], 0
jne 0x5ee3fa
cmp dword [esi + 0x184], 0
je 0x5ee3fa
mov eax, dword [esi + 0x184]
fild dword [eax + 0x48]
fdiv dword [0x5eecd0]
fstp dword [ebp - 0x40]
wait
jmp 0x5ee401
mov dword [ebp - 0x40], 0xbf800000
test ebx, ebx
je 0x5ee450
cmp dword [esi + 0xd0], 0
jne 0x5ee450
fld dword [ebp - 0x40]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x5eecd4
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x14
test ebx, ebx
jne 0x5ee840
cmp dword [esi + 0xd0], 0
jne 0x5ee840
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x1b8], 1
jne 0x5ee840
mov eax, dword [0x8e6b78]
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 4]
sub eax, dword [ecx + 0x2b8]
sbb edx, dword [ecx + 0x2bc]
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
fild qword [ebp - 0x4ac]
fdiv dword [0x5eece0]
fstp dword [ebp - 0x3c]
wait
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
cmp eax, 1
jl 0x5eec91
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x3c]
fcomp dword [0x5eece4]
wait
fnstsw ax
sahf
jbe 0x5ee4e0
fild dword [ebp - 0x1c]
fdiv dword [ebp - 0x3c]
fadd dword [0x5eece8]
call fcn.00404894
mov dword [ebp - 0x44], eax
jmp 0x5ee4e5
xor eax, eax
mov dword [ebp - 0x44], eax
fld dword [ebp - 0x40]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x1c]
push eax
push 0x5eecec
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x1c
cmp dword [ebp + 8], 0
je 0x5ee56d
push 0x5eed08
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0xc
mov eax, dword [ebp - 4]
cmp byte [eax + 0xd0], 0
je 0x5ee634
fld dword [ebp - 0x40]
call fcn.00404888
mov edx, eax
test edx, edx
jl 0x5ee5aa
mov dword [ebp - 0x4b0], edx
fild dword [ebp - 0x4b0]
fcomp dword [0x5eed0c]
wait
fnstsw ax
sahf
jae 0x5ee5aa
inc dword [edx*4 + 0x8b36a0]
mov edi, 0x20
mov ebx, 0x8b36a0
mov eax, dword [ebx]
inc eax
mov dword [ebp - 0x4b0], eax
fild dword [ebp - 0x4b0]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00410c78
fstp xword [ebp - 0x4bc]
wait
push 0x4000
push 0x80000000
push 0
call fcn.00410c78
fld xword [ebp - 0x4bc]
fdivrp st(1)
call fcn.00404888
push edx
push eax
push 0x5eed10
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x14
add ebx, 4
dec edi
jne 0x5ee5b4
test byte [esi + 0xd], 0x80
je 0x5ee83b
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x6b], 0x59
mov byte [ebp - 0x6a], 0x55
mov byte [ebp - 0x69], 0x56
push 0x5eed14
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0xc
xor edi, edi
lea ebx, [ebp - 0x6b]
cmp dword [ebp + 8], 0
je 0x5ee6d1
fild qword [esi + edi*8 + 0x190]
fstp qword [ebp - 0x50]
wait
mov eax, dword [esi + 0x28]
imul dword [esi + 0x2c]
mov dword [ebp - 0x4b0], eax
fild dword [ebp - 0x4b0]
fmul dword [0x5eed1c]
fmul dword [0x5eed1c]
fild dword [ebp - 0x1c]
fmulp st(1)
fstp qword [ebp - 0x60]
wait
jmp 0x5ee701
mov eax, dword [esi + 0x184]
fild qword [eax + edi*8 + 0x78]
fstp qword [ebp - 0x50]
wait
mov eax, dword [esi + 0x28]
imul dword [esi + 0x2c]
mov dword [ebp - 0x4b0], eax
fild dword [ebp - 0x4b0]
fmul dword [0x5eed1c]
fmul dword [0x5eed1c]
fstp qword [ebp - 0x60]
wait
test edi, edi
je 0x5ee712
fld qword [ebp - 0x60]
fdiv dword [0x5eed20]
fstp qword [ebp - 0x60]
wait
fld qword [ebp - 0x58]
fadd qword [ebp - 0x50]
fstp qword [ebp - 0x58]
wait
fld qword [ebp - 0x68]
fadd qword [ebp - 0x60]
fstp qword [ebp - 0x68]
wait
fld qword [ebp - 0x50]
fdiv qword [ebp - 0x60]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00410c78
fmul dword [0x5eed24]
fstp xword [ebp - 0x4bc]
wait
push 0x4002
push 0xa0000000
push 0
call fcn.00410c78
fld xword [ebp - 0x4bc]
fdivrp st(1)
fstp qword [ebp - 0x98]
wait
push dword [ebp - 0x94]
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push eax
push 0x5eed28
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x18
inc edi
inc ebx
cmp edi, 3
jne 0x5ee697
fld qword [ebp - 0x58]
fdiv qword [ebp - 0x68]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00410c78
fmul dword [0x5eed24]
fstp xword [ebp - 0x4bc]
wait
push 0x4002
push 0xa0000000
push 0
call fcn.00410c78
fld xword [ebp - 0x4bc]
fdivrp st(1)
fstp qword [ebp - 0xa0]
wait
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push 0x5eed34
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x14
mov ebx, 1
mov edx, dword [0x8e6438]
push dword [edx + 4]
push dword [edx]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
push dword [eax + 0x3c]
push dword [eax + 0x38]
push dword [eax + 0x24]
push dword [eax + 0x20]
mov eax, dword [0x8e66f8]
mov eax, dword [eax]
call eax
add esp, 0x18
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x2c]
jne 0x5ee881
cmp eax, dword [ebp - 0x30]
jae 0x5ee88f
jmp 0x5ee883
jge 0x5ee88f
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
add dword [ebp - 0xa4], 4
dec dword [ebp - 0x90]
jne 0x5ee3bc
mov eax, dword [ebp - 4]
cmp word [eax + 0x3e2], 0
jne 0x5ee8c5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x268], 0
jg 0x5ee8c5
cmp dword [ebp + 8], 0
je 0x5eeb51
mov eax, dword [0x8e6d78]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
call fcn.00409410
mov esi, eax
mov eax, dword [0x8e6d78]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
call fcn.004094f0
mov dword [ebp - 0x88], eax
mov eax, esi
mov ecx, 0x3c
cdq
idiv ecx
mov ebx, eax
mov ecx, 0x3c
mov eax, esi
cdq
idiv ecx
mov esi, edx
mov eax, ebx
mov ecx, 0x3c
cdq
idiv ecx
mov dword [ebp - 0x84], eax
mov ecx, 0x3c
mov eax, ebx
cdq
idiv ecx
mov ebx, edx
mov eax, dword [0x8e6d78]
push dword [eax + 4]
push dword [eax]
imul eax, dword [ebp - 0x88], 0x64
cdq
call fcn.00409410
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x2c], 0
jne 0x5ee952
cmp dword [ebp - 0x30], 0
je 0x5ee986
push 0
push 8
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.004093c8
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
fild qword [ebp - 0x4ac]
fild qword [ebp - 0x30]
fdiv dword [0x5eed40]
fdivp st(1)
fstp qword [ebp - 0x28]
wait
jmp 0x5ee98e
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
fild qword [ebp - 0x18]
fdiv dword [0x5eed44]
fstp qword [ebp - 0x80]
wait
push dword [ebp - 0x24]
push dword [ebp - 0x28]
mov eax, dword [ebp - 0x8c]
push eax
push esi
push ebx
mov eax, dword [ebp - 0x84]
push eax
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
push 0x5eed48
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x2c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x290], 0
jne 0x5eea0b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x294], 0
je 0x5eeab5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x294]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
push eax
push 0x5eed84
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
mov edx, 0x400
sub edx, eax
push edx
lea eax, [ebp - 0x4a4]
call fcn.00417ff4
lea edx, [ebp - 0x4a4]
add eax, edx
push eax
mov eax, dword [0x8e7158]
mov eax, dword [eax]
call eax
add esp, 0x14
mov eax, dword [ebp - 4]
cmp byte [eax + 0x298], 0
je 0x5eeab5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x268], 0
jl 0x5eeab5
mov eax, dword [ebp - 4]
cmp word [eax + 0x3e2], 0
je 0x5eeab5
mov eax, dword [ebp - 4]
mov byte [eax + 0x298], 0
lea eax, [ebp - 0x4c0]
lea edx, [ebp - 0x4a4]
mov ecx, 0x400
call fcn.00407fe4
mov eax, dword [ebp - 0x4c0]
push eax
call fcn.005b042c
mov ecx, 6
mov edx, dword [ebp - 4]
call fcn.005b1078
mov eax, dword [ebp - 4]
cmp word [eax + 0x3e2], 0
je 0x5eeb16
cmp dword [ebp + 8], 0
je 0x5eeacf
mov dword [ebp + 0xc], 0xffffffff
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x44]
push eax
push dword [ebp - 0x40]
fld qword [ebp - 0x28]
add esp, 0xfffffffc
fstp dword [esp]
wait
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [ebp - 4]
push dword [eax + 0x39c]
push dword [eax + 0x398]
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3e4]
call dword [ebx + 0x3e0]
jmp 0x5eeb51
mov eax, dword [ebp - 4]
cmp dword [eax + 0x268], 0
jl 0x5eeb51
lea eax, [ebp - 0x4c4]
lea edx, [ebp - 0x4a4]
mov ecx, 0x400
call fcn.00407fe4
mov eax, dword [ebp - 0x4c4]
push eax
call fcn.005b042c
mov ecx, 6
mov edx, dword [ebp - 4]
call fcn.005b1078
cmp dword [ebp + 8], 0
je 0x5eec91
mov eax, dword [ebp - 4]
cmp dword [eax + 0x268], 0
jl 0x5eec91
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x284]
mov eax, dword [eax + 0x280]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x278]
adc edx, dword [ecx + 0x27c]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x288]
adc edx, dword [ecx + 0x28c]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
lea eax, [ebp - 0x4c8]
push eax
mov eax, dword [ebp - 4]
fild qword [eax + 0x278]
fdiv dword [0x5eed44]
fstp xword [ebp - 0x4bc]
wait
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x4e8], eax
mov byte [ebp - 0x4e4], 3
mov eax, dword [ebp - 4]
fild qword [eax + 0x280]
fdiv dword [0x5eed44]
fstp xword [ebp - 0x4f4]
wait
lea eax, [ebp - 0x4f4]
mov dword [ebp - 0x4e0], eax
mov byte [ebp - 0x4dc], 3
mov eax, dword [ebp - 4]
fild qword [eax + 0x288]
fdiv dword [0x5eed44]
fstp xword [ebp - 0x500]
wait
lea eax, [ebp - 0x500]
mov dword [ebp - 0x4d8], eax
mov byte [ebp - 0x4d4], 3
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
sub eax, dword [ebp - 0x78]
sbb edx, dword [ebp - 0x74]
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
fild qword [ebp - 0x4ac]
fmul dword [0x5eed94]
fild qword [ebp - 0x78]
fdivp st(1)
fstp xword [ebp - 0x50c]
wait
lea eax, [ebp - 0x50c]
mov dword [ebp - 0x4d0], eax
mov byte [ebp - 0x4cc], 3
lea edx, [ebp - 0x4e8]
mov ecx, 3
mov eax, 0x5eeda4
call fcn.00418808
mov eax, dword [ebp - 0x4c8]
push eax
call fcn.005b042c
mov ecx, 6
mov edx, dword [ebp - 4]
call fcn.005b1078
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5eecb6
lea eax, [ebp - 0x4c8]
mov edx, 3
call fcn.00407de4
ret