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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x611566
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x19e8
call fcn.005c8c50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6ac9e8]
xor eax, esp
push eax
lea eax, [esp + 0x1a00]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x38], esi
mov eax, dword [esi + 0x44]
xor ebx, ebx
mov dword [esp + 0x50], ebx
cmp eax, 1
ja 0x4eec85
xor al, al
mov ecx, dword [esp + 0x1a00]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x24c]
call fcn.004b6ad0
lea ecx, [esp + 0x98]
mov dword [esp + 0x1a08], ebx
call fcn.004b6ad0
fld dword [esi + 0x60]
lea edi, [esi + 0x28]
fstp qword [esp + 0x2c]
mov ecx, edi
mov byte [esp + 0x1a08], 1
call fcn.00552fd0
fld dword [eax]
fcomp qword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x4eeccf
fld dword [esi + 0x60]
jmp 0x4eecd8
mov ecx, edi
call fcn.00552fd0
fld dword [eax]
mov esi, dword [esi + 0x44]
fstp dword [esp + 0x54]
fldz
dec esi
lea eax, [esi + esi*2]
fst dword [esp + 0x218]
lea ecx, [esp + eax*4 + 0x28c]
fst dword [esp + 0x21c]
fstp dword [esp + 0x220]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x224], ecx
cmp dword [esp + 0x4c], 0
fld qword [0x6221e0]
fld1
je 0x4eed37
mov eax, dword [esp + 0x38]
add eax, 0x28
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x64], eax
jmp 0x4eed4d
mov edx, dword [esp + 0x38]
add edx, 8
lea ecx, [esp + 0x24c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x18], 0
jle 0x4ef0c3
fstp st(1)
fstp st(0)
mov ebp, dword [esp + 0x1c]
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
add edx, edi
cmp edi, edx
jbe 0x4eed79
call fcn.005c5aaf
mov esi, dword [ebp]
mov ebx, esi
mov dword [esp + 0x30], edi
test esi, esi
jne 0x4eeda9
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
lea edi, [edi + edx + 1]
cmp edi, ecx
ja 0x4eedb6
test esi, esi
je 0x4eedaf
mov esi, dword [esi]
jmp 0x4eedb1
mov eax, dword [esi]
mov ecx, eax
jmp 0x4eed8f
xor esi, esi
cmp edi, dword [esi + 0x18]
jae 0x4eedbb
call fcn.005c5aaf
test ebx, ebx
jne 0x4eeddf
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp edi, edx
jb 0x4eedd7
call fcn.005c5aaf
test ebx, ebx
je 0x4eede5
mov eax, dword [ebx]
jmp 0x4eede7
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4eedc8
xor eax, eax
cmp dword [eax + 0x14], edi
ja 0x4eedf9
test ebx, ebx
je 0x4eedf4
mov eax, dword [ebx]
jmp 0x4eedf6
xor eax, eax
sub edi, dword [eax + 0x14]
test ebx, ebx
je 0x4eee01
mov eax, dword [ebx]
jmp 0x4eee03
xor eax, eax
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + edi*4]
add edx, esi
mov dword [esp + 0x28], ecx
cmp esi, edx
jbe 0x4eee1e
call fcn.005c5aaf
mov edi, dword [ebp]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4eee4c
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x4eee59
test edi, edi
je 0x4eee52
mov edi, dword [edi]
jmp 0x4eee54
mov eax, dword [edi]
mov ecx, eax
jmp 0x4eee34
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4eee5e
call fcn.005c5aaf
test ebx, ebx
jne 0x4eee82
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4eee7a
call fcn.005c5aaf
test ebx, ebx
je 0x4eee88
mov eax, dword [ebx]
jmp 0x4eee8a
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4eee6b
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4eee9c
test ebx, ebx
je 0x4eee97
mov eax, dword [ebx]
jmp 0x4eee99
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4eeea4
mov eax, dword [ebx]
jmp 0x4eeea6
xor eax, eax
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0x10]
fld dword [ecx]
mov eax, dword [edx + esi*4]
mov esi, dword [ebp + 0x18]
fsub dword [eax]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [esp + 0x18]
add edx, esi
fstp dword [esp + ecx*4 + 0x109c]
cmp esi, edx
jbe 0x4eeed0
call fcn.005c5aaf
mov edi, dword [ebp]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4eeefe
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x4eef0b
test edi, edi
je 0x4eef04
mov edi, dword [edi]
jmp 0x4eef06
mov eax, dword [edi]
mov ecx, eax
jmp 0x4eeee6
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4eef10
call fcn.005c5aaf
test ebx, ebx
jne 0x4eef34
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4eef2c
call fcn.005c5aaf
test ebx, ebx
je 0x4eef3a
mov eax, dword [ebx]
jmp 0x4eef3c
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4eef1d
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4eef4e
test ebx, ebx
je 0x4eef49
mov eax, dword [ebx]
jmp 0x4eef4b
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4eef56
mov eax, dword [ebx]
jmp 0x4eef58
xor eax, eax
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + esi*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4eef73
call fcn.005c5aaf
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4eefa6
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
lea esi, [esi + edx + 1]
cmp esi, ecx
ja 0x4eefb3
test edi, edi
je 0x4eefac
mov edi, dword [edi]
jmp 0x4eefae
mov eax, dword [edi]
mov ecx, eax
jmp 0x4eef8c
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4eefbc
call fcn.005c5aaf
mov edx, dword [esp + 0x18]
test ebx, ebx
jne 0x4eefe8
call fcn.005c5aaf
mov edx, dword [esp + 0x18]
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
jb 0x4eefe0
call fcn.005c5aaf
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x4eefee
mov eax, dword [ebx]
jmp 0x4eeff0
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4eefcd
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4ef002
test ebx, ebx
je 0x4eeffd
mov eax, dword [ebx]
jmp 0x4eefff
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4ef00a
mov eax, dword [ebx]
jmp 0x4ef00c
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
fld dword [eax + 4]
add eax, 4
fsub dword [ebp + 4]
fstp dword [esp + 0x1ac]
fld dword [eax + 4]
fsub dword [ebp + 8]
fstp dword [esp + 0x1b0]
fld dword [eax + 8]
lea eax, [edx + edx*2]
fsub dword [ebp + 0xc]
lea eax, [esp + eax*4 + 0x28c]
fstp dword [esp + 0x1b4]
fld dword [esp + edx*4 + 0x109c]
fdivr qword [0x6224a0]
fstp dword [esp + 0x28]
fld dword [esp + 0x1ac]
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xd4]
mov ecx, dword [esp + 0xd4]
mov dword [eax], ecx
fld st(0)
fmul dword [esp + 0x1b0]
fstp dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
fmul dword [esp + 0x1b4]
fstp dword [esp + 0xdc]
mov ecx, dword [esp + 0xdc]
mov dword [eax + 8], ecx
lea eax, [edx + 1]
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
jl 0x4eed64
fld qword [0x6221e0]
fld1
mov edx, dword [esp + 0x224]
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov edi, dword [esp + 0x3c]
mov dword [edx], eax
mov eax, dword [esp + 0x220]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov ecx, edi
test edi, edi
jle 0x4ef117
lea eax, [edx - 4]
fld dword [eax - 8]
dec ecx
fadd dword [eax + 4]
sub eax, 0xc
fstp dword [eax + 0x10]
fld dword [eax + 8]
fadd dword [eax + 0x14]
fstp dword [eax + 0x14]
fld dword [eax + 0x18]
fadd dword [eax + 0xc]
fstp dword [eax + 0x18]
test ecx, ecx
jg 0x4ef0f4
fld dword [0x621f18]
mov esi, dword [esp + 0x50]
fst dword [esp + 0x24]
inc esi
cmp edi, 1
fld dword [esp + 0x28c]
fmul st(3)
mov dword [esp + 0x50], esi
fstp dword [esp + 0x28c]
fld dword [esp + 0x290]
fmul st(3)
fstp dword [esp + 0x290]
fld dword [esp + 0x294]
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x294]
fxch st(1)
fstp dword [esp + esi*4 + 0x1548]
fld dword [esp + 0x24]
jle 0x4ef1d3
lea eax, [esp + 0x29c]
lea ecx, [edi - 1]
fld dword [eax - 4]
inc esi
fsub dword [eax - 0x10]
add eax, 0xc
sub ecx, 1
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fsub dword [eax - 0x18]
fstp dword [eax - 0xc]
fld dword [eax - 8]
fsub dword [eax - 0x14]
fstp dword [eax - 8]
fsubr qword [0x6224b0]
fdivr st(1)
fstp dword [esp + 0x24]
fld dword [eax - 0x10]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fmul st(1)
fstp dword [eax - 0xc]
fld st(0)
fmul dword [eax - 8]
fstp dword [eax - 8]
fst dword [esp + esi*4 + 0x1548]
jne 0x4ef178
mov dword [esp + 0x50], esi
fld dword [edx]
lea ecx, [edi - 1]
fsub dword [edx - 0xc]
fstp dword [edx]
fld dword [edx + 4]
fsub dword [edx - 8]
fstp dword [edx + 4]
fld dword [edx + 8]
fsub dword [edx - 4]
fstp dword [edx + 8]
fsubr qword [0x6224b8]
fdivp st(1)
fstp dword [esp + 0x24]
fld dword [edx]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [edx]
fld dword [edx + 4]
fmul st(1)
fstp dword [edx + 4]
fmul dword [edx + 8]
fstp dword [edx + 8]
test ecx, ecx
jl 0x4ef299
lea eax, [ecx + ecx*2]
lea eax, [esp + eax*4 + 0x290]
jmp 0x4ef230
fld dword [esp + esi*4 + 0x1548]
dec esi
fstp dword [esp + 0x28]
dec ecx
fld dword [eax + 8]
sub eax, 0xc
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xec]
fld dword [eax + 0x18]
fmul st(1)
fstp dword [esp + 0xf0]
fmul dword [eax + 0x1c]
fstp dword [esp + 0xf4]
fld dword [eax + 8]
fsub dword [esp + 0xec]
fstp dword [eax + 8]
fld dword [eax + 0xc]
fsub dword [esp + 0xf0]
fstp dword [eax + 0xc]
fld dword [eax + 0x10]
fsub dword [esp + 0xf4]
fstp dword [eax + 0x10]
test ecx, ecx
jge 0x4ef230
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
mov dword [esp + 0x24], 0
cmp esi, ecx
jbe 0x4ef2b6
call fcn.005c5aaf
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4ef2e1
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
ja 0x4ef2ee
test edi, edi
je 0x4ef2e7
mov edi, dword [edi]
jmp 0x4ef2e9
mov eax, dword [edi]
mov ecx, eax
jmp 0x4ef2cf
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4ef2f3
call fcn.005c5aaf
test ebx, ebx
jne 0x4ef317
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4ef30f
call fcn.005c5aaf
test ebx, ebx
je 0x4ef31d
mov eax, dword [ebx]
jmp 0x4ef31f
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4ef300
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4ef331
test ebx, ebx
je 0x4ef32c
mov eax, dword [ebx]
jmp 0x4ef32e
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4ef339
mov eax, dword [ebx]
jmp 0x4ef33b
xor eax, eax
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + esi*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4ef356
call fcn.005c5aaf
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4ef382
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
inc esi
cmp esi, ecx
ja 0x4ef38f
test edi, edi
je 0x4ef388
mov edi, dword [edi]
jmp 0x4ef38a
mov eax, dword [edi]
mov ecx, eax
jmp 0x4ef36f
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4ef394
call fcn.005c5aaf
test ebx, ebx
jne 0x4ef3b8
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4ef3b0
call fcn.005c5aaf
test ebx, ebx
je 0x4ef3be
mov eax, dword [ebx]
jmp 0x4ef3c0
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4ef3a1
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4ef3d2
test ebx, ebx
je 0x4ef3cd
mov eax, dword [ebx]
jmp 0x4ef3cf
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4ef3da
mov eax, dword [ebx]
jmp 0x4ef3dc
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
fld dword [eax + 4]
add eax, 4
fsub dword [ebp + 4]
mov ecx, dword [esp + 0x38]
fstp dword [esp + 0x8c]
fld dword [eax + 4]
fsub dword [ebp + 8]
fstp dword [esp + 0x90]
fld dword [eax + 8]
mov eax, dword [esp + 0x1c]
fsub dword [ebp + 0xc]
mov esi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
add edx, esi
fstp dword [esp + 0x94]
fldz
fstp dword [esp + 0x28]
fld dword [esp + 0x109c]
fstp dword [esp + 0x40]
fld dword [ecx + 0x64]
fstp dword [esp + 0x2c]
cmp esi, edx
jbe 0x4ef43d
call fcn.005c5aaf
mov eax, dword [esp + 0x1c]
mov edi, dword [eax]
mov ebx, edi
mov dword [esp + 0x48], esi
test edi, edi
jne 0x4ef468
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
ja 0x4ef475
test edi, edi
je 0x4ef46e
mov edi, dword [edi]
jmp 0x4ef470
mov eax, dword [edi]
mov ecx, eax
jmp 0x4ef456
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4ef47a
call fcn.005c5aaf
test ebx, ebx
jne 0x4ef49e
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4ef496
call fcn.005c5aaf
test ebx, ebx
je 0x4ef4a4
mov eax, dword [ebx]
jmp 0x4ef4a6
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4ef487
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4ef4b8
test ebx, ebx
je 0x4ef4b3
mov eax, dword [ebx]
jmp 0x4ef4b5
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4ef4c0
mov eax, dword [ebx]
jmp 0x4ef4c2
xor eax, eax
fld dword [esp + 0x109c]
mov eax, dword [eax + 0x10]
fld st(0)
mov eax, dword [eax + esi*4]
fadd st(1)
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
add eax, 4
fstp dword [esp + 0x20]
mov eax, dword [eax + 8]
fld dword [esp + 0x28c]
mov dword [esp + 0x80], ecx
fld st(0)
mov ecx, dword [esp + 0x28c]
fld dword [esp + 0x20]
mov dword [esp + 0x84], edx
fld st(0)
mov edx, dword [esp + 0x290]
fmulp st(2)
mov dword [esp + 0x88], eax
fxch st(1)
mov eax, dword [esp + 0x294]
mov dword [esp + 0x68], ecx
fstp dword [esp + 0x11c]
mov dword [esp + 0x6c], edx
fld dword [esp + 0x290]
mov dword [esp + 0x70], eax
fld st(0)
fmul st(2)
fstp dword [esp + 0x120]
fld dword [esp + 0x294]
fld st(0)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x124]
fld dword [esp + 0x298]
fld st(0)
fmul st(5)
fstp dword [esp + 0x104]
fld st(4)
fmul dword [esp + 0x29c]
fstp dword [esp + 0x108]
fld st(4)
fmul dword [esp + 0x2a0]
fstp dword [esp + 0x10c]
fld dword [esp + 0x8c]
fld qword [0x6224a0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c4]
fld dword [esp + 0x90]
fmul st(1)
fstp dword [esp + 0x1c8]
fmul dword [esp + 0x94]
fstp dword [esp + 0x1cc]
fld dword [esp + 0x1c4]
fsub dword [esp + 0x104]
fstp dword [esp + 0x234]
fld dword [esp + 0x1c8]
fsub dword [esp + 0x108]
fstp dword [esp + 0x238]
fld dword [esp + 0x1cc]
fsub dword [esp + 0x10c]
fstp dword [esp + 0x23c]
fld dword [esp + 0x234]
fsub dword [esp + 0x11c]
fstp dword [esp + 0x1dc]
fld dword [esp + 0x238]
fsub dword [esp + 0x120]
fstp dword [esp + 0x1e0]
fld dword [esp + 0x23c]
fsub dword [esp + 0x124]
fstp dword [esp + 0x1e4]
fld st(4)
fmulp st(5)
fld1
fdiv st(5)
fstp dword [esp + 0x20]
fld dword [esp + 0x1dc]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
fld dword [esp + 0x1e0]
mov dword [esp + 0x58], ecx
fmul st(1)
fstp dword [esp + 0xb4]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x5c], edx
fmul dword [esp + 0x1e4]
fstp dword [esp + 0xb8]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x60], eax
faddp st(3)
fxch st(2)
fstp dword [esp + 0x200]
fld dword [esp + 0x29c]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x204]
fadd dword [esp + 0x2a0]
fstp dword [esp + 0x208]
fld dword [esp + 0x109c]
fld st(0)
fmul dword [esp + 0x200]
fstp dword [esp + 0x1f4]
fld st(0)
fmul dword [esp + 0x204]
fstp dword [esp + 0x1f8]
fld st(0)
fmul dword [esp + 0x208]
fstp dword [esp + 0x1fc]
fld dword [esp + 0x8c]
fld qword [0x633c48]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x14c]
fld dword [esp + 0x90]
fmul st(1)
fstp dword [esp + 0x150]
fmul dword [esp + 0x94]
fstp dword [esp + 0x154]
fld dword [esp + 0x14c]
fadd dword [esp + 0x1f4]
fstp dword [esp + 0x164]
fld dword [esp + 0x150]
fadd dword [esp + 0x1f8]
fstp dword [esp + 0x168]
fld dword [esp + 0x154]
fadd dword [esp + 0x1fc]
fstp dword [esp + 0x16c]
fmulp st(1)
fld1
fdivrp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x164]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x228]
mov ecx, dword [esp + 0x228]
fld dword [esp + 0x168]
mov dword [esp + 0x74], ecx
fmul st(1)
fstp dword [esp + 0x22c]
mov edx, dword [esp + 0x22c]
mov dword [esp + 0x78], edx
fmul dword [esp + 0x16c]
fstp dword [esp + 0x230]
mov eax, dword [esp + 0x230]
fldz
mov dword [esp + 0x7c], eax
fstp dword [esp + 0x20]
fld dword [esp + 0x54]
fcomp qword [0x622178]
fnstsw ax
test ah, 1
jne 0x4f00a3
fld dword [esp + 0x20]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4efd5d
mov eax, dword [esp + 0x24]
fstp dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
jge 0x4efd5f
mov esi, dword [esp + 0x1c]
fstp st(0)
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
add ecx, edi
cmp edi, ecx
jbe 0x4ef838
call fcn.005c5aaf
mov esi, dword [esi]
mov ebx, esi
mov dword [esp + 0x48], edi
test esi, esi
jne 0x4ef865
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
add edi, edx
cmp edi, ecx
ja 0x4ef872
test esi, esi
je 0x4ef86b
mov esi, dword [esi]
jmp 0x4ef86d
mov eax, dword [esi]
mov ecx, eax
jmp 0x4ef84d
xor esi, esi
cmp edi, dword [esi + 0x18]
jae 0x4ef877
call fcn.005c5aaf
test ebx, ebx
jne 0x4ef89b
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp edi, edx
jb 0x4ef893
call fcn.005c5aaf
test ebx, ebx
je 0x4ef8a1
mov eax, dword [ebx]
jmp 0x4ef8a3
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4ef884
xor eax, eax
cmp dword [eax + 0x14], edi
ja 0x4ef8b5
test ebx, ebx
je 0x4ef8b0
mov eax, dword [ebx]
jmp 0x4ef8b2
xor eax, eax
sub edi, dword [eax + 0x14]
test ebx, ebx
je 0x4ef8bd
mov eax, dword [ebx]
jmp 0x4ef8bf
xor eax, eax
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + edi*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4ef8da
call fcn.005c5aaf
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x48], esi
test edi, edi
jne 0x4ef90d
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
lea esi, [esi + edx + 1]
cmp esi, ecx
ja 0x4ef91a
test edi, edi
je 0x4ef913
mov edi, dword [edi]
jmp 0x4ef915
mov eax, dword [edi]
mov ecx, eax
jmp 0x4ef8f3
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4ef91f
call fcn.005c5aaf
test ebx, ebx
jne 0x4ef943
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4ef93b
call fcn.005c5aaf
test ebx, ebx
je 0x4ef949
mov eax, dword [ebx]
jmp 0x4ef94b
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4ef92c
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4ef95d
test ebx, ebx
je 0x4ef958
mov eax, dword [ebx]
jmp 0x4ef95a
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4ef965
mov eax, dword [ebx]
jmp 0x4ef967
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
fld dword [eax + 4]
add eax, 4
fsub dword [ebp + 4]
fstp dword [esp + 0x17c]
fld dword [eax + 4]
fsub dword [ebp + 8]
fstp dword [esp + 0x180]
fld dword [eax + 8]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
fsub dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
add ecx, esi
fstp dword [esp + 0x184]
cmp esi, ecx
jbe 0x4ef9b0
call fcn.005c5aaf
mov eax, dword [esp + 0x1c]
mov edi, dword [eax]
mov ebx, edi
mov dword [esp + 0x48], esi
test edi, edi
jne 0x4ef9dd
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x4ef9ea
test edi, edi
je 0x4ef9e3
mov edi, dword [edi]
jmp 0x4ef9e5
mov eax, dword [edi]
mov ecx, eax
jmp 0x4ef9c5
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4ef9ef
call fcn.005c5aaf
test ebx, ebx
jne 0x4efa13
call fcn.005c5aaf
xor eax, eax
xor ecx, ecx
mov edx, dword [eax + 0x18]
add edx, dword [ecx + 0x1c]
cmp esi, edx
jb 0x4efa0b
call fcn.005c5aaf
test ebx, ebx
je 0x4efa19
mov eax, dword [ebx]
jmp 0x4efa1b
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4ef9fc
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4efa2d
test ebx, ebx
je 0x4efa28
mov eax, dword [ebx]
jmp 0x4efa2a
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4efa35
mov eax, dword [ebx]
jmp 0x4efa37
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
add eax, 4
mov eax, dword [eax + 8]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x24]
fld dword [esp + edx*4 + 0x109c]
lea ecx, [edx + edx*2]
fadd st(0), st(0)
lea edx, [esp + edx*4 + 0x109c]
add ecx, ecx
add ecx, ecx
fstp dword [esp + 0x18]
mov dword [esp + 0x88], eax
fld dword [esp + 0x18]
lea eax, [esp + ecx + 0x28c]
fld st(0)
lea ecx, [esp + ecx + 0x298]
fmul dword [eax]
mov esi, dword [eax]
mov dword [esp + 0x68], esi
mov esi, dword [eax + 4]
fstp dword [esp + 0xbc]
mov dword [esp + 0x6c], esi
fld dword [eax + 4]
mov esi, dword [eax + 8]
fmul st(1)
mov dword [esp + 0x70], esi
fstp dword [esp + 0xc0]
fmul dword [eax + 8]
fstp dword [esp + 0xc4]
fld dword [edx]
fstp dword [esp + 0x18]
fld dword [ecx]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x194]
fld dword [ecx + 4]
fmul st(1)
fstp dword [esp + 0x198]
fmul dword [ecx + 8]
fstp dword [esp + 0x19c]
fld dword [esp + 0x17c]
fld st(0)
fld qword [0x6224a0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x240]
fld dword [esp + 0x180]
fld st(0)
fmul st(2)
fstp dword [esp + 0x244]
fld dword [esp + 0x184]
fld st(0)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x248]
fld dword [esp + 0x240]
fsub dword [esp + 0x194]
fstp dword [esp + 0x20c]
fld dword [esp + 0x244]
fsub dword [esp + 0x198]
fstp dword [esp + 0x210]
fld dword [esp + 0x248]
fsub dword [esp + 0x19c]
fstp dword [esp + 0x214]
fld dword [esp + 0x20c]
fsub dword [esp + 0xbc]
fstp dword [esp + 0xc8]
fld dword [esp + 0x210]
fsub dword [esp + 0xc0]
fstp dword [esp + 0xcc]
fld dword [esp + 0x214]
fsub dword [esp + 0xc4]
fstp dword [esp + 0xd0]
fld dword [edx]
fmul st(0), st(0)
fld1
fld st(0)
fdiv st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0xc8]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x58], esi
fld st(0)
fmul dword [esp + 0xcc]
fstp dword [esp + 0xe4]
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x5c], esi
fmul dword [esp + 0xd0]
fstp dword [esp + 0xe8]
mov esi, dword [esp + 0xe8]
fld dword [ecx]
mov dword [esp + 0x60], esi
fadd dword [eax]
fstp dword [esp + 0xf8]
fld dword [eax + 4]
fadd dword [ecx + 4]
fstp dword [esp + 0xfc]
fld dword [eax + 8]
fadd dword [ecx + 8]
fstp dword [esp + 0x100]
fld dword [edx]
fstp dword [esp + 0x18]
fld dword [esp + 0xf8]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x128]
fld dword [esp + 0xfc]
fmul st(1)
fstp dword [esp + 0x12c]
fmul dword [esp + 0x100]
fstp dword [esp + 0x130]
fld qword [0x633c48]
fmul st(5), st(0)
fxch st(5)
fstp dword [esp + 0x110]
fxch st(2)
fmul st(4)
fstp dword [esp + 0x114]
fxch st(2)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x118]
fld dword [esp + 0x110]
fadd dword [esp + 0x128]
fstp dword [esp + 0x140]
fld dword [esp + 0x114]
fadd dword [esp + 0x12c]
fstp dword [esp + 0x144]
fld dword [esp + 0x118]
fadd dword [esp + 0x130]
fstp dword [esp + 0x148]
fmul dword [edx]
fdivp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x140]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x158]
mov ecx, dword [esp + 0x158]
fld dword [esp + 0x144]
mov dword [esp + 0x74], ecx
fmul st(1)
fstp dword [esp + 0x15c]
mov eax, dword [esp + 0x15c]
fmul dword [esp + 0x148]
fstp dword [esp + 0x160]
fld dword [edx]
mov ecx, dword [esp + 0x160]
fadd dword [esp + 0x40]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
fstp dword [esp + 0x40]
fld dword [esp + 0x20]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4ef80a
fstp st(0)
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x3c]
jg 0x4f00a1
fsub dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
push 0
mov ecx, edi
fstp dword [esp + 0x48]
call fcn.004ed8e0
fld dword [eax]
mov esi, dword [esp + 0x38]
fadd dword [esp + 0x20]
fdiv dword [esi + 0x60]
fcomp qword [0x622178]
fnstsw ax
test ah, 0x41
jne 0x4efdc9
push 0
mov ecx, edi
call fcn.004ed8e0
fld dword [eax]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fld dword [esi + 0x60]
fdivp st(2)
fld1
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x4efe85
fstp st(1)
fstp st(0)
push 0
mov ecx, edi
call fcn.004ed8e0
fld dword [eax]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fld dword [esi + 0x60]
fdivp st(2)
fldz
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x4efe7d
fstp st(1)
push 0
mov ecx, edi
fstp st(0)
call fcn.004ed8e0
fld dword [eax]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fld dword [esi + 0x60]
fdivp st(2)
fldz
fld1
fxch st(3)
fxch st(1)
mov ecx, dword [esp + 0x4c]
fxch st(1)
fstp dword [esp + 0x18]
test ecx, ecx
je 0x4efe55
fld dword [esp + 0x18]
fsubr st(3)
fmul st(0), st(0)
fdiv qword [0x633c40]
fsub qword [0x62a348]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4efe4a
fcom st(3)
fnstsw ax
test ah, 5
jp 0x4efe8b
fstp st(3)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x4efe8d
fstp st(2)
fxch st(1)
fstp dword [esp + 0x288]
fld1
fld dword [esp + 0x288]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4efe91
fstp st(0)
mov eax, 0xff
jmp 0x4efedc
fld st(1)
fld1
fxch st(3)
jmp 0x4efe16
fld st(1)
fldz
jmp 0x4efe16
fstp st(0)
fstp st(0)
jmp 0x4efe57
fldz
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x4efea2
fstp st(0)
xor eax, eax
jmp 0x4efedc
fmul qword [0x6221e8]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fadd qword [0x6221e0]
or eax, 0xc00
mov dword [esp + 0x134], eax
fldcw word [esp + 0x134]
fistp qword [esp + 0x134]
mov eax, dword [esp + 0x134]
fldcw word [esp + 0x18]
fld dword [esp + 0x74]
shl eax, 0x18
fld dword [esp + 0x44]
or eax, 0x4dccff
fld st(0)
mov dword [esp + 0x270], eax
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x170]
fld dword [esp + 0x78]
fmul st(1)
fstp dword [esp + 0x174]
fld dword [esp + 0x7c]
fmul st(1)
fstp dword [esp + 0x178]
fld dword [esp + 0x170]
fadd dword [esp + 0x58]
fstp dword [esp + 0x188]
fld dword [esp + 0x5c]
fadd dword [esp + 0x174]
fstp dword [esp + 0x18c]
fld dword [esp + 0x60]
fadd dword [esp + 0x178]
fstp dword [esp + 0x190]
fld dword [esp + 0x188]
fmul st(1)
fstp dword [esp + 0x1a0]
fld dword [esp + 0x18c]
fmul st(1)
fstp dword [esp + 0x1a4]
fld dword [esp + 0x190]
fmul st(1)
fstp dword [esp + 0x1a8]
fld dword [esp + 0x1a0]
fadd dword [esp + 0x68]
fstp dword [esp + 0x1b8]
fld dword [esp + 0x6c]
fadd dword [esp + 0x1a4]
fstp dword [esp + 0x1bc]
fld dword [esp + 0x70]
fadd dword [esp + 0x1a8]
fstp dword [esp + 0x1c0]
fld dword [esp + 0x1b8]
fmul st(1)
fstp dword [esp + 0x1d0]
fld dword [esp + 0x1bc]
fmul st(1)
fstp dword [esp + 0x1d4]
fmul dword [esp + 0x1c0]
fstp dword [esp + 0x1d8]
fld dword [esp + 0x1d0]
fadd dword [esp + 0x80]
fstp dword [esp + 0x1e8]
mov eax, dword [esp + 0x1e8]
fld dword [esp + 0x84]
mov dword [esp + 0x264], eax
fadd dword [esp + 0x1d4]
fstp dword [esp + 0x1ec]
mov edx, dword [esp + 0x1ec]
fld dword [esp + 0x88]
mov dword [esp + 0x268], edx
fadd dword [esp + 0x1d8]
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x64]
fstp dword [esp + 0x1f0]
mov eax, dword [esp + 0x1f0]
sete dl
fdiv dword [esi + 0x60]
mov dword [esp + 0x26c], eax
lea eax, [esp + 0x264]
push eax
mov dword [esp + 0x48], edx
fstp dword [esp + 0x278]
fild dword [esp + 0x48]
fstp dword [esp + 0x27c]
call fcn.004eeb80
fld dword [esp + 0x20]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x54]
fcompp
fnstsw ax
test ah, 1
je 0x4ef7f5
jmp 0x4f00a3
fstp st(0)
mov eax, dword [esp + 0x4c]
inc eax
cmp eax, 1
mov dword [esp + 0x4c], eax
jle 0x4eed10
mov ebp, dword [esp + 0x38]
mov edi, dword [ebp + 0x58]
add ebp, 0x48
cmp dword [ebp + 0xc], edi
jbe 0x4f00c9
call fcn.005c5aaf
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp]
cmp esi, dword [ebp + 0x10]
jbe 0x4f00d9
call fcn.005c5aaf
mov eax, dword [ebp]
push edi
push ebx
push esi
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebp
call fcn.004eda50
mov esi, dword [esp + 0xa4]
cmp esi, dword [esp + 0xa8]
jbe 0x4f0101
call fcn.005c5aaf
mov eax, dword [esp + 0x258]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x44], edx
mov edi, eax
cmp eax, dword [esp + 0x25c]
jbe 0x4f0123
call fcn.005c5aaf
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
jmp 0x4f0140
mov ebx, dword [esp + 0xa8]
cmp dword [esp + 0xa4], ebx
jbe 0x4f0155
call fcn.005c5aaf
mov edi, dword [esp + 0x44]
test edi, edi
je 0x4f0166
cmp edi, dword [esp + 0x98]
je 0x4f016b
call fcn.005c5aaf
cmp esi, ebx
je 0x4f0202
test edi, edi
jne 0x4f01f2
call fcn.005c5aaf
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4f0188
call fcn.005c5aaf
push esi
mov ecx, ebp
call fcn.004eeb80
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4f01f6
call fcn.005c5aaf
xor eax, eax
mov ebx, dword [esp + 0x30]
cmp ebx, dword [eax + 0x10]
jb 0x4f01ad
call fcn.005c5aaf
push ebx
mov ecx, ebp
call fcn.004eeb80
test edi, edi
jne 0x4f01fa
call fcn.005c5aaf
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4f01ca
call fcn.005c5aaf
mov eax, dword [esp + 0x2c]
add esi, 0x18
test eax, eax
jne 0x4f01fe
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f01e6
call fcn.005c5aaf
add ebx, 0x18
mov dword [esp + 0x30], ebx
jmp 0x4f0140
mov eax, dword [edi]
jmp 0x4f017e
mov eax, dword [eax]
jmp 0x4f019f
mov eax, dword [edi]
jmp 0x4f01c0
mov eax, dword [eax]
jmp 0x4f01dc
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x4f0216
push eax
call fcn.005c5896
add esp, 4
mov ecx, dword [esp + 0x98]
xor esi, esi
push ecx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
call fcn.005c5896
mov eax, dword [esp + 0x25c]
add esp, 4
cmp eax, esi
je 0x4f0251
push eax
call fcn.005c5896
add esp, 4
mov edx, dword [esp + 0x24c]
push edx
mov dword [esp + 0x25c], esi
mov dword [esp + 0x260], esi
mov dword [esp + 0x264], esi
call fcn.005c5896
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x1a00]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret