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

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
mov esi, dword [esp + 0x80]
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov ebp, dword [ebx + 0xc]
mov dword [esp + 0xc], eax
push edi
mov edi, dword [eax + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x78]
mov dword [esi], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edi
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov eax, dword [eax]
mov edx, dword [eax + 8]
cmp ebx, edx
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], edx
cmovb edx, ebx
cmp dword [esp + 0x80], 0
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
je 0x10167d6e
lea eax, [esp + 0x7c]
mov dword [esp + 0x6c], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x54], 0
push eax
push ecx
push dword [esp + 0x2c]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
lea eax, [esp + 0x64]
movq qword [esp + 0x74], xmm0
push eax
push ebx
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x44], 0
movq qword [esp + 0x60], xmm0
mov dword [esp + 0x94], 0
call fcn.101681a0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10167d38
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x80]
lea eax, [esp + 0x44]
push dword [esp + 0x28]
push eax
push ebx
call fcn.101681a0
mov ebx, dword [esp + 0x28]
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10167d3c
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x58]
push eax
push ebx
call dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
add esp, 0xc
mov dword [ecx], eax
jmp 0x10167d3c
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10167d50
push eax
push dword [ebx + 0x1c]
call fcn.100dc7e0
add esp, 8
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10167d64
push eax
push dword [ebx + 0x1c]
call fcn.100dc7e0
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
test ecx, ecx
je 0x10167ec9
mov ebx, esi
test eax, eax
je 0x10167ec2
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x18]
push eax
push 0
push esi
push ebp
lea eax, [esp + 0x24]
push eax
push edi
call fcn.10109150
add esp, 0x18
test eax, eax
jne 0x10167ee9
lea eax, [esp + 0x74]
push eax
push 0
push esi
push ebp
lea eax, [esp + 0x88]
push eax
push edi
call fcn.10109150
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10167ea8
mov eax, dword [esp + 0x7c]
mov ecx, eax
cmp dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
cmovb ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov eax, dword [eax + 0x2e0]
mov edx, eax
and edx, 1
test eax, 0x400
je 0x10167dfa
lea esi, [edi + 0x40]
mov edx, 0x26
jmp 0x10167e12
test edx, edx
mov esi, 0x1a
mov eax, 0x20
cmovne esi, eax
add esi, edi
neg edx
sbb edx, edx
and edx, 6
mov eax, esi
test ecx, ecx
je 0x10167e4a
sub edx, esi
mov esi, dword [esp + 0x74]
add esi, edx
mov dl, byte [esi + eax + 0x1a]
dec ecx
mov bl, byte [eax]
cmp bl, dl
jne 0x10167e39
inc eax
test ecx, ecx
jne 0x10167e20
mov ebx, dword [esp + 0x84]
jmp 0x10167e4a
movzx ecx, bl
mov ebx, dword [esp + 0x84]
movzx eax, dl
sub ecx, eax
mov dword [ebx], ecx
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
push 0
push edi
mov edi, dword [esp + 0x3c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
sub dword [esp + 0x84], eax
push ebp
push edi
call fcn.1010adb0
add esp, 0x10
mov esi, eax
push 0
push dword [esp + 0x78]
push ebp
push edi
test esi, esi
jne 0x10167eb0
call fcn.1010adb0
add esp, 0x10
test eax, eax
jne 0x10167ee9
cmp dword [ebx], eax
jne 0x10167ee7
cmp dword [esp + 0x14], eax
je 0x10167ec2
mov eax, dword [esp + 0x78]
jmp 0x10167d78
push 0
push dword [esp + 0x1c]
push ebp
push edi
call fcn.1010adb0
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x20], eax
jbe 0x10167ee3
pop edi
mov dword [esi], 1
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
sbb eax, eax
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret