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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
movzx ebx, cl
neg ebx
push esi
sbb ebx, ebx
mov esi, eax
mov eax, dword [esp + 0x60]
movzx ebp, word [eax + 0xa]
push edi
movzx edi, word [eax + 8]
and ebx, 0xffff9827
add ebx, 0x80e0
cmp dword [0x100fe094], 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x40], ebx
je 0x10050b33
call fcn.100502d0
push 0xde1
call fcn.1004d020
add esp, 4
push 1
push 0xcf5
call dword [0x10100f58]
cmp dword [esi + 0x28], 0
jne 0x10050b09
push esi
call fcn.1004ab40
add esp, 4
test al, al
jne 0x10050b09
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x4c
ret
mov eax, dword [esi + 0x28]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
push eax
call fcn.10050120
add esp, 4
test al, al
je 0x10050aff
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x14]
mov dword [0x100fe094], 4
movzx ecx, word [eax + 0xc]
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push 0xcf2
call dword [0x10100f58]
mov edx, dword [esp + 0x68]
fldz
mov dword [esp + 0x44], edx
fst dword [esp + 0x28]
mov dword [esp + 0x30], 0
fstp dword [esp + 0x24]
test ebp, ebp
jle 0x10050e74
mov dword [esp + 0x34], ebp
jmp 0x10050b80
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x44]
add ecx, 0x20
mov dword [esp + 0x58], ecx
cmp ecx, ebp
jle 0x10050b9d
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
jmp 0x10050ba5
mov dword [esp + 0x10], 0x20
xor eax, eax
test edi, edi
jle 0x10050e59
fild dword [esp + 0x10]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x6c]
mov dword [esp + 0x2c], edi
fstp dword [esp + 0x18]
mov dword [esp + 0x4c], edx
fld dword [esp + 0x18]
fmul qword [0x100ca0f0]
fstp dword [esp + 0x3c]
mov ebp, dword [esp + 0x2c]
lea ecx, [eax + 0x20]
mov dword [esp + 0x50], ecx
cmp ecx, edi
jg 0x10050be9
mov ebp, 0x20
push eax
push 0xcf4
mov dword [esp + 0x28], ebp
call dword [0x10100f58]
mov eax, dword [esp + 0x30]
push eax
push 0xcf3
call dword [0x10100f58]
push 0x84c0
call dword [0x10101098]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x1c]
add edx, dword [esp + 0x70]
mov eax, dword [esp + 0x10]
push edx
push 0x1401
push ebx
push eax
push ebp
push 0
push 0
push 0
push 0xde1
call dword [0x10100f34]
fild dword [esp + 0x20]
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 0x3c]
sub edi, dword [esp + 0x10]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ebx, dword [eax + 0x30]
sub edi, dword [esp + 0x6c]
fld qword [0x100ca0f0]
fmul st(1)
add ebx, esi
add edi, dword [eax + 0x34]
cmp dword [esp + 0x78], 0
fstp dword [esp + 0x38]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x48], edi
jne 0x10050cbf
push 0x84c1
fstp st(0)
call dword [0x10101098]
mov ecx, dword [esp + 0x10]
push ecx
push ebp
push edi
push ebx
push 0
push 0
push 0
push 0xde1
call dword [0x1010104c]
fld dword [esp + 0x20]
fmul qword [0x100cb520]
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fmul qword [0x100ce958]
fstp dword [esp + 0x1c]
jmp 0x10050d1f
fild dword [esp + 0x1c]
fstp dword [esp + 0x28]
fild dword [eax + 0x44]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fld st(0)
fld dword [esp + 0x24]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fxch st(1)
faddp st(2)
fdivp st(1)
fstp dword [esp + 0x20]
fild dword [esp + 0x48]
fstp dword [esp + 0x48]
fild dword [eax + 0x48]
fstp dword [esp + 0x24]
fld dword [esp + 0x48]
fld st(0)
fadd dword [esp + 0x18]
fld dword [esp + 0x24]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fdivp st(1)
fstp dword [esp + 0x24]
call dword [0x10101074]
push 7
call dword [0x1010106c]
fldz
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
push 0x84c0
call dword [0x101010e8]
fld dword [esp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x84c1
call dword [0x101010e8]
mov edi, dword [esp + 0x6c]
push edi
push esi
call dword [0x10101050]
fldz
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
push 0x84c0
call dword [0x101010e8]
fld dword [esp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x84c1
call dword [0x101010e8]
push edi
add ebp, esi
push ebp
call dword [0x10101050]
fld dword [esp + 0x3c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
push 0x84c0
call dword [0x101010e8]
fld dword [esp + 0x24]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x84c1
call dword [0x101010e8]
mov edi, dword [esp + 0x4c]
push edi
push ebp
call dword [0x10101050]
fld dword [esp + 0x3c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push 0x84c0
call dword [0x101010e8]
fld dword [esp + 0x24]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x84c1
call dword [0x101010e8]
push edi
push esi
call dword [0x10101050]
call dword [0x10100fa8]
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
sub dword [esp + 0x2c], 0x20
mov ebx, dword [esp + 0x40]
add esi, 0x20
cmp eax, edi
jl 0x10050bd5
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov eax, ecx
mov ecx, 0x20
sub dword [esp + 0x34], ecx
add dword [esp + 0x6c], ecx
mov dword [esp + 0x30], eax
cmp eax, ebp
jl 0x10050b80
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x4c
ret