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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x58
mov esi, ecx
mov ebp, dword [esp + 0x7c]
mov ecx, esi
push dword [esp + 0x6c]
call fcn.004ff384
mov ebx, eax
mov ecx, esi
call fcn.005344a8
lea ecx, [esp]
call fcn.00736414
lea ecx, [esp + 4]
call fcn.00736414
xor ecx, ecx
xor edi, edi
mov eax, dword [ebx + 0x8e18]
test eax, eax
jle 0x4d9637
mov dword [esp + 0x34], ecx
mov ecx, eax
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x2c], esi
mov esi, esi
mov edx, dword [ebx + edi*4 + 0x10]
cmp ebp, 0xffffffff
je 0x4d95fd
cmp ebp, dword [edx + 0x154]
jne 0x4d9624
mov edx, dword [edx + 0x28]
test edx, edx
je 0x4d9624
lea ecx, [edx + 0x1dc]
mov edx, dword [edx + 0x1dc]
call dword [edx + 8]
mov ecx, dword [ebx + 0x8e18]
movzx edx, al
test edx, edx
jne 0x4d9624
inc dword [esp + 0x34]
inc edi
cmp edi, ecx
jl 0x4d95ec
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x2c]
fld dword [0x86bb74]
xor dl, dl
mov edi, dword [esp + 0x74]
mov dword [esp + 0x20], ecx
test edi, edi
fild dword [esp + 0x20]
fdivr st(1)
fld dword [0x86bb70]
jle 0x4d9683
fstp st(0)
fstp st(1)
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
fld qword [0x86bb68]
fdiv st(1)
mov dword [esp + 0x20], edx
mov dl, 1
fild dword [esp + 0x20]
fdivrp st(2)
fxch st(2)
fxch st(1)
fxch st(2)
fmulp st(1)
test ebp, ebp
je 0x4d9694
fst dword [ebp + 0x18]
mov eax, dword [ebx + 0x8e18]
xor edi, edi
test eax, eax
mov dword [esp + 0x28], edi
mov edi, 0
jle 0x4d9ad6
mov byte [esp + 0x30], dl
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x2c], esi
fstp qword [esp + 0x38]
fstp qword [esp + 0x40]
mov esi, esi
lea edi, [edi]
mov edx, dword [esp + 0x54]
mov ebx, dword [edx + edi*4 + 0x10]
cmp ebp, 0xffffffff
je 0x4d96e5
cmp ebp, dword [ebx + 0x154]
jne 0x4d9a7a
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x4d9a7a
lea ecx, [edx + 0x1dc]
mov eax, dword [edx + 0x1dc]
call dword [eax + 8]
mov dword [esp + 0x50], eax
movzx edx, al
test edx, edx
je 0x4d971c
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x8e18]
jmp 0x4d9a7a
mov ecx, dword [ebx + 0x28]
call fcn.006d16a4
mov dword [esp + 0x50], eax
movzx edx, al
test edx, edx
jne 0x4d9a70
mov al, byte [esp + 0x30]
test al, al
je 0x4d97fc
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 1]
lea edx, [esp + 4]
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x78]
lea esi, [esi + 1]
mov ecx, dword [esp + 0x74]
push ecx
push esi
mov ecx, dword [esp + 0x3c]
push ecx
push eax
push 0x86c4e4
push edx
call fcn.007020f0
add esp, 0x18
mov ecx, dword [ebx + 0x28]
add ecx, 0x344
lea eax, [esp + 0x14]
push eax
call fcn.006ec268
lea ecx, [esp + 0x14]
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.006ecde8
lea eax, [esp]
push dword [esp + 0x1c]
push 0x86c510
push eax
call fcn.007020f0
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.00701810
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4d97c9
mov dword [esp + 0x14], 0
je 0x4d97c9
push 1
call fcn.00433260
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4d9892
mov dword [esp + 0x18], 0
je 0x4d9892
push 1
call fcn.00433290
jmp 0x4d9892
mov eax, dword [esp + 0x28]
lea ecx, [eax + 1]
lea esi, [esp + 4]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x34]
push edx
push ecx
push 0x86c514
push esi
call fcn.007020f0
add esp, 0x10
mov ecx, dword [ebx + 0x28]
add ecx, 0x344
lea eax, [esp + 8]
push eax
call fcn.006ec268
lea ecx, [esp + 8]
lea eax, [esp + 0x10]
push 0
push eax
call fcn.006ecde8
lea eax, [esp]
push dword [esp + 0x10]
push 0x86c510
push eax
call fcn.007020f0
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00701810
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4d9879
mov dword [esp + 8], 0
je 0x4d9879
push 1
call fcn.00433260
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4d9892
mov dword [esp + 0xc], 0
je 0x4d9892
push 1
call fcn.00433290
xor eax, eax
mov edx, dword [esp + 0x7c]
test edx, edx
mov dword [esp + 0x50], eax
je 0x4d98e6
mov eax, dword [esp]
mov esi, dword [esp + 4]
add esp, 0xffffffec
mov dword [esp], eax
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x34], edx
fild dword [esp + 0x34]
fmul qword [esp + 0x4c]
fadd qword [esp + 0x54]
fstp dword [esp + 4]
mov dword [esp + 8], 0
mov byte [esp + 0xc], 1
mov dword [esp + 0x10], esi
call fcn.0072cbe8
mov dword [esp + 0x50], eax
movzx edx, al
test edx, edx
jne 0x4d9a3c
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 0x1dc]
mov edx, dword [eax + 0x1dc]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ecx
call dword [edx + 0x24]
mov eax, dword [esp + 0x48]
fild dword [eax + 0x370]
fstp dword [eax + 0x204]
mov eax, dword [eax + 0x234]
cmp eax, 1
je 0x4d99cc
cmp eax, 2
jne 0x4d997c
mov edx, dword [esp + 0x48]
lea eax, [edx + 0xc8]
lea ecx, [edx + 0xd0]
mov dword [esp + 0x28], eax
mov esi, dword [edx + 0xd0]
call dword [esi + 8]
mov dword [esp + 0x48], eax
movzx edx, al
test edx, edx
je 0x4d99fe
mov eax, dword [esp + 0x7c]
push eax
mov edx, dword [esp + 0x2c]
push edx
mov ecx, dword [esp + 0x58]
call fcn.006d2674
jmp 0x4d99fe
cmp eax, 3
jne 0x4d99fe
mov edx, dword [esp + 0x48]
lea eax, [edx + 0x138]
lea ecx, [edx + 0x140]
mov dword [esp + 0x28], eax
mov esi, dword [edx + 0x140]
call dword [esi + 8]
mov dword [esp + 0x48], eax
movzx edx, al
test edx, edx
je 0x4d99fe
mov eax, dword [esp + 0x7c]
push eax
mov edx, dword [esp + 0x2c]
push edx
mov ecx, dword [esp + 0x58]
call fcn.006d2674
jmp 0x4d99fe
mov edx, dword [esp + 0x48]
lea eax, [edx + 0x58]
lea ecx, [edx + 0x60]
mov dword [esp + 0x28], eax
mov esi, dword [edx + 0x60]
call dword [esi + 8]
mov dword [esp + 0x48], eax
movzx edx, al
test edx, edx
je 0x4d99fe
mov eax, dword [esp + 0x7c]
push eax
mov edx, dword [esp + 0x2c]
push edx
mov ecx, dword [esp + 0x58]
call fcn.006d2674
mov ecx, dword [ebx + 0x28]
call fcn.006d13c8
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4d9a1d
mov esi, dword [esp + 0x7c]
mov al, byte [esi + 0x1d]
test al, al
jne 0x4d9aae
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x8e18]
jmp 0x4d9a7a
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x2c]
test ebp, ebp
je 0x4d9a4c
mov byte [ebp + 0x1d], 1
mov ecx, esi
call fcn.00534388
lea ecx, [esp + 4]
call fcn.00701810
lea ecx, [esp]
call fcn.00701810
xor eax, eax
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret 0x14
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x8e18]
inc edi
cmp edi, eax
jl 0x4d96cc
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.00534388
lea ecx, [esp + 4]
call fcn.00701810
lea ecx, [esp]
call fcn.00701810
mov eax, 1
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret 0x14
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.00534388
lea ecx, [esp + 4]
call fcn.00701810
lea ecx, [esp]
call fcn.00701810
xor eax, eax
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret 0x14
fstp st(0)
fstp st(0)
jmp 0x4d9a87