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

Disassembly:
sub esp, 0x90
push ebx
push ebp
mov ebp, ecx
lea ebx, [edx + 0x478]
xor edx, edx
mov dword [esp + 8], ebp
mov dword [esp + 0x34], edx
cmp dword [ebp + 0x4c], edx
jle 0x40f1e3
mov eax, dword [esp + 0x9c]
xor ecx, ecx
add eax, 0x478
mov dword [esp + 0x1c], ecx
push esi
push edi
mov dword [esp + 0x50], eax
lea edi, [ebp + 0x13ec]
xor esi, esi
mov dword [esp + 0x28], edi
lea eax, [ebp + 0x75b0]
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], eax
jmp 0x40eba0
cmp dword [ebp + 0x50], 0
mov dword [esp + 0x34], 0
jle 0x40f19e
mov dword [esp + 0x1c], ecx
lea edx, [ebp + 0x90b0]
mov ecx, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], edi
mov edi, edi
mov ebp, ecx
lea esi, [ecx - 0x7c]
sub ebp, ebx
mov edi, 9
lea esp, [esp]
lea edx, [ebx + ebp]
mov ecx, ebx
call fcn.0040f750
lea edx, [esi + 0xfc]
lea ecx, [ebx + 0x80]
call fcn.0040f750
add esi, 0x100
mov ecx, 0x10
add ebx, 0x100
mov eax, esi
mov edi, edi
fld dword [eax]
fchs
fstp dword [eax]
add eax, 8
sub ecx, 1
jne 0x40ec10
sub edi, 1
jne 0x40ebe0
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x44]
lea esi, [ebp - 0x1290]
jmp 0x40ec40
mov eax, dword [edi*4 + 0x454780]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, eax
mov ebp, dword [ebp - 4]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x48], ecx
cmp dword [eax], 0
jne 0x438816
fld dword [ebx]
fld qword [0x452458]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x40f1ec
fld1
fcompp
fnstsw ax
test ah, 0x41
je 0x40f381
cmp ebp, 2
je 0x40f206
lea eax, [ebp*8]
add eax, ebp
mov ebp, dword [esp + 0x10]
shl eax, 4
fld dword [eax + 0x4545ac]
fmul dword [ebp + edx*4 + 0x7e30]
fld dword [eax + 0x454588]
fmul dword [ebp + edx*4 + 0x75b0]
faddp st(1)
fld dword [eax + 0x454540]
fmul dword [ebp + ecx*4 + 0x6cb0]
fld dword [eax + 0x454564]
fmul dword [ebp + ecx*4 + 0x7530]
fsubp st(1)
fld st(0)
fld dword [0x452450]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x54]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x78]
fld dword [eax + 0x4545b0]
fmul dword [ebp + edx*4 + 0x7db0]
fld dword [eax + 0x45458c]
fmul dword [ebp + edx*4 + 0x7630]
faddp st(1)
fld dword [eax + 0x454544]
fmul dword [ebp + ecx*4 + 0x6d30]
fld dword [eax + 0x454568]
fmul dword [ebp + ecx*4 + 0x74b0]
fsubp st(1)
fld st(0)
fld dword [0x45244c]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x58]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x7c]
fld dword [eax + 0x4545b4]
fmul dword [ebp + edx*4 + 0x7d30]
fld dword [eax + 0x454590]
fmul dword [ebp + edx*4 + 0x76b0]
faddp st(1)
fld dword [eax + 0x454548]
fmul dword [ebp + ecx*4 + 0x6db0]
fld dword [eax + 0x45456c]
fmul dword [ebp + ecx*4 + 0x7430]
fsubp st(1)
fld st(0)
fld dword [0x452448]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x80]
fld dword [eax + 0x4545b8]
fmul dword [ebp + edx*4 + 0x7cb0]
fld dword [eax + 0x454594]
fmul dword [ebp + edx*4 + 0x7730]
faddp st(1)
fld dword [eax + 0x45454c]
fmul dword [ebp + ecx*4 + 0x6e30]
fld dword [eax + 0x454570]
fmul dword [ebp + ecx*4 + 0x73b0]
fsubp st(1)
fld st(0)
fld dword [0x452444]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x60]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x84]
fld dword [eax + 0x4545bc]
fmul dword [ebp + edx*4 + 0x7c30]
fld dword [eax + 0x454598]
fmul dword [ebp + edx*4 + 0x77b0]
faddp st(1)
fld dword [eax + 0x454550]
fmul dword [ebp + ecx*4 + 0x6eb0]
fld dword [eax + 0x454574]
fmul dword [ebp + ecx*4 + 0x7330]
fsubp st(1)
fld st(0)
fld dword [0x452440]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x64]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x88]
fld dword [eax + 0x4545c0]
fmul dword [ebp + edx*4 + 0x7bb0]
fld dword [eax + 0x45459c]
fmul dword [ebp + edx*4 + 0x7830]
faddp st(1)
fld dword [eax + 0x454554]
fmul dword [ebp + ecx*4 + 0x6f30]
fld dword [eax + 0x454578]
fmul dword [ebp + ecx*4 + 0x72b0]
fsubp st(1)
fld st(0)
fld dword [0x45243c]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x68]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x8c]
fld dword [eax + 0x4545c4]
fmul dword [ebp + edx*4 + 0x7b30]
fld dword [eax + 0x4545a0]
fmul dword [ebp + edx*4 + 0x78b0]
faddp st(1)
fld dword [eax + 0x454558]
fmul dword [ebp + ecx*4 + 0x6fb0]
fld dword [eax + 0x45457c]
fmul dword [ebp + ecx*4 + 0x7230]
fsubp st(1)
fld st(0)
fld dword [0x452438]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x6c]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x90]
fld dword [eax + 0x4545c8]
fmul dword [ebp + edx*4 + 0x7ab0]
fld dword [eax + 0x4545a4]
fmul dword [ebp + edx*4 + 0x7930]
faddp st(1)
fld dword [eax + 0x45455c]
fmul dword [ebp + ecx*4 + 0x7030]
fld dword [eax + 0x454580]
fmul dword [ebp + ecx*4 + 0x71b0]
fsubp st(1)
fld st(0)
fld dword [0x452434]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x70]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x94]
fld dword [eax + 0x4545cc]
fmul dword [ebp + edx*4 + 0x7a30]
fld dword [eax + 0x4545a8]
fmul dword [ebp + edx*4 + 0x79b0]
mov edx, ebp
faddp st(1)
fld dword [eax + 0x454560]
fmul dword [edx + ecx*4 + 0x70b0]
fld dword [eax + 0x454584]
lea eax, [esi - 0x28]
fmul dword [edx + ecx*4 + 0x7130]
lea edx, [esp + 0x54]
mov ecx, eax
fsubp st(1)
fld st(0)
fld dword [0x452430]
fmul st(1), st(0)
fld st(3)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x74]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x98]
call fcn.0040f430
mov ebp, dword [esp + 0x30]
cmp ebp, 2
je 0x40f134
test edi, edi
je 0x40f134
fld dword [esi - 0xc]
fld dword [esi - 0x48]
fld st(0)
fld dword [0x45242c]
fmul st(1), st(0)
fld st(3)
fmul dword [str.Fr_]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x48]
fmulp st(2)
fmul dword [0x452498]
fsubp st(1)
fstp dword [esi - 0xc]
fld dword [esi - 0x10]
fld dword [esi - 0x44]
fld st(0)
fld dword [0x452428]
fmul st(1), st(0)
fld st(3)
fmul dword [0x452494]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x44]
fmulp st(2)
fmul dword [0x452490]
fsubp st(1)
fstp dword [esi - 0x10]
fld dword [esi - 0x14]
fld dword [esi - 0x40]
fld st(0)
fld dword [0x452424]
fmul st(1), st(0)
fld st(3)
fmul dword [0x45248c]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x40]
fmulp st(2)
fmul dword [0x452488]
fsubp st(1)
fstp dword [esi - 0x14]
fld dword [esi - 0x18]
fld dword [esi - 0x3c]
fld st(0)
fld dword [0x452420]
fmul st(1), st(0)
fld st(3)
fmul dword [0x452484]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x3c]
fmulp st(2)
fmul dword [0x452480]
fsubp st(1)
fstp dword [esi - 0x18]
fld dword [esi - 0x1c]
fld dword [esi - 0x38]
fld st(0)
fld dword [0x45241c]
fmul st(1), st(0)
fld st(3)
fmul dword [str.tG:_]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x38]
fmulp st(2)
fmul dword [0x452478]
fsubp st(1)
fstp dword [esi - 0x1c]
fld dword [esi - 0x20]
fld dword [esi - 0x34]
fld st(0)
fld dword [0x452418]
fmul st(1), st(0)
fld st(3)
fmul dword [0x452474]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x34]
fmulp st(2)
fmul dword [0x452470]
fsubp st(1)
fstp dword [esi - 0x20]
fld dword [esi - 0x24]
fld dword [esi - 0x30]
fld st(0)
fld dword [0x452414]
fmul st(1), st(0)
fld st(3)
fmul dword [0x45246c]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x30]
fmulp st(2)
fmul dword [0x452468]
fsubp st(1)
fstp dword [esi - 0x24]
fld dword [eax]
fld dword [esi - 0x2c]
fld st(0)
fld dword [0x452410]
fmul st(1), st(0)
fld st(3)
fmul dword [0x452464]
fsubp st(2)
fxch st(1)
fstp dword [esi - 0x2c]
fmulp st(2)
fmul dword [0x452460]
fsubp st(1)
fstp dword [eax]
mov ebp, dword [esp + 0x14]
inc edi
add ebx, 4
add esi, 0x48
cmp edi, 0x20
jl 0x40ec40
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
inc edx
mov ecx, dword [esp + 0x38]
add dword [esp + 0x18], 0x240
sub ecx, 0x900
add dword [esp + 0x14], 0x2908
sub dword [esp + 0x1c], 0x240
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
cmp edx, dword [eax + 0x50]
jl 0x40ebd0
mov edx, dword [esp + 0x3c]
mov ebp, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
cmp dword [ebp + 0x50], 1
mov ebx, dword [esp + 0x50]
je 0x43882a
inc edx
add esi, 0x480
add ecx, 0x480
mov dword [esp + 0x3c], edx
add edi, 0x1484
mov dword [esp + 0x20], esi
add eax, 0x1200
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x40], eax
cmp edx, dword [ebp + 0x4c]
jl 0x40eba0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret
push 0x48
lea eax, [esi - 0x28]
fstp st(0)
push 0
push eax
call fcn.004172a0
add esp, 0xc
lea eax, [esi - 0x28]
jmp 0x40efc5
mov ebp, dword [esp + 0x10]
lea ecx, [esi - 0x28]
mov eax, dword [esp + 0x48]
fld dword [ebp + eax*4 + 0x6fb0]
fld dword [0x4524e4]
fmul st(1), st(0)
fxch st(1)
fsub dword [ebp + eax*4 + 0x7230]
fstp dword [ecx]
fld dword [ebp + eax*4 + 0x7530]
fmul st(1)
fadd dword [ebp + eax*4 + 0x72b0]
fstp dword [esi - 4]
fld dword [ebp + eax*4 + 0x72b0]
fmul st(1)
fsub dword [ebp + eax*4 + 0x7530]
fstp dword [esi - 0x24]
fld dword [ebp + edx*4 + 0x7830]
fmul st(1)
fadd dword [ebp + edx*4 + 0x75b0]
fstp dword [esi]
fld dword [ebp + edx*4 + 0x75b0]
fmul st(1)
fsub dword [ebp + edx*4 + 0x7830]
fstp dword [esi - 0x20]
fmul dword [ebp + edx*4 + 0x7b30]
fadd dword [ebp + edx*4 + 0x78b0]
fstp dword [esi + 4]
fld dword [ebp + eax*4 + 0x7030]
fld dword [0x4524e0]
fmul st(1), st(0)
fxch st(1)
fsub dword [ebp + eax*4 + 0x71b0]
fstp dword [esi - 0x1c]
fld dword [ebp + eax*4 + 0x74b0]
fmul st(1)
fadd dword [ebp + eax*4 + 0x7330]
fstp dword [esi + 8]
fld dword [ebp + eax*4 + 0x7330]
fmul st(1)
fsub dword [ebp + eax*4 + 0x74b0]
fstp dword [esi - 0x18]
fld dword [ebp + edx*4 + 0x77b0]
fmul st(1)
fadd dword [ebp + edx*4 + 0x7630]
fstp dword [esi + 0xc]
fld dword [ebp + edx*4 + 0x7630]
fmul st(1)
fsub dword [ebp + edx*4 + 0x77b0]
fstp dword [esi - 0x14]
fmul dword [ebp + edx*4 + 0x7ab0]
fadd dword [ebp + edx*4 + 0x7930]
fstp dword [esi + 0x10]
fld dword [ebp + eax*4 + 0x70b0]
fld dword [0x4524dc]
fmul st(1), st(0)
fxch st(1)
fsub dword [ebp + eax*4 + 0x7130]
fstp dword [esi - 0x10]
fld dword [ebp + eax*4 + 0x7430]
fmul st(1)
fadd dword [ebp + eax*4 + 0x73b0]
fstp dword [esi + 0x14]
fld dword [ebp + eax*4 + 0x73b0]
fmul st(1)
fsub dword [ebp + eax*4 + 0x7430]
fstp dword [esi - 0xc]
fld dword [ebp + edx*4 + 0x7730]
fmul st(1)
fadd dword [ebp + edx*4 + 0x76b0]
fstp dword [esi + 0x18]
fld dword [ebp + edx*4 + 0x76b0]
fmul st(1)
fsub dword [ebp + edx*4 + 0x7730]
fstp dword [esi - 8]
fmul dword [ebp + edx*4 + 0x7a30]
fadd dword [ebp + edx*4 + 0x79b0]
fstp dword [esi + 0x1c]
call fcn.0040a3c4
jmp 0x40f134
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], 2
lea eax, [eax + edx*4]
add eax, 0x76b0
jmp 0x40f3a0
fld dword [ebx]
fmul dword [eax - 0x100]
fstp dword [eax - 0x100]
fld dword [eax - 0x80]
fmul dword [ebx]
fstp dword [eax - 0x80]
fld dword [eax]
fmul dword [ebx]
fstp dword [eax]
fld dword [eax + 0x80]
fmul dword [ebx]
fstp dword [eax + 0x80]
fld dword [eax + 0x100]
fmul dword [ebx]
fstp dword [eax + 0x100]
fld dword [ebx]
fmul dword [eax + 0x180]
fstp dword [eax + 0x180]
fld dword [eax + 0x200]
fmul dword [ebx]
fstp dword [eax + 0x200]
fld dword [eax + 0x280]
fmul dword [ebx]
fstp dword [eax + 0x280]
fld dword [eax + 0x300]
fmul dword [ebx]
fstp dword [eax + 0x300]
add eax, 0x480
sub dword [esp + 0x2c], 1
jne 0x40f3a0
jmp 0x40ec8f
xor eax, eax
cmp edi, 2
setl al
dec eax
and ebp, eax
mov dword [esp + 0x30], ebp
jmp 0x40ec6b
lea edi, [eax - 0x900]
mov ecx, 0x240
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
jmp 0x40f1ac