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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
xor ebx, ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], ecx
push 1
mov ecx, edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0x3ff00000
mov dword [esp + 0x18], ebx
call fcn.00437fc0
mov esi, eax
test esi, esi
je 0x415730
mov ecx, edi
call fcn.00437e10
test eax, eax
jle 0x415730
cmp esi, 0x3730
jg 0x4156cf
je 0x4156c3
cmp esi, 0x3230
jg 0x41567f
je 0x415634
cmp esi, 0x38
je 0x41560b
cmp esi, 0x3130
jne 0x41571d
lea eax, [esp + 0x38]
push eax
push 0x4a8ce0
lea ecx, [edi + 0x10]
push ecx
jmp 0x415715
mov ecx, dword [esp + 0x10]
push 0xffffff
push 1
lea edx, [edi + 0x10]
push edx
call fcn.00413e60
test eax, eax
mov dword [esp + 0x14], eax
je 0x4159c5
inc dword [esp + 0x18]
jmp 0x41571d
lea eax, [esp + 0x30]
push eax
lea ecx, [edi + 0x10]
push 0x4a8ce0
push ecx
call fcn.0046ae6d
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
add esp, 0xc
push 0xbff00000
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
add ecx, 0x84
call fcn.00436610
mov ebx, eax
jmp 0x41571d
cmp esi, 0x3432
jne 0x41571d
lea eax, [esp + 0x20]
push eax
lea ecx, [edi + 0x10]
push 0x4a8ce0
push ecx
call fcn.0046ae6d
add esp, 0xc
test ebx, ebx
je 0x41571d
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0x3ff00000
jmp 0x41571d
lea ecx, [esp + 0x1c]
push ecx
push 0x4a8ce4
jmp 0x415711
cmp esi, 0x323130
je 0x415707
cmp esi, 0x323230
je 0x4156f7
cmp esi, 0x323330
jne 0x41571d
lea eax, [esp + 0x28]
push eax
push 0x4a8ce0
lea ecx, [edi + 0x10]
push ecx
jmp 0x415715
lea edx, [esp + 0x48]
push edx
push 0x4a8ce0
lea eax, [edi + 0x10]
push eax
jmp 0x415715
lea ecx, [esp + 0x40]
push ecx
push 0x4a8ce0
lea edx, [edi + 0x10]
push edx
call fcn.0046ae6d
add esp, 0xc
push 1
mov ecx, edi
call fcn.00437fc0
mov esi, eax
test esi, esi
jne 0x4155b8
fld qword [esp + 0x40]
fabs
fcomp qword [0x4a79f0]
fnstsw ax
test ah, 0x41
je 0x4159c5
fld qword [esp + 0x48]
fabs
fcomp qword [0x4a79f0]
fnstsw ax
test ah, 0x41
je 0x4159c5
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4159c5
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x90]
test eax, eax
je 0x4159c5
mov edx, dword [esi + 0x88]
fld qword [esp + 0x28]
mov ecx, dword [edx + 8]
fcomp qword [0x4a79f0]
mov eax, dword [ecx + 0x18]
mov edi, dword [ecx + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov eax, dword [ecx + 0x10]
mov edi, dword [ecx + 0x14]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
fnstsw ax
mov dword [esp + 0x6c], edi
test ah, 0x41
mov dword [esp + 0x74], edi
jne 0x4157ca
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edi
jmp 0x4157d3
fld qword [ecx + 8]
fchs
fstp qword [esp + 0x50]
fld qword [ecx + 0x20]
mov eax, dword [esp + 0x50]
fcomp qword [0x4a79f0]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
fnstsw ax
test ah, 0x41
jne 0x4157fa
mov ecx, 1
jmp 0x4157fc
xor ecx, ecx
mov edi, dword [edx]
test edi, edi
mov ebx, dword [ebp + 0xc]
je 0x415912
lea esp, [esp]
fld qword [esp + 0x28]
mov eax, edi
fcomp qword [0x4a79f0]
mov esi, dword [eax + 8]
mov edi, dword [edi]
fnstsw ax
test ah, 0x41
jne 0x415838
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
jmp 0x415841
fld qword [esi + 8]
fchs
fstp qword [esp + 0x60]
test ecx, ecx
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
push ebx
je 0x415882
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x68]
push eax
push ecx
mov ecx, dword [esp + 0x30]
call fcn.00415340
jmp 0x4158bf
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
add ecx, 0x3c
call fcn.0042c360
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x5c], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
fld qword [esi + 0x20]
fcomp qword [0x4a79f0]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x74], ecx
fnstsw ax
test ah, 0x41
jne 0x415904
mov ecx, 1
jmp 0x415906
xor ecx, ecx
test edi, edi
jne 0x415810
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x1c], 1
jne 0x4159ba
test ecx, ecx
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
push ebx
je 0x415980
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x68]
push eax
push ecx
mov ecx, esi
call fcn.00415340
lea ecx, [esi + 0x84]
call fcn.00438400
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
add ecx, 0x3c
call fcn.0042c360
lea ecx, [esi + 0x84]
call fcn.00438400
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8