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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0xb50
mov rax, qword [0x180173200]
xor rax, rsp
mov qword [rsp + 0xb40], rax
mov dword [rsp + 0xc0], 0
mov rax, qword [rsp + 0xb78]
mov rax, qword [rax + 0xb8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x120], 0
mov dword [rsp + 0xd4], 0
mov dword [rsp + 0xdc], 0
lea rcx, [0x180154618]
call fcn.1800fc424
mov qword [rsp + 0x118], rax
cmp qword [rsp + 0x118], 0
jne 0x18001b8a2
lea rax, [0x1801755c7]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0xb70]
cmp qword [rax + 0x38], 0
jne 0x18001b8be
mov rcx, qword [rsp + 0xb70]
call fcn.1800226f0
mov rax, qword [rsp + 0xb70]
add rax, 0x40
mov rcx, qword [rsp + 0xb70]
add rcx, 0x188
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov rdx, rax
call fcn.1800fccf0
mov rax, qword [rsp + 0xb70]
add rax, 0x61
mov rcx, qword [rsp + 0xb70]
add rcx, 0x1a9
mov r8d, 0x40
mov rdx, rax
call fcn.1800fccf0
mov rax, qword [rsp + 0xb70]
add rax, 0xa2
mov rcx, qword [rsp + 0xb70]
add rcx, 0x1ea
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov rdx, rax
call fcn.1800fccf0
lea rax, [0x1801755c8]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xb78]
cmp dword [rax + 0x10], 2
jne 0x18001b96e
mov rax, qword [rsp + 0xb78]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x110], rax
jmp 0x18001b9e0
mov rax, qword [rsp + 0xb78]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0xf0], rax
jmp 0x18001b997
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
cmp qword [rsp + 0xf0], 0
je 0x18001b9e0
mov rax, qword [rsp + 0xb70]
add rax, 0x2a4
mov rcx, qword [rsp + 0xf0]
add rcx, 0x31
mov rdx, rax
call fcn.180105d10
test eax, eax
jne 0x18001b9de
mov rax, qword [rsp + 0xf0]
add rax, 8
mov qword [rsp + 0x110], rax
jmp 0x18001b9e0
jmp 0x18001b984
mov rax, qword [rsp + 0xb70]
add rax, 0x2a4
mov rdx, rax
mov rcx, qword [rsp + 0xb80]
call fcn.180105d10
test eax, eax
jne 0x18001ba27
lea r8, [rsp + 0xdc]
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb70]
call fcn.180016f60
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xb70]
cmp qword [rax + 0xba8], 0
je 0x18001ba52
mov rax, qword [rsp + 0xb70]
mov rax, qword [rax + 0xba8]
mov qword [rsp + 0x128], rax
jmp 0x18001ba66
mov rax, qword [rsp + 0xb70]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xb70]
add rax, 0x17d
mov rcx, qword [rsp + 0xb70]
add rcx, 0x172
mov rdx, qword [rsp + 0xb70]
movsx edx, byte [rdx + 0x14c3]
mov r8, qword [rsp + 0xb70]
movsx r8d, byte [r8 + 0x14bc]
mov r9, qword [rsp + 0xb70]
add r9, 0x20b
mov r10, qword [rsp + 0xb70]
add r10, 0x1c
mov r11, qword [rsp + 0xb70]
add r11, 0xa2
mov rbx, qword [rsp + 0xb70]
add rbx, 0x61
mov rdi, qword [rsp + 0xb70]
add rdi, 0x40
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa8], rcx
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x90], edx
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0x27c]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x80], r8d
mov rax, qword [rsp + 0xb70]
mov rax, qword [rax + 0xc28]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], r9
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0xb3c]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0x224]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0x220]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x48], r10
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
mov r9d, dword [rsp + 0xb88]
mov r8, qword [rsp + 0xb80]
mov dl, 0x57
mov rcx, qword [rsp + 0xc8]
call fcn.18002c320
test eax, eax
je 0x18001bc3c
mov rax, qword [rsp + 0xb70]
mov dword [rax + 0x228], 0xffffff98
mov dword [rsp + 0xc0], 0xffffff98
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx]
mov dword [rax + 0x240], ecx
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 0x58]
mov rcx, qword [rsp + 0xb70]
mov eax, dword [rax + 0x64]
mov dword [rcx + 0x244], eax
jmp 0x18001c6c7
mov rax, qword [rsp + 0xb78]
cmp dword [rax + 0x10], 5
jne 0x18001bc5b
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x10], 0x7d0
jmp 0x18001bc74
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb70]
mov ecx, dword [rcx + 0x278]
mov dword [rax + 0x10], ecx
mov rcx, qword [rsp + 0xc8]
call fcn.1800286e0
mov rax, qword [rsp + 0xc8]
cmp dword [rax], 0
jne 0x18001c667
mov rax, qword [rsp + 0xc8]
cmp dword [rax + 8], 0x4f
jne 0x18001c3dc
mov rax, qword [rsp + 0xb78]
mov ecx, dword [rsp + 0xb90]
mov dword [rax + 0x1c], ecx
mov rax, qword [rsp + 0xb78]
mov dword [rax + 0x88], 1
mov rax, qword [rsp + 0xb78]
add rax, 0xcc
mov rcx, qword [rsp + 0xb78]
add rcx, 0xc8
mov rdx, qword [rsp + 0xb78]
add rdx, 0xc4
mov rbx, qword [rsp + 0xb78]
add rbx, 0xc0
mov rdi, qword [rsp + 0xb78]
add rdi, 0xb4
mov r8, qword [rsp + 0xb78]
add r8, 0xb0
mov r9, qword [rsp + 0xb78]
add r9, 0xac
mov r10, qword [rsp + 0xb78]
add r10, 0xa8
mov r11, qword [rsp + 0xb78]
add r11, 0xa4
lea rsi, [rsp + 0xd4]
mov qword [rsp + 0x60], rsi
lea rsi, [rsp + 0x730]
mov qword [rsp + 0x58], rsi
lea rsi, [rsp + 0x320]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r8
mov r8, r10
mov rdx, r11
mov rcx, qword [rsp + 0xc8]
call fcn.180029380
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb78]
mov ecx, dword [rcx + 0xc0]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb78]
mov ecx, dword [rcx + 0xc4]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb78]
mov ecx, dword [rcx + 0xc8]
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb78]
mov ecx, dword [rcx + 0xcc]
mov dword [rax + 0x3c], ecx
cmp dword [rsp + 0xd4], 0
je 0x18001be39
mov r9d, dword [rsp + 0xdc]
mov r8d, dword [rsp + 0xd4]
mov rdx, qword [rsp + 0xb78]
mov rcx, qword [rsp + 0xb70]
call fcn.180016dd0
mov rax, qword [rsp + 0xb78]
cmp qword [rax + 0x70], 0
je 0x18001beba
mov eax, dword [rsp + 0xba0]
cmp dword [rsp + 0xb90], eax
jne 0x18001be81
mov rdx, qword [rsp + 0xba8]
mov rcx, qword [rsp + 0xb98]
call fcn.1800fb190
test eax, eax
jne 0x18001be81
mov eax, dword [rsp + 0xbb0]
cmp dword [rsp + 0xb88], eax
je 0x18001beba
mov rax, qword [rsp + 0xb70]
add rax, 0x2a4
mov ecx, dword [rsp + 0xb88]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0xb98]
mov r8d, dword [rsp + 0xb90]
mov rdx, rax
mov rcx, qword [rsp + 0xb78]
call fcn.18001b350
xor eax, eax
cmp eax, 1
je 0x18001c387
mov rax, qword [rsp + 0xb78]
mov eax, dword [rax + 0xac]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0xb78]
mov eax, dword [rax + 0xb0]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0xb78]
mov eax, dword [rax + 0xb4]
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0xb3c]
mov dword [rsp + 0xe4], eax
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0xb40]
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0xb44]
mov dword [rsp + 0x104], eax
mov eax, dword [rsp + 0xe0]
cmp dword [rsp + 0xe4], eax
jl 0x18001bf93
mov eax, dword [rsp + 0xe0]
cmp dword [rsp + 0xe4], eax
jne 0x18001bfb3
mov eax, dword [rsp + 0xe8]
cmp dword [rsp + 0xec], eax
jl 0x18001bf93
mov eax, dword [rsp + 0xe8]
cmp dword [rsp + 0xec], eax
jne 0x18001bfb3
mov eax, dword [rsp + 0x100]
cmp dword [rsp + 0x104], eax
jg 0x18001bfb3
mov rax, qword [rsp + 0xb78]
add rax, 0x90
mov rdx, qword [rsp + 0xb80]
mov rcx, rax
call fcn.1800faf60
jmp 0x18001bfbe
mov dword [rsp + 0xc0], 0xffffff72
cmp dword [rsp + 0xc0], 0
je 0x18001bfcd
jmp 0x18001c387
mov rax, qword [rsp + 0xb70]
movsx eax, byte [rax + 0x14bc]
test eax, eax
je 0x18001c024
mov rax, qword [rsp + 0xb78]
cmp dword [rax + 0xc0], 0
je 0x18001c002
mov rax, qword [rsp + 0xb78]
cmp dword [rax + 0xcc], 0
jne 0x18001c024
mov dword [rsp + 0xc0], 0xffffff57
mov rax, qword [rsp + 0xb78]
mov dword [rax + 0x88], 5
jmp 0x18001c387
mov rax, qword [rsp + 0xb70]
movsx eax, byte [rax + 0x14c1]
test eax, eax
je 0x18001c380
mov rax, qword [rsp + 0xb78]
cmp dword [rax + 0xac], 0xa
jl 0x18001c380
mov qword [rsp + 0xf8], 0
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rsp + rax + 0x730]
test eax, eax
jne 0x18001c0a5
mov rax, qword [rsp + 0xb70]
movsx eax, byte [rax + 0x14c5]
test eax, eax
je 0x18001c095
mov rax, qword [rsp + 0xb70]
mov byte [rax + 0x14c6], 1
jmp 0x18001c0a0
mov dword [rsp + 0xc0], 0xffffff55
jmp 0x18001c380
mov dword [rsp + 0x108], 0
mov rax, qword [rsp + 0xb70]
cmp qword [rax + 0x1488], 0
je 0x18001c0d6
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rax + 0x1488]
call fcn.1800fb1f8
lea rdx, [rsp + 0x730]
mov rcx, qword [rsp + 0xb70]
call fcn.18000c1a0
mov rcx, qword [rsp + 0xb70]
mov qword [rcx + 0x1488], rax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rsp + rax + 0x320]
test eax, eax
je 0x18001c159
mov rax, qword [rsp + 0xb70]
cmp qword [rax + 0x1490], 0
je 0x18001c135
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rax + 0x1490]
call fcn.1800fb1f8
lea rdx, [rsp + 0x320]
mov rcx, qword [rsp + 0xb70]
call fcn.18000c1a0
mov rcx, qword [rsp + 0xb70]
mov qword [rcx + 0x1490], rax
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x138]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x178]
mov qword [rsp + 0x150], rax
mov eax, 1
imul rax, rax, 0
movsx eax, byte [rsp + rax + 0x320]
test eax, eax
je 0x18001c201
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x320]
mov rcx, qword [rsp + 0xb70]
call fcn.1800204e0
jmp 0x18001c216
mov r8d, reloc.WS2_32.dll_WSASetLastError
xor edx, edx
lea rcx, [rsp + 0x180]
call fcn.18012a620
mov r8d, Ordinal_217
xor edx, edx
lea rcx, [rsp + 0x1f0]
call fcn.18012a620
lea rax, [rsp + 0x108]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], 1
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0x150]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x158]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x168]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x170]
lea r8, [rsp + 0x730]
lea rdx, [rsp + 0x1f0]
mov rcx, qword [rsp + 0xb70]
call fcn.180035e40
cmp qword [rsp + 0xf8], 0
jne 0x18001c2e1
mov rax, qword [rsp + 0xb70]
movsx eax, byte [rax + 0x14c5]
test eax, eax
je 0x18001c2d1
mov rax, qword [rsp + 0xb70]
mov byte [rax + 0x14c6], 2
jmp 0x18001c2dc
mov dword [rsp + 0xc0], 0xffffff52
jmp 0x18001c380
mov rax, qword [rsp + 0xb70]
mov r9d, dword [rax + 0x298]
mov rax, qword [rsp + 0xb70]
mov r8, qword [rax + 0x290]
lea rdx, [rsp + 0x180]
mov rcx, qword [rsp + 0xf8]
call fcn.18001e830
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 1
je 0x18001c35a
mov rax, qword [rsp + 0xb70]
movsx eax, byte [rax + 0x14c5]
test eax, eax
jne 0x18001c35a
mov dword [rsp + 0xc0], 0xffffff56
mov rax, qword [rsp + 0xb70]
mov ecx, dword [rsp + 0xd8]
mov dword [rax + 0x244], ecx
jmp 0x18001c373
cmp dword [rsp + 0xd8], 1
je 0x18001c373
mov rax, qword [rsp + 0xb70]
mov byte [rax + 0x14c6], 2
mov rcx, qword [rsp + 0xf8]
call fcn.18006c4d0
jmp 0x18001c387
cmp dword [rsp + 0xc0], 0
je 0x18001c3d7
mov rax, qword [rsp + 0xb70]
mov ecx, dword [rsp + 0xc0]
mov dword [rax + 0x228], ecx
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx]
mov dword [rax + 0x240], ecx
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x244], ecx
jmp 0x18001c665
mov rax, qword [rsp + 0xc8]
cmp dword [rax + 8], 0x69
jne 0x18001c5e1
lea r9, [rsp + 0xb88]
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
call fcn.180029730
mov rax, qword [rsp + 0x130]
movsx eax, byte [rax]
test eax, eax
je 0x18001c486
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x2d0]
call fcn.1800faf60
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0xb98], rax
mov rax, qword [rsp + 0xb78]
cmp dword [rax + 0x10], 5
jne 0x18001c486
mov r8d, 0x40
lea rdx, [rsp + 0x2d0]
mov rax, qword [rsp + 0xb78]
mov rcx, qword [rax + 0x30]
call fcn.18000c140
mov rax, qword [rsp + 0xb78]
mov ecx, dword [rsp + 0xd0]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0xb78]
mov dword [rax + 0x88], 0
mov rdx, qword [rsp + 0xb78]
mov rcx, qword [rsp + 0xb70]
call fcn.1800284d0
cmp qword [rsp + 0xb98], 0
je 0x18001c4c7
mov rax, qword [rsp + 0xb98]
movsx eax, byte [rax]
test eax, eax
jne 0x18001c4ec
mov rax, qword [rsp + 0xb70]
mov dword [rax + 0x228], 0xffffff58
mov rax, qword [rsp + 0xb70]
mov eax, dword [rax + 0x228]
jmp 0x18001c6ce
mov dword [rsp + 0x20], 0
mov r9, qword [rsp + 0xb98]
mov r8d, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0xb78]
mov rcx, qword [rsp + 0xb70]
call fcn.18001b4f0
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0xc0], 0
jne 0x18001c5dc
mov rax, qword [rsp + 0xb78]
mov ecx, dword [rsp + 0xd0]
mov dword [rax + 0x1c], ecx
mov eax, dword [rsp + 0xbb0]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xba8]
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0xba0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xb98]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xb88]
mov r8, qword [rsp + 0xb80]
mov rdx, qword [rsp + 0xb78]
mov rcx, qword [rsp + 0xb70]
call fcn.18001b800
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0xc0], 0
je 0x18001c5dc
cmp qword [rsp + 0xb78], 0
je 0x18001c5dc
cmp qword [rsp + 0xc8], 0
je 0x18001c5dc
mov rdx, qword [rsp + 0xb78]
mov rcx, qword [rsp + 0xb70]
call fcn.1800284d0
jmp 0x18001c665
mov rax, qword [rsp + 0xc8]
cmp dword [rax + 8], 0x45
jne 0x18001c614
lea rdx, [rsp + 0x10c]
mov rcx, qword [rsp + 0xc8]
call fcn.1800285f0
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0xc0], eax
jmp 0x18001c61f
mov dword [rsp + 0xc0], 0xffffff96
mov rax, qword [rsp + 0xb70]
mov ecx, dword [rsp + 0xc0]
mov dword [rax + 0x228], ecx
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx]
mov dword [rax + 0x240], ecx
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x244], ecx
jmp 0x18001c6c7
mov rax, qword [rsp + 0xb70]
mov dword [rax + 0x228], 0xffffff97
mov dword [rsp + 0xc0], 0xffffff97
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx]
mov dword [rax + 0x240], ecx
mov rax, qword [rsp + 0xb70]
mov rcx, qword [rsp + 0xc8]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x244], ecx
mov rax, qword [rsp + 0xb78]
mov dword [rax + 0x88], 2
mov eax, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb40]
xor rcx, rsp
call fcn.1800e95d0
add rsp, 0xb50
pop rdi
pop rsi
pop rbx
ret