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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x10c
fld qword [esp + 0x140]
mov esi, dword [esp + 0x120]
mov ebp, dword [esp + 0x128]
mov edi, dword [esp + 0x130]
mov edx, dword [esp + 0x164]
fstp qword [esp + 0xd8]
fld qword [esp + 0x148]
fst qword [esp + 0xc8]
fld qword [esp + 0x150]
fxch st(1)
fabs
fld qword [0x77e0b8]
fcompi st(1)
fstp st(0)
jbe 0x4e4f22
fldz
fstp qword [esp + 0xc8]
fld qword [esp + 0xd8]
fld qword [esi + 0x420]
mov eax, dword [ebp]
fmul st(1)
fadd qword [esp + 0xc8]
fmul st(2)
fxch st(2)
fmulp st(1)
fstp qword [esp + 0x58]
test eax, eax
jle 0x4e4f79
lea ecx, [edx + 0x18]
shl eax, 3
fstp qword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 0x164], edx
call sub.msvcrt.dll_memset
fld qword [esp + 0x40]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
test eax, eax
jle 0x4e4fb9
lea ecx, [edx + 0x218]
shl eax, 3
fstp qword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 0x164], edx
call sub.msvcrt.dll_memset
fld qword [esp + 0x40]
mov edx, dword [esp + 0x164]
fldz
lea eax, [esi + 0xa28]
mov dword [esp + 0xd0], 0
cmp dword [esp + 0x13c], 1
fst qword [edx]
mov dword [esp + 0x64], eax
lea eax, [esi + 0x828]
fst qword [edx + 8]
mov dword [esp + 0x68], eax
fstp qword [edx + 0x10]
fld qword [0x77e0a0]
mov dword [esp + 0x128], ebp
mov dword [esp + 0x164], edx
fstp qword [esp + 0x78]
sete byte [esp + 0xd7]
fstp qword [esp + 0x40]
nop
movzx edx, byte [esp + 0xd0]
and edx, 1
je 0x4e5027
cmp byte [esp + 0xd7], 0
jne 0x4e504d
fldz
fld qword [esp + 0xc8]
movzx eax, byte [esp + 0xd0]
xor eax, 1
fcompi st(1)
fstp st(0)
jbe 0x4e5520
test al, al
je 0x4e5520
mov eax, dword [esp + 0x128]
lea ebx, [esp + 0xf0]
lea ecx, [esp + 0xe8]
mov dword [esp + 0x70], ebx
lea ebp, [esi + 0x20]
fld qword [eax + 0x338]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x6c], ecx
fld qword [eax + 0x10]
fld qword [0x77e0a0]
fld qword [eax + 0x20]
mov dword [esp + 0x3c], ebx
lea eax, [esi + 0x220]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x68]
fst qword [esp + 0xa8]
fmulp st(1)
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
fst qword [esp + 0xb8]
fld qword [0x77e0a0]
fxch st(2)
fst qword [esp + 0x98]
fmulp st(2)
fxch st(1)
fst qword [esp + 0xb0]
fxch st(2)
fst qword [esp + 0x48]
fstp qword [esp + 0x30]
fldz
fstp qword [esp + 0x28]
fstp qword [esp + 0x20]
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x18]
fld qword [esp + 0xa8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x10]
fld qword [esp + 0x98]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x20], eax
fstp qword [esp + 8]
fld qword [esp + 0x58]
fsubr qword [esp + 0xe8]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x128]
fstp qword [esp]
call fcn.004e49d0
fld st(0)
fld qword [esp + 0xf0]
faddp st(2)
fxch st(1)
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fxch st(1)
fcomi st(1)
ja 0x4e5a00
fstp st(1)
fstp st(1)
mov eax, dword [esp + 0x12c]
fstp qword [esp + 0x80]
fld qword [eax + 0x20]
fstp qword [esp + 0x90]
fld qword [eax + 0x30]
mov eax, dword [esp + 0x70]
mov dword [esp + 8], ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
fst qword [esp + 0x50]
fld qword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
fstp qword [esp + 0x30]
fldz
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
fstp qword [esp + 0x28]
fld qword [0x77e0a0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
fmulp st(1)
mov dword [esp + 0xc], eax
fstp qword [esp + 0x20]
fld qword [esp + 0xb0]
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [0x77e0b0]
fld qword [esp + 0xe8]
fcomi st(1)
fstp st(1)
fld qword [esp + 0x80]
jae 0x4e5248
fldz
fstp qword [esp + 0x80]
fld qword [0x77e0a8]
fcompi st(2)
jb 0x4e5258
fld qword [esp + 0xf0]
fdiv st(2)
fstp qword [esp + 0x80]
fstp qword [esp + 0xa0]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x18]
fld qword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x10]
fld qword [esp + 0x98]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
fstp qword [esp + 8]
fsub qword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x128]
fstp qword [esp]
call fcn.004e49d0
fld qword [esp + 0xf0]
faddp st(1)
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x4e5c48
mov eax, dword [esp + 0x12c]
mov ebx, 0x2710
fld qword [eax + 0x30]
fstp qword [esp + 0xa8]
fld qword [esp + 0xa0]
fstp qword [esp + 0x50]
fstp qword [esp + 0xa0]
jmp 0x4e5342
fxch st(1)
fcompi st(1)
fld qword [esp + 0x50]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x50]
fld qword [esp + 0x80]
fld qword [esp + 0x90]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x90]
sub ebx, 1
je 0x4e54f8
fld qword [esp + 0xa0]
fsub qword [esp + 0x50]
fld st(0)
fabs
fld qword [0x77e0c8]
fcompi st(1)
fstp st(0)
ja 0x4e54d8
fld qword [esp + 0xa8]
mov eax, dword [esp + 0x70]
mov dword [esp + 8], ebp
fld qword [esp + 0x90]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
fsub st(1), st(0)
fld qword [esp + 0x40]
mov dword [esp + 0x38], eax
fsub qword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
fmulp st(2)
fxch st(1)
mov dword [esp + 0xc], eax
fdivrp st(2)
faddp st(1)
fst qword [esp + 0x80]
fld qword [esp + 0x48]
fstp qword [esp + 0x30]
fldz
fstp qword [esp + 0x28]
fmul qword [0x77e0a0]
fstp qword [esp + 0x20]
fld qword [esp + 0xb0]
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [esp + 0xe8]
fld qword [0x77e0a8]
fcompi st(1)
jae 0x4e5410
fldz
fstp qword [esp + 0xb8]
fld qword [0x77e0b0]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x4e5420
fld qword [esp + 0xf0]
fdiv st(1)
fstp qword [esp + 0xb8]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x18]
fld qword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x10]
fld qword [esp + 0x98]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
fstp qword [esp + 8]
fsub qword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x128]
fstp qword [esp]
call fcn.004e49d0
fadd qword [esp + 0xf0]
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fld st(0)
fsub st(2)
fabs
fld qword [esp + 0x78]
fcompi st(1)
fstp st(0)
ja 0x4e6478
fxch st(1)
fcomi st(1)
jbe 0x4e5310
fstp st(1)
fstp qword [esp + 0xa0]
fld qword [esp + 0x80]
fstp qword [esp + 0xa8]
sub ebx, 1
jne 0x4e5342
jmp 0x4e54f8
fstp st(0)
jmp 0x4e54f8
fstp st(0)
jmp 0x4e54f8
fstp st(0)
jmp 0x4e54f8
fstp st(0)
jmp 0x4e54f8
fstp st(0)
jmp 0x4e54f8
fstp st(0)
lea esi, [esi]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x4e5d2f
mov dword [esp + 0xd0], 1
jmp 0x4e5010
mov ecx, dword [esp + 0x13c]
test ecx, ecx
jne 0x4e552f
test dl, dl
jne 0x4e554a
fld qword [esp + 0xc8]
fldz
fcompi st(1)
fstp st(0)
jbe 0x4e6100
test al, al
je 0x4e6100
mov eax, dword [esp + 0x124]
fld qword [esi + 8]
lea ebx, [esp + 0xf0]
lea ecx, [esp + 0xe8]
mov dword [esp + 0x70], ebx
lea ebp, [esi + 0x220]
fld qword [eax + 0x338]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x6c], ecx
fld qword [eax + 0x10]
fld qword [eax + 0x20]
mov dword [esp + 0x3c], ebx
lea eax, [esi + 0x20]
fld qword [0x77e0a0]
fxch st(2)
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x68]
fst qword [esp + 0xa0]
fmulp st(2)
fxch st(1)
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
fst qword [esp + 0xb8]
fld qword [0x77e0a0]
fxch st(2)
fst qword [esp + 0xb0]
fmulp st(2)
fxch st(1)
fst qword [esp + 0xc0]
fxch st(3)
fst qword [esp + 0x48]
fstp qword [esp + 0x30]
fxch st(1)
fst qword [esp + 0x50]
fstp qword [esp + 0x28]
fstp qword [esp + 0x20]
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x20]
fld qword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x28], eax
fstp qword [esp + 0x10]
fld qword [esp + 0xb0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x124]
fstp qword [esp + 8]
fld qword [esp + 0x58]
fsubr qword [esp + 0xe8]
fstp qword [esp]
call fcn.004e4c40
fld st(0)
fld qword [esp + 0xf0]
fadd st(2)
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fcompi st(1)
ja 0x4e5d40
fstp st(1)
fstp st(1)
mov eax, dword [esp + 0x12c]
fstp qword [esp + 0x88]
fld qword [eax + 0x20]
fstp qword [esp + 0x98]
fld qword [eax + 0x30]
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
fst qword [esp + 0x80]
fld qword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
fstp qword [esp + 0x30]
fld qword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
fstp qword [esp + 0x28]
fld qword [esp + 0xb8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
fstp qword [esp + 0x20]
fld qword [0x77e0a0]
mov dword [esp + 8], eax
fmulp st(1)
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [0x77e0b0]
fld qword [esp + 0xe8]
fcomi st(1)
fstp st(1)
fld qword [esp + 0x88]
jae 0x4e5759
fldz
fstp qword [esp + 0x88]
fld qword [0x77e0a8]
fcompi st(2)
jb 0x4e5769
fld qword [esp + 0xf0]
fdiv st(2)
fstp qword [esp + 0x88]
fstp qword [esp + 0xa8]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x20]
fld qword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
fstp qword [esp + 0x10]
fld qword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x124]
fstp qword [esp + 8]
fsub qword [esp + 0x58]
fstp qword [esp]
call fcn.004e4c40
fadd qword [esp + 0xf0]
mov eax, dword [esp + 0x12c]
fst qword [esp + 0xf0]
fld qword [eax + 0x30]
fld qword [esp + 0x40]
fcompi st(2)
jbe 0x4e5fe0
fld qword [esp + 0xa8]
mov ebx, 0x2710
fstp qword [esp + 0x80]
fstp qword [esp + 0xb0]
fstp qword [esp + 0xa8]
jmp 0x4e5860
fxch st(1)
fcompi st(1)
fld qword [esp + 0x80]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x80]
fld qword [esp + 0x88]
fld qword [esp + 0x98]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x98]
sub ebx, 1
je 0x4e54f8
fld qword [esp + 0xa8]
fsub qword [esp + 0x80]
fld st(0)
fabs
fld qword [0x77e0c8]
fcompi st(1)
fstp st(0)
ja 0x4e54dc
fld qword [esp + 0xb0]
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
fld qword [esp + 0x98]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
fsub st(1), st(0)
fld qword [esp + 0x40]
mov dword [esp + 0x38], eax
fsub qword [esp + 0x80]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
fmulp st(2)
fxch st(1)
mov dword [esp + 8], eax
fdivrp st(2)
faddp st(1)
fst qword [esp + 0x88]
fld qword [esp + 0x48]
fstp qword [esp + 0x30]
fld qword [esp + 0x50]
fstp qword [esp + 0x28]
fld qword [esp + 0xb8]
fstp qword [esp + 0x20]
fmul qword [0x77e0a0]
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [0x77e0b0]
fld qword [esp + 0xe8]
fcomi st(1)
fstp st(1)
jae 0x4e5934
fldz
fstp qword [esp + 0xc0]
fld qword [0x77e0a8]
fcompi st(1)
jb 0x4e5944
fld qword [esp + 0xf0]
fdiv st(1)
fstp qword [esp + 0xc0]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x20]
fld qword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
fstp qword [esp + 0x10]
fld qword [esp + 0x88]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x124]
fstp qword [esp + 8]
fsub qword [esp + 0x58]
fstp qword [esp]
call fcn.004e4c40
fadd qword [esp + 0xf0]
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fld st(0)
fsub st(2)
fabs
fld qword [esp + 0x78]
fcompi st(1)
fstp st(0)
ja 0x4e65a2
fxch st(1)
fcomi st(1)
jbe 0x4e5828
fstp st(1)
fstp qword [esp + 0xa8]
fld qword [esp + 0x88]
fstp qword [esp + 0xb0]
jmp 0x4e5857
fldz
fxch st(1)
mov eax, dword [esp + 0x12c]
fcomi st(3)
fxch st(3)
fcmovbe st(0), st(1)
fstp st(1)
fld qword [eax + 0x10]
fstp qword [esp + 0xa0]
fxch st(1)
fsub st(2)
fabs
fmul qword [0x77e0b8]
fld qword [esp + 0x78]
fxch st(1)
fcomi st(1)
jbe 0x4e5a50
fxch st(1)
fmul dword [0x77e0c0]
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x78]
jmp 0x4e5a54
fstp st(0)
fstp st(0)
fldz
mov ebx, 0x2710
fstp qword [esp + 0x80]
fstp qword [esp + 0x50]
fstp qword [esp + 0x98]
jmp 0x4e5a9b
fxch st(1)
fcompi st(1)
fld qword [esp + 0x50]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x50]
fld qword [esp + 0x80]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x80]
sub ebx, 1
je 0x4e54f8
fld qword [esp + 0x98]
fsub qword [esp + 0x50]
fld st(0)
fabs
fld qword [0x77e0c8]
fcompi st(1)
fstp st(0)
ja 0x4e54e0
fld qword [esp + 0xa0]
fld qword [esp + 0x80]
fsub st(1), st(0)
fld qword [esp + 0x40]
fsub qword [esp + 0x50]
fmulp st(2)
fxch st(1)
fdivrp st(2)
faddp st(1)
fld qword [0x77e0d0]
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x4e54e8
fld qword [esp + 0x48]
mov eax, dword [esp + 0x70]
mov dword [esp + 8], ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
fstp qword [esp + 0x30]
fldz
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
fstp qword [esp + 0x28]
fld qword [esp + 0xb8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
fstp qword [esp + 0x20]
fld st(0)
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
fstp qword [esp + 0x90]
fmul qword [0x77e0a0]
mov dword [esp + 0xc], eax
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [0x77e0b0]
fld qword [esp + 0xe8]
fcomi st(1)
fstp st(1)
fld qword [esp + 0x90]
jae 0x4e5b82
fldz
fstp qword [esp + 0xb0]
fld qword [0x77e0a8]
fcompi st(2)
jb 0x4e5b92
fld qword [esp + 0xf0]
fdiv st(2)
fstp qword [esp + 0xb0]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x18]
fld qword [esp + 0xa8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x10]
fst qword [esp + 8]
fstp qword [esp + 0x90]
fsub qword [esp + 0x58]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x128]
fstp qword [esp]
call fcn.004e49d0
fadd qword [esp + 0xf0]
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fld st(0)
fsub st(2)
fabs
fld qword [esp + 0x78]
fcompi st(1)
fstp st(0)
fld qword [esp + 0x90]
ja 0x4e6408
fxch st(2)
fcomi st(1)
jbe 0x4e5a70
fstp st(1)
fstp qword [esp + 0x98]
fstp qword [esp + 0xa0]
jmp 0x4e5a92
mov eax, dword [esp + 0x128]
fld qword [esp + 0xf8]
mov ebx, dword [eax]
test ebx, ebx
jle 0x4e5f90
mov edx, eax
mov ecx, dword [esp + 0x164]
xor eax, eax
jmp 0x4e5c83
fxch st(1)
fst qword [ecx + eax*8 + 0x18]
add eax, 1
fsubp st(1)
cmp ebx, eax
je 0x4e5f90
fld qword [edx + eax*8 + 0x538]
fxch st(1)
fcomi st(1)
ja 0x4e5c70
fstp st(1)
fld qword [esp + 0x40]
fld qword [esp + 0x50]
fxch st(2)
mov ebp, edx
mov edx, ecx
fstp qword [ecx + eax*8 + 0x18]
fld qword [esp + 0x98]
fstp qword [ecx]
fxch st(1)
fst qword [ecx + 8]
fxch st(1)
fsubrp st(2)
fld qword [esp + 0x80]
fabs
fstp qword [edx + 0x10]
fsub qword [esp + 0x98]
fld qword [esp + 0x48]
fdivp st(1)
test ebx, ebx
jle 0x4e5d25
mov edi, 0x2712
mov esi, dword [esp + 0x124]
mov dword [esp + 0x48], edi
xor ecx, ecx
fld qword [edx + ecx*8 + 0x18]
fld qword [ebp + ecx*8 + 0x538]
fsub st(1)
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x4e6170
fstp st(0)
fstp st(0)
jmp 0x4e5d18
fstp st(0)
fstp st(0)
jmp 0x4e5d18
fstp st(0)
fstp st(0)
lea esi, [esi]
add ecx, 1
cmp ebx, ecx
jne 0x4e5ce5
fstp st(0)
fstp st(0)
jmp 0x4e5d2f
fstp st(0)
fstp st(0)
jmp 0x4e5d2f
fstp st(0)
fstp st(0)
xor eax, eax
jmp 0x4e63b2
fxch st(2)
fcompi st(2)
jbe 0x4e6160
mov eax, dword [esp + 0x12c]
fld qword [eax + 0x10]
fstp qword [esp + 0xa8]
fld qword [esp + 0x40]
fsub st(2)
fabs
fmul qword [0x77e0b8]
fld qword [esp + 0x78]
fxch st(1)
fcomi st(1)
ja 0x4e6140
fstp st(0)
fstp st(0)
fldz
mov ebx, 0x2710
fstp qword [esp + 0x88]
fstp qword [esp + 0x80]
fstp qword [esp + 0xa0]
jmp 0x4e5dd1
fxch st(1)
fcompi st(1)
fld qword [esp + 0x80]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x80]
fld qword [esp + 0x88]
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x88]
sub ebx, 1
je 0x4e54f8
fld qword [esp + 0xa0]
fsub qword [esp + 0x80]
fld st(0)
fabs
fld qword [0x77e0c8]
fcompi st(1)
fstp st(0)
ja 0x4e54ec
fld qword [esp + 0xa8]
fld qword [esp + 0x88]
fsub st(1), st(0)
fld qword [esp + 0x40]
fsub qword [esp + 0x80]
fmulp st(2)
fxch st(1)
fdivrp st(2)
faddp st(1)
fld qword [0x77e0d0]
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x4e54f0
fld qword [esp + 0x48]
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
fstp qword [esp + 0x30]
fld qword [esp + 0x50]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
fstp qword [esp + 0x28]
fld st(0)
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
fstp qword [esp + 0x98]
fmul qword [0x77e0a0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
fstp qword [esp + 0x20]
fld qword [esp + 0xc0]
fstp qword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004c3570
fld qword [0x77e0b0]
fld qword [esp + 0xe8]
fcomi st(1)
fstp st(1)
fld qword [esp + 0x98]
jae 0x4e5ec0
fldz
fstp qword [esp + 0xb8]
fld qword [0x77e0a8]
fcompi st(2)
jb 0x4e5ed0
fld qword [esp + 0xf0]
fdiv st(2)
fstp qword [esp + 0xb8]
fld qword [esp + 0x48]
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x15c]
fstp qword [esp + 0x20]
fld qword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x158]
fstp qword [esp + 0x18]
fst qword [esp + 0x10]
fstp qword [esp + 0x98]
fld qword [esp + 0xb0]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
fstp qword [esp + 8]
fsub qword [esp + 0x58]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x124]
fstp qword [esp]
call fcn.004e4c40
fadd qword [esp + 0xf0]
fst qword [esp + 0xf0]
fld qword [esp + 0x40]
fld st(0)
fsub st(2)
fabs
fld qword [esp + 0x78]
fcompi st(1)
fstp st(0)
fld qword [esp + 0x98]
ja 0x4e6530
fxch st(2)
fcomi st(1)
jbe 0x4e5da0
fstp st(1)
fstp qword [esp + 0xa0]
fstp qword [esp + 0xa8]
jmp 0x4e5dc8
fld qword [esp + 0x98]
mov eax, dword [esp + 0x164]
fstp qword [eax]
fld qword [esp + 0x50]
fst qword [eax + 8]
fldz
fxch st(2)
fcomi st(2)
fstp st(2)
jbe 0x4e6370
fstp st(0)
fstp st(1)
fadd qword [eax + ebx*8 + 0x10]
fstp qword [eax + ebx*8 + 0x10]
mov ebx, dword [esp + 0xd0]
test ebx, ebx
je 0x4e5507
xor eax, eax
jmp 0x4e63b2
fstp st(0)
mov eax, dword [esp + 0x124]
fld qword [esp + 0xf8]
mov ebx, dword [eax]
test ebx, ebx
jle 0x4e6248
mov edx, eax
mov ecx, dword [esp + 0x164]
xor eax, eax
jmp 0x4e6026
fxch st(1)
fst qword [ecx + eax*8 + 0x218]
add eax, 1
fsubp st(1)
cmp ebx, eax
je 0x4e6248
fld qword [edx + eax*8 + 0x538]
fxch st(1)
fcomi st(1)
ja 0x4e6010
fstp st(1)
fld qword [esp + 0x40]
fld qword [esp + 0x80]
fxch st(2)
mov edx, ecx
mov ebp, dword [esp + 0x128]
fstp qword [ecx + eax*8 + 0x218]
fld qword [esp + 0xa0]
fstp qword [ecx]
fxch st(1)
fst qword [ecx + 8]
fxch st(2)
fsubp st(1)
fld qword [esp + 0x88]
fabs
fstp qword [edx + 0x10]
fld qword [esp + 0xa0]
fsubr st(2), st(0)
fld qword [esp + 0x50]
fld qword [esp + 0x48]
fsubr st(1), st(0)
fxch st(4)
fdivrp st(1)
fld st(0)
fxch st(4)
fmulp st(1)
fsubp st(1)
fstp qword [esp + 0x48]
test ebx, ebx
jle 0x4e5d2b
mov edi, 0x2712
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x124]
xor ecx, ecx
fld qword [edx + ecx*8 + 0x218]
fld qword [edi + ecx*8 + 0x538]
fsub st(1)
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x4e62a0
fstp st(0)
fstp st(0)
jmp 0x4e60e8
fstp st(0)
fstp st(0)
jmp 0x4e60e8
fstp st(0)
fstp st(0)
lea esi, [esi]
add ecx, 1
cmp ebx, ecx
jne 0x4e60ad
fstp st(0)
fstp st(0)
jmp 0x4e5d2f
fld qword [esp + 0xd8]
mov dword [esp + 8], 3
fabs
fstp qword [esp]
call fcn.0057a430
fldz
fcompi st(1)
fstp st(0)
jne 0x4e54f8
jmp 0x4e612d
fstp st(0)
jmp 0x4e612d
fstp st(0)
mov eax, 1
jmp 0x4e63b2
fxch st(1)
fmul dword [0x77e0c0]
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fstp qword [esp + 0x78]
jmp 0x4e5d7b
fstp st(0)
fldz
jmp 0x4e5d4a
mov edi, dword [esi]
test edi, edi
jle 0x4e5d06
xor eax, eax
jmp 0x4e618f
fstp st(0)
fstp st(0)
add eax, 1
cmp edi, eax
je 0x4e5d10
fld qword [edx + eax*8 + 0x218]
fld qword [esi + eax*8 + 0x538]
fsub st(1)
fldz
fcompi st(1)
je 0x4e6180
fxch st(1)
fstp qword [esp + 0x40]
fld qword [ebp + ecx*8 + 0x338]
fmul st(4)
fld qword [esp + 0x98]
fadd st(1), st(0)
fxch st(1)
fmul qword [ebp + 0x10]
fld qword [ebp + 8]
fxch st(1)
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fld qword [esi + eax*8 + 0x338]
fmul st(6)
faddp st(2)
fxch st(1)
fmul qword [esi + 0x10]
fchs
fld qword [esi + 8]
fxch st(1)
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fxch st(3)
fmul st(1)
fxch st(2)
fmul st(3)
fxch st(2)
fcomi st(2)
fcmovnbe st(0), st(2)
fstp st(2)
fld qword [ebp + ecx*8 + 0x338]
fsub qword [esi + eax*8 + 0x338]
fmul st(2)
fcomi st(6)
jae 0x4e6384
fxch st(1)
fdivr st(2)
sub dword [esp + 0x48], 1
faddp st(4)
fxch st(3)
fstp qword [edx + ecx*8 + 0x18]
fdivrp st(1)
fadd qword [esp + 0x40]
fstp qword [edx + eax*8 + 0x218]
fsubp st(2)
jne 0x4e5ce3
fstp st(0)
fstp st(0)
xor eax, eax
jmp 0x4e63b2
fld qword [esp + 0xa0]
mov eax, dword [esp + 0x164]
fstp qword [eax]
fld qword [esp + 0x80]
fstp qword [eax + 8]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x4e63bd
fstp st(1)
fadd qword [eax + ebx*8 + 0x210]
mov edx, dword [esp + 0xd0]
fstp qword [eax + ebx*8 + 0x210]
test edx, edx
je 0x4e5507
xor eax, eax
jmp 0x4e63b2
mov esi, dword [ebp]
test esi, esi
jle 0x4e60d1
xor eax, eax
jmp 0x4e62bf
fstp st(0)
fstp st(0)
add eax, 1
cmp esi, eax
je 0x4e60e0
fld qword [edx + eax*8 + 0x18]
fld qword [ebp + eax*8 + 0x538]
fsub st(1)
fldz
fcompi st(1)
je 0x4e62b0
fstp qword [esp + 0x40]
fld qword [edi + ecx*8 + 0x338]
fmul st(5)
fld qword [esp + 0x48]
fadd st(1), st(0)
fxch st(1)
fmul qword [edi + 0x10]
fld qword [edi + 8]
fxch st(1)
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fld qword [ebp + eax*8 + 0x338]
fmul st(7)
faddp st(2)
fxch st(1)
fmul qword [ebp + 0x10]
fchs
fld qword [ebp + 8]
fxch st(1)
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fxch st(3)
fmul st(1)
fld qword [esp + 0x40]
fmul st(4)
fxch st(1)
fcomi st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fld qword [edi + ecx*8 + 0x338]
fsub qword [ebp + eax*8 + 0x338]
fmul st(1)
fxch st(6)
fcomi st(6)
jae 0x4e63da
fxch st(4)
fdivr st(1)
sub dword [esp + 0x50], 1
faddp st(3)
fxch st(2)
fstp qword [edx + eax*8 + 0x18]
fdivp st(1)
faddp st(2)
fxch st(1)
fstp qword [edx + ecx*8 + 0x218]
fsubrp st(1)
jne 0x4e60ab
fstp st(0)
fstp st(0)
xor eax, eax
jmp 0x4e63b2
fstp st(1)
fld qword [esp + 0x40]
mov ebp, dword [esp + 0x128]
mov edx, eax
jmp 0x4e5cb4
fstp st(5)
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(4)
fld qword [esp + 0x40]
fxch st(6)
fdivrp st(1)
fmulp st(2)
fdivr st(1)
faddp st(3)
fxch st(2)
fstp qword [edx + ecx*8 + 0x18]
fdivp st(1)
faddp st(1)
fstp qword [edx + eax*8 + 0x218]
mov eax, 0xffffffff
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(0)
fld qword [esp + 0x40]
mov ebp, dword [esp + 0x128]
mov edx, eax
fld qword [esp + 0x80]
fxch st(2)
jmp 0x4e6062
fstp st(7)
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(4)
fxch st(5)
fxch st(6)
fdivrp st(6)
fmulp st(5)
fxch st(2)
fdivr st(4)
faddp st(1)
fstp qword [edx + eax*8 + 0x18]
fdivp st(2)
faddp st(1)
fstp qword [edx + ecx*8 + 0x218]
jmp 0x4e63ad
fstp st(1)
fstp st(1)
fld qword [esp + 0xb0]
mov ebp, dword [esp + 0x128]
mov edx, dword [esp + 0x164]
mov ecx, dword [ebp]
fabs
fstp qword [edx + 0x10]
fld qword [esp + 0xf8]
test ecx, ecx
jle 0x4e650d
xor eax, eax
jmp 0x4e644f
fxch st(1)
fst qword [edx + eax*8 + 0x18]
add eax, 1
fsubp st(1)
cmp ecx, eax
je 0x4e6511
fld qword [ebp + eax*8 + 0x538]
fxch st(1)
fcomi st(1)
ja 0x4e643c
fstp st(1)
fstp qword [edx + eax*8 + 0x18]
fstp qword [edx]
fld qword [esp + 0xa8]
fstp qword [edx + 8]
jmp 0x4e612d
fstp st(0)
fstp st(0)
fld qword [esp + 0x80]
mov ebp, dword [esp + 0x128]
fld qword [esp + 0xb8]
mov edx, dword [esp + 0x164]
mov ecx, dword [ebp]
fabs
fstp qword [edx + 0x10]
fld qword [esp + 0xf8]
test ecx, ecx
jle 0x4e64e2
xor eax, eax
jmp 0x4e64be
fxch st(1)
fst qword [edx + eax*8 + 0x18]
add eax, 1
fsubp st(1)
cmp eax, ecx
je 0x4e64e2
fld qword [ebp + eax*8 + 0x538]
fxch st(1)
fcomi st(1)
ja 0x4e64af
fstp st(1)
fstp qword [edx + eax*8 + 0x18]
fld qword [esp + 0x98]
fstp qword [edx]
fstp qword [edx + 8]
jmp 0x4e612d
fld qword [esp + 0x98]
fstp qword [edx]
fxch st(1)
fstp qword [edx + 8]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x4e6127
fadd qword [edx + ecx*8 + 0x10]
xor eax, eax
fstp qword [edx + ecx*8 + 0x10]
jmp 0x4e63b2
fxch st(1)
jmp 0x4e6513
fxch st(1)
fstp qword [edx]
fld qword [esp + 0xa8]
fstp qword [edx + 8]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x4e64fe
fstp st(0)
jmp 0x4e612d
fstp st(1)
fstp st(1)
fld qword [esp + 0xb8]
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x164]
mov ecx, dword [eax]
fabs
fstp qword [edx + 0x10]
fld qword [esp + 0xf8]
test ecx, ecx
jle 0x4e6649
mov ebx, eax
xor eax, eax
jmp 0x4e657b
fxch st(1)
fst qword [edx + eax*8 + 0x218]
add eax, 1
fsubp st(1)
cmp eax, ecx
je 0x4e664d
fld qword [ebx + eax*8 + 0x538]
fxch st(1)
fcomi st(1)
ja 0x4e6565
fstp st(1)
fstp qword [edx + eax*8 + 0x218]
fstp qword [edx]
fld qword [esp + 0xb0]
fstp qword [edx + 8]
jmp 0x4e612d
fstp st(0)
fstp st(0)
fld qword [esp + 0x88]
mov eax, dword [esp + 0x124]
fld qword [esp + 0xc0]
mov edx, dword [esp + 0x164]
mov ecx, dword [eax]
fabs
fstp qword [edx + 0x10]
fld qword [esp + 0xf8]
test ecx, ecx
jle 0x4e6618
xor eax, eax
jmp 0x4e65ea
fxch st(1)
fst qword [edx + eax*8 + 0x218]
add eax, 1
fsubp st(1)
cmp ecx, eax
je 0x4e6618
mov esi, dword [esp + 0x124]
fld qword [esi + eax*8 + 0x538]
fxch st(1)
fcomi st(1)
ja 0x4e65d8
fstp st(1)
fstp qword [edx + eax*8 + 0x218]
fld qword [esp + 0xa0]
fstp qword [edx]
fstp qword [edx + 8]
jmp 0x4e612d
fld qword [esp + 0xa0]
fstp qword [edx]
fxch st(1)
fstp qword [edx + 8]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x4e612b
fadd qword [edx + ecx*8 + 0x210]
xor eax, eax
fstp qword [edx + ecx*8 + 0x210]
jmp 0x4e63b2
fxch st(1)
jmp 0x4e664f
fxch st(1)
fstp qword [edx]
fld qword [esp + 0xb0]
fstp qword [edx + 8]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x4e6634
fstp st(0)
jmp 0x4e612d