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

Disassembly:
push 0xffffffffffffffff
push 0x4bcce0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
mov eax, dword [0x51eea4]
xor eax, dword [esp + 0x84]
push esi
mov esi, ecx
mov dword [esp + 0x78], eax
cmp dword [esi + 0x54], 3
jne 0x41841d
mov edx, dword [esi + 0xec]
push ebp
xor ebp, ebp
cmp edx, ebp
je 0x41841c
mov al, byte [esi + 0x4a]
test al, al
je 0x41841c
call fcn.0040d940
test al, al
je 0x41841c
mov ecx, esi
call fcn.0040d920
test al, al
je 0x41841c
mov ecx, esi
call fcn.0040d920
test al, al
je 0x418200
mov ecx, esi
call fcn.0040d940
test al, al
je 0x418200
push 1
push 1
push 1
mov ecx, edx
call fcn.00424960
push ebx
push edi
mov dword [esi + 0xf8], ebp
mov dword [esi + 0xfc], 0xffffffff
call fcn.00416de0
mov ecx, dword [esi + 0x94]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, eax
call fcn.0040de20
mov ecx, dword [esi + 0xdc]
mov edi, dword [esi + 0xd8]
push ebp
mov dword [esp + 0x94], ebp
call fcn.00481fe0
mov ecx, eax
call fcn.0040dca0
fstp dword [esp + 0x10]
push ebp
mov ecx, edi
call fcn.00481fe0
mov ecx, eax
call fcn.0040dca0
fadd dword [esp + 0x10]
lea ebx, [esi + 0x78]
push ebx
fstp dword [esp + 0x18]
lea ecx, [esp + 0x34]
fild dword [esp + 0x9c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x18]
fstp dword [esp + 0x14]
call fcn.00402c40
push 1
push 0x4f14b4
lea ecx, [esp + 0x38]
mov byte [esp + 0x98], 1
call fcn.00402620
mov edi, dword [esp + 0x44]
dec edi
cmp edi, ebp
mov ebp, dword [esp + 0x18]
jl 0x4183d4
push 0x4f130c
lea ecx, [esp + 0x50]
call fcn.004033c0
cmp dword [esp + 0x48], 0x10
mov eax, dword [esp + 0x34]
mov byte [esp + 0x90], 2
jae 0x4182d7
lea eax, [esp + 0x34]
lea ecx, [edi + 1]
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.00402620
push 0
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
call fcn.00414ac0
mov ecx, eax
call fcn.0040dc90
fld dword [eax]
fmul dword [esi + 0xb4]
push 0x4f130c
lea ecx, [esp + 0x6c]
fstp dword [esp + 0x20]
call fcn.004033c0
mov eax, dword [esp + 0x60]
test eax, eax
mov byte [esp + 0x90], 3
jbe 0x418350
cmp dword [esp + 0x64], 0x10
mov ecx, dword [esp + 0x50]
jae 0x418338
lea ecx, [esp + 0x50]
mov cl, byte [ecx + eax - 1]
mov byte [esp + 0x14], cl
mov edx, dword [esp + 0x14]
push edx
push 1
lea ecx, [esp + 0x70]
call fcn.0040f8f0
push 0
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebp
call fcn.00414ac0
mov ecx, eax
call fcn.0040dc90
fld dword [eax]
fmul dword [esi + 0xb4]
fadd dword [esp + 0x10]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x4183a4
lea ecx, [esp + 0x68]
call fcn.00401b90
lea ecx, [esp + 0x4c]
mov byte [esp + 0x90], 1
call fcn.00401b90
dec edi
jns 0x4182b2
jmp 0x4183d4
mov edx, dword [esi + 0xf0]
mov dword [esi + 0xf8], edi
sub edi, edx
push edi
mov ecx, esi
call fcn.0040e040
push ebx
mov ecx, esi
call fcn.00417a70
lea ecx, [esp + 0x68]
call fcn.00401b90
lea ecx, [esp + 0x4c]
call fcn.00401b90
cmp dword [esp + 0x48], 0x10
pop edi
pop ebx
jb 0x4183ea
mov edx, dword [esp + 0x2c]
push edx
call fcn.004ade5d
add esp, 4
test ebp, ebp
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 0x88], 0xffffffff
je 0x41841c
dec dword [ebp + 4]
jne 0x41841c
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
pop ebp
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x88]
pop esi
call fcn.004ae650
add esp, 0x84
ret 4