Function at 0x1800da930
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 0x1800da985
cmp eax, 3
jne case.0x1800db2eb.1
mov r12, r8
lea r14, [rsi + 0x1f0]
movzx eax, byte [rsi + 0x280]
lea rcx, [0x1800dbb2c]
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 0x1800dae02
jmp 0x1800db632
ud2
lea r13, [rsi + 0x288]
lea r15, [rsi + 0x2f8]
mov eax, dword [0x18021a9d8]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
lea rax, [rcx + 0xd0]
cmp qword [rcx + 0xc8], 0
jne 0x1800da9f9
call fcn.1800b0280
xor edi, edi
test rax, rax
je 0x1800daa11
cmp byte [rax + 0x58], 0
setne cl
sete dl
cmp byte [rax + 0x59], 0
sete dil
or dil, dl
and dil, cl
lea rcx, [rsp + 0x1d0]
mov rdx, r15
mov r8, r12
call fcn.1800dc220
mov rbx, qword [rsp + 0x1d0]
cmp rbx, 3
jne 0x1800dab0c
mov eax, dword [0x18021a9d8]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
lea rax, [rcx + 0xd0]
cmp qword [rcx + 0xc8], 0
jne 0x1800daa64
call fcn.1800b0280
test rax, rax
je 0x1800daa87
cmp byte [rax + 0x58], 0
sete cl
setne dl
cmp byte [rax + 0x59], 0
setne al
and al, dl
or dil, cl
or dil, al
cmp dil, 1
jne 0x1800dab5e
mov rdx, qword [r12]
mov rcx, r13
call fcn.18011c880
test al, al
jne 0x1800dabe8
mov rcx, r13
call fcn.1800dc1a0
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800daac8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbacc
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbacc
mov r15, rax
mov qword [rax], 1
lea rax, [0x1801dc450]
mov qword [r15 + 8], rax
mov byte [r15 + 0x10], 0x16
inc r15
mov ebx, 2
cmp ebx, 2
je 0x1800dacdd
jmp 0x1800dab3d
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.1800dc1a0
cmp ebx, 2
je 0x1800dacdd
mov byte [rsi + 0x280], 1
mov rcx, r14
call fcn.1800dbb40
mov r8, qword [rsi + 0x20]
test r8, r8
jne 0x1800db889
jmp 0x1800dba72
mov eax, dword [0x18021a9d8]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
lea rax, [rcx + 0xd0]
cmp qword [rcx + 0xc8], 0
jne 0x1800dab90
call fcn.1800b0280
test rax, rax
je 0x1800daa87
movzx ebx, byte [rax + 0x58]
movzx edi, byte [rax + 0x59]
mov byte [rax + 0x58], 0
mov rdx, qword [r12]
mov rcx, r13
call fcn.18011c880
mov ebp, eax
mov eax, dword [0x18021a9d8]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
lea rax, [rcx + 0xd0]
cmp qword [rcx + 0xc8], 0
jne 0x1800dabd8
call fcn.180111aa0
test rax, rax
je 0x1800dabef
mov byte [rax + 0x58], bl
mov byte [rax + 0x59], dil
test bpl, bpl
je 0x1800daa9b
mov al, 3
jmp 0x1800db615
test bpl, bpl
je 0x1800daa9b
jmp 0x1800dabe8
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.1800dc220
mov rbx, qword [rsp + 0x1d0]
cmp rbx, 3
je 0x1800db613
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 0x1800db199
test eax, eax
jne 0x1800dacd4
mov rcx, qword [rsi + 0x2a8]
call qword [sym.imp.ws2_32.dll_closesocket]
cmp ebx, 2
jne 0x1800dab3d
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800dad02
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbabb
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x11
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbabb
mov r12, rax
movups xmm0, xmmword [0x1801dd09d]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x72
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800dad4f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbaaa
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbaaa
mov r13, rax
mov qword [rax], r15
mov byte [rsi + 0x280], 1
mov rcx, r14
call fcn.1800dbb40
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1800dadd2
cmp qword [rsi + 0x28], 0
je 0x1800dad9a
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x1800dadd2
mov rax, qword [rsi + 0x38]
call qword [rax]
mov rax, qword [rsi + 0x38]
cmp qword [rax + 8], 0
je 0x1800dadd2
mov r8, qword [rsi + 0x30]
cmp qword [rax + 0x10], 0x11
jb 0x1800dadc3
mov r8, qword [r8 - 8]
mov rcx, qword [0x18021a960]
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, [0x1801dc250]
mov qword [rsi + 0x38], rax
mov rax, qword [rsi + 0x40]
mov rcx, qword [rax + 0x10]
mov r15, r12
cmp rcx, qword [rax + 0x18]
je 0x1800db632
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 0x1800db62e
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 [0x18021a8f0]
cmp rax, 3
jne 0x1800db5e5
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 1
mov r8d, 6
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x1800db64c
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 0x1800db701
mov ebp, dword [rbx + 0x48]
cmp ebp, 0x3b9aca00
je 0x1800dafab
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 sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1800dafa6
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 0x1800dafab
call sub.KERNEL32.dll_GetLastError
cmp word [rsi + 0x48], 0
je 0x1800db024
mov ax, 0x17
mov r8d, 0x1c
cmp byte [rbx + 0x56], 0
je 0x1800db091
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 0x1800db0ee
mov ax, 2
mov r8d, 0x10
cmp byte [rbx + 0x51], 0
je 0x1800db091
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 0x1800db0ee
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 0x1800db113
call sub.KERNEL32.dll_GetLastError
mov r13d, eax
shl r13, 0x20
or r13, 2
test r13, r13
jne 0x1800db7b0
cmp byte [rbx + 0x68], 0
je 0x1800db14f
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x60]
mov rcx, r14
mov edx, 0xffff
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1800db1b3
cmp qword [rbx], 0
je 0x1800db1be
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 sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1800db1be
call sub.KERNEL32.dll_GetLastError
jmp 0x1800db1be
lea rcx, [rsi + 0x2b8]
call fcn.1800dc110
cmp ebx, 2
je 0x1800dacdd
jmp 0x1800dab3d
call sub.KERNEL32.dll_GetLastError
cmp qword [rbx], 0
jne 0x1800db155
cmp qword [rbx + 0x10], 0
je case.default.0x1800db2eb
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 sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne case.default.0x1800db2eb
call sub.KERNEL32.dll_GetLastError
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.180171d20
lea r14, [rsi + 0x1f0]
mov r8d, 0x188
mov rcx, r14
mov rdx, r15
call fcn.180171d20
movzx eax, byte [rsi + 0x280]
lea rcx, [0x1800dbb2c]
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 0x1800dabfa
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 0x1800dbadd
mov r15, qword [rsp + 0x1d0]
mov r8, qword [0x18021a978]
test r8, r8
jne 0x1800db3ee
mov qword [rsp + 0x1d0], 0
lea rcx, [rsp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800dbadd
mov r8, qword [rsp + 0x1d0]
mov qword [0x18021a978], r8
test r8, r8
je case.0x1800db2eb.1
mov rax, r15
or rax, r8
shr rax, 0x20
je 0x1800db407
mov rax, r15
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800db411
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 0x1800db42b
xor edx, edx
div r8
jmp 0x1800db430
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 0x1800db46c
lea rcx, [rsp + 0x2f8]
call fcn.18011d010
jmp 0x1800db4c0
mov rax, rcx
mul r10
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r9d, eax
add ebp, r9d
cmp ebp, 0x3b9aca00
jb 0x1800db495
add ebp, 0xc4653600
inc r8
je 0x1800db45d
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.18011c700
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.180171d20
lea rcx, [rsi + 0x288]
mov r8d, 0xf0
mov rdx, r15
call fcn.180171d20
jmp case.0x1800db2eb.3
mov byte [rsp + 0x4c], 1
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x60], rax
lea rcx, [0x18021a8f0]
lea r9, [0x1801def68]
lea r8, [rsp + 0x60]
xor edx, edx
call fcn.180186090
jmp 0x1800dae7b
mov al, 4
mov byte [rsi + 0x280], al
mov rax, qword [rsp + 0x50]
mov qword [rax], 3
mov al, 3
jmp 0x1800dba8c
mov r15, qword [rsi + 0x20]
test r15, r15
je 0x1800db8e4
mov rdi, qword [rsi + 0x28]
mov r12, qword [rsi + 0x30]
mov rbp, qword [rsi + 0x38]
jmp 0x1800dba6d
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db678
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbae6
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0xe
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbae6
mov r15, rax
movabs rax, 0x726f727265206e65
mov qword [r15 + 6], rax
movabs rax, 0x6e65706f20706374
mov qword [r15], rax
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db6d2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbaaa
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbaaa
mov r12, rax
shl rbx, 0x20
or rbx, 2
mov qword [rax], rbx
mov edi, 0xe
jmp 0x1800db850
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db72d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbaf7
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x19
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbaf7
mov r15, rax
movups xmm0, xmmword [0x1801cb371]
movups xmmword [rax + 9], xmm0
movups xmm0, xmmword [str.tcp_set_nonblocking_errortcp_bind_local_error]
movups xmmword [rax], xmm0
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db781
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbaaa
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbaaa
mov r12, rax
shl rbx, 0x20
or rbx, 2
mov qword [rax], rbx
mov edi, 0x19
jmp 0x1800db847
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db7d5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbb08
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbb08
mov r15, rax
movups xmm0, xmmword [0x1801cb381]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0x726f7272
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db825
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbaaa
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbaaa
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, [0x1801ca4e8]
mov qword [rsi + 0x90], rbp
mov dword [rsi + 0x70], 0x3b9aca01
mov ebx, 2
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1800dba72
cmp qword [rsi + 0x28], 0
je 0x1800db89f
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x1800dba72
mov rax, qword [rsi + 0x38]
call qword [rax]
mov rax, qword [rsi + 0x38]
cmp qword [rax + 8], 0
je 0x1800dba72
mov r8, qword [rsi + 0x30]
cmp qword [rax + 0x10], 0x11
jb 0x1800db8d0
mov r8, qword [r8 - 8]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800dba72
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db909
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbb19
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbb19
mov rbx, rax
movups xmm0, xmmword [0x1801dd08a]
movups xmmword [rax], xmm0
mov dword [rax + 0xf], 0x656c6261
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db959
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbacc
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbacc
mov r14, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x13
mov qword [rax + 0x10], 0x13
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db9ab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbacc
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x18
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbacc
mov rbx, rax
mov qword [rax], r14
lea rax, [0x1801dcae0]
mov qword [rbx + 8], rax
mov byte [rbx + 0x10], 7
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800db9fc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbabb
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x11
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbabb
mov r15, rax
movups xmm0, xmmword [0x1801dd09d]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x72
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1800dba45
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1800dbaaa
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800dbaaa
mov r12, rax
inc rbx
mov qword [rax], rbx
lea rbp, [0x1801dc250]
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.18017f950
ud2
mov ecx, 1
mov edx, 0x11
call fcn.18017f950
ud2
mov ecx, 8
mov edx, 0x18
call fcn.18017f950
ud2
call sub.KERNEL32.dll_GetLastError
ud2
mov ecx, 1
mov edx, 0xe
call fcn.18017f950
ud2
mov ecx, 1
mov edx, 0x19
call fcn.18017f950
ud2
mov ecx, 1
mov edx, 0x14
call fcn.18017f950
ud2
mov ecx, 1
mov edx, 0x13
call fcn.18017f950
ud2