Function at 0x140012790
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8c0]
sub rsp, 0x9c0
mov rax, qword [0x1400bf0c0]
xor rax, rsp
mov qword [rbp + 0x8b0], rax
mov r12, rcx
mov qword [rbp - 0x30], rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov dword [rcx + 8], 5
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x668], xmm1
mov qword [rbp + 0x678], r14
lea rcx, [rbp + 0x668]
call fcn.140026d40
mov esi, 0x1000
test al, al
jne 0x140012848
lea rax, [0x1400a4f70]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x1a
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140004380
xchg byte [r12 + 4], r14b
movsxd rcx, dword [r12]
call qword [sym.imp.WS2_32.dll_closesocket]
mov dword [r12], 0xffffffff
jmp 0x140012bee
mov rbx, qword [rbp + 0x668]
mov rsi, qword [rbp + 0x670]
cmp rbx, rsi
je 0x1400128af
mov r15, qword [r12 + 0xb0]
mov r14, qword [r12 + 0xb8]
nop dword [rax + rax]
lea rdx, [r12 + 0xa0]
cmp r14, 0xf
jbe 0x140012886
mov rdx, qword [r12 + 0xa0]
mov r8, qword [rbx + 0x18]
lea rcx, [rbx + 8]
cmp qword [rbx + 0x20], 0xf
jbe 0x140012898
mov rcx, qword [rcx]
cmp r8, r15
jne 0x1400128a6
call fcn.140093b70
test eax, eax
je 0x1400128af
add rbx, 0x40
cmp rbx, rsi
jne 0x140012870
lea rdx, [r12 + 0xa0]
lea rcx, [rbp + 0x40]
call fcn.1400168f0
lea rcx, [0x1400a4f90]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], socket
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
mov rdx, rax
lea rcx, [rbp]
call fcn.140019040
mov r14d, 0xff
movabs r13, 0x7fffffffffffffff
movabs r15, 0x4e94914effff
cmp rbx, qword [rbp + 0x670]
jne 0x140012aaa
movabs rsi, 0x7ffffffed5fa0dff
nop dword [rax]
movabs rbx, 0x12a05f200
lea rcx, [rbp + 0xa8]
call fcn.14000ff90
mov rax, qword [rbp + 0xa8]
cmp rax, rsi
je 0x140012954
mov ecx, 1
cmovl ecx, r14d
test cl, cl
jns 0x140012954
add rbx, rax
jmp 0x140012957
mov rbx, r13
movabs rdi, 0x431bde82d7b634db
lea rcx, [rbp + 0xb0]
call fcn.14000ff90
mov rax, qword [rbp + 0xb0]
cmp rbx, rax
je 0x1400129c9
mov ecx, 1
cmovl ecx, r14d
test cl, cl
jle 0x1400129c9
mov rcx, rbx
sub rcx, rax
cmp rcx, r15
jg 0x1400129bd
mov rax, rdi
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x1400129b4
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140012961
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x140012961
movzx eax, byte [r12 + 4]
test al, al
je 0x140012be9
lea rcx, [rbp + 0x668]
call fcn.140026d40
test al, al
je 0x140012ba8
mov rbx, qword [rbp + 0x668]
mov rsi, qword [rbp + 0x670]
cmp rbx, rsi
je 0x140012a5f
mov r15, qword [r12 + 0xb0]
mov r14, qword [r12 + 0xb8]
nop
lea rdx, [r12 + 0xa0]
cmp r14, 0xf
jbe 0x140012a26
mov rdx, qword [r12 + 0xa0]
mov r8, qword [rbx + 0x18]
lea rcx, [rbx + 8]
cmp qword [rbx + 0x20], 0xf
jbe 0x140012a38
mov rcx, qword [rcx]
cmp r8, r15
jne 0x140012a46
call fcn.140093b70
test eax, eax
je 0x140012a4f
add rbx, 0x40
cmp rbx, rsi
jne 0x140012a10
mov r14d, 0xff
movabs r15, 0x4e94914effff
lea rax, [0x1400a4fbc]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 1
movaps xmm0, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0x2c0], xmm0
lea rcx, [rbp + 0x2c0]
call fcn.1400044b0
cmp rbx, qword [rbp + 0x670]
movabs rsi, 0x7ffffffed5fa0dff
je 0x140012920
lea rax, [0x1400a4fc0]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1b8], 6
movaps xmm0, xmmword [rbp + 0x1b0]
movdqa xmmword [rbp + 0x2b0], xmm0
lea rcx, [rbp + 0x2b0]
call fcn.1400044b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x710], xmm0
movups xmmword [rbp + 0x740], xmm0
movups xmmword [rbp + 0x750], xmm0
movups xmmword [rbp + 0x760], xmm0
movups xmmword [rbp + 0x770], xmm0
mov r14, 0xffffffffffffffff
mov qword [rbp + 0x710], r14
xor esi, esi
mov dword [rbp + 0x718], esi
movups xmmword [rbp + 0x720], xmm0
movdqa xmm1, xmmword [0x1400af580]
movdqa xmmword [rbp + 0x730], xmm1
mov byte [rbp + 0x720], sil
lea rcx, [rbp + 0x740]
call fcn.1400161e0
nop
lea r9, [rbx + 8]
lea rax, [rbp + 0x720]
cmp rax, r9
je 0x140012c96
mov rsi, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140012b67
mov r9, qword [r9]
mov rax, qword [rbp + 0x738]
cmp rsi, rax
ja 0x140012c85
lea rdi, [rbp + 0x720]
cmp rax, 0xf
cmova rdi, qword [rbp + 0x720]
mov qword [rbp + 0x730], rsi
mov r8, rsi
mov rdx, r9
mov rcx, rdi
call fcn.140093090
mov byte [rsi + rdi], 0
jmp 0x140012c94
lea rax, [0x1400a4fa0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0x1a
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.140004380
xor eax, eax
xchg byte [r12 + 4], al
movsxd rcx, dword [r12]
call qword [sym.imp.WS2_32.dll_closesocket]
mov dword [r12], 0xffffffff
mov esi, 0x1000
mov rbx, qword [rbp + 0x668]
test rbx, rbx
je 0x140012c55
mov rdi, qword [rbp + 0x670]
cmp rbx, rdi
je 0x140012c1e
mov rcx, rbx
call fcn.140022750
add rbx, 0x40
cmp rbx, rdi
jne 0x140012c06
mov rbx, qword [rbp + 0x668]
mov rdx, qword [rbp + 0x678]
sub rdx, rbx
and rdx, 0xffffffffffffffc0
mov rax, rbx
cmp rdx, rsi
jb 0x140012c4d
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014073
mov rcx, rbx
call fcn.140068c3c
mov rcx, qword [rbp + 0x8b0]
xor rcx, rsp
call fcn.140068880
lea r11, [rsp + 0x9c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdx, rsi
lea rcx, [rbp + 0x720]
call fcn.14001a510
xor esi, esi
mov eax, dword [rbx]
mov dword [rbp + 0x718], eax
lea rcx, [rbp + 0x710]
call fcn.140026030
test al, al
je 0x140012d44
lea rcx, [rbp + 0x710]
call fcn.1400291b0
test al, al
jne 0x140012cff
lea rdx, [rbp + 0x720]
lea rcx, [rbp + 0x40]
call fcn.1400168f0
lea rcx, [0x1400a4fc8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0x19
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
mov rdx, rax
lea rcx, [rbp]
call fcn.1400191f0
jmp 0x140012d44
mov rdx, qword [r12 + 0x18]
lea rcx, [rbp + 0x710]
call fcn.140026b80
mov r15, rax
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x140012d5c
lea rax, [0x1400a4fe8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0x24
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.140004380
xchg byte [r12 + 4], sil
movsxd rcx, dword [r12]
call qword [sym.imp.WS2_32.dll_closesocket]
mov dword [r12], r14d
jmp 0x140013f74
lea rax, [0x1400a5010]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1c8], socket
movaps xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp + 0x270], xmm0
mov rdx, r15
lea rcx, [rbp + 0x270]
call fcn.1400193a0
mov qword [rbp + 0x438], rsi
lea rdx, [r12 + 0x28]
lea r8, [rbp + 0x400]
lea rcx, [rbp + 0x6d0]
call fcn.140018b70
nop
mov byte [rbp + 0x658], 0
xor edx, edx
lea rcx, [rbp + 0x660]
call fcn.140018510
nop
lea rax, [rbp + 0x6d0]
mov qword [rbp + 0x798], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x830], xmm0
movups xmmword [rbp + 0x840], xmm0
movups xmmword [rbp + 0x850], xmm0
movups xmmword [rbp + 0x860], xmm0
movups xmmword [rbp + 0x870], xmm0
movups xmmword [rbp + 0x880], xmm0
movups xmmword [rbp + 0x890], xmm0
mov qword [rbp + 0x8a0], rax
lea rdx, [rbp + 0x830]
lea rcx, [rbp + 0x798]
call fcn.140015f90
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x7b0], xmm0
movups xmmword [rbp + 0x7c0], xmm0
movups xmmword [rbp + 0x7d0], xmm0
movups xmmword [rbp + 0x7e0], xmm0
movups xmmword [rbp + 0x7f0], xmm0
movups xmmword [rbp + 0x800], xmm0
movups xmmword [rbp + 0x810], xmm0
mov qword [rbp + 0x820], rax
lea r8, [rbp + 0x6d0]
mov qword [rbp + 0x60], r8
movdqu xmmword [rbp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
movdqu xmmword [rbp + 0x78], xmm0
movabs r15, 0x8000000000000000
mov qword [rbp + 0x80], r15
movzx ecx, byte [r8]
mov edx, ecx
sub edx, 1
je 0x140012ec8
cmp edx, 1
je 0x140012eba
sub ecx, 1
je 0x140012ec8
cmp ecx, 1
je 0x140012eba
mov qword [rbp + 0x80], 1
jmp 0x140012ed3
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x70], rcx
jmp 0x140012ed3
mov rax, qword [r8 + 8]
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov qword [rbp + 0x7b0], r8
movups xmm0, xmmword [rbp + 0x68]
movups xmmword [rbp + 0x7b8], xmm0
movups xmm1, xmmword [rbp + 0x78]
movups xmmword [rbp + 0x7c8], xmm1
mov qword [rbp + 0x7d8], rsi
mov qword [rbp + 0x7e0], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x7e8], xmm0
mov qword [rbp + 0x7f8], rsi
mov qword [rbp + 0x800], rsi
mov r8d, 1
lea rdx, [0x1400ad8ac]
lea rcx, [rbp + 0x7e8]
call fcn.140002fa0
xorps xmm0, xmm0
movups xmmword [rbp + 0x808], xmm0
mov qword [rbp + 0x818], rsi
mov qword [rbp + 0x820], rsi
xor r8d, r8d
lea rdx, [0x1400a3e15]
lea rcx, [rbp + 0x808]
call fcn.140002fa0
nop
mov r8, qword [rbp + 0x830]
cmp r8, qword [rbp + 0x7b0]
jne 0x140014033
movzx ecx, byte [r8]
sub ecx, 1
je 0x140012fa0
cmp ecx, 1
je 0x140012f90
mov rax, qword [rbp + 0x7d0]
cmp qword [rbp + 0x850], rax
jmp 0x140012fae
mov rax, qword [rbp + 0x7c0]
cmp qword [rbp + 0x840], rax
jmp 0x140012fae
mov rax, qword [rbp + 0x7b8]
cmp qword [rbp + 0x838], rax
setne al
test al, al
je 0x1400134bb
lea rcx, [rbp + 0x830]
call fcn.140019550
mov qword [rbp - 0x40], rax
lea rcx, [rbp + 0x830]
call fcn.140016090
mov r8, rax
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x688], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x690], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x698], xmm1
mov rdi, r15
mov qword [rbp + 0x6a8], r15
movzx ecx, byte [rax]
mov edx, ecx
sub edx, 1
je 0x14001305f
cmp edx, 1
je 0x140013048
test ecx, ecx
je 0x140013033
sub ecx, 1
je 0x14001305f
cmp ecx, 1
je 0x140013048
mov rdi, rsi
mov qword [rbp + 0x6a8], rsi
mov rbx, qword [rbp + 0x690]
jmp 0x140013070
mov edi, 1
mov qword [rbp + 0x6a8], rdi
mov rbx, qword [rbp + 0x690]
jmp 0x140013070
mov rsi, qword [rax + 8]
mov rsi, qword [rsi]
mov qword [rbp + 0x698], rsi
mov rbx, qword [rbp + 0x690]
jmp 0x140013077
mov rax, qword [rax + 8]
mov rbx, qword [rax]
mov rbx, qword [rbx]
mov qword [rbp + 0x690], rbx
mov rsi, qword [rbp + 0x698]
mov qword [rbp + 0x6e0], r8
movdqu xmmword [rbp + 0x6e8], xmm0
movdqu xmmword [rbp + 0x6f0], xmm1
mov r14, r15
mov qword [rbp + 0x700], r15
movzx ecx, byte [r8]
mov edx, ecx
sub edx, 1
je 0x1400130e7
cmp edx, 1
je 0x1400130cf
mov qword [rbp + 0x700], r15
sub ecx, 1
je 0x1400130e7
cmp ecx, 1
je 0x1400130cf
mov r14d, 1
mov qword [rbp + 0x700], r14
mov r12, qword [rbp + 0x6e8]
jmp 0x1400130f6
mov r15, qword [r8 + 8]
mov r15, qword [r15 + 8]
mov qword [rbp + 0x6f0], r15
mov r12, qword [rbp + 0x6e8]
jmp 0x140013100
mov r12, qword [r8 + 8]
mov r12, qword [r12]
mov qword [rbp + 0x6e8], r12
mov r15, qword [rbp + 0x6f0]
nop dword [rax]
movzx ecx, byte [r8]
mov edx, ecx
sub edx, 1
je 0x14001311a
cmp edx, 1
je 0x140013115
cmp rdi, r14
jmp 0x14001311d
cmp rsi, r15
jmp 0x14001311d
cmp rbx, r12
setne al
test al, al
je 0x14001341b
test ecx, ecx
je 0x140014162
sub ecx, 1
je 0x14001314d
cmp ecx, 1
je 0x140013148
test rdi, rdi
jne 0x140014079
mov rcx, r8
jmp 0x140013151
mov rcx, rsi
jmp 0x140013151
lea rcx, [rbx + 0x40]
xorps xmm0, xmm0
movups xmmword [rbp + 0x6b0], xmm0
mov qword [rbp + 0x6c0], 0
mov qword [rbp + 0x6c8], socket
mov byte [rbp + 0x6b0], 0
or dword [rsp + 0x30], 1
cmp byte [rcx], 3
jne 0x14001410e
mov rdx, qword [rcx + 8]
lea rcx, [rbp + 0x6b0]
call fcn.140017db0
lea rax, [rbp + 0x6b0]
cmp qword [rbp + 0x6c8], 0xf
cmova rax, qword [rbp + 0x6b0]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x6c0]
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbp - 0x40]
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400131d3
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
movaps xmm0, xmmword [rbp + 0x1d0]
movdqa xmmword [rbp + 0x240], xmm0
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x710]
call fcn.140029d30
movaps xmm0, xmmword [rbp + 0x1e0]
movdqa xmmword [rbp + 0x250], xmm0
lea r8, [rbp + 0x250]
mov rdx, rax
lea rcx, [rbp + 0x710]
call fcn.140029660
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x390]
mov qword [rbp + 0x7a0], rax
lea rdx, [rbp + 0x6b0]
lea rcx, [rbp + 0x390]
call fcn.1400168f0
mov qword [rbp + 0xc0], rax
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp + 0x180]
call fcn.1400168f0
lea rcx, [0x1400a5028]
mov qword [rbp + 0x1f0], rcx
mov qword [rbp + 0x1f8], ntohl
movaps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0x260], xmm0
mov r9, qword [rbp - 0x20]
mov r8, qword [rbp + 0xc0]
mov rdx, rax
lea rcx, [rbp + 0x260]
call fcn.1400196d0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x70], 6
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x78], rax
movzx ecx, byte [rbp + 0x658]
test cl, cl
jne 0x1400132e9
mov byte [rbp + 0x658], 1
call fcn.1400199f0
mov qword [rbp + 0x660], rax
movzx ecx, byte [rbp + 0x658]
jmp 0x1400132f0
mov rax, qword [rbp + 0x660]
cmp cl, 1
jne 0x1400140b3
lea r8, [rbp + 0x6b0]
lea rdx, [rbp + 0x3f0]
mov rcx, rax
call fcn.140019fe0
mov rdx, qword [rax]
movzx ecx, byte [rdx + 0x40]
movzx eax, byte [rsp + 0x70]
mov byte [rdx + 0x40], al
mov byte [rsp + 0x70], cl
mov rax, qword [rdx + 0x48]
mov rcx, qword [rsp + 0x78]
mov qword [rdx + 0x48], rcx
mov qword [rsp + 0x78], rax
movzx edx, byte [rsp + 0x70]
lea rcx, [rsp + 0x78]
call fcn.140017790
and dword [rsp + 0x30], 0xfffffffe
mov rdx, qword [rbp + 0x6c8]
cmp rdx, 0xf
jbe 0x140013389
inc rdx
mov rcx, qword [rbp + 0x6b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013384
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400140ad
call fcn.140068c3c
mov r8, qword [rbp - 0x10]
movzx ecx, byte [r8]
sub ecx, 1
je 0x1400133ba
cmp ecx, 1
je 0x1400133aa
inc rdi
mov qword [rbp + 0x6a8], rdi
jmp 0x140013100
add rsi, 0x10
mov qword [rbp + 0x698], rsi
jmp 0x140013100
mov rax, rbx
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x19], 0
je 0x1400133f0
mov rbx, qword [rax + 8]
cmp byte [rbx + 0x19], 0
jne 0x14001340f
cmp rax, qword [rbx + 0x10]
jne 0x14001340f
mov rax, rbx
mov rbx, qword [rbx + 8]
cmp byte [rbx + 0x19], 0
je 0x1400133d1
mov qword [rbp + 0x690], rbx
jmp 0x140013100
mov rax, qword [rbx]
cmp byte [rax + 0x19], 0
jne 0x14001340f
nop dword [rax]
mov rbx, rax
mov rcx, qword [rax]
mov rax, rcx
cmp byte [rcx + 0x19], 0
je 0x140013400
mov qword [rbp + 0x690], rbx
jmp 0x140013100
mov r8, qword [rbp + 0x830]
movzx ecx, byte [r8]
sub ecx, 1
je 0x140013443
cmp ecx, 1
je 0x140013439
inc qword [rbp + 0x850]
jmp 0x140013496
add qword [rbp + 0x840], 0x10
jmp 0x140013496
mov rcx, qword [rbp + 0x838]
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140013475
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x14001348f
nop
cmp rcx, qword [rax + 0x10]
jne 0x14001348f
mov rcx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140013460
jmp 0x14001348f
mov rdx, qword [rax]
cmp byte [rdx + 0x19], 0
jne 0x14001348f
nop
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x140013480
mov qword [rbp + 0x838], rax
inc qword [rbp + 0x858]
cmp r8, qword [rbp + 0x7b0]
jne 0x140014033
xor esi, esi
movabs r15, 0x8000000000000000
jmp 0x140012f72
lea rcx, [rbp + 0x7b0]
call fcn.1400143e0
nop
lea rcx, [rbp + 0x830]
call fcn.1400143e0
lea rcx, [rbp + 0x6d0]
call fcn.1400162f0
nop
mov byte [rbp + 0x640], 0
xor edx, edx
lea rcx, [rbp + 0x648]
call fcn.140018510
nop
lea rax, [rbp - 0x80]
mov qword [rsp + 0x68], rax
mov byte [rbp - 0x80], 6
mov r15, qword [rbp - 0x50]
mov qword [rbp - 0x78], r15
movzx eax, byte [rbp + 0x640]
test al, al
jne 0x140013543
mov byte [rbp + 0x640], 1
mov dl, 1
lea rcx, [rbp + 0xd0]
call fcn.140018510
mov rbx, qword [rbp + 0xd0]
mov qword [rbp + 0x648], rbx
movzx eax, byte [rbp + 0x640]
jmp 0x14001354a
mov rbx, qword [rbp + 0x648]
cmp al, 1
jne 0x140013fde
xorps xmm0, xmm0
movups xmmword [rbp + 0x118], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x128], xmm1
mov r8d, 5
lea rdx, [0x1400a5038]
lea rcx, [rbp + 0x118]
call fcn.140002fa0
nop
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0x380]
mov rcx, rbx
call fcn.140021630
mov rbx, qword [rax]
mov rdx, qword [rbp + 0x130]
mov r14d, 0x1000
cmp rdx, 0xf
jbe 0x1400135dd
inc rdx
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, r14
jb 0x1400135d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014196
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp + 0x128], xmm0
mov byte [rbp + 0x118], 0
movzx ecx, byte [rbx + 0x40]
movzx eax, byte [rbp - 0x80]
mov byte [rbx + 0x40], al
mov byte [rbp - 0x80], cl
mov rax, qword [rbx + 0x48]
mov rcx, qword [rbp - 0x78]
mov qword [rbx + 0x48], rcx
mov qword [rbp - 0x78], rax
movzx edx, byte [rbp - 0x80]
lea rcx, [rbp - 0x78]
call fcn.140017790
lea rax, [rbp - 0x70]
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov byte [rbp - 0x70], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x7a0], xmm0
lea ecx, [rax + 0x20]
call fcn.1400689c0
mov rbx, rax
lea rax, [rbp + 0x650]
mov qword [rbp + 0x7a0], rax
mov qword [rbp + 0x7a8], rbx
mov r12, qword [rbp - 0x30]
lea rdx, [r12 + 0xa0]
mov rcx, rbx
call fcn.1400168f0
nop
mov qword [rbp - 0x68], rbx
movzx eax, byte [rbp + 0x640]
test al, al
jne 0x1400136ac
mov byte [rbp + 0x640], 1
mov dl, 1
lea rcx, [rbp + 0xd8]
call fcn.140018510
mov rbx, qword [rbp + 0xd8]
mov qword [rbp + 0x648], rbx
movzx eax, byte [rbp + 0x640]
jmp 0x1400136b3
mov rbx, qword [rbp + 0x648]
cmp al, 1
jne 0x14001421b
xorps xmm0, xmm0
movups xmmword [rbp + 0xf8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x108], xmm1
mov r8d, 2
lea rdx, [0x1400a5040]
lea rcx, [rbp + 0xf8]
call fcn.140002fa0
nop
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x3e0]
mov rcx, rbx
call fcn.140021630
mov rbx, qword [rax]
mov rdx, qword [rbp + 0x110]
cmp rdx, 0xf
jbe 0x140013740
inc rdx
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, r14
jb 0x14001373b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001419c
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp + 0x108], xmm0
mov byte [rbp + 0xf8], 0
movzx ecx, byte [rbx + 0x40]
movzx eax, byte [rbp - 0x70]
mov byte [rbx + 0x40], al
mov byte [rbp - 0x70], cl
mov rax, qword [rbx + 0x48]
mov rcx, qword [rbp - 0x68]
mov qword [rbx + 0x48], rcx
mov qword [rbp - 0x68], rax
movzx edx, byte [rbp - 0x70]
lea rcx, [rbp - 0x68]
call fcn.140017790
lea rax, [rbp - 0x60]
mov qword [rsp + 0x68], rax
movzx eax, byte [r12 + 0x78]
mov byte [rbp - 0x60], 4
mov byte [rbp - 0x50], al
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x58], rax
movzx eax, byte [rbp + 0x640]
test al, al
jne 0x1400137d7
mov byte [rbp + 0x640], 1
mov dl, 1
lea rcx, [rbp + 0xe0]
call fcn.140018510
mov rbx, qword [rbp + 0xe0]
mov qword [rbp + 0x648], rbx
movzx eax, byte [rbp + 0x640]
jmp 0x1400137de
mov rbx, qword [rbp + 0x648]
cmp al, 1
jne 0x1400141c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x98], xmm1
mov r8d, 3
lea rdx, [0x1400a5044]
lea rcx, [rbp + 0x88]
call fcn.140002fa0
nop
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x3b0]
mov rcx, rbx
call fcn.140021630
mov rbx, qword [rax]
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x14001386b
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, r14
jb 0x140013866
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400141a2
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp + 0x98], xmm0
mov byte [rbp + 0x88], 0
movzx ecx, byte [rbx + 0x40]
movzx eax, byte [rbp - 0x60]
mov byte [rbx + 0x40], al
mov byte [rbp - 0x60], cl
mov rax, qword [rbx + 0x48]
mov rcx, qword [rbp - 0x58]
mov qword [rbx + 0x48], rcx
mov qword [rbp - 0x58], rax
movzx edx, byte [rbp - 0x60]
lea rcx, [rbp - 0x58]
call fcn.140017790
lea rcx, [r12 + 0xc0]
cmp qword [r12 + 0xd8], 0xf
jbe 0x1400138c8
mov rcx, qword [r12 + 0xc0]
mov rax, qword [r12 + 0xd0]
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x640]
call fcn.1400163e0
nop
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400138ff
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x200], rcx
mov qword [rbp + 0x208], rax
movaps xmm0, xmmword [rbp + 0x170]
movdqa xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0xc0], xmm1
mov dword [rsp + 0x20], 9
lea r9, [rbp - 0x10]
xor r8d, r8d
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x5f0]
call fcn.140011bd0
mov r8, qword [rax + 0x18]
test r8, r8
je 0x140013979
cmp qword [rax + 0x38], 0
je 0x140013979
lea rdx, [rax + 8]
cmp qword [rdx + 0x18], 0xf
jbe 0x14001396c
mov rdx, qword [rdx]
movsxd rcx, dword [r12]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
lea rcx, [rbp + 0x5f0]
call fcn.1400124e0
nop
mov rdx, qword [rbp + 0x2e8]
cmp rdx, 0xf
jbe 0x1400139c3
inc rdx
mov rcx, qword [rbp + 0x2d0]
mov rax, rcx
cmp rdx, r14
jb 0x1400139be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400141a8
call fcn.140068c3c
lea rcx, [rbp + 0x640]
call fcn.1400162f0
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x658]
call fcn.1400163e0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400139f0
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp + 0x780], xmm0
mov qword [rbp + 0x790], rcx
add r8, rdx
lea rcx, [rbp + 0x780]
call fcn.140018ea0
mov rbx, qword [rbp + 0x788]
sub rbx, qword [rbp + 0x780]
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp + 0x680], eax
movsxd rcx, dword [r12]
xor r9d, r9d
lea r8d, [r9 + 4]
lea rdx, [rbp + 0x680]
call qword [sym.imp.WS2_32.dll_send]
mov rdi, rsi
test rbx, rbx
je 0x140013a81
mov r8, rbx
cmp rbx, r14
cmova r8, r14
mov rdx, qword [rbp + 0x780]
add rdx, rdi
movsxd rcx, dword [r12]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x140013a81
cdqe
add rdi, rax
sub rbx, rax
jne 0x140013a52
mov rcx, qword [rbp + 0x780]
test rcx, rcx
je 0x140013abe
mov rdx, qword [rbp + 0x790]
sub rdx, rcx
mov rax, rcx
cmp rdx, r14
jb 0x140013ab8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400141ae
call fcn.140068c3c
nop
mov rdx, qword [rbp + 0x308]
cmp rdx, 0xf
jbe 0x140013afb
inc rdx
mov rcx, qword [rbp + 0x2f0]
mov rax, rcx
cmp rdx, r14
jb 0x140013af6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400141b4
call fcn.140068c3c
lea rcx, [rbp + 0x658]
call fcn.1400162f0
lea rax, [0x1400a5048]
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], reloc.WS2_32.dll_ntohl
movaps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.1400044b0
cmp dword [r12 + 8], 6
je 0x140013b6d
nop dword [rax]
movzx eax, byte [r12 + 4]
test al, al
je 0x140013f38
mov qword [rbp + 0xe8], 1
lea rcx, [rbp + 0xe8]
call fcn.140018f70
cmp dword [r12 + 8], 6
jne 0x140013b40
mov r8, qword [r12 + 0x48]
mov r9, qword [r12 + 0x50]
sub r9, r8
mov rdx, r15
lea rcx, [rbp + 0x710]
call fcn.1400263c0
test al, al
jne 0x140013ba2
lea rax, [0x1400a5058]
mov qword [rsp + 0x48], socket
jmp 0x140013d2d
mov rax, qword [r12 + 0x48]
cmp rax, qword [r12 + 0x50]
je 0x140013bb3
mov qword [r12 + 0x50], rax
mov edi, dword [r12 + 0x20]
add rdi, r15
lea rax, [0x1400a5070]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], ntohl
movaps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0x230], xmm0
mov rdx, rdi
lea rcx, [rbp + 0x230]
call fcn.1400193a0
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400c2a2c], eax
jle 0x140013cc7
lea rcx, [0x1400c2a2c]
call fcn.140068948
cmp dword [0x1400c2a2c], 0xffffffff
jne 0x140013cc7
mov dword [rsp + 0x50], 0x6ae58955
mov dword [rsp + 0x54], 0x68016a00
mov dword [rsp + 0x58], 0xdeadbeef
mov dword [rsp + 0x5c], 0xadbeefb8
mov dword [rsp + 0x60], 0x89d0ffde
mov word [rsp + 0x64], 0x5dec
mov byte [rsp + 0x66], 0xc3
xorps xmm0, xmm0
movdqu xmmword [0x1400c2a30], xmm0
mov qword [0x1400c2a40], rsi
mov ecx, reloc.WS2_32.dll_socket
call fcn.1400689c0
mov qword [0x1400c2a30], rax
mov qword [0x1400c2a38], rax
lea rbx, [rax + 0x17]
mov qword [0x1400c2a40], rbx
mov r8d, reloc.WS2_32.dll_socket
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140093090
mov qword [0x1400c2a38], rbx
lea rcx, [0x140096d80]
call fcn.140068c24
nop
lea rcx, [0x1400c2a2c]
call fcn.1400688dc
mov rax, qword [0x1400c2a30]
mov dword [rax + 8], r15d
mov rax, qword [0x1400c2a30]
mov dword [rax + 0xd], edi
mov rdx, qword [0x1400c2a38]
sub rdx, qword [0x1400c2a30]
lea rcx, [rbp + 0x710]
call fcn.140026b80
mov rbx, rax
mov r9, qword [0x1400c2a38]
mov r8, qword [0x1400c2a30]
sub r9, r8
mov rdx, rax
lea rcx, [rbp + 0x710]
call fcn.1400263c0
test al, al
jne 0x140013d61
lea rax, [0x1400a5080]
mov qword [rsp + 0x48], 0x1a
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.140004380
xchg byte [r12 + 4], sil
movsxd rcx, dword [r12]
call qword [sym.imp.WS2_32.dll_closesocket]
mov dword [r12], 0xffffffff
jmp 0x140013f38
lea rax, [0x1400a50a0]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], reloc.WS2_32.dll_recv
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x280], xmm0
mov rdx, rbx
lea rcx, [rbp + 0x280]
call fcn.1400193a0
mov rdx, rbx
lea rcx, [rbp + 0x710]
call fcn.140026880
mov r8, qword [0x1400c2a38]
sub r8, qword [0x1400c2a30]
mov rdx, rbx
lea rcx, [rbp + 0x710]
call fcn.140026560
mov rcx, qword [rbp + 0x710]
call fcn.140066a00
test al, al
je 0x140013e1e
lea rdx, [rbp + 0x720]
lea rcx, [rbp + 0x3c0]
call fcn.1400168f0
lea rcx, str.closed_handle_to_.
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], socket
movaps xmm0, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x290], xmm0
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.140019040
mov r14, 0xffffffffffffffff
mov qword [rbp + 0x710], r14
mov dword [r12 + 8], 7
lea rax, [0x1400a50b4]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], 4
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x2a0], xmm0
lea rcx, [rbp + 0x2a0]
call fcn.1400044b0
lea rcx, [rbp + 0xf0]
call fcn.14000ff90
movabs rdx, 0x7fffffff4d2fa1ff
mov rax, qword [rbp + 0xf0]
mov ebx, 0xff
cmp rax, rdx
je 0x140013ea5
mov ecx, 1
cmovl ecx, ebx
test cl, cl
jns 0x140013ea5
mov r13d, 0xb2d05e00
add r13, rax
movabs rdi, 0x4e94914effff
movabs r12, 0x431bde82d7b634db
nop dword [rax]
lea rcx, [rbp - 0x48]
call fcn.14000ff90
mov rax, qword [rbp - 0x48]
cmp r13, rax
je 0x140013f21
mov ecx, 1
cmovl ecx, ebx
test cl, cl
jle 0x140013f21
mov rcx, r13
sub rcx, rax
cmp rcx, rdi
jg 0x140013f15
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x140013f0c
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140013ec0
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x140013ec0
mov r12, qword [rbp - 0x30]
xchg byte [r12 + 4], sil
movsxd rcx, dword [r12]
call qword [sym.imp.WS2_32.dll_closesocket]
mov dword [r12], r14d
movzx edx, byte [rbp + 0x640]
lea rcx, [rbp + 0x648]
call fcn.140017790
nop
movzx edx, byte [rbp + 0x658]
lea rcx, [rbp + 0x660]
call fcn.140017790
nop
movzx edx, byte [rbp + 0x6d0]
lea rcx, [rbp + 0x6d8]
call fcn.140017790
nop
lea rcx, [rbp + 0x740]
call fcn.1400125e0
mov rdx, qword [rbp + 0x738]
mov esi, 0x1000
cmp rdx, 0xf
jbe 0x140013fc2
inc rdx
mov rcx, qword [rbp + 0x720]
mov rax, rcx
cmp rdx, rsi
jb 0x140013fbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400141ba
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqa xmmword [rbp + 0x730], xmm0
mov byte [rbp + 0x720], 0
jmp 0x140012bee
lea rcx, [rbp + 0x640]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x310]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x310]
call fcn.14006aa84
nop
lea rdx, str.cannot_compare_iterators_of_different_containers
lea rcx, [rbp + 0x180]
call fcn.140002f60
nop
lea r8, [rbp + 0x180]
mov edx, 0xd4
lea rcx, [rbp + 0x310]
call fcn.140010d20
lea rdx, [0x1400bcf70]
lea rcx, [rbp + 0x310]
call fcn.14006aa84
nop
call fcn.140073bd4
nop
lea rdx, str.cannot_get_value
lea rcx, [rbp + 0x40]
call fcn.140002f60
nop
lea r8, [rbp + 0x40]
mov edx, 0xd6
lea rcx, [rbp]
call fcn.140010d20
lea rdx, [0x1400bcf70]
lea rcx, [rbp]
call fcn.14006aa84
nop
call fcn.140073bd4
nop
lea rcx, [rbp + 0x658]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x4e8]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x508]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x478]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x478]
call fcn.14006aa84
nop
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x528]
call fcn.140002f60
nop
mov r8, rax
lea rdx, [0x1400a5388]
lea rcx, [rbp + 0x548]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rbp + 0x348]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x348]
call fcn.14006aa84
nop
lea rdx, str.cannot_get_value
lea rcx, [rbp + 0x40]
call fcn.140002f60
nop
lea r8, [rbp + 0x40]
mov edx, 0xd6
lea rcx, [rbp]
call fcn.140010d20
lea rdx, [0x1400bcf70]
lea rcx, [rbp]
call fcn.14006aa84
nop
call fcn.140073bd4
nop
call fcn.140073bd4
nop
call fcn.140073bd4
nop
call fcn.140073bd4
nop
call fcn.140073bd4
nop
call fcn.140073bd4
nop
call fcn.140073bd4
nop
lea rcx, [rbp + 0x640]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x568]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x588]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x4b0]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x4b0]
call fcn.14006aa84
nop
lea rcx, [rbp + 0x640]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x5a8]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x5c8]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x440]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x440]
call fcn.14006aa84
int3