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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4648e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov edi, ecx
push 0
push 0
mov eax, dword [edi + 0x78]
mov edx, dword [edi + 0x64]
lea ecx, [edi + 0x64]
push eax
call dword [edx + 0x20]
mov ecx, edi
call fcn.004184b0
test eax, eax
je 0x418c0d
lea edx, [edi + 0x30]
mov eax, dword [edi + 0x60]
push edx
lea edx, [edi + 0x28]
lea ebp, [edi + 0x20]
lea ebx, [edi + 0x18]
push edx
lea esi, [edi + 0x60]
push ebp
lea edx, [edi + 0x10]
lea ecx, [edi + 8]
push ebx
push edx
push ecx
push str._d__lf__lf__lf__lf__lf
push eax
call fcn.00420b0f
mov ecx, dword [edi + 8]
add esp, 0x20
cmp ecx, 2
jle 0x418bff
cmp ecx, 0x1e
jg 0x418bff
fld qword [ebx]
fcomp qword [0x468858]
fnstsw ax
test ah, 1
je 0x418631
mov dword [ebx], 0xe8000000
mov dword [ebx + 4], 0x42474876
fld qword [ebp]
fcomp qword [0x468858]
fnstsw ax
test ah, 1
je 0x41864c
fld qword [ebx]
fmul qword [str.333333]
fstp qword [ebp]
lea eax, [ecx*8]
push eax
call fcn.00436ca8
mov ecx, dword [edi + 8]
mov dword [edi + 0x3c], eax
shl ecx, 3
push ecx
call fcn.00436ca8
mov edx, dword [edi + 8]
mov dword [edi + 0x40], eax
shl edx, 3
push edx
call fcn.00436ca8
mov dword [edi + 0x44], eax
mov eax, dword [edi + 8]
shl eax, 3
push eax
call fcn.00436ca8
mov ecx, dword [edi + 8]
mov dword [edi + 0x48], eax
shl ecx, 2
push ecx
call fcn.00436ca8
mov ecx, dword [edi + 0x3c]
add esp, 0x14
test ecx, ecx
mov dword [edi + 0x38], eax
je 0x418bf4
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x418bf4
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x418bf4
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x418bf4
test eax, eax
je 0x418bf4
mov ecx, edi
xor ebx, ebx
call fcn.004184b0
test eax, eax
je 0x418c0d
mov eax, dword [esi]
lea edx, [esp + 0x1c]
push edx
push 0x47f7b0
push eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00420b0f
mov ebp, 1
add esp, 0xc
cmp eax, ebp
jne 0x4187a5
mov ecx, esi
call fcn.004335a9
push 0x47f63c
mov ecx, esi
call fcn.00433210
test eax, eax
jge 0x418737
push 0x485a80
mov ecx, esi
call fcn.0043685f
jmp 0x41876c
mov ecx, dword [esi]
lea edx, [esp + 0x14]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.004330fa
push eax
mov ecx, esi
mov dword [esp + 0x34], 0
call fcn.0043680f
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.00436722
fld qword [esp + 0x1c]
fcomp qword [0x468850]
fnstsw ax
test ah, 1
jne 0x4187be
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0x1c]
fld qword [esp + 0x1c]
push ecx
push 0x47f7b0
fstp qword [eax + ebx*8]
mov eax, dword [esi]
inc ebx
push eax
call fcn.00420b0f
add esp, 0xc
cmp eax, ebp
je 0x418712
cmp ebx, dword [edi + 8]
jge 0x4187cc
mov ecx, edi
call fcn.004184b0
test eax, eax
jne 0x4186e0
jmp 0x418c0d
push 0
push 0
push 0x480628
jmp 0x418c08
mov ecx, edi
xor ebx, ebx
call fcn.004184b0
test eax, eax
je 0x418c0d
mov eax, dword [esi]
lea edx, [esp + 0x1c]
push edx
push 0x47f7b0
push eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00420b0f
add esp, 0xc
cmp eax, ebp
jne 0x418899
mov ecx, esi
call fcn.004335a9
push 0x47f63c
mov ecx, esi
call fcn.00433210
test eax, eax
jge 0x41882f
push 0x485a80
mov ecx, esi
call fcn.0043685f
jmp 0x418860
mov ecx, dword [esi]
lea edx, [esp + 0x14]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.004330fa
push eax
mov ecx, esi
mov dword [esp + 0x34], ebp
call fcn.0043680f
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.00436722
fld qword [esp + 0x1c]
fcomp qword [0x468850]
fnstsw ax
test ah, 1
jne 0x4188b2
mov eax, dword [edi + 0x40]
lea ecx, [esp + 0x1c]
fld qword [esp + 0x1c]
push ecx
push 0x47f7b0
fstp qword [eax + ebx*8]
mov eax, dword [esi]
inc ebx
push eax
call fcn.00420b0f
add esp, 0xc
cmp eax, ebp
je 0x41880a
cmp ebx, dword [edi + 8]
jge 0x4188c0
mov ecx, edi
call fcn.004184b0
test eax, eax
jne 0x4187dd
jmp 0x418c0d
push 0
push 0
push 0x480614
jmp 0x418c08
mov ecx, edi
xor ebx, ebx
call fcn.004184b0
test eax, eax
je 0x418c0d
mov eax, dword [esi]
lea edx, [esp + 0x1c]
push edx
push 0x47f7b0
push eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00420b0f
add esp, 0xc
cmp eax, ebp
jne 0x418991
mov ecx, esi
call fcn.004335a9
push 0x47f63c
mov ecx, esi
call fcn.00433210
test eax, eax
jge 0x418923
push 0x485a80
mov ecx, esi
call fcn.0043685f
jmp 0x418958
mov ecx, dword [esi]
lea edx, [esp + 0x14]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.004330fa
push eax
mov ecx, esi
mov dword [esp + 0x34], 2
call fcn.0043680f
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.00436722
fld qword [esp + 0x1c]
fcomp qword [0x468850]
fnstsw ax
test ah, 1
jne 0x4189ac
mov eax, dword [edi + 0x44]
lea ecx, [esp + 0x1c]
fld qword [esp + 0x1c]
push ecx
push 0x47f7b0
fstp qword [eax + ebx*8]
mov eax, dword [esi]
inc ebx
push eax
call fcn.00420b0f
add esp, 0xc
cmp eax, ebp
je 0x4188fe
mov eax, dword [edi + 8]
mov ecx, edi
cmp ebx, eax
jge 0x4189ba
call fcn.004184b0
test eax, eax
jne 0x4188d1
jmp 0x418c0d
push 0
push 0
push 0x480604
jmp 0x418c08
call fcn.004184b0
test eax, eax
je 0x418c0d
mov eax, dword [esi]
lea edx, [edi + 0x58]
lea ecx, [edi + 0x50]
push edx
push ecx
push str._lf__lf
push eax
call fcn.00420b0f
add esp, 0x10
mov ecx, edi
xor ebx, ebx
call fcn.004184b0
test eax, eax
je 0x418c0d
mov ebp, 3
mov eax, dword [esi]
lea edx, [esp + 0x1c]
push edx
push 0x47f7b0
push eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00420b0f
add esp, 0xc
cmp eax, 1
jne 0x418ab3
mov ecx, esi
call fcn.004335a9
push 0x47f63c
mov ecx, esi
call fcn.00433210
test eax, eax
jge 0x418a48
push 0x485a80
mov ecx, esi
call fcn.0043685f
jmp 0x418a79
mov ecx, dword [esi]
lea edx, [esp + 0x14]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.004330fa
push eax
mov ecx, esi
mov dword [esp + 0x34], ebp
call fcn.0043680f
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.00436722
fld qword [esp + 0x1c]
fcomp qword [0x468850]
fnstsw ax
test ah, 1
jne 0x418acc
mov eax, dword [edi + 0x48]
lea ecx, [esp + 0x1c]
fld qword [esp + 0x1c]
push ecx
push 0x47f7b0
fstp qword [eax + ebx*8]
mov eax, dword [esi]
inc ebx
push eax
call fcn.00420b0f
add esp, 0xc
cmp eax, 1
je 0x418a23
cmp ebx, dword [edi + 8]
jge 0x418ada
mov ecx, edi
call fcn.004184b0
test eax, eax
jne 0x4189f5
jmp 0x418c0d
push 0
push 0
push 0x4805e8
jmp 0x418c08
mov ecx, edi
xor ebx, ebx
call fcn.004184b0
test eax, eax
je 0x418c0d
mov ebp, 4
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 0x47f110
push eax
mov dword [esp + 0x1c], 1
call fcn.00420b0f
add esp, 0xc
cmp eax, 1
jne 0x418ba8
mov ecx, esi
call fcn.004335a9
push 0x47f63c
mov ecx, esi
call fcn.00433210
test eax, eax
jge 0x418b3b
push 0x485a80
mov ecx, esi
call fcn.0043685f
jmp 0x418b6c
mov ecx, dword [esi]
lea edx, [esp + 0x18]
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.004330fa
push eax
mov ecx, esi
mov dword [esp + 0x34], ebp
call fcn.0043680f
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
call fcn.00436722
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x418bc1
cmp eax, 2
jg 0x418bc1
mov ecx, dword [edi + 0x38]
inc ebx
mov dword [ecx + ebx*4 - 4], eax
mov edx, dword [edi + 8]
dec edx
cmp ebx, edx
je 0x418ba8
mov eax, dword [esi]
lea ecx, [esp + 0x10]
push ecx
push 0x47f110
push eax
call fcn.00420b0f
add esp, 0xc
cmp eax, 1
je 0x418b16
mov edx, dword [edi + 8]
dec edx
cmp ebx, edx
jge 0x418bcc
mov ecx, edi
call fcn.004184b0
test eax, eax
jne 0x418af0
jmp 0x418c0d
push 0
push 0
push 0x4805d0
jmp 0x418c08
mov eax, dword [edi + 0x64]
lea ecx, [edi + 0x64]
call dword [eax + 0x4c]
mov ecx, edi
call fcn.00418c30
mov eax, 1
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0x4805c4
jmp 0x418c08
push 0
push 0
push 0x4805b4
call fcn.00442aa3
mov ecx, dword [esp + 0x28]
pop edi
xor eax, eax
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret