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

Disassembly:
push ebp
push edi
push esi
mov esi, ecx
push ebx
mov ebx, edx
sub esp, 0x2bc
mov dword [esp + 0x54], eax
mov eax, dword [eax]
lea edi, [esp + 0xac]
mov dword [esp + 0xa8], 0
cmp eax, 0x40
jg 0x41ae71
mov edx, dword [esp + 0x54]
lea ecx, [edi + eax*4]
mov dword [esp + 0x64], ecx
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x2d4]
mov edx, dword [edx + 4]
add esi, edx
mov dword [esp + 0x80], esi
fild dword [esp + 0x80]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fadd dword [0x5a6fec]
fstp dword [ebx + ecx*4 + 4]
test edx, edx
jle 0x41ae46
lea ecx, [edi + eax*4]
mov dword [esp + 0x74], 0
xor ebp, ebp
mov esi, ebx
mov dword [esp + 0x90], 0
add ecx, 4
mov dword [esp + 0x84], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x98], ecx
lea esi, [esi]
mov edx, dword [esp + 0x74]
add edx, dword [esp + 0x2d4]
shl eax, 2
mov dword [esp], edi
mov dword [esp + 0x80], edx
fild dword [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
fld st(0)
fadd dword [0x5a7050]
fstp dword [esp + 0x34]
fadd dword [0x5a6fec]
fstp dword [esp + 0x80]
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 4], 0
lea eax, [eax*4 + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call sub.msvcrt.dll_memset
test ebp, ebp
fld dword [esp + 0x80]
je 0x41ae51
fld dword [esp + 0x34]
mov edx, dword [esp + 0x84]
lea eax, [esp + 0xa8]
jmp 0x419ee7
mov ecx, dword [ebp]
mov dword [eax], ecx
mov dword [ebp], edx
mov edx, ebp
mov dword [ebp + 0x10], 0
mov ebp, dword [eax]
test ebp, ebp
je 0x419f00
fld dword [ebp + 0x18]
fxch st(1)
fcomi st(1)
fstp st(1)
jae 0x419ed0
mov eax, ebp
mov ebp, dword [eax]
test ebp, ebp
jne 0x419ee7
fstp st(0)
jmp 0x419f02
fstp st(0)
fld dword [esi + 4]
fxch st(1)
mov dword [esp + 0x84], edx
mov ebx, edx
mov ebp, dword [esp + 0xa8]
fcomi st(1)
jb 0x41a080
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0x90]
jmp 0x419f50
fstp st(1)
jmp 0x419f40
fstp st(1)
lea esi, [esi]
lea esi, [esi]
fld dword [esi + 0x18]
fxch st(1)
add esi, 0x14
fcomi st(1)
jb 0x41a068
fld dword [esi + 0xc]
fucomi st(2)
fstp st(2)
jp 0x419f5b
je 0x419f30
test ebx, ebx
je 0x41a480
fld dword [esi]
fld dword [esi + 4]
mov eax, ebx
mov ebx, dword [ebx]
fld st(0)
fld st(2)
fsubr dword [esi + 8]
fld st(5)
fsub st(3)
fdivp st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fst dword [eax + 8]
fld st(0)
fldz
fxch st(2)
fucompi st(2)
jp 0x419f9a
je 0x419fc0
fstp st(1)
jmp 0x419fa0
fstp st(1)
lea esi, [esi]
fld st(0)
fdivr dword [0x5a6fec]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
jmp 0x419fc2
fxch st(1)
fstp dword [eax + 0xc]
fxch st(1)
fsubr dword [esp + 0x34]
mov ecx, dword [esi + 0x10]
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fild dword [esp + 0x2d0]
fsubp st(1)
fstp dword [eax + 4]
fld1
test ecx, ecx
jne 0x419ffa
fstp st(0)
fld1
fchs
fstp dword [eax + 0x10]
mov edi, dword [esp + 0x74]
fstp dword [eax + 0x14]
fxch st(1)
fst dword [eax + 0x18]
test edi, edi
jne 0x41a030
mov ecx, dword [esp + 0x2d4]
test ecx, ecx
je 0x41a038
fld dword [esp + 0x34]
fcomi st(1)
fstp st(1)
jbe 0x41a040
fstp dword [eax + 0x18]
jmp 0x41a042
fstp st(0)
jmp 0x41a042
fstp st(0)
jmp 0x41a042
fstp st(0)
fld dword [esi + 0x18]
fxch st(1)
add esi, 0x14
mov dword [eax], ebp
mov ebp, eax
mov dword [esp + 0xa8], eax
fcomi st(1)
jae 0x419f50
fstp st(0)
fstp st(0)
jmp 0x41a06c
fstp st(0)
fstp st(0)
mov dword [esp + 0x90], edx
mov edi, dword [esp + 0x44]
mov dword [esp + 0x84], ebx
jmp 0x41a088
fstp st(0)
fstp st(0)
lea esi, [esi]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
test ebp, ebp
je 0x41aba0
fld dword [esp + 0x34]
mov dword [esp + 0x94], esi
mov ecx, ebp
mov ebx, dword [esp + 0x88]
fstp xword [esp + 0x38]
fld xword [esp + 0x38]
fadd dword [0x5a6fec]
fstp dword [esp + 0x24]
jmp 0x41a1ca
fstp st(0)
mov dword [esp + 0x80], ebx
fild dword [esp + 0x80]
fcompi st(1)
fstp st(0)
jbe 0x41a198
fld dword [esp + 0x34]
fld dword [esp + 0x24]
fxch st(2)
fcomi st(3)
fstp st(3)
jb 0x41abb0
fucompi st(1)
fstp st(0)
jp 0x41a10a
je 0x41a1a0
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
or ah, 0xc
mov word [esp + 0x9c], ax
mov eax, edi
fldcw word [esp + 0x9c]
fist dword [esp + 0x80]
fldcw word [esp + 0x9e]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x80]
fstp dword [esp + 0xc]
fst dword [esp + 8]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fst dword [esp]
fstp dword [esp + 0x80]
call fcn.00416610
fld dword [esp + 0x24]
mov eax, dword [esp + 0x64]
add edx, 1
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fst dword [esp + 8]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416610
jmp 0x41a1c0
fstp st(0)
fstp st(0)
jmp 0x41a1c0
fstp st(0)
jmp 0x41a1c0
fstp st(0)
jmp 0x41a1c0
fstp st(0)
jmp 0x41a1c0
fstp st(0)
lea esi, [esi]
mov ecx, dword [ecx]
test ecx, ecx
je 0x41a370
fld dword [ecx + 8]
fld dword [ecx + 4]
fld st(0)
fld st(0)
fstp xword [esp + 0x18]
fldz
fxch st(3)
fucomi st(3)
jp 0x41a1ee
je 0x41a0d0
fstp st(3)
fstp st(0)
fxch st(1)
jmp 0x41a1f8
fstp st(3)
fstp st(0)
fxch st(1)
lea esi, [esi]
fld st(0)
fld st(0)
fstp xword [esp + 0x28]
fld st(2)
fadd st(2), st(0)
fxch st(2)
fstp dword [esp + 0x80]
fld dword [ecx + 0xc]
fstp dword [esp + 0x44]
fld dword [esp + 0x34]
fld dword [ecx + 0x14]
fcomi st(1)
fstp st(1)
jbe 0x41ab88
fld xword [esp + 0x38]
fsubr st(1)
fmulp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ecx + 0x18]
fld dword [esp + 0x24]
fcompi st(1)
jbe 0x41ab70
fld xword [esp + 0x38]
fsubr st(1)
fld xword [esp + 0x28]
fmulp st(1)
fld st(4)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fldz
fxch st(3)
fcomi st(3)
jb 0x41a508
fxch st(1)
fcomi st(3)
fstp st(3)
jb 0x41a518
fld st(0)
mov dword [esp + 0x10], ebx
fstp xword [esp + 0x48]
fld xword [esp + 0x48]
fild dword [esp + 0x10]
fcomi st(2)
jbe 0x41a528
fld st(4)
fstp xword [esp + 0x58]
fld xword [esp + 0x58]
fxch st(1)
fcompi st(5)
jbe 0x41a540
fstp st(6)
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(4)
fxch st(5)
fxch st(1)
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
or ah, 0xc
mov word [esp + 0x9c], ax
fldcw word [esp + 0x9c]
fist dword [esp + 0x10]
fldcw word [esp + 0x9e]
fxch st(1)
fldcw word [esp + 0x9c]
fist dword [esp + 0x28]
fldcw word [esp + 0x9e]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
fld dword [ecx + 0x10]
cmp eax, edx
jne 0x41ac00
fstp st(2)
fstp st(0)
fild dword [esp + 0x10]
fxch st(3)
lea edx, [eax*4]
lea esi, [edi + edx]
add edx, dword [esp + 0x98]
fsubrp st(5)
fxch st(4)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fxch st(3)
fsub st(2)
fxch st(1)
fsubrp st(2)
faddp st(1)
fmul dword [0x5a7000]
fsubr dword [0x5a6fec]
fmulp st(2)
fmul st(1), st(0)
fxch st(1)
fadd dword [esi]
fstp dword [esi]
fmul dword [ecx + 0x10]
fadd dword [edx]
mov ecx, dword [ecx]
fstp dword [edx]
test ecx, ecx
jne 0x41a1ca
lea esi, [esi]
nop
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
test edx, edx
jle 0x41a448
fnstcw word [esp + 0x9e]
mov dword [esp + 0x44], ebp
mov ecx, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x10], esi
fldz
movzx edx, word [esp + 0x9e]
or dh, 0xc
mov word [esp + 0x9c], dx
mov ebx, dword [esp + 0x64]
mov ebp, dword [ecx + 0xc]
mov esi, dword [esp + 0x74]
imul esi, dword [ecx + 8]
fadd dword [ebx + eax*4]
mov ebx, 0xff
add ebp, eax
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fld st(0)
fadd dword [edi + eax*4]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fabs
fmul dword [0x5a7074]
fadd dword [0x5a7000]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fldcw word [esp + 0x9c]
fistp dword [esp + 0x80]
fldcw word [esp + 0x9e]
mov edx, dword [esp + 0x80]
cmp edx, ebx
cmovg edx, ebx
add eax, 1
mov byte [ebp + esi], dl
cmp eax, dword [ecx]
jl 0x41a3b0
fstp st(0)
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
test ebp, ebp
je 0x41a458
lea esi, [esi]
fld dword [ebp + 8]
fadd dword [ebp + 4]
fstp dword [ebp + 4]
mov ebp, dword [ebp]
test ebp, ebp
jne 0x41a448
mov ebx, dword [esp + 0x54]
add dword [esp + 0x74], 1
mov eax, dword [esp + 0x74]
cmp eax, dword [ebx + 4]
jge 0x41ae30
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0xa8]
mov eax, dword [eax]
jmp 0x419e38
test edx, edx
jne 0x41abe8
mov eax, dword [esp + 0x2d8]
mov eax, dword [eax + 0x5058]
lea ecx, [eax + 0xdad0]
cmp ecx, 0x17700
jg 0x41ade0
mov edi, dword [esp + 0x2d8]
add eax, dword [edi + 0x5054]
mov dword [edi + 0x5058], ecx
mov ecx, eax
je 0x419f34
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x8c], ecx
mov edx, 0x7cf
mov dword [ecx], eax
lea eax, [ecx + 0xdaa8]
fld dword [esi]
fld dword [esi + 4]
fld st(0)
fld st(2)
fsubr dword [esi + 8]
fld st(5)
fsub st(3)
fdivp st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
jmp 0x419f87
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41a550
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41a550
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41a550
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
lea esi, [esi]
test ebx, ebx
jle 0x41a1a8
xor esi, esi
mov dword [esp + 0x44], esi
fild dword [esp + 0x44]
fxch st(1)
fstp dword [esp + 0x44]
jmp 0x41a6a0
fld dword [esp + 0x80]
fcompi st(2)
jbe 0x41a8f8
fld dword [esp + 0x34]
fucompi st(1)
jp 0x41a58d
je 0x41a5d0
fxch st(2)
jmp 0x41a590
fxch st(2)
nop
fstp qword [esp + 0x78]
mov eax, edi
fstp dword [esp + 0x68]
fst dword [esp + 0xc]
fstp dword [esp + 0x58]
fst dword [esp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x78]
fld dword [esp + 0x68]
fld dword [esp + 0x58]
fld dword [esp + 0x48]
jmp 0x41a5d6
fxch st(1)
fxch st(2)
fxch st(3)
fld dword [esp + 0x10]
fxch st(2)
fucomi st(2)
fstp st(2)
jp 0x41a5e8
je 0x41a620
fxch st(3)
jmp 0x41a5f0
fxch st(3)
lea esi, [esi]
fstp qword [esp + 0x58]
fld dword [esp + 0x10]
mov eax, edi
fstp dword [esp + 0xc]
fxch st(1)
fst dword [esp + 8]
fstp dword [esp + 0x48]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x58]
fld dword [esp + 0x48]
jmp 0x41a624
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fucompi st(1)
fstp st(0)
jp 0x41a638
je 0x41a670
fxch st(1)
jmp 0x41a640
fxch st(1)
lea esi, [esi]
fstp qword [esp + 0x48]
fld dword [esp + 0x24]
mov eax, edi
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fstp dword [esp + 8]
fld dword [esp + 0x10]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x48]
jmp 0x41a698
fstp st(0)
jmp 0x41a698
fstp st(0)
fstp st(0)
jmp 0x41a698
fstp st(0)
jmp 0x41a698
fstp st(0)
jmp 0x41a698
fstp st(0)
fstp st(0)
lea esi, [esi]
cmp esi, ebx
je 0x41a1b0
mov edx, esi
add esi, 1
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov dword [esp + 0x10], esi
fild dword [esp + 0x10]
fst dword [esp + 0x10]
fld dword [esp + 0x10]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fld xword [esp + 0x18]
fsub st(1), st(0)
fld xword [esp + 0x28]
fdiv st(2), st(0)
fld xword [esp + 0x38]
fadd st(3), st(0)
fxch st(3)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov dword [esp + 0x10], esi
fild dword [esp + 0x10]
fsubrp st(3)
fxch st(2)
fdivrp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x44]
fxch st(4)
fcomi st(4)
fstp st(4)
ja 0x41a570
fld dword [esp + 0x80]
fxch st(4)
fcomi st(4)
fstp st(4)
jbe 0x41a820
fld dword [esp + 0x44]
fcompi st(2)
ja 0x41a917
fld dword [esp + 0x44]
fxch st(4)
fcomi st(4)
fstp st(4)
ja 0x41a7f0
fld dword [esp + 0x44]
fcompi st(4)
jbe 0x41a830
fstp st(1)
fld dword [esp + 0x34]
fucompi st(1)
jp 0x41a752
je 0x41a790
fxch st(1)
jmp 0x41a758
fxch st(1)
lea esi, [esi]
fstp qword [esp + 0x58]
mov eax, edi
fst dword [esp + 0xc]
fstp dword [esp + 0x48]
fst dword [esp + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x58]
fld dword [esp + 0x48]
fld dword [esp + 0x10]
jmp 0x41a7a2
fxch st(1)
fxch st(2)
jmp 0x41a7a2
fstp st(0)
fld dword [esp + 0x24]
fucompi st(2)
jp 0x41a7b4
je 0x41a678
fxch st(2)
jmp 0x41a7c0
fxch st(2)
lea esi, [esi]
lea esi, [esi]
fstp qword [esp + 0x10]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fstp dword [esp + 8]
fstp dword [esp + 4]
mov eax, edi
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x10]
jmp 0x41a698
fld dword [esp + 0x80]
fcompi st(4)
ja 0x41aae0
fld dword [esp + 0x80]
fxch st(4)
fcomi st(4)
fstp st(4)
ja 0x41a736
fstp st(0)
fstp st(2)
fxch st(1)
jmp 0x41a836
fstp st(0)
fstp st(2)
fxch st(1)
jmp 0x41a836
fstp st(0)
fstp st(2)
fxch st(1)
fld dword [esp + 0x44]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x41a9e0
fld dword [esp + 0x80]
fcompi st(1)
jbe 0x41a9e0
fld dword [esp + 0x10]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jp 0x41a869
je 0x41a8a2
fxch st(1)
jmp 0x41a870
fxch st(1)
lea esi, [esi]
nop
fstp qword [esp + 0x58]
fld dword [esp + 0x10]
mov eax, edi
fstp dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x58]
fld dword [esp + 0x48]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fucompi st(1)
fstp st(0)
jp 0x41a8ba
je 0x41a680
fxch st(1)
jmp 0x41a8c0
fxch st(1)
lea esi, [esi]
fstp qword [esp + 0x48]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fstp dword [esp + 8]
fld dword [esp + 0x10]
mov eax, edi
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x48]
jmp 0x41a698
fld dword [esp + 0x80]
fxch st(4)
fcomi st(4)
fstp st(4)
jbe 0x41a7f0
fld dword [esp + 0x44]
fcompi st(2)
jbe 0x41a7f0
fld dword [esp + 0x10]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jp 0x41a92b
je 0x41a980
fxch st(2)
jmp 0x41a930
fxch st(2)
lea esi, [esi]
fstp qword [esp + 0x78]
fxch st(1)
mov eax, edi
fstp dword [esp + 0x68]
fxch st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x78]
fld dword [esp + 0x68]
fld dword [esp + 0x58]
fld dword [esp + 0x48]
jmp 0x41a986
fxch st(2)
fxch st(3)
fxch st(1)
fld dword [esp + 0x10]
fxch st(3)
fucomi st(3)
fstp st(3)
jp 0x41a99c
je 0x41a7a0
fxch st(3)
jmp 0x41a9a0
fxch st(3)
nop
fstp qword [esp + 0x68]
fxch st(1)
mov eax, edi
fst dword [esp + 0xc]
fstp dword [esp + 0x58]
fst dword [esp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x10]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x68]
fld dword [esp + 0x58]
fld dword [esp + 0x48]
jmp 0x41a7a2
fld dword [esp + 0x80]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x41aa88
fld dword [esp + 0x44]
fcompi st(1)
jbe 0x41aa90
fld dword [esp + 0x10]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jp 0x41aa13
je 0x41aa4a
fxch st(1)
jmp 0x41aa18
fxch st(1)
lea esi, [esi]
fstp qword [esp + 0x58]
fld dword [esp + 0x10]
mov eax, edi
fstp dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x58]
fld dword [esp + 0x48]
fld dword [esp + 0x10]
fld dword [esp + 0x24]
fucompi st(1)
fstp st(0)
jp 0x41aa62
je 0x41a688
fxch st(1)
jmp 0x41aa68
fxch st(1)
lea esi, [esi]
fstp qword [esp + 0x48]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fstp dword [esp + 8]
jmp 0x41a8d7
fstp st(0)
jmp 0x41aa92
fstp st(0)
fld dword [esp + 0x24]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jp 0x41aaa6
je 0x41a698
fstp qword [esp + 0x10]
fld dword [esp + 0x24]
mov eax, edi
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fstp dword [esp + 8]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x10]
jmp 0x41a698
fstp st(1)
fld dword [esp + 0x34]
fucompi st(1)
jp 0x41aaf0
je 0x41ab30
fxch st(1)
jmp 0x41aaf8
fxch st(1)
lea esi, [esi]
fstp qword [esp + 0x58]
mov eax, edi
fst dword [esp + 0xc]
fstp dword [esp + 0x48]
fst dword [esp + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.00416610
fld qword [esp + 0x58]
fld dword [esp + 0x48]
fld dword [esp + 0x10]
jmp 0x41ab34
fxch st(1)
fxch st(2)
fld dword [esp + 0x24]
fucompi st(2)
jp 0x41ab46
je 0x41a690
fxch st(2)
jmp 0x41ab50
fxch st(2)
lea esi, [esi]
nop
fstp qword [esp + 0x10]
fld dword [esp + 0x24]
fstp dword [esp + 0xc]
fld dword [esp + 0x80]
fstp dword [esp + 8]
jmp 0x41a7d7
fstp st(0)
fld dword [esp + 0x24]
fld dword [esp + 0x80]
jmp 0x41a262
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x34]
fld st(1)
jmp 0x41a23b
test eax, eax
jg 0x41a386
jmp 0x41a458
fucompi st(1)
fstp st(0)
jp 0x41abbc
je 0x41a1b8
fld dword [esp + 0x24]
mov eax, dword [esp + 0x64]
xor edx, edx
fstp dword [esp + 0xc]
fst dword [esp + 8]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416610
jmp 0x41a1c0
sub edx, 1
mov edi, dword [esp + 0x8c]
imul eax, edx, 0x1c
lea eax, [edi + eax + 4]
jmp 0x41a4dd
fstp st(5)
fstp st(2)
fxch st(2)
fxch st(3)
fxch st(2)
fcomi st(1)
jbe 0x41ac68
fld xword [esp + 0x38]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x10], edx
mov edx, esi
fld st(0)
fsubp st(6)
fld dword [esp + 0x24]
fsubr st(6), st(0)
fxch st(6)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fxch st(5)
fsubrp st(1)
fsubp st(5)
fxch st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x44]
fchs
fstp dword [esp + 0x44]
fld dword [esp + 0x80]
fstp xword [esp + 0x18]
fxch st(1)
fstp xword [esp + 0x48]
fxch st(3)
fstp xword [esp + 0x58]
jmp 0x41ac6c
fstp st(0)
fstp st(0)
fld dword [esp + 0x44]
mov esi, dword [esp + 0x10]
lea eax, [esi + 1]
fstp xword [esp + 0x68]
fld xword [esp + 0x68]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
lea eax, [esi*4]
lea esi, [edi + eax]
fld xword [esp + 0x18]
fsubp st(1)
fmulp st(1)
fld xword [esp + 0x38]
faddp st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fstp xword [esp + 0x18]
fld xword [esp + 0x18]
fsub st(3)
fmul st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fld st(0)
fild dword [esp + 0x10]
fld xword [esp + 0x48]
fsubrp st(1)
fld1
fadd st(1), st(0)
fld dword [0x5a7000]
fmul st(2), st(0)
fxch st(1)
fsubrp st(2)
fxch st(1)
fmul dword [esp + 0x80]
fadd dword [esi]
fstp dword [esi]
fld dword [esp + 0x44]
fmul st(4)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
cmp dword [esp + 0x28], edx
jge 0x41ad54
fstp st(3)
fxch st(1)
fxch st(2)
fld st(0)
lea eax, [edi + eax + 4]
lea esi, [edi + edx*4]
fmulp st(2)
jmp 0x41ad22
fxch st(2)
fld st(2)
add eax, 4
fadd st(2)
fadd dword [eax - 4]
fstp dword [eax - 4]
fadd st(2), st(0)
fxch st(2)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
cmp eax, esi
jne 0x41ad20
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x80]
jmp 0x41ad60
fstp st(0)
fstp st(0)
fstp st(0)
lea esi, [esi]
mov dword [esp + 0x80], edx
fild dword [esp + 0x80]
lea eax, [edx*4]
sub edx, dword [esp + 0x28]
lea esi, [edi + eax]
fld xword [esp + 0x58]
mov dword [esp + 0x80], edx
add eax, dword [esp + 0x98]
fsubrp st(1)
fadd dword [0x5a7050]
fmul dword [0x5a7000]
fsubr dword [0x5a6fec]
fmul st(2)
fild dword [esp + 0x80]
fld xword [esp + 0x68]
fmulp st(1)
fld xword [esp + 0x18]
faddp st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fsubr st(4)
fmulp st(1)
faddp st(1)
fadd dword [esi]
fstp dword [esi]
fxch st(1)
fsubrp st(2)
fmulp st(1)
fadd dword [eax]
fstp dword [eax]
jmp 0x41a1c0
fstp st(1)
mov eax, dword [esp + 0x2d8]
mov eax, dword [eax + 0x5240]
test eax, eax
je 0x419f40
mov edi, dword [esp + 0x2d8]
mov dword [esp + 8], ecx
mov dword [esp + 4], 2
mov ecx, dword [edi + 0x5244]
mov dword [esp + 0x10], edx
fstp dword [esp + 0x80]
mov dword [esp], ecx
call eax
mov edx, dword [esp + 0x10]
fld dword [esp + 0x80]
jmp 0x419f40
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x41ae46
lea esi, [esi]
nop
mov eax, dword [eax]
test eax, eax
jne 0x41ae40
add esp, 0x2bc
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [esi + 4]
fxch st(1)
fcomi st(1)
jb 0x41aeac
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x84]
jmp 0x419f50
mov edi, dword [esp + 0x2d8]
lea edx, [eax*8 + 0x13]
and edx, 0xfffffff0
mov ecx, dword [edi + 0x5058]
add edx, ecx
cmp edx, 0x17700
jg 0x41aec3
mov ebp, dword [esp + 0x2d8]
mov edi, dword [ebp + 0x5054]
mov dword [ebp + 0x5058], edx
add edi, ecx
jmp 0x419daf
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
test eax, eax
jg 0x41a386
jmp 0x41a458
mov ecx, dword [edi + 0x5240]
xor edi, edi
test ecx, ecx
je 0x419daf
mov eax, dword [esp + 0x2d8]
mov dword [esp + 8], edx
mov dword [esp + 4], 2
mov eax, dword [eax + 0x5244]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
jmp 0x419daf
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov edi, dword [esp + 0xd0]
fld dword [esp + 0xb4]
mov dword [esp + 0x8c], 0
fld dword [esp + 0xc0]
fld dword [esp + 0xc4]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0xd4]
fld dword [esp + 0xc8]
fld dword [esp + 0xcc]
fxch st(3)
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
fcomi st(2)
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0xdc]
fld st(0)
fcmovnbe st(0), st(3)
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], edi
test esi, esi
jle 0x41e650
imul esi, esi, 0xe
xor edx, edx
add esi, eax
lea esi, [esi]
nop
xor ecx, ecx
cmp byte [eax + 0xc], 1
sete cl
add eax, 0xe
add edx, ecx
cmp esi, eax
jne 0x41e460
mov dword [esp + 0x48], edx
test edx, edx
je 0x41e65e
mov edi, dword [esp + 0x50]
lea eax, [edx*4]
mov dword [esp + 0x68], eax
add eax, 0xf
mov edx, dword [edi + 0x5058]
and eax, 0xfffffff0
add eax, edx
cmp eax, 0x17700
jg 0x41ea2f
mov edi, dword [esp + 0x50]
mov ecx, dword [edi + 0x5054]
mov dword [edi + 0x5058], eax
add edx, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x4c], edx
je 0x41e66c
fdivp st(5)
fxch st(4)
mov dword [esp + 0x54], 0
xor ebp, ebp
xor eax, eax
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fmul st(0)
fstp dword [esp + 0x34]
fxch st(3)
fstp dword [esp + 0x6c]
fstp dword [esp + 0x70]
fxch st(1)
fstp dword [esp + 0x74]
fstp dword [esp + 0x78]
fldz
mov ebx, dword [esp + 0x58]
mov edi, 0xffffffff
mov dword [esp + 0x8c], 0
fld st(0)
jmp 0x41e578
cmp dl, 2
jne 0x41e560
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x8c]
fild word [ebx]
fild word [ebx + 2]
lea ecx, [edx + 1]
mov dword [esp + 0x8c], ecx
test eax, eax
je 0x41e550
fxch st(1)
lea edx, [eax + edx*8]
fst dword [edx]
fxch st(1)
fst dword [edx + 4]
fxch st(1)
jmp 0x41e560
fxch st(1)
jmp 0x41e560
fxch st(1)
lea esi, [esi]
add ebx, 0xe
cmp esi, ebx
je 0x41e5e0
jmp 0x41e578
fxch st(1)
lea esi, [esi]
movzx edx, byte [ebx + 0xc]
cmp dl, 3
je 0x41e710
ja 0x41e6a0
cmp dl, 1
jne 0x41e518
fstp st(0)
fstp st(0)
cmp edi, 0xffffffff
je 0x41e5a9
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x4c]
sub edx, ebp
mov dword [ecx + edi*4], edx
mov ebp, dword [esp + 0x8c]
fild word [ebx]
add edi, 1
fild word [ebx + 2]
lea edx, [ebp + 1]
mov dword [esp + 0x8c], edx
test eax, eax
je 0x41e558
fxch st(1)
lea edx, [eax + ebp*8]
add ebx, 0xe
fst dword [edx]
fxch st(1)
fst dword [edx + 4]
cmp esi, ebx
jne 0x41e570
fstp st(0)
fstp st(0)
jmp 0x41e5e4
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x4c]
sub edx, ebp
cmp dword [esp + 0x54], 1
mov dword [ecx + edi*4], edx
je 0x41e760
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x5058]
mov eax, dword [esp + 0x8c]
lea eax, [eax*8 + 0xf]
and eax, 0xfffffff0
add eax, edx
cmp eax, 0x17700
jg 0x41ea6d
mov edi, dword [esp + 0x50]
mov dword [esp + 0x54], 1
mov dword [edi + 0x5058], eax
mov eax, edx
add eax, dword [esp + 0x7c]
jne 0x41e4f8
jmp 0x41e690
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41e690
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41e690
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41e690
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41e690
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dl, 4
jne 0x41e560
fild word [ebx + 2]
fild word [ebx]
xor ecx, ecx
lea edx, [esp + 0x8c]
fld dword [esp + 0x34]
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x20]
fxch st(1)
fst dword [esp + 0x1c]
fstp dword [esp + 0x44]
fst dword [esp + 0x18]
fstp dword [esp + 0x40]
fild word [ebx + 0xa]
fstp dword [esp + 0x14]
fild word [ebx + 8]
fstp dword [esp + 0x10]
fild word [ebx + 6]
fstp dword [esp + 0xc]
fild word [ebx + 4]
fstp dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00415550
fld dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x40]
jmp 0x41e560
fild word [ebx + 2]
fild word [ebx]
xor ecx, ecx
lea edx, [esp + 0x8c]
fld dword [esp + 0x34]
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x18]
fxch st(1)
fst dword [esp + 0x14]
fstp dword [esp + 0x44]
fst dword [esp + 0x10]
fstp dword [esp + 0x40]
fild word [ebx + 6]
fstp dword [esp + 0xc]
fild word [ebx + 4]
fstp dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00417050
jmp 0x41e6ff
fld dword [esp + 0x6c]
fld dword [esp + 0x70]
mov dword [esp + 0x4c], eax
fld dword [esp + 0x74]
fld dword [esp + 0x78]
test eax, eax
je 0x41e67a
mov ebp, dword [esp + 0x38]
mov eax, ecx
fld st(2)
mov edi, ecx
mov ecx, dword [esp + 0x68]
fchs
test ebp, ebp
fcmove st(0), st(3)
fstp st(3)
add ecx, eax
xor edx, edx
lea esi, [esi]
lea esi, [esi]
add edx, dword [eax]
add eax, 4
cmp ecx, eax
jne 0x41e7a0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov ebx, dword [eax + 0x5058]
lea eax, [edx + edx*4 + 5]
lea eax, [eax*4 + 0xf]
and eax, 0xfffffff0
add eax, ebx
cmp eax, 0x17700
jg 0x41e9ee
mov dword [esi + 0x5058], eax
add ebx, dword [esp + 0x7c]
je 0x41e688
mov dword [esp + 0x40], 0
xor ebp, ebp
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], ebx
lea esi, [esi]
nop
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
lea ecx, [eax + esi*8]
mov eax, dword [edi]
add esi, eax
lea edx, [eax - 1]
mov dword [esp + 0x44], esi
test eax, eax
jle 0x41e8d4
fld dword [ecx + edx*8 + 4]
mov dword [esp + 0x34], edi
xor eax, eax
jmp 0x41e891
fxch st(1)
fcomi st(1)
jbe 0x41e8c9
jmp 0x41e842
fxch st(1)
mov dword [edx + 0x10], 1
mov edi, ebx
mov ebx, esi
fld st(1)
fxch st(1)
mov esi, edi
fld st(6)
fmul dword [ebx]
add ebp, 1
fadd st(5)
fstp dword [edx]
fmul st(5)
fadd st(3)
fstp dword [edx + 4]
fld st(5)
fmul dword [esi]
fadd st(4)
fstp dword [edx + 8]
fmul st(4)
fadd st(2)
fstp dword [edx + 0xc]
jmp 0x41e882
fstp st(1)
lea ebx, [eax + 1]
mov edx, eax
mov eax, dword [esp + 0x34]
cmp ebx, dword [eax]
jge 0x41e8d0
mov eax, ebx
fld dword [ecx + eax*8 + 4]
lea ebx, [ecx + eax*8]
fucomi st(1)
jp 0x41e89e
je 0x41e880
mov edi, dword [esp + 0x3c]
lea esi, [ecx + edx*8]
lea edx, [ebp + ebp*4]
lea edx, [edi + edx*4]
mov edi, dword [esp + 0x38]
mov dword [edx + 0x10], 0
test edi, edi
jne 0x41e830
fcomi st(1)
ja 0x41e840
fxch st(1)
fld st(1)
jmp 0x41e853
fstp st(0)
mov edi, eax
add dword [esp + 0x40], 1
add edi, 4
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x48], eax
jg 0x41e800
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0x3c]
mov edx, ebp
mov eax, ebx
call fcn.00414a00
mov esi, dword [esp + 0x54]
mov ecx, 0x14
cmp ebp, 1
jle 0x41e9a6
lea esi, [esi]
fld dword [ebx + ecx]
mov dword [esp + 0x34], ecx
mov eax, ecx
mov edx, esi
fld dword [ebx + ecx + 4]
fld dword [ebx + ecx + 8]
fld dword [ebx + ecx + 0xc]
mov edi, dword [ebx + ecx + 0x10]
lea esi, [esi]
nop
fld dword [ebx + eax - 0x10]
fcompi st(3)
jbe 0x41e9e0
mov ecx, dword [ebx + eax - 0x14]
mov dword [ebx + eax], ecx
mov ecx, dword [ebx + eax - 0x10]
mov dword [ebx + eax + 4], ecx
mov ecx, dword [ebx + eax - 0xc]
mov dword [ebx + eax + 8], ecx
mov ecx, dword [ebx + eax - 8]
mov dword [ebx + eax + 0xc], ecx
mov ecx, dword [ebx + eax - 4]
mov dword [ebx + eax + 0x10], ecx
sub eax, 0x14
sub edx, 1
jne 0x41e938
fxch st(3)
mov ecx, dword [esp + 0x34]
mov eax, ebx
fstp dword [eax]
fxch st(1)
fstp dword [eax + 4]
mov dword [eax + 0x10], edi
fstp dword [eax + 8]
fstp dword [eax + 0xc]
jmp 0x41e998
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
add esi, 1
add ecx, 0x14
cmp esi, ebp
jne 0x41e918
mov eax, dword [esp + 0x50]
mov ecx, ebp
mov edx, ebx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x5c]
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x419d80
mov ecx, dword [esp + 0x34]
cmp esi, edx
je 0x41e990
fxch st(3)
add eax, ebx
jmp 0x41e97b
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, dword [esi + 0x5240]
test edx, edx
je 0x41e690
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], 2
mov eax, dword [esi + 0x5244]
mov dword [esp + 0xb0], eax
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
jmp edx
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, dword [edi + 0x5240]
mov esi, edi
test edx, edx
je 0x41e690
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov eax, dword [esi + 0x5244]
mov dword [esp], eax
call edx
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x50]
mov edx, dword [esi + 0x5240]
test edx, edx
jne 0x41ea4b
jmp 0x41e690