Function at 0x1800dacf0
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x368
mov rsi, rdx
mov qword [rsp + 0x50], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
mov qword [rsp + 0x58], r8
je 0x1800dad45
cmp eax, 3
jne case.0x1800db715.1
mov r12, r8
lea r14, [rsi + 0x1f0]
movzx eax, byte [rsi + 0x280]
lea rcx, [0x1800dbf54]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rcx
mov qword [rsi + 0x20], 0
mov qword [rsi + 0x40], rax
xor r12d, r12d
mov rcx, qword [rax + 0x10]
mov r15, r12
cmp rcx, qword [rax + 0x18]
jne 0x1800db227
jmp 0x1800dba5c
ud2
lea r13, [rsi + 0x288]
lea r15, [rsi + 0x2f8]
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x118]
cmp eax, 1
je 0x1800daddb
xor edi, edi
test eax, eax
jne 0x1800dae06
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
lea rcx, [rdi + 0xc8]
lea rdx, [0x180111950]
call fcn.1800fe400
mov byte [rdi + 0x118], 1
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x114], 0
setne cl
cmp byte [rax + 0x115], 0
sete dil
and dil, cl
lea rcx, [rsp + 0x1d0]
mov rdx, r15
mov r8, r12
call fcn.1800dc650
mov rbx, qword [rsp + 0x1d0]
cmp rbx, 3
jne 0x1800daf38
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x118]
cmp eax, 1
je 0x1800dae7b
test eax, eax
jne 0x1800daeb3
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0xc8]
lea rdx, [0x180111950]
call fcn.1800fe400
mov byte [rbx + 0x118], 1
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx ebx, byte [rax + 0x114]
test bl, bl
sete cl
cmp byte [rax + 0x115], 0
setne al
or al, cl
or dil, al
cmp dil, 1
jne 0x1800daf8a
mov rdx, qword [r12]
mov rcx, r13
call fcn.18011b1c0
test al, al
jne 0x1800db018
mov rcx, r13
call fcn.1800dc5d0
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800daef4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbef6
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbef6
mov r15, rax
mov qword [rax], 1
lea rax, [0x1801db670]
mov qword [r15 + 8], rax
mov byte [r15 + 0x10], 0x16
inc r15
mov ebx, 2
cmp ebx, 2
je 0x1800db102
jmp 0x1800daf69
mov r15, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e0]
mov r12, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x1f0]
mov rcx, r13
call fcn.1800dc5d0
cmp ebx, 2
je 0x1800db102
mov byte [rsi + 0x280], 1
mov rcx, r14
call fcn.1800dbf70
mov r8, qword [rsi + 0x20]
test r8, r8
jne 0x1800dbcb3
jmp 0x1800dbe9c
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
mov byte [rdi + 0x114], 0
mov rdx, qword [r12]
mov rcx, r13
call fcn.18011b1c0
mov ebp, eax
movzx eax, byte [rdi + 0x118]
cmp eax, 1
je 0x1800dafef
test eax, eax
jne 0x1800db00f
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
lea rcx, [rdi + 0xc8]
lea rdx, [0x180111950]
call fcn.1800fe400
mov byte [rdi + 0x118], 1
mov eax, dword [0x1802199d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x114], bl
mov byte [rax + 0x115], 0
test bpl, bpl
je 0x1800daec7
mov al, 3
jmp 0x1800dba3f
movups xmm0, xmmword [rsi + 0x270]
movups xmmword [rsi + 0x2f8], xmm0
movups xmm0, xmmword [rsi + 0x260]
movups xmmword [rsi + 0x2e8], xmm0
movups xmm0, xmmword [rsi + 0x250]
movups xmmword [rsi + 0x2d8], xmm0
movups xmm0, xmmword [rsi + 0x240]
movups xmmword [rsi + 0x2c8], xmm0
movups xmm0, xmmword [rsi + 0x200]
movups xmm1, xmmword [rsi + 0x210]
movups xmm2, xmmword [rsi + 0x220]
movups xmm3, xmmword [rsi + 0x230]
movups xmmword [rsi + 0x2b8], xmm3
movups xmmword [rsi + 0x2a8], xmm2
movups xmmword [rsi + 0x298], xmm1
movups xmmword [rsi + 0x288], xmm0
lea rdx, [rsi + 0x288]
lea rcx, [rsp + 0x1d0]
mov r8, r12
call fcn.1800dc650
mov rbx, qword [rsp + 0x1d0]
cmp rbx, 3
je 0x1800dba3d
mov r15, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e0]
mov r12, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x1f0]
movzx eax, byte [rsi + 0x300]
cmp eax, 3
je 0x1800db5c2
test eax, eax
jne 0x1800db0f9
mov rcx, qword [rsi + 0x2a8]
call qword [sym.imp.ws2_32.dll_closesocket]
cmp ebx, 2
jne 0x1800daf69
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800db127
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbee5
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x11
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbee5
mov r12, rax
movups xmm0, xmmword [0x1801dc0cd]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x72
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800db174
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbed4
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbed4
mov r13, rax
mov qword [rax], r15
mov byte [rsi + 0x280], 1
mov rcx, r14
call fcn.1800dbf70
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1800db1f7
cmp qword [rsi + 0x28], 0
je 0x1800db1bf
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x1800db1f7
mov rax, qword [rsi + 0x38]
call qword [rax]
mov rax, qword [rsi + 0x38]
cmp qword [rax + 8], 0
je 0x1800db1f7
mov r8, qword [rsi + 0x30]
cmp qword [rax + 0x10], 0x11
jb 0x1800db1e8
mov r8, qword [r8 - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x20], r12
mov qword [rsi + 0x28], 0x11
mov qword [rsi + 0x30], r13
lea rax, [0x1801db218]
mov qword [rsi + 0x38], rax
mov rax, qword [rsi + 0x40]
mov rcx, qword [rax + 0x10]
mov r15, r12
cmp rcx, qword [rax + 0x18]
je 0x1800dba5c
lea rdx, [rcx + 0x20]
mov qword [rax + 0x10], rdx
movzx eax, word [rcx]
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x2de], xmm0
movups xmm0, xmmword [rcx + 2]
movaps xmmword [rsp + 0x2d0], xmm0
cmp ax, 2
je 0x1800dba58
mov word [rsi + 0x48], ax
movaps xmm0, xmmword [rsp + 0x2d0]
movups xmmword [rsi + 0x4a], xmm0
movups xmm0, xmmword [rsp + 0x2de]
movups xmmword [rsi + 0x58], xmm0
mov rcx, qword [rsi + 0x10]
mov rbx, qword [rsi + 0x18]
mov r12, qword [rcx + 0x20]
mov edi, dword [rcx + 0x28]
test ax, ax
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov rax, qword [0x1802198e8]
cmp rax, 3
jne 0x1800dba0f
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 1
mov r8d, 6
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x1800dba76
mov r14, rax
mov dword [rsp + 0x60], 1
lea r8, [rsp + 0x60]
mov rcx, rax
mov edx, 0x8004667e
call qword [sym.imp.ws2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x1800dbb2b
mov ebp, dword [rbx + 0x48]
cmp ebp, 0x3b9aca00
je 0x1800db3d2
mov r15, qword [rbx + 0x40]
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x60]
mov rcx, r14
mov edx, 0xffff
mov r8d, 8
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1800db3cd
mov ecx, 0x3e8
mov rax, r15
mul rcx
mov ecx, ebp
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add rcx, rax
adc rdx, 0
mov eax, 0xffffffff
cmp rcx, rax
cmovae rcx, rax
xor eax, eax
neg rdx
sbb eax, eax
or eax, ecx
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x4c], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x60]
mov rcx, r14
mov edx, 0x98000004
mov r9d, 0xc
call qword [sym.imp.ws2_32.dll_WSAIoctl]
cmp eax, 0xffffffff
jne 0x1800db3d2
call fcn.18016fe79
cmp word [rsi + 0x48], 0
je 0x1800db44b
mov ax, 0x17
mov r8d, 0x1c
cmp byte [rbx + 0x56], 0
je 0x1800db4b8
movups xmm0, xmmword [rbx + 0x57]
movups xmmword [rsp + 0x68], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x60], 0x17
mov dword [rsp + 0xe0], 0x1c
jmp 0x1800db515
mov ax, 2
mov r8d, 0x10
cmp byte [rbx + 0x51], 0
je 0x1800db4b8
mov eax, dword [rbx + 0x52]
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0xd8], 0
mov dword [rsp + 0x60], 2
mov dword [rsp + 0x64], eax
mov dword [rsp + 0xe0], 0x10
jmp 0x1800db515
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0xd8], 0
mov word [rsp + 0x60], ax
mov word [rsp + 0x62], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0xe0], r8d
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [sym.imp.ws2_32.dll_bind]
xor r13d, r13d
test eax, eax
je 0x1800db53a
call fcn.18016fe79
mov r13d, eax
shl r13, 0x20
or r13, 2
test r13, r13
jne 0x1800dbbda
cmp byte [rbx + 0x68], 0
je 0x1800db577
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x60]
mov rcx, r14
mov edx, 0xffff
mov r8d, 4
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1800db5dc
cmp qword [rbx], 0
je 0x1800db5e7
mov rax, qword [rbx + 8]
mov rcx, rax
shr rcx, 0x20
xor edx, edx
neg rcx
sbb edx, edx
or edx, eax
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x60]
mov rcx, r14
mov edx, 0xffff
mov r8d, 0x1001
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1800db5e7
call fcn.18016fe79
jmp 0x1800db5e7
lea rcx, [rsi + 0x2b8]
call fcn.1800dc540
cmp ebx, 2
je 0x1800db102
jmp 0x1800daf69
call fcn.18016fe79
cmp qword [rbx], 0
jne 0x1800db57d
cmp qword [rbx + 0x10], 0
je case.default.0x1800db715
mov rax, qword [rbx + 0x18]
mov rcx, rax
shr rcx, 0x20
xor edx, edx
neg rcx
sbb edx, edx
or edx, eax
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x60]
mov rcx, r14
mov edx, 0xffff
mov r8d, 0x1002
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne case.default.0x1800db715
call fcn.18016fe79
movups xmm0, xmmword [rsi + 0x48]
movups xmm1, xmmword [rsi + 0x58]
lea r15, [rsi + 0x68]
mov qword [rsi + 0x68], r12
mov dword [rsi + 0x70], edi
movups xmmword [rsi + 0x78], xmm0
movups xmmword [rsi + 0x88], xmm1
mov qword [rsi + 0x98], r14
movups xmm0, xmmword [rsp + 0x150]
movups xmm1, xmmword [rsp + 0x160]
movups xmm2, xmmword [rsp + 0x170]
movups xmm3, xmmword [rsp + 0x180]
movups xmmword [rsi + 0xa0], xmm0
movups xmmword [rsi + 0xb0], xmm1
movups xmmword [rsi + 0xc0], xmm2
movups xmmword [rsi + 0xd0], xmm3
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rsi + 0xe0], xmm0
mov byte [rsi + 0xf0], 0
mov eax, dword [rsp + 0x2f8]
mov ecx, dword [rsp + 0x2fb]
mov dword [rsi + 0xf4], ecx
mov dword [rsi + 0xf1], eax
mov byte [rsi + 0xf8], 0
lea rcx, [rsi + 0xf9]
lea rdx, [rsp + 0x1d0]
mov r8d, 0xf7
call fcn.180170ea0
lea r14, [rsi + 0x1f0]
mov r8d, 0x188
mov rcx, r14
mov rdx, r15
call fcn.180170ea0
movzx eax, byte [rsi + 0x280]
lea rcx, [0x1800dbf54]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov r12, qword [rsp + 0x58]
jmp rax
mov ebp, dword [rsi + 0x1f8]
cmp ebp, 0x3b9aca00
je 0x1800db01f
mov rdi, qword [rsi + 0x1f0]
movups xmm0, xmmword [rsi + 0x270]
movaps xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rsi + 0x260]
movaps xmmword [rsp + 0x1b0], xmm0
movups xmm0, xmmword [rsi + 0x250]
movaps xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [rsi + 0x240]
movaps xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rsi + 0x200]
movups xmm1, xmmword [rsi + 0x210]
movups xmm2, xmmword [rsi + 0x220]
movups xmm3, xmmword [rsi + 0x230]
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x1d0], 0
lea rcx, [rsp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800dbf07
mov r15, qword [rsp + 0x1d0]
mov r8, qword [0x180219970]
test r8, r8
jne 0x1800db818
mov qword [rsp + 0x1d0], 0
lea rcx, [rsp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800dbf07
mov r8, qword [rsp + 0x1d0]
mov qword [0x180219970], r8
test r8, r8
je case.0x1800db715.1
mov rax, r15
or rax, r8
shr rax, 0x20
je 0x1800db831
mov rax, r15
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800db83b
mov eax, r15d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1800db855
xor edx, edx
div r8
jmp 0x1800db85a
xor edx, edx
div r8d
imul r9, rcx, 0x3b9aca00
add r9, rax
mov rcx, r9
shr rcx, 9
movabs r10, 0x44b82fa09b5a53
mov rax, rcx
mul r10
mov r8, rdx
shr r8, 0xb
add r8, rdi
jae 0x1800db896
lea rcx, [rsp + 0x2f8]
call fcn.18011b9b0
jmp 0x1800db8ea
mov rax, rcx
mul r10
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r9d, eax
add ebp, r9d
cmp ebp, 0x3b9aca00
jb 0x1800db8bf
add ebp, 0xc4653600
inc r8
je 0x1800db887
mov eax, ebp
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub ebp, eax
lea rcx, [rsp + 0x2f8]
mov rdx, r8
mov r8d, ebp
call fcn.18011afb0
movups xmm0, xmmword [rsp + 0x358]
movaps xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x348]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x338]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [rsp + 0x2f8]
movups xmm1, xmmword [rsp + 0x308]
movups xmm2, xmmword [rsp + 0x318]
movups xmm3, xmmword [rsp + 0x328]
movaps xmmword [rsp + 0x200], xmm3
movaps xmmword [rsp + 0x1f0], xmm2
movaps xmmword [rsp + 0x1e0], xmm1
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x250], xmm1
movaps xmmword [rsp + 0x260], xmm2
movaps xmmword [rsp + 0x270], xmm3
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x280], xmm0
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x290], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x2a0], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x2b0], xmm0
lea r15, [rsp + 0x60]
lea rdx, [rsp + 0x1d0]
mov r8d, 0xf0
mov rcx, r15
call fcn.180170ea0
lea rcx, [rsi + 0x288]
mov r8d, 0xf0
mov rdx, r15
call fcn.180170ea0
jmp case.0x1800db715.3
mov byte [rsp + 0x4c], 1
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x60], rax
lea rcx, [0x1802198e8]
lea r9, [0x1801de050]
lea r8, [rsp + 0x60]
xor edx, edx
call fcn.1801849f0
jmp 0x1800db2a0
mov al, 4
mov byte [rsi + 0x280], al
mov rax, qword [rsp + 0x50]
mov qword [rax], 3
mov al, 3
jmp 0x1800dbeb6
mov r15, qword [rsi + 0x20]
test r15, r15
je 0x1800dbd0e
mov rdi, qword [rsi + 0x28]
mov r12, qword [rsi + 0x30]
mov rbp, qword [rsi + 0x38]
jmp 0x1800dbe97
call fcn.18016fe79
mov ebx, eax
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbaa2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbf10
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0xe
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbf10
mov r15, rax
movabs rax, 0x726f727265206e65
mov qword [r15 + 6], rax
movabs rax, 0x6e65706f20706374
mov qword [r15], rax
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbafc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbed4
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbed4
mov r12, rax
shl rbx, 0x20
or rbx, 2
mov qword [rax], rbx
mov edi, 0xe
jmp 0x1800dbc7a
call fcn.18016fe79
mov ebx, eax
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbb57
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbf21
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x19
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbf21
mov r15, rax
movups xmm0, xmmword [0x1801ca401]
movups xmmword [rax + 9], xmm0
movups xmm0, xmmword [str.tcp_set_nonblocking_errortcp_bind_local_error]
movups xmmword [rax], xmm0
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbbab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbed4
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbed4
mov r12, rax
shl rbx, 0x20
or rbx, 2
mov qword [rax], rbx
mov edi, 0x19
jmp 0x1800dbc71
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbbff
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbf32
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbf32
mov r15, rax
movups xmm0, xmmword [0x1801ca411]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0x726f7272
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbc4f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbed4
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbed4
mov r12, rax
mov qword [rax], r13
mov edi, 0x14
mov rcx, r14
call qword [sym.imp.ws2_32.dll_closesocket]
mov qword [rsi + 0x78], r15
mov qword [rsi + 0x80], rdi
mov qword [rsi + 0x88], r12
lea rbp, [0x1801c9420]
mov qword [rsi + 0x90], rbp
mov dword [rsi + 0x70], 0x3b9aca01
mov ebx, 2
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1800dbe9c
cmp qword [rsi + 0x28], 0
je 0x1800dbcc9
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x1800dbe9c
mov rax, qword [rsi + 0x38]
call qword [rax]
mov rax, qword [rsi + 0x38]
cmp qword [rax + 8], 0
je 0x1800dbe9c
mov r8, qword [rsi + 0x30]
cmp qword [rax + 0x10], 0x11
jb 0x1800dbcfa
mov r8, qword [r8 - 8]
mov rcx, qword [0x180219958]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800dbe9c
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbd33
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbf43
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbf43
mov rbx, rax
movups xmm0, xmmword [0x1801dc0ba]
movups xmmword [rax], xmm0
mov dword [rax + 0xf], 0x656c6261
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbd83
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbef6
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbef6
mov r14, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x13
mov qword [rax + 0x10], 0x13
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbdd5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbef6
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbef6
mov rbx, rax
mov qword [rax], r14
lea rax, fcn.18007ad00
mov qword [rbx + 8], rax
mov byte [rbx + 0x10], 7
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbe26
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbee5
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 0x11
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbee5
mov r15, rax
movups xmm0, xmmword [0x1801dc0cd]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x72
mov rcx, qword [0x180219958]
test rcx, rcx
jne 0x1800dbe6f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbed4
mov rcx, rax
mov qword [0x180219958], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbed4
mov r12, rax
inc rbx
mov qword [rax], rbx
lea rbp, [0x1801db218]
mov edi, 0x11
mov ebx, 2
mov rax, qword [rsp + 0x50]
mov qword [rax], rbx
mov qword [rax + 8], r15
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], rbp
mov al, 1
mov byte [rsi + 0x378], al
add rsp, 0x368
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov ecx, 8
mov edx, 8
call fcn.18017ea70
ud2
mov ecx, 1
mov edx, 0x11
call fcn.18017ea70
ud2
mov ecx, 8
mov edx, 0x18
call fcn.18017ea70
ud2
call fcn.18016fe79
ud2
mov ecx, 1
mov edx, 0xe
call fcn.18017ea70
ud2
mov ecx, 1
mov edx, 0x19
call fcn.18017ea70
ud2
mov ecx, 1
mov edx, 0x14
call fcn.18017ea70
ud2
mov ecx, 1
mov edx, 0x13
call fcn.18017ea70
ud2