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

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
mov esi, eax
push ebx
mov ebx, edx
sub esp, 0x2bc
mov eax, dword [eax]
mov dword [esp + 0xa8], 0
lea edi, [esp + 0xac]
cmp eax, 0x40
jg 0x418b69
lea ecx, [edi + eax*4]
mov edx, dword [esi + 4]
mov dword [esp + 0x54], ecx
lea ecx, [ebp + ebp*4]
mov ebp, dword [esp + 0x2d4]
add ebp, edx
mov dword [esp + 0x18], ebp
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fadd dword [0x5a4df0]
fstp dword [ebx + ecx*4 + 4]
test edx, edx
jle 0x418b3e
lea ecx, [edi + eax*4]
xor ebp, ebp
mov dword [esp + 0x8c], 0
add ecx, 4
mov dword [esp + 0x6c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x80], esi
mov esi, edi
mov edi, ebx
lea esi, [esi]
mov edx, dword [esp + 0x6c]
add edx, dword [esp + 0x2d4]
shl eax, 2
mov dword [esp], esi
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
fld st(0)
fadd dword [0x5a4dec]
fstp dword [esp + 0x44]
fadd dword [0x5a4df0]
fstp dword [esp + 0x18]
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [esp + 4], 0
lea eax, [eax*4 + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call sub.msvcrt.dll_memset
test ebp, ebp
fld dword [esp + 0x18]
je 0x418b49
fld dword [esp + 0x44]
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0xa8]
jmp 0x417be4
mov dword [edx], eax
mov dword [ebp], ecx
mov ecx, ebp
mov dword [ebp + 0x10], 0
mov ebp, dword [edx]
test ebp, ebp
je 0x417c00
fld dword [ebp + 0x18]
fxch st(1)
mov eax, dword [ebp]
fcomi st(1)
fstp st(1)
jae 0x417bd0
mov edx, ebp
mov ebp, eax
test ebp, ebp
jne 0x417be4
fstp st(0)
jmp 0x417c02
fstp st(0)
fld dword [edi + 4]
fxch st(1)
mov dword [esp + 0x84], ecx
mov ebp, dword [esp + 0xa8]
fcomi st(1)
jb 0x417d48
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x8c]
mov ebx, ecx
jmp 0x417c58
fstp st(1)
jmp 0x417c48
fstp st(1)
jmp 0x417c48
fstp st(1)
lea esi, [esi]
fld dword [edi + 0x18]
fxch st(1)
add edi, 0x14
fcomi st(1)
jb 0x417d30
fld dword [edi + 0xc]
fucomi st(2)
jp 0x417c67
fcomi st(2)
fstp st(2)
je 0x417c30
jmp 0x417c70
fstp st(2)
lea esi, [esi]
test ebx, ebx
je 0x418120
fld dword [edi]
fld dword [edi + 4]
mov eax, ebx
mov ebx, dword [ebx]
fld st(0)
fld st(2)
fsubr dword [edi + 8]
fld st(5)
fsub st(3)
fdivp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax + 8]
fld st(0)
fldz
fucomi st(2)
jp 0x417cab
fcomi st(2)
fstp st(2)
je 0x417cc8
fstp st(1)
jmp 0x417cb0
fstp st(0)
fstp st(1)
nop
fld st(0)
fdivr dword [0x5a4df0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x417cca
fxch st(1)
fstp dword [eax + 0xc]
fxch st(1)
fsubr dword [esp + 0x44]
mov ecx, dword [edi + 0x10]
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fild dword [esp + 0x2d0]
fsubp st(1)
fstp dword [eax + 4]
fld1
test ecx, ecx
jne 0x417cfc
fstp st(0)
fld1
fchs
fstp dword [eax + 0x10]
add edi, 0x14
fstp dword [eax + 0x14]
fxch st(1)
fstp dword [eax + 0x18]
fld dword [edi + 4]
fxch st(1)
mov dword [eax], ebp
mov ebp, eax
mov dword [esp + 0xa8], eax
fcomi st(1)
jae 0x417c58
fstp st(0)
fstp st(0)
jmp 0x417d34
fstp st(0)
fstp st(0)
mov dword [esp + 0x8c], edx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x84], ebx
jmp 0x417d50
fstp st(0)
fstp st(0)
lea esi, [esi]
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
test ebp, ebp
je 0x418858
fld dword [esp + 0x44]
mov dword [esp + 0x90], ebp
mov ecx, ebp
mov ebx, eax
mov dword [esp + 0x94], edi
fstp xword [esp + 0x48]
fld xword [esp + 0x48]
fadd dword [0x5a4df0]
fstp dword [esp + 0x34]
jmp 0x417e7a
jne 0x417e9c
fstp st(0)
mov dword [esp + 0x18], ebx
fild dword [esp + 0x18]
fcompi st(1)
fstp st(0)
jbe 0x417e48
fld dword [esp + 0x44]
fxch st(1)
fcomi st(2)
fstp st(2)
jb 0x418868
fld dword [esp + 0x34]
fxch st(1)
fucompi st(1)
fstp st(0)
jnp 0x418ac0
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
or ah, 0xc
mov word [esp + 0x9c], ax
mov eax, esi
fldcw word [esp + 0x9c]
fist dword [esp + 0x18]
fldcw word [esp + 0x9e]
fld dword [esp + 0x34]
mov edx, dword [esp + 0x18]
fstp dword [esp + 0xc]
fst dword [esp + 8]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fst dword [esp]
fstp dword [esp + 0x18]
call fcn.00416020
fld dword [esp + 0x34]
mov eax, dword [esp + 0x54]
add edx, 1
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
fst dword [esp + 8]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416020
jmp 0x417e70
fstp st(0)
fstp st(0)
jmp 0x417e70
fstp st(0)
jmp 0x417e70
fstp st(0)
jmp 0x417e70
fstp st(0)
jmp 0x417e70
fstp st(0)
lea esi, [esi]
mov ecx, dword [ecx]
test ecx, ecx
je 0x418008
fld dword [ecx + 8]
fld dword [ecx + 4]
fld st(0)
fld st(0)
fstp xword [esp + 0x28]
fldz
fxch st(3)
fucomi st(3)
jnp 0x417d90
fstp st(3)
fstp st(0)
fxch st(1)
jmp 0x417ea8
fstp st(3)
fstp st(0)
fxch st(1)
lea esi, [esi]
fld st(0)
fld st(0)
fstp xword [esp + 0x38]
fld st(2)
fadd st(2), st(0)
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x44]
fld dword [ecx + 0x14]
fcomi st(1)
fstp st(1)
jbe 0x4187b0
fld xword [esp + 0x48]
fsubr st(1)
fmulp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld dword [ecx + 0x18]
fld dword [esp + 0x34]
fcompi st(1)
jbe 0x4187a0
fld xword [esp + 0x48]
fsubr st(1)
fld xword [esp + 0x38]
fmulp st(1)
fld st(4)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fldz
fxch st(3)
fcomi st(3)
jb 0x4181a0
fxch st(1)
fcomi st(3)
fstp st(3)
jb 0x4181b0
fld st(0)
mov dword [esp + 0x1c], ebx
fild dword [esp + 0x1c]
fcomi st(1)
jbe 0x4181c0
fld st(4)
fxch st(1)
fcompi st(1)
jbe 0x4181d0
fstp st(6)
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(4)
fxch st(5)
fxch st(2)
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
or ah, 0xc
mov word [esp + 0x9c], ax
fldcw word [esp + 0x9c]
fist dword [esp + 0x1c]
fldcw word [esp + 0x9e]
fxch st(4)
mov eax, dword [esp + 0x1c]
fldcw word [esp + 0x9c]
fist dword [esp + 0x1c]
fldcw word [esp + 0x9e]
lea edx, [eax*4]
mov dword [esp + 0x38], edx
lea ebp, [esi + edx]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsub st(2), st(0)
fld dword [ecx + 0x10]
cmp eax, edi
jne 0x418900
fstp st(6)
fstp st(1)
fxch st(1)
fxch st(2)
fxch st(3)
fsubrp st(5)
fxch st(4)
add edx, dword [esp + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fxch st(2)
fsubrp st(4)
faddp st(3)
fxch st(2)
fmul dword [0x5a4e10]
fsubr dword [0x5a4df0]
fmulp st(1)
fmul st(1)
fadd dword [ebp]
fstp dword [ebp]
fmul dword [ecx + 0x10]
fadd dword [edx]
mov ecx, dword [ecx]
fstp dword [edx]
test ecx, ecx
jne 0x417e7a
lea esi, [esi]
nop
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov edx, dword [eax]
test edx, edx
jle 0x4180e0
fnstcw word [esp + 0x9e]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebp
xor eax, eax
mov dword [esp + 0x44], edi
mov ecx, dword [esp + 0x80]
fldz
movzx edx, word [esp + 0x9e]
mov dword [esp + 0x1c], ebx
or dh, 0xc
mov word [esp + 0x9c], dx
lea esi, [esi]
mov ebx, dword [esp + 0x54]
mov edi, dword [ecx + 0xc]
mov ebp, 0xff
fadd dword [ebx + eax*4]
add edi, eax
mov ebx, dword [esp + 0x1c]
imul ebx, dword [ecx + 8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fadd dword [esi + eax*4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fabs
fmul dword [0x5a4e7c]
fadd dword [0x5a4e10]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fldcw word [esp + 0x9c]
fistp dword [esp + 0x18]
fldcw word [esp + 0x9e]
mov edx, dword [esp + 0x18]
cmp edx, 0xff
cmovg edx, ebp
add eax, 1
mov byte [edi + ebx], dl
cmp eax, dword [ecx]
jl 0x418060
fstp st(0)
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
test ebp, ebp
je 0x4180f0
lea esi, [esi]
nop
fld dword [ebp + 8]
fadd dword [ebp + 4]
fstp dword [ebp + 4]
mov ebp, dword [ebp]
test ebp, ebp
jne 0x4180e0
mov ebx, dword [esp + 0x80]
add dword [esp + 0x6c], 1
mov eax, dword [esp + 0x6c]
cmp eax, dword [ebx + 4]
jge 0x418b2a
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0xa8]
mov eax, dword [eax]
jmp 0x417b40
test edx, edx
jne 0x4188a0
mov eax, dword [esp + 0x2d8]
mov eax, dword [eax + 0x5058]
lea ecx, [eax + 0xdad0]
cmp ecx, 0x17700
jg 0x418ae0
mov esi, dword [esp + 0x2d8]
add eax, dword [esi + 0x5054]
mov dword [esi + 0x5058], ecx
mov ecx, eax
je 0x417c34
mov eax, dword [esp + 0x88]
mov dword [esp + 0x88], ecx
mov edx, 0x7cf
mov dword [ecx], eax
lea eax, [ecx + 0xdaa4]
fld dword [edi]
fld dword [edi + 4]
fld st(0)
fld st(2)
fsubr dword [edi + 8]
fld st(5)
fsub st(3)
fdivp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x417c96
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4181e0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4181e0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4181e0
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 0x417e50
xor edi, edi
mov dword [esp + 0x1c], edi
fild dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x1c]
jmp 0x418348
fld dword [esp + 0x18]
fcompi st(2)
jbe 0x418550
fld dword [esp + 0x44]
fucompi st(1)
jnp 0x4187e8
fxch st(2)
fstp qword [esp + 0x78]
mov eax, esi
fstp dword [esp + 0x70]
fst dword [esp + 0xc]
fstp dword [esp + 0x60]
fst dword [esp + 8]
fstp dword [esp + 0x58]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x78]
fld dword [esp + 0x70]
fld dword [esp + 0x60]
fld dword [esp + 0x58]
jmp 0x418266
fxch st(1)
fxch st(2)
fxch st(3)
fld dword [esp + 0x20]
fxch st(2)
fucomi st(2)
fstp st(2)
jnp 0x4187d8
fxch st(3)
fstp qword [esp + 0x60]
fld dword [esp + 0x20]
mov eax, esi
fstp dword [esp + 0xc]
fxch st(1)
fst dword [esp + 8]
fstp dword [esp + 0x58]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x60]
fld dword [esp + 0x58]
jmp 0x4182b4
fstp st(0)
fstp st(0)
fld dword [esp + 0x20]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jnp 0x4187c8
fxch st(1)
fstp qword [esp + 0x58]
fld dword [esp + 0x34]
mov eax, esi
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
fstp dword [esp + 8]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x58]
jmp 0x418340
fstp st(0)
jmp 0x418340
fstp st(0)
fstp st(0)
jmp 0x418340
fstp st(0)
fstp st(0)
jmp 0x418340
fstp st(0)
fstp st(0)
jmp 0x418340
fstp st(0)
jmp 0x418340
fstp st(0)
lea esi, [esi]
cmp edi, ebx
je 0x417e58
mov edx, edi
add edi, 1
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
fst dword [esp + 0x20]
fld dword [esp + 0x20]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fld xword [esp + 0x28]
fsub st(1), st(0)
fld xword [esp + 0x38]
fdiv st(2), st(0)
fld xword [esp + 0x48]
fadd st(3), st(0)
fxch st(3)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
fsubrp st(3)
fxch st(2)
fdivrp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x1c]
fxch st(4)
fcomi st(4)
fstp st(4)
ja 0x418200
fld dword [esp + 0x18]
fxch st(4)
fcomi st(4)
fstp st(4)
jbe 0x418498
fld dword [esp + 0x1c]
fcompi st(2)
ja 0x41856c
fld dword [esp + 0x1c]
fxch st(4)
fcomi st(4)
fstp st(4)
ja 0x418470
fld dword [esp + 0x1c]
fcompi st(4)
jbe 0x4184a0
fstp st(1)
fld dword [esp + 0x44]
fucompi st(1)
jnp 0x4188d0
fxch st(1)
fstp qword [esp + 0x60]
mov eax, esi
fst dword [esp + 0xc]
fstp dword [esp + 0x58]
fst dword [esp + 8]
fstp dword [esp + 0x20]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x60]
fld dword [esp + 0x58]
fld dword [esp + 0x20]
jmp 0x418434
fxch st(1)
fxch st(2)
fld dword [esp + 0x34]
fucompi st(2)
jnp 0x4188c0
fxch st(2)
fstp qword [esp + 0x20]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
fstp dword [esp + 8]
fstp dword [esp + 4]
mov eax, esi
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x20]
jmp 0x418340
fld dword [esp + 0x18]
fcompi st(4)
ja 0x418720
fld dword [esp + 0x18]
fxch st(4)
fcomi st(4)
fstp st(4)
ja 0x4183db
fstp st(0)
fstp st(2)
fxch st(1)
jmp 0x4184a6
fstp st(0)
fstp st(2)
fxch st(1)
jmp 0x4184a6
fstp st(0)
fstp st(2)
fxch st(1)
fld dword [esp + 0x1c]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x418650
fld dword [esp + 0x18]
fcompi st(1)
jbe 0x418650
fld dword [esp + 0x20]
fld dword [esp + 0x44]
fucompi st(1)
fstp st(0)
jnp 0x4188f0
fxch st(1)
fstp qword [esp + 0x60]
fld dword [esp + 0x20]
mov eax, esi
fstp dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 0x58]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x60]
fld dword [esp + 0x58]
fld dword [esp + 0x20]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jnp 0x4188e0
fxch st(1)
fstp qword [esp + 0x58]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
mov eax, esi
fstp dword [esp + 8]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x58]
jmp 0x418340
fld dword [esp + 0x18]
fxch st(4)
fcomi st(4)
fstp st(4)
jbe 0x418470
fld dword [esp + 0x1c]
fcompi st(2)
jbe 0x418470
fld dword [esp + 0x20]
fld dword [esp + 0x44]
fucompi st(1)
fstp st(0)
jnp 0x418818
fxch st(2)
fstp qword [esp + 0x78]
fxch st(1)
mov eax, esi
fstp dword [esp + 0x70]
fxch st(1)
fstp dword [esp + 0x60]
fld dword [esp + 0x20]
fstp dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 0x58]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x78]
fld dword [esp + 0x70]
fld dword [esp + 0x60]
fld dword [esp + 0x58]
jmp 0x4185d6
fxch st(2)
fxch st(3)
fxch st(1)
fld dword [esp + 0x20]
fxch st(3)
fucomi st(3)
fstp st(3)
jnp 0x418808
fxch st(3)
fstp qword [esp + 0x70]
fxch st(1)
mov eax, esi
fst dword [esp + 0xc]
fstp dword [esp + 0x60]
fst dword [esp + 8]
fstp dword [esp + 0x58]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x70]
fld dword [esp + 0x60]
fld dword [esp + 0x58]
jmp 0x418622
fstp st(0)
fld dword [esp + 0x34]
fucompi st(2)
jnp 0x4187f8
fxch st(2)
fstp qword [esp + 0x20]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
fstp dword [esp + 8]
jmp 0x418456
fld dword [esp + 0x18]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x4186d0
fld dword [esp + 0x1c]
fcompi st(1)
jbe 0x4186d8
fld dword [esp + 0x20]
fld dword [esp + 0x44]
fucompi st(1)
fstp st(0)
jnp 0x418ab0
fxch st(1)
fstp qword [esp + 0x60]
fld dword [esp + 0x20]
mov eax, esi
fstp dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 0x58]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x60]
fld dword [esp + 0x58]
fld dword [esp + 0x20]
fld dword [esp + 0x34]
fucompi st(1)
fstp st(0)
jnp 0x418aa0
fxch st(1)
fstp qword [esp + 0x58]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
jmp 0x418528
fstp st(0)
jmp 0x4186da
fstp st(0)
fld dword [esp + 0x34]
fld dword [esp + 0x44]
fucompi st(1)
fstp st(0)
jnp 0x418828
fstp qword [esp + 0x20]
fld dword [esp + 0x34]
mov eax, esi
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
fstp dword [esp + 8]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x20]
jmp 0x418340
fstp st(1)
fld dword [esp + 0x44]
fucompi st(1)
jnp 0x418848
fxch st(1)
fstp qword [esp + 0x60]
mov eax, esi
fst dword [esp + 0xc]
fstp dword [esp + 0x58]
fst dword [esp + 8]
fstp dword [esp + 0x20]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00416020
fld qword [esp + 0x60]
fld dword [esp + 0x58]
fld dword [esp + 0x20]
jmp 0x418774
fxch st(1)
fxch st(2)
fld dword [esp + 0x34]
fucompi st(2)
jnp 0x418838
fxch st(2)
fstp qword [esp + 0x20]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x18]
fstp dword [esp + 8]
jmp 0x418456
fstp st(0)
fld dword [esp + 0x34]
fld dword [esp + 0x18]
jmp 0x417f08
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x44]
fld st(1)
jmp 0x417ee1
je 0x4182f8
fxch st(1)
jmp 0x4182c8
je 0x4182b0
fxch st(3)
jmp 0x418278
je 0x418260
fxch st(2)
jmp 0x41821a
je 0x418300
fxch st(2)
jmp 0x418630
je 0x418620
fxch st(3)
jmp 0x4185e8
je 0x4185d0
fxch st(2)
jmp 0x418580
je 0x418340
jmp 0x4186ec
je 0x418310
fxch st(2)
jmp 0x418782
je 0x418770
fxch st(1)
jmp 0x418730
test eax, eax
jg 0x418027
jmp 0x4180f0
fld dword [esp + 0x34]
fxch st(1)
fucompi st(1)
fstp st(0)
jnp 0x418ad0
fld dword [esp + 0x34]
mov eax, dword [esp + 0x54]
xor edx, edx
fstp dword [esp + 0xc]
fst dword [esp + 8]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416020
jmp 0x417e70
sub edx, 1
imul eax, edx, 0x1c
add eax, dword [esp + 0x88]
je 0x417c40
jmp 0x41817d
je 0x418320
fxch st(2)
jmp 0x418442
je 0x418430
fxch st(1)
jmp 0x4183f7
je 0x418330
fxch st(1)
jmp 0x41851c
je 0x418508
fxch st(1)
jmp 0x4184d6
fstp st(1)
fld dword [ecx + 0xc]
mov dword [esp + 0x60], edi
lea edx, [edi*4]
mov dword [esp + 0x58], edx
add edx, esi
mov dword [esp + 0x20], edx
fstp dword [esp + 0x1c]
fild dword [esp + 0x60]
fsubp st(4)
fxch st(5)
fcompi st(1)
fstp st(0)
jbe 0x418980
fld xword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x58], edx
mov edx, ebp
mov ebp, dword [esp + 0x20]
fsub st(5), st(0)
fld dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov edx, eax
mov eax, edi
mov edi, edx
fsubr st(6), st(0)
fxch st(6)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fld dword [esp + 0x1c]
fchs
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fstp xword [esp + 0x28]
fxch st(4)
fsubrp st(1)
fsubp st(5)
fxch st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fxch st(4)
fxch st(1)
fld dword [esp + 0x1c]
lea edx, [eax + 1]
mov dword [esp + 0x18], edx
fstp xword [esp + 0x38]
fld xword [esp + 0x38]
fild dword [esp + 0x18]
fld xword [esp + 0x28]
fsubp st(1)
fmulp st(1)
fld xword [esp + 0x48]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp xword [esp + 0x28]
fld xword [esp + 0x28]
fsub st(5)
fmul st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp xword [esp + 0x60]
fld xword [esp + 0x60]
fld1
fadd st(2), st(0)
fld xword [0x5a4e60]
fmul st(3), st(0)
fxch st(3)
fsubp st(1)
fmul dword [esp + 0x18]
fadd dword [ebp]
fstp dword [ebp]
fld dword [esp + 0x1c]
fmul st(5)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
cmp edx, edi
jge 0x418a37
fstp st(1)
fld st(0)
lea eax, [esi + edx*4]
lea ebp, [esi + edi*4]
fmulp st(2)
fld xword [esp + 0x60]
jmp 0x418a10
fld st(0)
add eax, 4
fadd st(3)
fadd dword [eax - 4]
fstp dword [eax - 4]
fadd st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
cmp eax, ebp
jne 0x418a10
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
jmp 0x418a40
fstp st(0)
fstp st(1)
lea esi, [esi]
nop
sub edi, edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fld xword [esp + 0x38]
fmulp st(1)
fld xword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fsubr st(3)
fxch st(2)
fadd dword [0x5a4dec]
fmul dword [0x5a4e10]
fsubr dword [0x5a4df0]
fmul st(4)
fmulp st(2)
faddp st(1)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x98]
fsubrp st(2)
fmulp st(1)
fadd dword [eax]
fstp dword [eax]
jmp 0x417e70
je 0x418338
fxch st(1)
jmp 0x4186be
je 0x4186aa
fxch st(1)
jmp 0x418678
je 0x417e60
jmp 0x417dca
je 0x417e68
jmp 0x418878
fstp st(1)
mov eax, dword [esp + 0x2d8]
mov eax, dword [eax + 0x5240]
test eax, eax
je 0x417c48
mov esi, dword [esp + 0x2d8]
mov dword [esp + 8], ecx
mov dword [esp + 4], 2
mov ecx, dword [esi + 0x5244]
mov dword [esp + 0x20], edx
fstp dword [esp + 0x18]
mov dword [esp], ecx
call eax
mov edx, dword [esp + 0x20]
fld dword [esp + 0x18]
jmp 0x417c48
mov eax, dword [esp + 0x88]
test eax, eax
je 0x418b3e
lea esi, [esi]
mov eax, dword [eax]
test eax, eax
jne 0x418b38
add esp, 0x2bc
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [edi + 4]
fxch st(1)
fcomi st(1)
jb 0x418bab
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
jmp 0x417c58
mov ecx, dword [esp + 0x2d8]
lea edx, [eax*8 + 0x13]
and edx, 0xfffffff0
mov ecx, dword [ecx + 0x5058]
add edx, ecx
cmp edx, 0x17700
jg 0x418bc5
mov edi, dword [esp + 0x2d8]
add ecx, dword [edi + 0x5054]
mov edi, ecx
mov ecx, dword [esp + 0x2d8]
mov dword [ecx + 0x5058], edx
jmp 0x417abd
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
test eax, eax
jg 0x418027
jmp 0x4180f0
mov ecx, dword [esp + 0x2d8]
xor edi, edi
mov ecx, dword [ecx + 0x5240]
test ecx, ecx
je 0x417abd
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 [esi]
jmp 0x417abd
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov esi, dword [esp + 0xc0]
fld dword [esp + 0xa4]
mov dword [esp + 0x7c], 0
fld dword [esp + 0xb0]
fld dword [esp + 0xb4]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0xc4]
fld dword [esp + 0xb8]
fld dword [esp + 0xbc]
fxch st(3)
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xac]
fcomi st(2)
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0xcc]
fld st(0)
fcmovnbe st(0), st(3)
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], esi
test edx, edx
jle 0x41bc88
mov esi, eax
lea edx, [edx + edx*4]
lea eax, [eax + 8]
lea ebp, [esi + edx*2]
xor edx, edx
lea ecx, [ebp + 8]
nop
xor ebx, ebx
cmp byte [eax], 1
sete bl
add eax, 0xa
add edx, ebx
cmp ecx, eax
jne 0x41bad0
mov dword [esp + 0x40], edx
test edx, edx
je 0x41bc96
mov esi, dword [esp + 0x48]
lea eax, [edx*4]
mov dword [esp + 0x5c], eax
add eax, 0xf
mov edx, dword [esi + 0x5058]
and eax, 0xfffffff0
add eax, edx
cmp eax, 0x17700
jg 0x41c04e
mov edi, dword [esp + 0x48]
add edx, dword [edi + 0x5054]
mov dword [edi + 0x5058], eax
mov dword [esp + 0x34], edx
je 0x41bca4
fdivp st(5)
fxch st(4)
mov dword [esp + 0x4c], 0
xor edi, edi
xor eax, eax
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fmul st(0)
fstp dword [esp + 0x38]
fxch st(3)
fstp dword [esp + 0x60]
fstp dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fstp dword [esp + 0x6c]
fldz
mov ebx, dword [esp + 0x3c]
mov esi, 0xffffffff
mov dword [esp + 0x7c], 0
fld st(0)
jmp 0x41bbb2
cmp dl, 1
je 0x41bd10
jmp 0x41bba0
fxch st(1)
jmp 0x41bba0
fxch st(1)
lea esi, [esi]
add ebx, 0xa
cmp ebp, ebx
je 0x41bc20
jmp 0x41bbb2
fxch st(1)
movzx edx, byte [ebx + 8]
cmp dl, 2
je 0x41bcd8
cmp dl, 3
jne 0x41bb80
fld dword [esp + 0x38]
xor ecx, ecx
lea edx, [esp + 0x7c]
mov dword [esp + 0x2c], eax
add ebx, 0xa
fstp dword [esp + 0x18]
fild word [ebx - 8]
fstp dword [esp + 0x14]
fild word [ebx - 0xa]
fstp dword [esp + 0x10]
fild word [ebx - 4]
fstp dword [esp + 0xc]
fild word [ebx - 6]
fstp dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00416a30
mov eax, dword [esp + 0x2c]
fild word [ebx - 0xa]
fild word [ebx - 8]
cmp ebp, ebx
jne 0x41bbb0
fstp st(0)
fstp st(0)
jmp 0x41bc24
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x34]
sub edx, edi
cmp dword [esp + 0x4c], 1
mov dword [ecx + esi*4], edx
je 0x41bd60
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x7c]
mov eax, dword [eax + 0x5058]
lea edx, [edx*8 + 0xf]
and edx, 0xfffffff0
add edx, eax
cmp edx, 0x17700
jg 0x41c08c
mov esi, dword [esp + 0x48]
mov dword [esp + 0x4c], 1
mov dword [esi + 0x5058], edx
add eax, dword [esi + 0x5054]
jne 0x41bb61
jmp 0x41bcc8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41bcc8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41bcc8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41bcc8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41bcc8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x7c]
fild word [ebx]
fild word [ebx + 2]
lea ecx, [edx + 1]
mov dword [esp + 0x7c], ecx
test eax, eax
je 0x41bb90
fxch st(1)
lea edx, [eax + edx*8]
fst dword [edx]
fxch st(1)
fst dword [edx + 4]
fxch st(1)
jmp 0x41bba0
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x7c]
cmp esi, 0xffffffff
je 0x41bd58
sub edx, edi
mov edi, dword [esp + 0x34]
mov dword [edi + esi*4], edx
mov edi, dword [esp + 0x7c]
lea edx, [edi + 1]
fild word [ebx]
add esi, 1
fild word [ebx + 2]
mov dword [esp + 0x7c], edx
test eax, eax
je 0x41bb98
fxch st(1)
lea edx, [eax + edi*8]
fst dword [edx]
fxch st(1)
fst dword [edx + 4]
fxch st(1)
jmp 0x41bba0
mov edi, edx
jmp 0x41bd2a
fld dword [esp + 0x60]
fld dword [esp + 0x64]
mov dword [esp + 0x44], eax
fld dword [esp + 0x68]
fld dword [esp + 0x6c]
test eax, eax
je 0x41bcb2
mov ebp, dword [esp + 0x30]
fld st(2)
mov eax, ecx
mov edi, ecx
mov ecx, dword [esp + 0x5c]
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 0x41bda0
mov eax, dword [esp + 0x48]
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 0x41c009
mov esi, dword [esp + 0x48]
mov dword [esi + 0x5058], eax
add ebx, dword [esi + 0x5054]
je 0x41bcc0
mov dword [esp + 0x38], 0
xor ebp, ebp
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], ebx
lea esi, [esi]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
lea ecx, [eax + esi*8]
mov eax, dword [edi]
add esi, eax
lea edx, [eax - 1]
mov dword [esp + 0x3c], esi
test eax, eax
jle 0x41bed4
fld dword [ecx + edx*8 + 4]
mov dword [esp + 0x2c], edi
xor eax, eax
jmp 0x41bea4
mov edi, dword [esp + 0x34]
lea esi, [ecx + edx*8]
lea edx, [ebp + ebp*4]
lea edx, [edi + edx*4]
mov edi, dword [esp + 0x30]
mov dword [edx + 0x10], 0
test edi, edi
je 0x41bfe0
fxch st(1)
fcomi st(1)
jbe 0x41bfea
jmp 0x41be62
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]
lea ebx, [eax + 1]
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]
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp ebx, dword [eax]
jge 0x41bed0
mov eax, ebx
fld dword [ecx + eax*8 + 4]
lea ebx, [ecx + eax*8]
fucomi st(1)
jp 0x41be30
jne 0x41be30
fstp st(1)
lea ebx, [eax + 1]
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp ebx, dword [eax]
jl 0x41bea2
fstp st(0)
jmp 0x41bed2
fstp st(0)
mov edi, eax
add dword [esp + 0x38], 1
add edi, 4
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x40], eax
jg 0x41be00
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0x34]
mov edx, ebp
mov eax, ebx
call fcn.00414d40
mov esi, dword [esp + 0x4c]
mov ecx, 0x14
cmp ebp, 1
jle 0x41bfa6
lea esi, [esi]
fld dword [ebx + ecx]
mov dword [esp + 0x2c], 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 0x41bff8
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 0x41bf38
fxch st(3)
mov ecx, dword [esp + 0x2c]
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 0x41bf98
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
add esi, 1
add ecx, 0x14
cmp esi, ebp
jne 0x41bf18
mov eax, dword [esp + 0x48]
mov ecx, ebp
mov edx, ebx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x417a90
fcomi st(1)
ja 0x41be60
fxch st(1)
fld st(1)
jmp 0x41be73
mov ecx, dword [esp + 0x2c]
cmp esi, edx
je 0x41bf90
fxch st(3)
add eax, ebx
jmp 0x41bf7b
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov edi, dword [esp + 0x48]
mov edx, dword [edi + 0x5240]
test edx, edx
je 0x41bcc8
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], 2
mov eax, dword [edi + 0x5244]
mov dword [esp + 0xa0], eax
add esp, 0x8c
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 [esi + 0x5240]
mov edi, esi
test edx, edx
je 0x41bcc8
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov eax, dword [edi + 0x5244]
mov dword [esp], eax
call edx
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x48]
mov eax, edx
mov edx, dword [edi + 0x5240]
test edx, edx
jne 0x41c06a
jmp 0x41bcc8