Function at 0x1400bed30
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
mov qword [rsp + 0x100], r8
mov rsi, rdx
mov qword [rsp + 0x118], rcx
movzx eax, byte [rdx + 0x378]
test eax, eax
je 0x1400bedf2
cmp eax, 3
jne case.0x1400bf3c7.1
lea rax, [rsi + 0x1f0]
mov qword [rsp + 0x108], rax
movzx eax, byte [rsi + 0x280]
lea rcx, [0x1401991b4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rsi + 0x300]
test eax, eax
je 0x1400bf45a
cmp eax, 3
jne case.0x1400bf3c7.1
lea rdi, [rsi + 0x2f8]
movzx eax, byte [rsi + 0x2f8]
lea r12, [rsi + 0x2b8]
test eax, eax
je 0x1400beddf
cmp eax, 3
jne case.0x1400bf3c7.1
mov qword [rsp + 0x48], r13
mov rax, qword [rsi + 0x2f0]
jmp 0x1400bf799
mov rdx, qword [rsi + 0x2b8]
mov r8, qword [rsi + 0x2c0]
jmp 0x1400bf710
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]
je 0x1400c00cc
lea rdx, [rcx + 0x20]
mov qword [rax + 0x10], rdx
movzx r13d, word [rcx]
movups xmm0, xmmword [rcx + 2]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x2ee], xmm1
movaps xmmword [rsp + 0x2e0], xmm0
cmp r13, 2
je 0x1400c012c
mov qword [rsp + 0x1c8], rbx
mov word [rsi + 0x48], r13w
movaps xmm0, xmmword [rsp + 0x2e0]
movups xmmword [rsi + 0x4a], xmm0
movups xmm0, xmmword [rsp + 0x2ee]
movups xmmword [rsi + 0x58], xmm0
mov rax, qword [rsi + 0x10]
mov rbx, qword [rsi + 0x18]
mov r12, qword [rax + 0x20]
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x108], eax
mov eax, dword [rsi + 0x4a]
movzx edi, word [rsi + 0x4e]
shl rdi, 0x20
or rdi, rax
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsi + 0x58]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x1b0], rax
test r13w, r13w
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov rax, qword [0x140205040]
cmp rax, 3
jne 0x1400bfeb3
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 0x1400c01fb
mov r14, rax
mov dword [rsp + 0x70], 1
lea r8, [rsp + 0x70]
mov rcx, rax
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400c02ba
mov ebp, dword [rbx + 0x48]
cmp ebp, 0x3b9aca00
je 0x1400bf00c
mov r15, qword [rbx + 0x40]
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x70]
mov rcx, r14
mov edx, 0xffff
mov r8d, 8
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400bf007
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 + 0x70], 1
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x50], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x70]
mov rcx, r14
mov edx, 0x98000004
mov r9d, 0xc
call sub.ws2_32.dll_WSAIoctl
cmp eax, 0xffffffff
jne 0x1400bf00c
call sub.kernel32.dll_GetLastError
test r13w, r13w
je 0x1400bf098
cmp byte [rbx + 0x56], 0
je 0x1400bf116
mov r15, r12
movups xmm0, xmmword [rbx + 0x57]
movabs rax, 0x1c00000000
mov qword [rsp + 0xec], rax
xorps xmm1, xmm1
movups xmmword [rsp + 0xdc], xmm1
movups xmmword [rsp + 0xcc], xmm1
movups xmmword [rsp + 0xbc], xmm1
movups xmmword [rsp + 0xac], xmm1
movups xmmword [rsp + 0x9c], xmm1
movups xmmword [rsp + 0x8c], xmm1
movups xmmword [rsp + 0x78], xmm0
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x70], 0x17
lea rdx, [rsp + 0x70]
mov rcx, r14
mov r8d, 0x1c
jmp 0x1400bf1b1
cmp byte [rbx + 0x51], 0
je 0x1400bf12d
mov r15, r12
mov eax, dword [rbx + 0x52]
xorps xmm0, xmm0
movups xmmword [rsp + 0xd8], 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
mov qword [rsp + 0xe8], 0
mov dword [rsp + 0x70], 2
mov dword [rsp + 0x74], eax
mov dword [rsp + 0xf0], 0x10
lea rdx, [rsp + 0x70]
mov rcx, r14
mov r8d, 0x10
jmp 0x1400bf1b1
mov r15, r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x52], xmm0
mov r8d, 0x1c
mov ax, 0x17
jmp 0x1400bf149
mov r15, r12
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
mov r8d, 0x10
mov ax, 2
xorps xmm0, xmm0
movups xmmword [rsp + 0xd8], 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
mov qword [rsp + 0xe8], 0
mov word [rsp + 0x70], ax
mov word [rsp + 0x72], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0xf0], r8d
lea rdx, [rsp + 0x70]
mov rcx, r14
call sub.ws2_32.dll_bind
xor r12d, r12d
test eax, eax
je 0x1400bf1cd
call sub.kernel32.dll_GetLastError
mov r12d, eax
shl r12, 0x20
or r12, 2
test r12, r12
jne 0x1400c0341
cmp byte [rbx + 0x68], 0
mov r12, r15
je 0x1400bf20c
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x70]
mov rcx, r14
mov edx, 0xffff
mov r8d, 4
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400bf256
cmp qword [rbx], 0
je 0x1400bf261
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 + 0x70], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x70]
mov rcx, r14
mov edx, 0xffff
mov r8d, 0x1001
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x1400bf261
call sub.kernel32.dll_GetLastError
jmp 0x1400bf261
call sub.kernel32.dll_GetLastError
cmp qword [rbx], 0
jne 0x1400bf212
cmp qword [rbx + 0x10], 0
je case.default.0x1400bf3c7
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 + 0x70], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x70]
mov rcx, r14
mov edx, 0xffff
mov r8d, 0x1002
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
jne case.default.0x1400bf3c7
call sub.kernel32.dll_GetLastError
shl rdi, 0x10
or rdi, r13
lea r15, [rsi + 0x68]
mov qword [rsi + 0x68], r12
mov eax, dword [rsp + 0x108]
mov dword [rsi + 0x70], eax
mov qword [rsi + 0x78], rdi
mov rax, qword [rsp + 0x1c0]
mov qword [rsi + 0x80], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsi + 0x88], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsi + 0x90], rax
mov qword [rsi + 0x98], r14
movups xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x140]
movups xmm2, xmmword [rsp + 0x150]
movups xmm3, xmmword [rsp + 0x160]
movups xmmword [rsi + 0xa0], xmm0
movups xmmword [rsi + 0xb0], xmm1
movups xmmword [rsi + 0xc0], xmm2
movups xmmword [rsi + 0xd0], xmm3
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rsi + 0xe0], xmm0
mov byte [rsi + 0xf0], 0
mov eax, dword [rsp + 0x1a9]
mov ecx, dword [rsp + 0x1ac]
mov dword [rsi + 0xf1], eax
mov dword [rsi + 0xf4], ecx
mov byte [rsi + 0xf8], 0
lea rcx, [rsi + 0xf9]
lea rdx, [rsp + 0x1e0]
mov r8d, 0xf7
call sub.msvcrt.dll_memcpy
lea rcx, [rsi + 0x1f0]
mov r8d, 0x188
mov qword [rsp + 0x108], rcx
mov rdx, r15
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsi + 0x280]
lea rcx, [0x1401991b4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x1c8]
jmp rax
mov ebp, dword [rsi + 0x1f8]
cmp ebp, 0x3b9aca00
jne 0x1400bf544
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
movzx eax, byte [rsi + 0x300]
test eax, eax
jne 0x1400beda3
mov rcx, qword [rsi + 0x2a8]
mov qword [rsi + 0x2b0], rcx
cmp word [rsi + 0x288], 0
movzx eax, word [rsi + 0x29a]
mov word [rsp + 0x140], ax
movups xmm0, xmmword [rsi + 0x28a]
movaps xmmword [rsp + 0x130], xmm0
je 0x1400bf64b
mov edx, dword [rsi + 0x29c]
mov r8d, dword [rsi + 0x2a0]
movzx eax, word [rsi + 0x2a4]
mov r9, qword [rsp + 0x132]
mov r10d, dword [rsp + 0x13a]
movzx r11d, word [rsp + 0x13e]
movzx edi, word [rsp + 0x140]
xorps xmm0, xmm0
movups xmmword [rsp + 0x1fc], xmm0
movups xmmword [rsp + 0x20c], xmm0
movups xmmword [rsp + 0x21c], xmm0
movups xmmword [rsp + 0x22c], xmm0
movups xmmword [rsp + 0x23c], xmm0
movups xmmword [rsp + 0x24c], xmm0
rol ax, 8
mov dword [rsp + 0x25c], 0
mov qword [rsp + 0x1e8], r9
mov dword [rsp + 0x1f0], r10d
mov word [rsp + 0x1f4], r11w
mov word [rsp + 0x1f6], di
mov dword [rsp + 0x1f8], r8d
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x1400bf69e
mov r15, qword [rsi + 0x1f0]
movups xmm0, xmmword [rsi + 0x270]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsi + 0x260]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [rsi + 0x250]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsi + 0x240]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsi + 0x200]
movups xmm1, xmmword [rsi + 0x210]
movups xmm2, xmmword [rsi + 0x220]
movups xmm3, xmmword [rsi + 0x230]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x130], 0
lea rcx, [rsp + 0x130]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400c04cb
mov r12, qword [rsp + 0x130]
mov rcx, qword [0x1402050d8]
test rcx, rcx
jne 0x1400bf62e
mov qword [rsp + 0x130], 0
lea rcx, [rsp + 0x130]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400c04cb
mov rcx, qword [rsp + 0x130]
mov qword [0x1402050d8], rcx
test rcx, rcx
je case.0x1400bf3c7.1
mov rax, r12
or rax, rcx
shr rax, 0x20
je 0x1400bf866
mov rax, r12
xor edx, edx
div rcx
jmp 0x1400bf86d
lea r8, [rsp + 0x1e8]
movzx eax, word [rsp + 0x134]
rol ax, 8
mov edx, dword [rsp + 0x130]
xorps xmm0, xmm0
movups xmmword [r8 + 0x60], xmm0
movups xmmword [r8 + 0x50], xmm0
movups xmmword [r8 + 0x40], xmm0
movups xmmword [r8 + 0x30], xmm0
movups xmmword [r8 + 0x20], xmm0
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8], xmm0
mov qword [r8 + 0x70], 0
mov r8d, 0x10
mov r9w, 2
mov word [rsp + 0x1e0], r9w
mov word [rsp + 0x1e2], ax
mov dword [rsp + 0x1e4], edx
mov dword [rsp + 0x260], r8d
lea rdx, [rsp + 0x1e0]
call sub.ws2_32.dll_connect
test eax, eax
je 0x1400bf6df
call sub.kernel32.dll_GetLastError
cmp eax, 0x2733
jne 0x1400bfdb4
mov rdx, qword [rsi + 0x2b0]
lea r12, [rsi + 0x2b8]
mov qword [rsi + 0x2b8], rdx
mov qword [rsi + 0x2c0], 0
lea rdi, [rsi + 0x2f8]
mov byte [rsi + 0x2f8], 0
xor r8d, r8d
lea rcx, [rsp + 0x1e0]
call fcn.1400fbcc0
mov rcx, qword [rsp + 0x1e0]
cmp rcx, 2
mov qword [rsp + 0x48], r13
jne 0x1400bf73d
mov r15, qword [rsp + 0x1e8]
jmp 0x1400bfe34
mov rdx, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x70], xmm0
lea rax, [rsi + 0x2c8]
mov qword [rsi + 0x2c8], rcx
mov qword [rsi + 0x2d0], rdx
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x2d8], xmm0
mov rcx, qword [rsp + 0x80]
mov qword [rsi + 0x2e8], rcx
mov qword [rsi + 0x2f0], rax
mov rdx, qword [rax + 0x10]
lea r13, [rsp + 0x1e0]
mov rcx, r13
mov r8, qword [rsp + 0x100]
mov r9b, 1
call fcn.1400ff240
movzx eax, byte [rsp + 0x1e9]
cmp al, 3
je 0x1400c04a4
mov r15, qword [rsp + 0x1e0]
cmp al, 2
je 0x1400bfe28
mov rcx, qword [rsi + 0x2e0]
cmp rcx, 0xffffffffffffffff
je case.0x1400bf3c7.1
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x1e0], 4
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x70]
mov edx, 0xffff
mov r8d, 0x1007
call sub.ws2_32.dll_getsockopt
cmp eax, 0xffffffff
je 0x1400bfe18
movsxd r15, dword [rsp + 0x70]
test r15, r15
jne 0x1400bfe20
mov rdi, qword [rsi + 0x2c8]
mov r15, qword [rsi + 0x2d0]
mov rbp, qword [rsi + 0x2d8]
mov r13, qword [rsi + 0x2e0]
mov r14, qword [rsi + 0x2e8]
mov byte [rsi + 0x2f8], 1
cmp rdi, 3
jne 0x1400bfe3c
jmp 0x1400c04a7
mov eax, r12d
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1400bf891
xor edx, edx
div rcx
mov rcx, rax
jmp 0x1400bf897
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
add r15, rdx
jb 0x1400bf8d6
imul rax, rdx, 0x3b9aca00
sub rcx, rax
add ebp, ecx
cmp ebp, 0x3b9aca00
jb 0x1400bf8e5
add ebp, 0xc4653600
inc r15
jne 0x1400bf8e5
lea rcx, [rsp + 0x130]
call fcn.140100110
jmp 0x1400bf8f8
lea rcx, [rsp + 0x130]
mov rdx, r15
mov r8d, ebp
call fcn.1400fffd0
movups xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x240], xmm0
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x140]
movups xmm2, xmmword [rsp + 0x150]
movups xmm3, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x210], xmm3
movaps xmmword [rsp + 0x200], xmm2
movaps xmmword [rsp + 0x1f0], xmm1
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x250], xmm0
movaps xmmword [rsp + 0x260], xmm1
movaps xmmword [rsp + 0x270], xmm2
movaps xmmword [rsp + 0x280], xmm3
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x290], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x2a0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x2c0], xmm0
lea rcx, [rsi + 0x288]
lea rdx, [rsp + 0x1e0]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
lea rax, [rsi + 0x288]
mov qword [rsp + 0x48], rax
call fcn.14008a550
xor r15d, r15d
test rax, rax
je 0x1400bfa2a
cmp byte [rax + 0x4c], 0
setne cl
cmp byte [rax + 0x4d], 0
sete r15b
and r15b, cl
movzx eax, byte [rsi + 0x370]
test eax, eax
je 0x1400bfa74
cmp eax, 3
jne case.0x1400bf3c7.1
lea rdi, [rsi + 0x368]
movzx eax, byte [rsi + 0x368]
test eax, eax
je 0x1400bfb46
cmp eax, 3
mov r14, qword [rsp + 0x110]
jne case.0x1400bf3c7.1
mov rax, qword [rsi + 0x360]
mov rbp, r13
jmp 0x1400bfc8b
mov rcx, qword [rsi + 0x318]
mov qword [rsi + 0x320], rcx
cmp word [rsi + 0x2f8], 0
movzx eax, word [rsi + 0x30a]
mov word [rsp + 0x60], ax
movups xmm0, xmmword [rsi + 0x2fa]
movaps xmmword [rsp + 0x50], xmm0
je 0x1400bfb59
mov edx, dword [rsi + 0x30c]
mov r8d, dword [rsi + 0x310]
movzx eax, word [rsi + 0x314]
mov r9, qword [rsp + 0x52]
mov r10d, dword [rsp + 0x5a]
movzx r11d, word [rsp + 0x5e]
movzx edi, word [rsp + 0x60]
xorps xmm0, xmm0
movups xmmword [rsp + 0x8c], xmm0
movups xmmword [rsp + 0x9c], xmm0
movups xmmword [rsp + 0xac], xmm0
movups xmmword [rsp + 0xbc], xmm0
movups xmmword [rsp + 0xcc], xmm0
movups xmmword [rsp + 0xdc], xmm0
rol ax, 8
mov dword [rsp + 0xec], 0
mov qword [rsp + 0x78], r9
mov dword [rsp + 0x80], r10d
mov word [rsp + 0x84], r11w
mov word [rsp + 0x86], di
mov dword [rsp + 0x88], r8d
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x1400bfba3
mov rdx, qword [rsi + 0x328]
mov r8, qword [rsi + 0x330]
jmp 0x1400bfc02
lea r8, [rsp + 0x78]
movzx eax, word [rsp + 0x54]
rol ax, 8
mov edx, dword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [r8 + 0x60], xmm0
movups xmmword [r8 + 0x50], xmm0
movups xmmword [r8 + 0x40], xmm0
movups xmmword [r8 + 0x30], xmm0
movups xmmword [r8 + 0x20], xmm0
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8], xmm0
mov qword [r8 + 0x70], 0
mov r8d, 0x10
mov r9w, 2
mov word [rsp + 0x70], r9w
mov word [rsp + 0x72], ax
mov dword [rsp + 0x74], edx
mov dword [rsp + 0xf0], r8d
lea rdx, [rsp + 0x70]
call sub.ws2_32.dll_connect
test eax, eax
je 0x1400bfbd8
call sub.kernel32.dll_GetLastError
cmp eax, 0x2733
jne 0x1400bfde9
mov rdx, qword [rsi + 0x320]
mov qword [rsi + 0x328], rdx
mov qword [rsi + 0x330], 0
lea rdi, [rsi + 0x368]
mov byte [rsi + 0x368], 0
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.1400fbcc0
mov rcx, qword [rsp + 0x70]
cmp rcx, 2
jne 0x1400bfc21
mov r12, qword [rsp + 0x78]
jmp 0x1400bfefd
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x140], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x130], xmm0
lea rax, [rsi + 0x338]
mov qword [rsi + 0x338], rcx
mov qword [rsi + 0x340], rdx
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x348], xmm0
mov rcx, qword [rsp + 0x140]
mov qword [rsi + 0x358], rcx
mov qword [rsi + 0x360], rax
mov rbp, r13
mov r14, qword [rsp + 0x110]
mov rdx, qword [rax + 0x10]
lea r13, [rsp + 0x70]
mov rcx, r13
mov r8, qword [rsp + 0x100]
mov r9b, 1
call fcn.1400ff240
movzx eax, byte [rsp + 0x79]
cmp al, 3
jne 0x1400bfd13
mov byte [rdi], 3
mov byte [rsi + 0x370], 3
call fcn.14008a550
test rax, rax
je 0x1400bfce1
cmp byte [rax + 0x4c], 0
sete cl
cmp byte [rax + 0x4d], 0
setne al
or al, cl
or r15b, al
cmp r15b, 1
jne 0x1400bfe58
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
mov rdx, qword [rsp + 0x100]
call fcn.140100390
test al, al
mov r13, qword [rsp + 0x128]
jne 0x1400c0125
mov rcx, rdi
call fcn.1400c0b30
jmp 0x1400bff53
mov r12, qword [rsp + 0x70]
cmp al, 2
je 0x1400bfef1
mov rcx, qword [rsi + 0x350]
cmp rcx, 0xffffffffffffffff
je case.0x1400bf3c7.1
mov dword [rsp + 0x130], 0
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x130]
mov edx, 0xffff
mov r8d, 0x1007
call sub.ws2_32.dll_getsockopt
cmp eax, 0xffffffff
je 0x1400bfee1
movsxd r12, dword [rsp + 0x130]
test r12, r12
jne 0x1400bfee9
mov rdi, qword [rsi + 0x338]
mov r12, qword [rsi + 0x340]
mov rax, qword [rsi + 0x348]
mov rcx, qword [rsi + 0x350]
mov rdx, qword [rsi + 0x358]
mov byte [rsi + 0x368], 1
cmp rdi, 3
je 0x1400bfcb3
jmp 0x1400bff05
mov r15d, eax
mov qword [rsp + 0x48], r13
shl r15, 0x20
or r15, 2
mov rcx, qword [rsi + 0x2b0]
call sub.ws2_32.dll_closesocket
mov edi, 2
mov byte [rsi + 0x300], 1
mov rax, qword [rsp + 0x110]
jmp 0x1400bff8a
mov r12d, eax
shl r12, 0x20
or r12, 2
mov rcx, qword [rsi + 0x320]
call sub.ws2_32.dll_closesocket
mov edi, 2
mov rax, qword [rsp + 0x110]
mov rcx, r13
mov rdx, rbx
jmp 0x1400bff05
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
lea rcx, [rsi + 0x2c8]
call fcn.140054200
mov byte [rdi], 1
mov edi, 2
mov rcx, r12
call fcn.1400c0a60
mov byte [rsi + 0x300], 1
mov rax, qword [rsp + 0x110]
jmp 0x1400bff8a
call fcn.14008a550
test rax, rax
mov r13, qword [rsp + 0x128]
je 0x1400c0108
movzx r15d, byte [rax + 0x4c]
movzx r12d, byte [rax + 0x4d]
mov byte [rax + 0x4c], 0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x100]
call fcn.140100390
movzx edi, al
add rdi, 3
xor ecx, ecx
call fcn.140101510
test rax, rax
je 0x1400bfea9
mov byte [rax + 0x4c], r15b
mov byte [rax + 0x4d], r12b
mov r15, qword [rsp + 0x120]
jmp 0x1400bff2b
mov byte [rsp + 0x50], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [0x140205040]
lea r9, [0x1401cbab8]
lea r8, [rsp + 0x70]
xor edx, edx
call fcn.1400e56f0
jmp 0x1400beede
call sub.ws2_32.dll_WSAGetLastError
mov r12d, eax
shl r12, 0x20
or r12, 2
lea rcx, [rsi + 0x338]
call fcn.140054200
mov byte [rdi], 1
mov edi, 2
mov byte [rsi + 0x370], 1
mov r14, rax
mov r13, rdx
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1d0], rax
mov r15, r12
mov rbp, rcx
mov rbx, rdx
cmp rdi, 4
mov rcx, qword [rsp + 0x48]
je 0x1400c0125
call fcn.1400c0b30
cmp rdi, 2
mov qword [rsp + 0x120], r15
je 0x1400bff62
cmp rdi, 3
jne 0x1400bff67
mov edi, 2
call fcn.14008a430
mov r15, rax
jmp 0x1400bff67
mov edi, 2
mov rax, r14
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x128], r13
mov r14, r13
mov r13, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1d0]
cmp rdi, 2
jne 0x1400c00e2
mov qword [rsp + 0x110], rax
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400bffc7
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 0x11
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r12, rax
movups xmm0, xmmword [0x1401cb8d6]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x72
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c0019
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r13, rax
mov qword [rax], r15
mov byte [rsi + 0x280], 1
mov rcx, qword [rsp + 0x108]
call fcn.1400c04e0
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1400c009c
cmp qword [rsi + 0x28], 0
je 0x1400c0067
mov rcx, qword [0x140205100]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r14, qword [rsi + 0x30]
test r14, r14
je 0x1400c009c
mov rdi, qword [rsi + 0x38]
mov rcx, r14
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1400c009c
cmp qword [rdi + 0x10], 0x11
jb 0x1400c008b
mov r14, qword [r14 - 8]
mov rcx, qword [0x140205100]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov qword [rsi + 0x20], r12
mov qword [rsi + 0x28], 0x11
mov qword [rsi + 0x30], r13
lea rax, [0x1401cb440]
mov qword [rsi + 0x38], rax
mov rax, qword [rsi + 0x40]
mov rcx, qword [rax + 0x10]
mov r15, r12
cmp rcx, qword [rax + 0x18]
jne 0x1400bee21
test r15, r15
je 0x1400c0135
mov rbp, qword [rsi + 0x28]
mov r13, qword [rsi + 0x30]
mov r14, qword [rsi + 0x38]
jmp 0x1400c01f1
mov byte [rsi + 0x280], 1
mov rcx, qword [rsp + 0x108]
call fcn.1400c04e0
mov r8, qword [rsi + 0x20]
test r8, r8
jne 0x1400c041f
jmp 0x1400c046d
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
mov rdx, qword [rsp + 0x100]
call fcn.140100390
test al, al
je 0x1400bfd06
mov al, 3
jmp 0x1400c04b0
mov r15, qword [rsi + 0x20]
test r15, r15
jne 0x1400c00d1
lea rdx, [0x1401cb8c3]
mov r8d, 0x13
mov cl, 7
call fcn.14008a310
mov rbx, rax
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c0177
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 0x11
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r15, rax
movups xmm0, xmmword [0x1401cb8d6]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x72
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c01c9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r13, rax
mov qword [rax], rbx
lea r14, [0x1401cb440]
mov ebp, 0x11
mov edi, 2
jmp 0x1400c046d
call sub.kernel32.dll_GetLastError
mov ebx, eax
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c022d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 0xe
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r15, rax
movabs rax, 0x726f727265206e65
mov qword [r15 + 6], rax
movabs rax, 0x6e65706f20706374
mov qword [r15], rax
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c028c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r13, rax
shl rbx, 0x20
or rbx, 2
mov qword [rax], rbx
mov ebp, 0xe
jmp 0x1400c03ea
call sub.kernel32.dll_GetLastError
mov r12d, eax
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c02ed
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov ebp, 0x19
mov r8d, 0x19
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r15, rax
shl r12, 0x20
or r12, 2
movups xmm0, xmmword [0x1401b7c37]
movups xmmword [rax + 9], xmm0
movups xmm0, xmmword [0x1401b7c2e]
movups xmmword [rax], xmm0
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c03c6
jmp 0x1400c03ae
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c036c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov ebp, 0x14
mov r8d, 0x14
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r15, rax
movups xmm0, xmmword [0x1401b7c47]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0x726f7272
movzx eax, byte [0x140205110]
mov rcx, qword [0x140205100]
test rcx, rcx
jne 0x1400c03c6
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je case.0x1400bf3c7.1
mov rcx, rax
mov qword [0x140205100], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je case.0x1400bf3c7.1
mov r13, rax
mov qword [rax], r12
mov rcx, r14
call sub.ws2_32.dll_closesocket
mov qword [rsi + 0x78], r15
mov qword [rsi + 0x80], rbp
mov qword [rsi + 0x88], r13
lea r14, [0x1401b8060]
mov qword [rsi + 0x90], r14
mov dword [rsi + 0x70], 0x3b9aca01
mov edi, 2
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1400c046d
cmp qword [rsi + 0x28], 0
je 0x1400c0434
mov rcx, qword [0x140205100]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rbx, qword [rsi + 0x30]
test rbx, rbx
je 0x1400c046d
mov r12, qword [rsi + 0x38]
mov rcx, rbx
call qword [r12]
cmp qword [r12 + 8], 0
je 0x1400c046d
cmp qword [r12 + 0x10], 0x11
jb 0x1400c045c
mov rbx, qword [rbx - 8]
mov rcx, qword [0x140205100]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x118]
mov qword [rax], rdi
mov qword [rax + 8], r15
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], r14
mov al, 1
mov byte [rsi + 0x378], al
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rdi], 3
mov byte [rsi + 0x300], 3
mov al, 4
mov byte [rsi + 0x280], al
mov rax, qword [rsp + 0x118]
mov qword [rax], 3
mov al, 3
jmp 0x1400c048a
ud2
call sub.kernel32.dll_GetLastError
ud2
add byte [rax - 0x77], cl
invalid
lock dec qword [rax]
jne 0x1400c0858
call fcn.1400921b0
jmp 0x1400c0858
mov edi, dword [rdi - 8]
mov rcx, qword [0x140205100]
xor edx, edx
mov r8, rdi
jmp 0x1400c081f
or al, 0x48
lea ecx, [rsi + 0x9f8]
call fcn.140054200
mov byte [rsi + 0x9f1], 0
lea rcx, [rsi + 0x950]
call fcn.1400ff460
lea rcx, [rsi + 0x958]
cmp qword [rsi + 0x950], 0
je 0x1400c06f9
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x1400c0707
call fcn.1400921b0
jmp 0x1400c0707
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x1400c0707
call fcn.140092b80
mov rax, qword [rsi + 0x998]
test rax, rax
je 0x1400c071d
mov rcx, qword [rsi + 0x9a0]
call qword [rax + 0x18]
cmp byte [rsi + 0x948], 3
jne 0x1400c0791
lea rcx, [rsi + 0x7c0]
call fcn.1400c04e0
mov r8, qword [rsi + 0x5f0]
test r8, r8
je 0x1400c0791
cmp qword [rsi + 0x5f8], 0
je 0x1400c0756
mov rcx, qword [0x140205100]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rdi, qword [rsi + 0x600]
test rdi, rdi
je 0x1400c0791
mov rbx, qword [rsi + 0x608]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400c0791
cmp qword [rbx + 0x10], 0x11
jb 0x1400c0780
mov rdi, qword [rdi - 8]
mov rcx, qword [0x140205100]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
cmp byte [rsi + 0x5c8], 3
jne 0x1400c0805
lea rcx, [rsi + 0x440]
call fcn.1400c04e0
mov r8, qword [rsi + 0x270]
test r8, r8
je 0x1400c0805
cmp qword [rsi + 0x278], 0
je 0x1400c07ca
mov rcx, qword [0x140205100]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rdi, qword [rsi + 0x280]
test rdi, rdi
je 0x1400c0805
mov rbx, qword [rsi + 0x288]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400c0805
cmp qword [rbx + 0x10], 0x11
jb 0x1400c07f4
mov rdi, qword [rdi - 8]
mov rcx, qword [0x140205100]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
cmp qword [rsi + 0x228], 0
je 0x1400c0824
mov r8, qword [rsi + 0x220]
mov rcx, qword [0x140205100]
xor edx, edx
call sub.kernel32.dll_HeapFree
add rsi, 0x178
cmp qword [rsi + 8], 0
je case.0x1400c0579.1
mov r8, qword [rsi]
mov rcx, qword [0x140205100]
xor edx, edx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp sub.kernel32.dll_HeapFree
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x1400c0868
mov rcx, qword [rsi + 0x50]
call qword [rax + 0x18]
add rsi, 0x70
cmp qword [rsi + 8], 0
jne 0x1400c0832
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov eax, 0x11f
invalid
loopne 0x1400c1662
add ecx, 8
sbb byte [rax], al
dec dword [rax - 0x75]
test byte [rax + rbp], ah
or al, byte [rax]
add byte [rax - 0x75], cl
xchg esp, eax
and al, 0x30
or al, byte [rax]
add bl, ch
ror byte [rax - 0x7b], 0xf6
adc dword [rax - 0x75], ecx
or eax, 0x141ea4
and al, 0xa3
add eax, dword [rax]
add byte [rax - 0x7d], cl
clc
add al, 0x48
mov edx, dword [rsp + 0x38]
add dword [rax + 0xa3c2484], ecx
add byte [rax], al
sub al, 0x48
lea ecx, [0x140199210]
invalid
pop rdi
invalid
invalid
imul ebx, dword [rdi + 0xd], 0x4634800
pop rdi
or eax, 0x4634800
or dword [rax + 1], 0x40e0ffc8
mov ch, 1
add byte [rax], al
and al, 0x89
add eax, dword [rax]
add byte [rax + 0x902484], cl
add byte [rax], al
test byte [rax + rsi*4], ah
add byte [rax], al
add byte [rax - 0x75], cl
jnp 0x1400c3cb3
add byte [rax - 0x73], cl
sbb eax, 0x12cc29
movzx esp, byte [rsp + 0x90]
add esp, 0x10
cmp dword [rbx], 0x70747468
xlatb
retf 0x8545
add eax, eax
add al, byte [rax]
add bl, dh
movq mm1, qword [rsp + 0x220]
invalid
add byte [rsi + 0xf], ah
jg 0x1400c72a3
and al, 0
or byte [rax], al
add byte [rsi + 0xf], ah
jg 0x1400c72b4
and al, 0x10
or byte [rax], al
add byte [rax - 0x75], cl
test byte [rax + rsi], ah
add al, byte [rax]
add byte [rax - 0x77], cl
test byte [rax + riz], ah
or byte [rax], al
add bl, ch
jl 0x1400c72c0
mov esp, 0x25824
add byte [rdx], al
test byte [rax + rdx], ah
or al, byte [rax]
add byte [rdi], cl
mov dh, 0x94
and al, 0x80
add dword [rax], eax
add byte [rax - 0x75], cl
test byte [rax + rdi*2], ah
add dword [rax], eax
add cl, ch
and esi, esp
invalid
add dword [rax], eax
add al, dh
dec qword [rax]
add ch, cl
sub dword [rdi], ecx
or esp, dword [rsi - 0x70]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov r8, qword [rcx + 0x18]
mov rcx, rax
jmp r8
lea eax, [rsi + 0x408]
mov eax, dword [rsp + 0x19d0]