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

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push esi
mov dword [esi + 0xe8], eax
mov dword [esi + 0xe4], ecx
call fcn.10016340
test al, al
jne 0x10016641
pop esi
mov esp, ebp
pop ebp
ret 8
push ebx
push edi
call fcn.10011db0
mov ecx, dword [esi + 0xec]
mov edx, dword [ecx + 0xb8]
mov dword [esi + 0x6c], edx
mov eax, dword [ecx + 0xb4]
mov dword [esi + 0x70], eax
mov edx, dword [ecx + 0xbc]
mov dword [esi + 0x74], edx
mov eax, dword [ecx + 0x8c]
and eax, 0xffff
mov dword [esi + 0x78], eax
mov edx, dword [ecx + 0xa4]
mov dword [esi + 0x7c], edx
mov eax, dword [ecx + 0xf0]
mov dword [esi + 0xc8], eax
mov edx, dword [ecx + 0x20]
shr edx, 0x12
mov ebx, 1
and dl, bl
mov byte [esi + 0xcc], dl
mov eax, dword [ecx + 0x6c]
mov dword [esi + 0xd4], eax
mov edx, dword [ecx + 0x64]
mov dword [esi + 0xd8], edx
mov eax, dword [ecx + 0x3c]
mov edx, dword [ecx + 0x58]
shr eax, 8
and eax, ebx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
mov dword [esi + 0x80], edx
mov eax, dword [ecx + 0x58]
mov dword [esi + 0x84], eax
fstp dword [ebp + 8]
mov dword [esi + 0x88], ebx
test byte [ecx + 0x3c], 2
fld dword [ebp + 8]
fldz
jne 0x100166f8
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x100166f8
mov eax, ebx
xor edi, edi
jmp 0x100166fc
xor edi, edi
xor eax, eax
mov byte [esi + 0x8c], al
mov edx, dword [ecx + 0x58]
mov dword [esi + 0x90], edx
mov eax, dword [ecx + 0x58]
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], ebx
test dword [ecx + 0x3c], 0x20000
jne 0x10016734
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x10016734
mov eax, ebx
jmp 0x10016736
xor eax, eax
mov byte [esi + 0x9c], al
mov edx, dword [ecx + 0x60]
mov dword [esi + 0xa0], edx
mov eax, dword [ecx + 0x60]
mov dword [esi + 0xa4], eax
mov edx, dword [ecx + 0x60]
mov dword [esi + 0xa8], edx
test dword [ecx + 0x3c], 0x40000
jne 0x10016771
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x10016773
mov eax, ebx
jmp 0x10016775
fstp st(1)
xor eax, eax
mov byte [esi + 0xac], al
movzx eax, byte [ecx + 0xc4]
mov dword [ebp + 8], eax
movzx edx, byte [ecx + 0xc5]
fild dword [ebp + 8]
fld qword [0x10020038]
mov dword [ebp + 8], edx
mov dword [esi + 0x1c], ebx
fdiv st(1), st(0)
fild dword [ebp + 8]
faddp st(2)
fxch st(1)
fstp dword [esi + 0x18]
mov eax, dword [ecx + 0xc8]
fld dword [0x1002002c]
mov dword [esi + 0x20], eax
fcom dword [esi + 0x18]
fnstsw ax
test ah, 0x41
jp 0x100167d2
mov edx, dword [ecx + 0x128]
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], 4
jmp 0x100167dc
mov dword [esi + 0x24], 0x100
mov dword [esi + 0x28], edi
movzx eax, byte [ecx + 0xcc]
mov dword [ebp + 8], eax
movzx edx, byte [ecx + 0xcd]
fild dword [ebp + 8]
mov dword [ebp + 8], edx
mov dword [esi + 0x44], ebx
fdivrp st(2)
fild dword [ebp + 8]
faddp st(2)
fxch st(1)
fstp dword [ebp + 8]
fld dword [ebp + 8]
fst dword [esi + 0x40]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1001682a
mov dword [esi + 0x48], 0xe0
mov eax, dword [ecx + 0x12c]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], 0x10
jmp 0x10016841
mov dword [esi + 0x48], 0x20
mov ecx, dword [ecx + 0x118]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], 8
fxch st(1)
mov dword [esi + 0x30], edi
fstp dword [esi + 0x2c]
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
fcomp dword [esi + 0x18]
mov dword [esi + 0x3c], edi
fnstsw ax
test ah, 0x41
jp 0x10016860
mov eax, ebx
jmp 0x10016862
xor eax, eax
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xf0]
lea ecx, [ebp - 4]
push ecx
mov dword [ebp - 4], edi
mov edx, dword [eax]
mov edx, dword [edx + 0x1d8]
push 9
push eax
call edx
test eax, eax
sete al
mov byte [esi + 0xdc], al
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x1001689c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esi + 0xdd], 0
call fcn.10012ae0
push esi
call fcn.10013010
pop edi
mov byte [esi + 0xf4], bl
mov al, bl
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 8