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

Disassembly:
sub esp, 0x28
push ebx
push ebp
mov ebp, dword [esp + 0x34]
mov eax, dword [ebp]
mov edx, dword [eax]
push esi
mov ebx, ecx
push edi
mov ecx, ebp
mov dword [esp + 0x18], ebx
call edx
mov ecx, dword [esp + 0x40]
push ecx
lea edx, [esp + 0x24]
push edx
mov ecx, eax
call fcn.01287df0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
call 0x128a650
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xc]
sub esi, dword [eax + 8]
mov dword [esp + 0x10], 0x184c268
mov ecx, 0x184c268
mov edx, 1
lock xadd dword [ecx], edx
xor edi, edi
test esi, esi
jle 0x168c5f5
mov eax, dword [esp + 0x44]
add eax, 4
mov dword [esp + 0x44], eax
mov edi, edi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
add ecx, edi
mov edx, dword [eax + ecx*4 + 0x14]
mov eax, dword [edx + 0xc]
push eax
call fcn.012ad000
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
add esp, 4
push edx
push eax
lea ecx, [esp + 0x30]
call fcn.012a10d0
mov ebp, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp ecx, 1
lea ecx, [esp + 0x10]
je 0x168c5b1
push 1
push 0x7fffffff
call 0x1266845
push 0x10
mov ebx, eax
call fcn.01666532
add esp, 4
test eax, eax
je 0x168c5a7
push ebp
mov ecx, eax
call fcn.012a0f80
mov dword [ebx], eax
mov ebx, dword [esp + 0x18]
jmp 0x168c5da
xor eax, eax
mov dword [ebx], eax
mov ebx, dword [esp + 0x18]
jmp 0x168c5da
call fcn.012a8e60
push 0x10
mov dword [esp + 0x20], eax
call fcn.01666532
add esp, 4
test eax, eax
je 0x168c5d2
push ebp
mov ecx, eax
call fcn.012a0f80
jmp 0x168c5d4
xor eax, eax
mov edx, dword [esp + 0x1c]
mov dword [edx], eax
lea ecx, [esp + 0x28]
call fcn.012a03b0
add dword [esp + 0x44], 4
inc edi
cmp edi, esi
jl 0x168c540
mov ebp, dword [esp + 0x3c]
push 0x18
call fcn.01666532
mov edi, eax
add esp, 4
test edi, edi
je 0x168c68d
push 0xc0
mov ecx, edi
call fcn.012caa40
mov eax, dword [esp + 0x40]
mov dword [edi + 0x10], eax
mov dword [edi], 0x180efe0
mov dword [edi + 0xc], ebp
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x14], ecx
mov edx, dword [esp + 0x10]
mov eax, 1
lock xadd dword [edx], eax
mov eax, dword [edi + 0x14]
test byte [eax + 0x10], 1
jne 0x168c68f
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
lea ecx, [edi + 0x14]
lea ebx, [eax + edx*4 + 0x14]
call fcn.012a9390
mov ebp, eax
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 0xc]
lea edx, [eax + ecx*4 + 0x14]
mov ecx, dword [eax + 8]
push ebx
push edx
lea edx, [eax + ecx*4 + 0x14]
push edx
lea ecx, [edi + 0x14]
call 0x12672c7
mov eax, ebp
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x168c687
push ebp
lea ecx, [edi + 0x14]
call fcn.012668cd
mov ebx, dword [esp + 0x18]
jmp 0x168c68f
xor edi, edi
push edi
mov ecx, ebx
call fcn.016866f0
cmp dword [ebx + 0x78], 2
mov ecx, dword [ebx + 4]
mov dword [esp + 0x3c], ecx
jne 0x168c70c
cmp byte [ebx + 0x80], 0
jne 0x168c70c
cmp byte [ebx + 0x81], 0
jne 0x168c70c
call fcn.0126d0b0
mov esi, eax
call fcn.012a6580
cmp eax, esi
jne 0x168c6cf
mov ecx, ebx
call fcn.0168c1c0
jmp 0x168c70c
xor eax, eax
xor ecx, ecx
push ecx
push eax
xor edx, edx
xor esi, esi
push esi
push edx
mov byte [ebx + 0x81], 1
xor ebx, ebx
push ebx
xor edi, edi
push edi
push eax
push eax
push eax
push eax
push eax
mov edx, dword [esp + 0x68]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
xor ebp, ebp
push ebp
push eax
push 2
push 0x180f14c
push edx
call fcn.0126bfc0
add esp, 0x5c
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x168c758
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
lea esi, [eax + edx*4 + 0x14]
lea ebx, [eax + ecx*4 + 0x14]
mov ebp, eax
cmp ebx, esi
je 0x168c74f
mov edi, dword [esi - 4]
sub esi, 4
test edi, edi
je 0x168c74b
mov ecx, edi
call fcn.012a03b0
push edi
call fcn.016664d6
add esp, 4
cmp esi, ebx
jne 0x168c731
push ebp
call fcn.01285a10
add esp, 4
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x168c7a7
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
lea esi, [eax + ecx*4 + 0x14]
lea edi, [eax + edx*4 + 0x14]
mov ebx, eax
cmp edi, esi
je 0x168c79e
lea ecx, [ecx]
mov eax, dword [esi - 4]
sub esi, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x168c79a
mov edx, dword [esi]
push edx
call fcn.01285a10
add esp, 4
cmp esi, edi
jne 0x168c780
push ebx
call fcn.01285a10
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc