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

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push r15
sub rsp, 0xb0
mov rbp, qword [rcx]
mov rsi, rcx
mov r15, qword [rsp + 0xf0]
test r8, r8
jne 0x18023ed06
test r15, r15
je 0x18023f3ea
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rcx + 0x148]
test rdi, rdi
je 0x18023f3e2
test r15, r15
jne 0x18023ed42
mov rdx, qword [rdi]
mov rcx, rbp
call fcn.18025f5a0
movzx r9d, byte [rsp + 0xe8]
test eax, eax
je 0x18023ed42
or dword [rdi + 0x40], 0x1000
cmp byte [rbp + 0xb5], 0
je 0x18023ed75
test r15, r15
je 0x18023ed64
lea rdx, [0x1800935b8]
mov rcx, rsi
call fcn.18023f590
jmp 0x18023f3e2
mov eax, dword [rbp + 0xb0]
mov dword [rdi + 0x38], eax
cmp eax, 1
jne 0x18023ed75
or dword [rdi + 0x40], eax
test r9b, r9b
jns 0x18023edbd
mov eax, dword [rdi + 0x40]
mov rcx, rsi
test al, 8
je 0x18023ed95
lea rdx, [0x180070678]
call fcn.18023f590
jmp 0x18023f3e2
test al, 4
jne 0x18023edad
mov r8, qword [rdi]
lea rdx, [0x1800706b0]
call fcn.18023f590
jmp 0x18023f3e2
or eax, 0x280
mov rdx, rdi
mov dword [rdi + 0x40], eax
call fcn.18020efb0
mov rcx, qword [rdi + 0x70]
mov qword [rsp + 0x98], r12
mov r12d, 0xffff8000
mov qword [rsp + 0x90], r13
xor r13d, r13d
mov dword [rsp + 0xd0], r12d
test rcx, rcx
je 0x18023ee14
mov rax, qword [rbp + 0x20]
mov r12d, r13d
add rax, 0x18
mov dword [rsp + 0xd0], r13d
cmp qword [rax], rcx
je 0x18023ee14
nop
inc r12d
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x18023ee00
mov dword [rsp + 0xd0], r12d
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x18023ee4f
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rsi
lea r8d, [r9 + 4]
call fcn.18025a000
cmp dword [rsi + 0x30], r13d
je 0x18023ee4f
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x18023ee4b
mov rcx, rbp
call fcn.1802145f0
mov qword [rdi + 0x30], r13
test byte [rdi + 0x40], 0x60
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x88], r14
je 0x18023ef5c
xor eax, eax
mov r15d, eax
cmp ax, word [rdi + 0x46]
jge 0x18023ef3d
xor r12d, r12d
mov ebx, r12d
nop
mov rax, qword [rdi + 8]
test byte [rax + rbx + 0x1c], 0x60
je 0x18023ef19
mov r14, qword [rax + rbx + 8]
mov r8d, 8
mov r9, r14
mov qword [rsp + 0x20], r12
mov rdx, rdi
mov rcx, rsi
call fcn.18025a000
test eax, eax
je 0x18023ef1c
test r14, r14
je 0x18023eec1
mov rdx, r14
mov rcx, rbp
call fcn.180243820
mov edx, 0x48
mov dword [rsp + 0x54], r12d
mov rcx, rbp
call fcn.18023cbb0
test rax, rax
je 0x18023ef0e
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], rcx
or ecx, 0xffffffff
mov word [rax + 0x32], cx
mov byte [rax], 0x77
mov dword [rax + 0x28], 1
mov rcx, qword [rdi + 8]
mov qword [rcx + rbx + 8], rax
jmp 0x18023ef1c
inc r13d
movsx eax, word [rdi + 0x46]
inc r15d
add rbx, 0x20
cmp r15d, eax
jl 0x18023ee80
mov r12d, dword [rsp + 0xd0]
test r13d, r13d
jne 0x18023ef51
lea rdx, [0x1800706d0]
mov rcx, rsi
call fcn.18023f590
jmp 0x18023f3c2
mov r15, qword [rsp + 0xf0]
xor r13d, r13d
mov rcx, rdi
call fcn.1802117b0
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x18023ef81
nop dword [rax]
mov rcx, rbx
call fcn.1802116d0
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18023ef70
cmp byte [rbp + 0xb5], 0
jne 0x18023f325
mov r14, qword [rsi + 0x10]
test r14, r14
jne 0x18023efc1
cmp qword [rsi + 0xa0], r14
jne 0x18023efad
mov rax, qword [rsi]
test byte [rax + 0x5c], 8
jne 0x18023efad
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.1802666c0
mov r14, rax
test rax, rax
je 0x18023f3c2
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x18023efea
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.18021bc70
jmp 0x18023f015
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], reloc.WSOCK32.dll_WSACleanup
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [rdi + 0x18]
lea rcx, [0x180070704]
test rax, rax
lea r8, [0x1800706fc]
lea r13, [0x18006c984]
cmovne r8, rcx
lea rcx, [0x18006ff14]
cmovne r13, rcx
test r15, r15
je 0x18023f22b
inc dword [rsi + 0x38]
mov edx, 0x61
mov ebx, dword [rsi + 0x38]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
lea r8d, [rdx - 0x60]
lea eax, [rbx + 1]
mov dword [rsp + 0x50], eax
inc eax
mov dword [rsi + 0x38], eax
mov rax, qword [rsi + 0xa0]
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, r14
mov r9d, dword [rsi + 0x7c]
call fcn.180265c30
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x18023f0af
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov ecx, reloc.WSOCK32.dll_recv
mov word [rax + rdx*8 + 2], cx
xor r9d, r9d
mov dword [rsi + 0x34], 2
mov eax, dword [r14 + 0x90]
mov r8d, ebx
mov dword [rsp + 0xd0], eax
mov rcx, r14
inc eax
lea edx, [r9 + 0xd]
mov dword [rsp + 0x20], eax
call fcn.180265c30
cmp dword [rsi + 0x30], 0
jne 0x18023f3c2
mov r8b, 0x41
mov rdx, r15
mov rcx, rsi
call fcn.18025a100
test rax, rax
je 0x18023f3c2
movzx ecx, word [rax + 0x46]
mov word [rdi + 0x48], cx
mov word [rdi + 0x46], cx
mov rcx, qword [rax + 8]
mov qword [rdi + 8], rcx
xor ecx, ecx
mov word [rax + 0x46], cx
mov qword [rax + 8], rcx
cmp qword [rbp + 0x2d8], rcx
jne 0x18023f12a
add dword [rax + 0x3c], 0xffffffff
jne 0x18023f137
mov rdx, rax
mov rcx, rbp
call fcn.1802108a0
xor ecx, ecx
mov qword [rsp + 0x70], rcx
lea r8, [rsp + 0x58]
mov dword [rsp + 0x68], ecx
mov rdx, r15
mov rcx, rsi
mov byte [rsp + 0x58], recv
mov dword [rsp + 0x5c], ebx
mov qword [rsp + 0x60], 0
call fcn.18025bbf0
cmp dword [rsi + 0x30], 0
jne 0x18023f3c2
mov edx, ebx
mov rcx, r14
call fcn.180266e90
mov edx, dword [rsp + 0xd0]
mov rcx, r14
call fcn.18026f6d0
mov r8d, dword [rsp + 0x5c]
mov edx, recv
mov rcx, r14
call fcn.180265b50
mov r9d, dword [rsp + 0x68]
mov edx, 0x5b
mov r8d, dword [rsp + 0x64]
mov rcx, r14
mov r15d, dword [rsp + 0x50]
mov ebx, eax
mov dword [rsp + 0x20], r15d
call fcn.180265c30
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.180260c60
mov edx, 0x79
lea r9d, [r15 + 1]
mov rcx, r14
lea r8d, [rdx - 0x78]
call fcn.180265bc0
mov edx, 0x7a
lea eax, [r15 + 1]
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea r8d, [rdx - 0x79]
call fcn.180265c30
mov edx, ebx
mov rcx, r14
call fcn.18026ef30
mov edx, ebx
mov rcx, r14
call fcn.18026f6d0
mov edx, reloc.WSOCK32.dll_WSACleanup
mov rcx, r14
lea r8d, [rdx - 0x73]
call fcn.180265b50
mov rdx, rdi
mov rcx, rbp
call fcn.18020fce0
jmp 0x18023f275
cmp byte [rsp + 0xe8], 0
lea rcx, [rsi + 0x108]
jne 0x18023f244
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
mov r9d, dword [rcx]
sub r9d, dword [rsi + 0xf8]
cmp byte [rax], 0x3b
je 0x18023f25a
add r9d, dword [rcx + 8]
mov rax, qword [rsi + 0xf8]
lea rdx, [0x180070710]
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.180250d90
mov rcx, qword [rdi]
lea rdx, [0x180070720]
mov r8, qword [rbp + 0x20]
mov r15, rax
mov eax, dword [rsi + 0x78]
mov r9, r13
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x7c]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movsxd rbx, r12d
shl rbx, 5
mov r8, qword [r8 + rbx]
call fcn.180251520
mov rdx, r15
mov rcx, rbp
call fcn.18023ca40
mov edx, r12d
mov rcx, rsi
call fcn.1802382b0
test byte [rdi + 0x40], 8
je 0x18023f2f8
mov r8, qword [rbp + 0x20]
mov rax, qword [r8 + rbx + 0x18]
cmp qword [rax + 0x68], 0
jne 0x18023f2f8
mov r8, qword [r8 + rbx]
lea rdx, [0x180070788]
mov rcx, rsi
call fcn.180251520
mov r8, qword [rdi]
lea rdx, [0x1800707b8]
mov rcx, rbp
call fcn.180250d90
mov r8, rax
mov edx, r12d
mov rcx, r14
call fcn.180265f60
cmp byte [rbp + 0xb5], 0
je 0x18023f3c2
mov rcx, qword [rdi + 0x70]
mov r8, rdi
mov rdx, qword [rdi]
add rcx, 8
call fcn.18024c8d0
test rax, rax
je 0x18023f384
cmp byte [rbp + 0x61], 0
jne 0x18023f3c2
cmp byte [rbp + 0x62], 0
jne 0x18023f3c2
cmp dword [rbp + 0xd4], 0
mov byte [rbp + 0x61], 1
jle 0x18023f360
mov dword [rbp + 0x170], 1
inc dword [rbp + 0x178]
xor eax, eax
mov word [rbp + 0x17c], ax
mov rax, qword [rbp + 0x138]
test rax, rax
je 0x18023f3c2
mov dword [rax + 0x18], 7
jmp 0x18023f3c2
mov qword [rsi + 0x148], rax
or dword [rbp + 0x2c], 1
cmp qword [rdi + 0x18], rax
jne 0x18023f3c2
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsi + 0xf8]
cmp qword [rdx], rax
mov rax, qword [rsp + 0xe0]
cmovne rax, rdx
mov edx, dword [rax]
sub edx, ecx
call fcn.180265320
add eax, 0xd
mov dword [rdi + 0x50], eax
mov rbx, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
add rsp, 0xb0
pop r15
pop rsi
pop rbp
ret