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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x104c
call fcn.016692b0
mov eax, dword [0x1854370]
xor eax, esp
mov dword [esp + 0x1048], eax
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebx + 4]
cmp dword [esi + 0x88], 2
push edi
mov dword [esp + 0x18], ebx
je 0x1627c28
mov ecx, dword [esi + 0x80]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
call edx
or eax, edx
je 0x16282b6
mov eax, dword [esi + 0x88]
cmp eax, 2
jne 0x1627c5c
cmp byte [esi + 0x90], 0
je 0x16282b6
mov ecx, ebx
call fcn.016272a0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1048]
xor ecx, esp
call fcn.016664c7
mov esp, ebp
pop ebp
ret
cmp eax, 4
je 0x162804b
mov ecx, dword [esi + 0x80]
push 0
push 0
lea eax, [esp + 0x50]
push eax
call 0x1284da0
push eax
lea ecx, [esi + 0x84]
call fcn.0128ebe0
mov ecx, dword [esp + 0x48]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1627c9f
mov eax, dword [esp + 0x48]
push eax
call fcn.01285a10
add esp, 4
push 0x17f78c8
lea ecx, [esi + 0x84]
call 0x128e5f0
test al, al
jne 0x1627cd9
mov ecx, dword [esi + 0x80]
mov edx, dword [ecx]
mov eax, dword [edx + 0x54]
call eax
test al, al
jne 0x1627c65
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1048]
xor ecx, esp
call fcn.016664c7
mov esp, ebp
pop ebp
ret
push 0x17f78c0
lea ecx, [esi + 0x84]
call fcn.0128e570
test al, al
je 0x1628104
mov ecx, dword [esi + 0x84]
mov eax, dword [ecx + 0xc]
push 0xffffffffffffffff
push eax
lea edx, [esp + 0x40]
push edx
call fcn.01274dc0
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
call fcn.01634680
mov eax, dword [esp + 0x38]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1627d2e
mov edx, dword [esp + 0x38]
push edx
call fcn.01273020
add esp, 4
lea ecx, [esi + 0x84]
call fcn.0128e680
lea ecx, [esp + 0x24]
call fcn.01632bd0
mov edi, eax
cmp edi, 0xc8
je 0x1628181
cmp edi, 0x197
jne 0x162834b
cmp byte [esi + 0x98], 0
je 0x1627d9a
lea ecx, [esp + 0x4c]
call fcn.013ab4a0
push eax
lea ecx, [esi + 0x8c]
call 0x1616a80
lea ecx, [esp + 0x4c]
call 0x1616b80
lea ecx, [esi + 0x8c]
call fcn.01617670
mov eax, dword [esi + 0x8c]
mov byte [eax + 0x20], 1
jmp 0x1627db4
lea ecx, [esi + 0x8c]
call 0x136ade0
test al, al
je 0x1627db4
lea ecx, [esi + 0x8c]
call fcn.01617670
mov edi, dword [esi + 0x8c]
push 1
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
mov dword [esp + 0x4c], edi
call fcn.01618430
cmp dword [edi + 0x24], 3
je 0x16281e5
push 0xffffffffffffffff
push 0x17f78ac
call fcn.012735b0
add esp, 8
lea edx, [esp + 0x30]
mov dword [esp + 0x30], eax
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
call fcn.01632950
mov ecx, dword [esp + 0x30]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1627e16
mov eax, dword [esp + 0x30]
push eax
call fcn.01273020
add esp, 4
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], 0
jne 0x1627e86
push 0xffffffffffffffff
push 0x17f78a0
call fcn.012735b0
add esp, 8
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
call fcn.01632950
mov edx, dword [eax]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1627e6c
mov edx, dword [esp + 0x34]
push edx
call fcn.01273020
add esp, 4
mov eax, dword [esp + 0x2c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1627e86
mov edx, dword [esp + 0x2c]
push edx
call fcn.01273020
add esp, 4
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
call 0x12775b0
mov edx, dword [eax]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1627eba
mov edx, dword [esp + 0x3c]
push edx
call fcn.01273020
add esp, 4
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], 0x17f7898
call 0x12730c0
test al, al
je 0x1627ed8
mov bl, 1
jmp 0x1627f1f
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], 0x17f50a0
call 0x12730c0
test al, al
je 0x1627ef6
xor bl, bl
jmp 0x1627f54
lea ecx, [esp + 0x24]
call fcn.01632be0
mov edi, eax
lea ecx, [esp + 0x24]
shl edi, 8
call fcn.01632bf0
add eax, edi
mov edi, dword [esp + 0x44]
cmp eax, 0x100
setle bl
test bl, bl
je 0x1627f54
mov ecx, dword [esi + 0x80]
call fcn.0163be20
mov ecx, dword [esi + 0x80]
lea edx, [esp + 0x40]
push edx
call fcn.01284a10
mov eax, dword [esp + 0x40]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1627f54
mov edx, dword [esp + 0x40]
push edx
call fcn.01285a10
add esp, 4
cmp dword [edi + 0x24], 2
jne 0x1627f78
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0x8c]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.016212e0
cmp dword [edi + 0x24], 2
je 0x162823d
mov dword [esi + 0x88], 3
test bl, bl
jne 0x16282cb
push 0xffffffffffffffff
push 0x17f3ed4
call fcn.012735b0
add esp, 8
push 0xa
lea ecx, [esp + 0x27]
push ecx
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x34]
call fcn.01632950
mov ecx, eax
call fcn.012737b0
mov ecx, dword [esp + 0xc]
mov edi, eax
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1627fda
mov eax, dword [esp + 0xc]
push eax
call fcn.01273020
add esp, 4
mov ecx, dword [esp + 0x10]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1627ff4
mov eax, dword [esp + 0x10]
push eax
call fcn.01273020
add esp, 4
cmp byte [esp + 0x23], 0
je 0x1628315
test edi, edi
jle 0x1628315
mov ecx, dword [esp + 0x14]
mov ebx, 4
mov dword [esi + 0x88], ebx
mov dword [esi + 0x9c], edi
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1628032
mov eax, dword [esp + 0x14]
push eax
call fcn.01273020
add esp, 4
lea ecx, [esp + 0x24]
call fcn.01632920
cmp dword [esi + 0x88], ebx
mov ebx, dword [esp + 0x18]
jne 0x1627c65
cmp dword [esi + 0x9c], 0
je 0x16280b7
mov dword [esp + 0x1c], 0x1000
cmp dword [esi + 0x9c], 0x1000
lea eax, [esp + 0x1c]
ja 0x1628072
lea eax, [esi + 0x9c]
mov ecx, dword [eax]
push 0
push ecx
mov ecx, dword [esi + 0x80]
lea edx, [esp + 0x58]
push edx
call fcn.01284450
test eax, eax
js 0x1628090
mov byte [esp + eax + 0x50], 0
je 0x16282b6
cmp eax, 0xffffffff
je 0x16280dd
sub dword [esi + 0x9c], eax
cmp dword [esi + 0x9c], 0
jne 0x162805c
cmp dword [esi + 0x9c], 0
ja 0x16282b6
mov ecx, ebx
mov dword [esi + 0x88], 3
call fcn.01627860
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1048]
xor ecx, esp
call fcn.016664c7
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x80]
call fcn.0163be20
mov ecx, ebx
call fcn.01627310
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1048]
xor ecx, esp
call fcn.016664c7
mov esp, ebp
pop ebp
ret
lea ecx, [esi + 0x84]
call fcn.0128e680
mov esi, dword [esi + 0x80]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
mov ecx, esi
call edx
push 0
mov ecx, ebx
call fcn.014b41d0
push 0
push 0x17f786c
lea eax, [esp + 0x18]
push eax
mov ecx, 0x17fd1f4
call fcn.01288a60
lea ecx, [esp + 0x10]
push ecx
push 0x12
mov ecx, ebx
call fcn.01621230
mov edx, dword [esp + 0x10]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1628165
mov ecx, dword [esp + 0x10]
push ecx
call fcn.01273020
add esp, 4
mov ecx, ebx
call fcn.01627380
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1048]
xor ecx, esp
call fcn.016664c7
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x80]
lea edx, [esp + 0x1c]
push edx
mov dword [esi + 0x88], 2
call fcn.0163c340
push eax
mov ecx, ebx
call fcn.01621340
lea ecx, [esp + 0x1c]
call fcn.0161f280
mov ecx, dword [esi + 0x80]
call fcn.0163c330
movzx eax, ax
push eax
mov ecx, ebx
call fcn.01621360
push 3
mov ecx, ebx
call fcn.014b41d0
lea ecx, [esi + 0x8c]
call fcn.01617670
mov ecx, dword [esi + 0x8c]
mov byte [ecx + 0x20], 0
jmp 0x16282a6
mov esi, dword [esi + 0x80]
mov edx, dword [esi]
mov eax, dword [edx + 0x34]
mov ecx, esi
call eax
push 0
mov ecx, ebx
call fcn.014b41d0
push 0
push 0x17f783c
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x17fd1f4
call fcn.01288a60
lea edx, [esp + 0x10]
push edx
push 0x12
mov ecx, ebx
call fcn.01621230
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x16282a6
mov edx, dword [esp + 0x10]
push edx
call fcn.01273020
add esp, 4
jmp 0x16282a6
push 0
push 0x17f7824
lea eax, [esp + 0x18]
push eax
mov ecx, 0x17fd1f4
call fcn.01288a60
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x1c]
push 0xc
call fcn.01621230
mov edx, dword [esp + 0x10]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x162827d
mov ecx, dword [esp + 0x10]
push ecx
call fcn.01273020
add esp, 4
mov ecx, dword [esi + 0x80]
call fcn.0163be20
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x16282a2
mov ecx, dword [esp + 0x14]
push ecx
call fcn.01273020
add esp, 4
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.01627380
lea ecx, [esp + 0x24]
call fcn.01632920
mov ecx, dword [esp + 0x1054]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.016664c7
mov esp, ebp
pop ebp
ret
push ecx
mov eax, esp
lea ecx, [esi + 0x78]
mov dword [eax], 3
call fcn.01608790
movzx edx, ax
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0x78]
call fcn.016086f0
mov ecx, dword [esi + 0x80]
push eax
call fcn.0163c140
mov ecx, dword [esp + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1628328
mov eax, dword [esp + 0xc]
push eax
call fcn.01273020
add esp, 4
jmp 0x1628328
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x88], 3
call fcn.01627860
mov ecx, dword [esp + 0x14]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x16282ad
mov eax, dword [esp + 0x14]
push eax
call fcn.01273020
add esp, 4
jmp 0x16282ad
mov esi, dword [esi + 0x80]
mov edx, dword [esi]
mov eax, dword [edx + 0x34]
mov ecx, esi
call eax
push 0
mov ecx, ebx
call fcn.014b41d0
cmp edi, 0x193
je 0x162841d
cmp edi, 0x195
je 0x162841d
push 0
cmp edi, 0x194
jne 0x16283b5
push 0x17f6e4c
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x17fc670
call fcn.01288a60
lea edx, [esp + 0xc]
push edx
push 2
mov ecx, ebx
call fcn.01621230
lea ecx, [esp + 0xc]
call fcn.01261000
jmp 0x16282a6
cmp edi, 0x1f7
jne 0x16283ed
push 0x17f6fa4
lea eax, [esp + 0x14]
push eax
mov ecx, 0x17fc670
call fcn.01288a60
lea ecx, [esp + 0xc]
push ecx
push 0
mov ecx, ebx
call fcn.01621230
lea ecx, [esp + 0xc]
call fcn.01261000
jmp 0x16282a6
push 0x17f7800
lea edx, [esp + 0x14]
push edx
mov ecx, 0x17fd1f4
call fcn.01288a60
lea eax, [esp + 0xc]
push eax
push 0x12
mov ecx, ebx
call fcn.01621230
lea ecx, [esp + 0xc]
call fcn.01261000
jmp 0x16282a6
push 0
push 0x17f77e8
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x17fd1f4
call fcn.01288a60
lea edx, [esp + 0xc]
push edx
push 3
mov ecx, ebx
call fcn.01621230
lea ecx, [esp + 0xc]
call fcn.01261000
jmp 0x16282a6