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

Disassembly:
sub esp, 0x124
push ebx
push ebp
mov ebp, dword [esp + 0x134]
push esi
mov ebx, eax
mov eax, dword [esp + 0x13c]
push edi
mov edi, ecx
mov esi, edx
call fcn.00412ac0
mov edx, dword [0x14bc6c0]
push 0x118
mov dword [esp + 0x134], eax
lea eax, [esp + 0x1c]
inc edx
push 0
push eax
mov dword [0x14bc6c0], edx
call fcn.0042b1c0
add esp, 0xc
test edi, edi
mov dword [esp + 0xdc], 0x3f800000
jne 0x41e9af
mov edi, 0x536e54
test ebx, ebx
jne 0x41e9b8
mov ebx, 0x536e54
fld dword [edi]
mov ecx, dword [esp + 0x148]
fadd dword [ebx]
mov dword [esp + 0xd4], ecx
fmul dword [0x55a4b8]
fld dword [edi]
fsub st(1)
fstp dword [esp + 0x40]
fld dword [ebx]
fsub st(1)
fstp dword [esp + 0x4c]
fld st(0)
fadd dword [ebp]
fstp dword [esp + 0x18]
fadd dword [esi]
fst dword [esp + 0x24]
fsub dword [esp + 0x18]
fstp dword [esp + 0x30]
fld dword [ebx + 4]
fadd dword [edi + 4]
fmul dword [0x55a4b8]
fld dword [edi + 4]
fsub st(1)
fstp dword [esp + 0x44]
fld dword [ebx + 4]
fsub st(1)
fstp dword [esp + 0x50]
fld st(0)
fadd dword [ebp + 4]
fstp dword [esp + 0x1c]
fadd dword [esi + 4]
fst dword [esp + 0x28]
fsub dword [esp + 0x1c]
fstp dword [esp + 0x34]
fld dword [edi + 8]
fadd dword [ebx + 8]
fmul dword [0x55a4b8]
fld dword [edi + 8]
fsub st(1)
fstp dword [esp + 0x48]
fld dword [ebx + 8]
fsub st(1)
fstp dword [esp + 0x54]
fld st(0)
fadd dword [ebp + 8]
fstp dword [esp + 0x20]
fadd dword [esi + 8]
mov esi, dword [esp + 0x150]
test esi, esi
fst dword [esp + 0x2c]
fsub dword [esp + 0x20]
fst dword [esp + 0x38]
fmul dword [esp + 0x38]
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
faddp st(1)
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
faddp st(1)
fstp dword [esp + 0x3c]
je 0x41eaa1
mov ecx, 9
lea edi, [esp + 0x10c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10c]
jmp 0x41eb09
fld dword [esp + 0x4c]
mov ecx, dword [esp + 0x14c]
fcomp dword [esp + 0x54]
mov dword [esp + 0x10c], ecx
fnstsw ax
test ah, 0x41
jne 0x41eacb
mov edx, dword [esp + 0x54]
mov dword [esp + 0x110], edx
jmp 0x41ead6
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x110], eax
fld dword [esp + 0x54]
mov edx, dword [esp + 0x54]
fsub dword [esp + 0x110]
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
fstp dword [esp + 0x120]
test ecx, ecx
fld dword [esp + 0x50]
mov eax, dword [esp + 0x40]
fadd dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x48]
fadd dword [esp + 0x4c]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
fstp dword [esp + 0xb8]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
je 0x41ec8f
xor ecx, ecx
fld dword [esp + ecx*4 + 0x18]
fcomp dword [esp + ecx*4 + 0x24]
fld dword [esp + ecx*4 + 0x118]
fabs
fnstsw ax
test ah, 5
jp 0x41ec50
fsubr dword [esp + ecx*4 + 0x18]
fsub dword [esp + 0x110]
fstp dword [esp + ecx*4 + 0xbc]
fld dword [esp + ecx*4 + 0x118]
fabs
fadd dword [esp + ecx*4 + 0x24]
fadd dword [esp + 0x110]
jmp 0x41ec76
fsubr dword [esp + ecx*4 + 0x24]
fsub dword [esp + 0x110]
fstp dword [esp + ecx*4 + 0xbc]
fld dword [esp + ecx*4 + 0x118]
fabs
fadd dword [esp + 0x110]
fadd dword [esp + ecx*4 + 0x18]
fstp dword [esp + ecx*4 + 0xc8]
inc ecx
cmp ecx, 3
jl 0x41ec10
mov ecx, dword [esp + 0x10c]
jmp 0x41ed55
fld dword [esp + 0x18]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 5
jp 0x41ecb3
fld dword [esp + 0x18]
fadd dword [esp + 0x40]
fstp dword [esp + 0xbc]
fld dword [esp + 0x24]
jmp 0x41ecc6
fld dword [esp + 0x24]
fadd dword [esp + 0x40]
fstp dword [esp + 0xbc]
fld dword [esp + 0x18]
fadd dword [esp + 0x4c]
fstp dword [esp + 0xc8]
fld dword [esp + 0x1c]
fcomp dword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x41ecf5
fld dword [esp + 0x1c]
fadd dword [esp + 0x44]
fstp dword [esp + 0xc0]
fld dword [esp + 0x28]
jmp 0x41ed08
fld dword [esp + 0x28]
fadd dword [esp + 0x44]
fstp dword [esp + 0xc0]
fld dword [esp + 0x1c]
fadd dword [esp + 0x50]
fstp dword [esp + 0xcc]
fld dword [esp + 0x20]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x41ed37
fld dword [esp + 0x20]
fadd dword [esp + 0x48]
fstp dword [esp + 0xc4]
fld dword [esp + 0x2c]
jmp 0x41ed4a
fld dword [esp + 0x2c]
fadd dword [esp + 0x48]
fstp dword [esp + 0xc4]
fld dword [esp + 0x20]
fadd dword [esp + 0x54]
fstp dword [esp + 0xd0]
fld dword [esp + 0x50]
mov dword [esp + 0xd8], 1
fadd dword [esp + 0x54]
fadd dword [esp + 0x4c]
fcomp dword [0x55a4ac]
fnstsw ax
test ah, 0x44
jnp 0x41ed84
mov dword [esp + 0xd8], 0
test ecx, ecx
je 0x41ee03
mov eax, dword [esp + 0x118]
mov edx, eax
and edx, 0x7fffffff
mov dword [esp + 0x10], edx
fld dword [esp + 0x10]
mov dword [esp + 0x14], eax
fadd dword [esp + 0x110]
mov eax, dword [esp + 0x11c]
mov edx, eax
and edx, 0x7fffffff
fstp dword [esp + 0x124]
mov dword [esp + 0x10], edx
fld dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x120]
fadd dword [esp + 0x110]
mov edx, eax
and edx, 0x7fffffff
fstp dword [esp + 0x128]
mov dword [esp + 0x10], edx
fld dword [esp + 0x10]
mov dword [esp + 0x14], eax
fadd dword [esp + 0x110]
fstp dword [esp + 0x12c]
mov eax, dword [esp + 0x140]
test eax, eax
je 0x41ee80
cmp eax, 0x1fe
jne 0x41ee5e
mov eax, dword [0x14bc6dc]
mov edx, dword [esp + 0xd4]
test dword [eax], edx
je 0x41ee51
test ecx, ecx
je 0x41ee3d
lea eax, [esp + 0x18]
call fcn.0041e1e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret
lea ecx, [esp + 0x18]
call fcn.0041e4c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x124
ret
mov eax, dword [esp + 0x130]
lea ecx, [esp + 0x18]
add eax, 0x18
push ecx
call fcn.0041de00
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret
mov eax, dword [esp + 0x138]
test eax, eax
jle 0x41ef14
mov ecx, dword [0x14bc688]
dec eax
cmp eax, ecx
jge 0x41eeb4
mov esi, dword [0x14bc68c]
imul eax, eax, 0x34
add eax, esi
push eax
lea ecx, [esp + 0x1c]
call fcn.0041d8e0
add esp, 4
jmp 0x41ef10
sub eax, ecx
cmp eax, dword [0x14bc6b4]
jge 0x41ef14
mov edx, dword [0x14bc6b8]
imul eax, eax, 0x2c
add eax, edx
mov edi, eax
lea edx, [edi + 0x18]
lea esi, [edi + 0xc]
lea ecx, [esp + 0x18]
call fcn.0041b680
test eax, eax
jne 0x41eeee
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x124
ret
mov edx, dword [edi + 0x24]
test edx, edx
je 0x41ef04
lea eax, [esp + 0x18]
push eax
call fcn.00415f30
add esp, 4
jmp 0x41ef10
mov eax, dword [edi + 0x28]
lea edx, [esp + 0x18]
call fcn.0041a3a0
test eax, eax
jne 0x41ef34
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0x3f800000
push 0
lea eax, [esp + 0x28]
push 0
push eax
call fcn.0041e650
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret