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

Disassembly:
sub esp, 0x18c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.10168390
mov esi, dword [esp + 0x1a0]
mov bl, al
mov ecx, esi
mov byte [esp + 0x12], bl
call fcn.10168390
movzx edi, bl
push edi
push esi
mov ecx, ebp
mov byte [esp + 0x1b], al
call fcn.10167f40
lea eax, [esi + 0x20]
push edi
lea ecx, [ebp + 0x20]
push eax
mov dword [esp + 0x1c], eax
call fcn.10167f40
add esi, 0x40
push edi
lea ebx, [ebp + 0x40]
push esi
mov ecx, ebx
mov dword [esp + 0x20], esi
call fcn.10167f40
mov ecx, 8
mov esi, ebp
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1a0]
mov ecx, 8
lea edi, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
lea esi, [ebp + 0x20]
lea edi, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, 8
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
push esi
lea ecx, [esp + 0x20]
call fcn.1016b550
push ebx
lea ecx, [esp + 0x60]
call fcn.1016b550
push esi
lea ecx, [esp + 0x80]
call fcn.1016b550
push ebx
lea ecx, [esp + 0x40]
call fcn.1016b550
mov eax, dword [esp + 0x78]
xor eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
xor edx, dword [esp + 0x20]
or eax, ecx
mov ecx, dword [esp + 0x64]
xor ecx, dword [esp + 0x24]
or eax, edx
mov edx, dword [esp + 0x68]
xor edx, dword [esp + 0x28]
or eax, ecx
mov ecx, dword [esp + 0x6c]
xor ecx, dword [esp + 0x2c]
or eax, edx
mov edx, dword [esp + 0x70]
xor edx, dword [esp + 0x30]
or eax, ecx
mov ecx, dword [esp + 0x74]
or eax, edx
xor ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x7c]
or eax, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sete byte [esp + 0x10]
xor eax, dword [esp + 0x80]
xor edx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x84]
or edx, eax
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x88]
or edx, ecx
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x8c]
or edx, eax
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x90]
or edx, ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x94]
or edx, eax
mov eax, dword [esp + 0x58]
xor eax, dword [esp + 0x98]
or edx, ecx
mov ecx, 0x18
mov esi, ebp
lea edi, [esp + 0x13c]
or edx, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x13c]
sete byte [esp + 0x11]
call fcn.1016c2c0
mov ecx, 8
lea esi, [esp + 0x1c]
lea edi, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
push 1
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0xa4]
call fcn.10167ce0
push eax
push 0x102702c0
call fcn.10167c20
mov ecx, 8
lea esi, [esp + 0x7c]
lea edi, [esp + 0xfc]
push 1
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
push edx
lea ecx, [esp + 0x104]
call fcn.10167ce0
push eax
push 0x102702c0
call fcn.10167c20
mov eax, dword [esp + 0x18]
mov ecx, 8
mov esi, ebx
lea edi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0xe0]
call fcn.1016b550
mov ecx, 8
lea esi, [esp + 0x9c]
lea edi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xbc]
push ecx
call fcn.1016b550
mov ecx, 8
lea esi, [esp + 0xbc]
lea edi, [esp + 0x11c]
lea edx, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
push edx
lea ecx, [esp + 0x120]
call fcn.1016b550
push 1
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x64]
call fcn.10167c20
push 0x102702c0
mov esi, eax
call fcn.10168150
neg al
lea ecx, [esp + 0x5c]
sbb eax, eax
add eax, 1
or eax, esi
push eax
push 0x102702c0
call fcn.10167ce0
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x60]
call fcn.1016b550
lea edx, [esp + 0x3c]
mov ecx, 8
lea esi, [esp + 0xfc]
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, edx
call fcn.1016b550
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x40]
call fcn.1016b550
push 1
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x44]
call fcn.10167ce0
push eax
push 0x102702c0
call fcn.10167c20
xor edx, edx
cmp byte [esp + 0x11], dl
sete dl
xor eax, eax
cmp byte [esp + 0x13], al
sete al
xor ecx, ecx
and edx, eax
cmp byte [esp + 0x12], cl
sete cl
and edx, ecx
mov esi, edx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0xa0]
call fcn.1016b550
push esi
lea eax, [esp + 0xa0]
push eax
mov ecx, ebp
call fcn.10167f40
lea ecx, [esp + 0x11c]
push ecx
lea ecx, [esp + 0xe0]
call fcn.1016b550
push esi
lea edx, [esp + 0xe0]
push edx
mov ecx, ebx
call fcn.10167f40
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x20]
call fcn.1016b550
push 1
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x24]
call fcn.10167ce0
push eax
push 0x102702c0
call fcn.10167c20
lea edx, [esp + 0xfc]
push edx
call fcn.1016b550
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x80]
call fcn.1016b550
push 1
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x24]
call fcn.10167ce0
push eax
push 0x102702c0
call fcn.10167c20
mov edx, ecx
push esi
lea edi, [ebp + 0x20]
push edx
mov ecx, edi
call fcn.10167f40
cmp byte [esp + 0x13], 0
sete al
cmp byte [esp + 0x12], 0
sete cl
and al, cl
and al, byte [esp + 0x11]
xor edx, edx
cmp byte [esp + 0x10], dl
movzx eax, al
sete dl
mov ecx, ebp
mov dword [esp + 0x14], eax
and edx, eax
mov esi, edx
push esi
push 0x10270380
call fcn.10167f40
push esi
push 0x102703a0
mov ecx, edi
call fcn.10167f40
push esi
push 0x102703c0
mov ecx, ebx
call fcn.10167f40
movzx esi, byte [esp + 0x10]
and esi, dword [esp + 0x14]
lea eax, [esp + 0x13c]
push esi
push eax
mov ecx, ebp
call fcn.10167f40
push esi
lea ecx, [esp + 0x160]
push ecx
mov ecx, edi
call fcn.10167f40
push esi
lea edx, [esp + 0x180]
push edx
mov ecx, ebx
call fcn.10167f40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 4