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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24c
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
test eax, eax
mov dword [esp + 0x18], 0
je 0x4f123a
mov ebx, dword [ebp + 8]
lea ecx, [ebx + 0x24]
push ecx
push eax
call fcn.004f3000
add esp, 8
test eax, eax
jne 0x4f18f5
mov eax, dword [ebp + 0x2c]
test eax, eax
jne 0x4f125f
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0xa4]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4f125f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
fld qword [ebp + 0x10]
fcomp qword [ebx + 0x34]
fnstsw ax
test ah, 1
jne 0x4f18f5
fld qword [ebp + 0x10]
fcomp qword [ebx + 0x4c]
fnstsw ax
test ah, 0x41
je 0x4f18f5
mov edx, dword [ebx + 0x64]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [ebx + 0x60]
push ecx
mov ecx, dword [ebx + 0x5c]
push edx
mov edx, dword [ebx + 0x58]
push eax
mov eax, dword [ebx + 0x18]
push ecx
movsx ecx, word [ebx + 4]
push edx
push eax
mov eax, dword [ebx]
push ecx
movsx edx, word [ebx + 0xc]
shr eax, 0x14
and eax, 1
push edx
push eax
push ebx
call fcn.004f21f0
add esp, 0x2c
test eax, eax
je 0x4f12a9
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x74]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [ebx + 0x70]
push edx
mov edx, dword [ebx + 0x6c]
push eax
mov eax, dword [ebx + 0x68]
push ecx
mov ecx, dword [ebx + 0x1c]
push edx
movsx edx, word [ebx + 6]
push eax
push ecx
mov ecx, dword [ebx]
push edx
movsx eax, word [ebx + 0xe]
shr ecx, 0x15
and ecx, 1
push eax
push ecx
push ebx
call fcn.004f21f0
add esp, 0x2c
test eax, eax
je 0x4f12f3
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov ecx, 1
cmp eax, ecx
mov dword [esp + 0x24], ecx
jle 0x4f18d0
jmp 0x4f130e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
push 0x10
push ebx
fld qword [eax + ecx*8 - 8]
fst qword [esp + 0xa0]
fld qword [eax + ecx*8]
mov eax, dword [edx]
fstp qword [esp + 0x60]
mov ecx, dword [edx + 4]
lea edx, [esp + 0x144]
fstp qword [esp + 0x14c]
push edx
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
call fcn.004beb30
mov eax, dword [esp + 0x148]
mov ecx, 6
lea esi, [esp + 0x158]
lea edi, [esp + 0x130]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
movsx ecx, word [esp + 0x230]
mov eax, dword [esp + 0x154]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
push 0x10
lea ecx, [esp + 0x14c]
push ebx
push ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], eax
call fcn.004beb30
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x158]
mov ecx, 6
lea esi, [esp + 0x164]
lea edi, [esp + 0x124]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x160]
add esp, 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, 1
mov dword [esp + 0x30], eax
movsx eax, word [esp + 0x224]
cmp edx, ecx
mov dword [esp + 0x28], ecx
jle 0x4f18bb
jmp 0x4f142c
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
mov ecx, 6
lea esi, [esp + 0x124]
lea edi, [esp + 0x228]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0x10c]
lea edi, [esp + 0x240]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x64], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
fld qword [edx + eax*8]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x98]
push 0x10
fstp qword [esp + 0x140]
lea eax, [esp + 0x140]
push ebx
push eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
call fcn.004beb30
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
mov ecx, 6
lea esi, [esp + 0x158]
lea edi, [esp + 0x130]
mov dword [esp + 0x4c], edx
movsx edx, word [esp + 0x230]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x68]
push 0x10
lea edx, [esp + 0x14c]
push ebx
push edx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
call fcn.004beb30
mov eax, dword [esp + 0x154]
mov ecx, 6
lea esi, [esp + 0x164]
lea edi, [esp + 0x124]
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x160]
add esp, 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x38], eax
movsx eax, word [esp + 0x224]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x4c]
test ecx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], eax
je 0x4f15d3
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x4f15d3
test eax, eax
jne 0x4f1731
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x68]
mov esi, dword [ebp + 0x14]
lea edx, [esp + 0xc4]
mov edi, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp + 0x20]
push edx
push eax
push ecx
lea edx, [esp + 0x3c]
push ebx
lea eax, [esp + 0xc8]
push edx
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0xbc]
push eax
push ecx
push esi
push edi
lea eax, [esp + 0x134]
push edx
lea ecx, [esp + 0x26c]
push eax
lea edx, [esp + 0x258]
push ecx
push edx
call fcn.004f1910
add esp, 0x38
cmp eax, 2
jne 0x4f1737
mov eax, dword [ebp + 0x28]
test eax, eax
jne 0x4f18fe
push 0xc
call fcn.004b2890
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
push esi
push edi
push eax
lea edx, [esp + 0xec]
push ecx
lea eax, [esp + 0xd8]
push edx
push eax
call fcn.004f22b0
add esp, 0x1c
test eax, eax
jne 0x4f12e7
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x4f169a
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x78]
push ecx
lea eax, [esp + 0x6c]
push edx
push eax
call fcn.0043f9f0
add esp, 0xc
test eax, eax
je 0x4f12e7
jmp 0x4f1737
fld qword [esp + 0xc4]
fsub qword [esp + 0xdc]
fabs
fcomp qword [ebp + 0x18]
fnstsw ax
test ah, 0x41
je 0x4f16ce
fld qword [esp + 0xcc]
fsub qword [esp + 0xe4]
fabs
fcomp qword [ebp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x4f1737
mov ecx, dword [ebp + 0x30]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x80]
push ecx
push edx
push eax
push ebx
lea ecx, [esp + 0x104]
push 0
lea edx, [esp + 0xf0]
push ecx
push edx
call fcn.004404e0
add esp, 0x34
test eax, eax
je 0x4f12e7
jmp 0x4f1737
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4f1753
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4f1753
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x4f18a6
mov edx, dword [ebp + 0x24]
lea eax, [esp + 0x68]
lea ecx, [esp + 0xc4]
push eax
mov eax, dword [ebp + 0x20]
push ecx
push edx
push eax
lea ecx, [esp + 0x4c]
push ebx
lea edx, [esp + 0x40]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0xbc]
push edx
push eax
push esi
push edi
lea edx, [esp + 0x14c]
push ecx
lea eax, [esp + 0x138]
push edx
lea ecx, [esp + 0x258]
push eax
push ecx
call fcn.004f1910
add esp, 0x38
cmp eax, 2
jne 0x4f18a6
mov eax, dword [ebp + 0x28]
test eax, eax
jne 0x4f18fe
push 0xe
call fcn.004b2890
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0xc]
push esi
push edi
push edx
lea ecx, [esp + 0xec]
push eax
lea edx, [esp + 0xd8]
push ecx
push edx
call fcn.004f22b0
add esp, 0x1c
test eax, eax
jne 0x4f12e7
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x4f1811
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x78]
push eax
lea edx, [esp + 0x6c]
push ecx
push edx
call fcn.0043f9f0
add esp, 0xc
test eax, eax
je 0x4f12e7
jmp 0x4f18a6
fld qword [esp + 0xc4]
fsub qword [esp + 0xdc]
fabs
fcomp qword [ebp + 0x18]
fnstsw ax
test ah, 0x41
je 0x4f1845
fld qword [esp + 0xcc]
fsub qword [esp + 0xe4]
fabs
fcomp qword [ebp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x4f18a6
mov eax, dword [ebp + 0x30]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x80]
push eax
push ecx
push edx
push ebx
lea eax, [esp + 0x104]
push 0
lea ecx, [esp + 0xf0]
push eax
push ecx
call fcn.004404e0
add esp, 0x34
test eax, eax
je 0x4f12e7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4f1428
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x4f130a
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push 8
push edx
push eax
call fcn.0054714a
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
push 8
push ecx
push edx
call fcn.0054714a
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret