Function at 0x140014490
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 - 0x8d0]
sub rsp, 0x9d0
mov rax, qword [0x1400bf0c0]
xor rax, rsp
mov qword [rbp + 0x8c0], rax
mov r12, rcx
mov qword [rbp - 0x20], rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov dword [rcx + 8], 5
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x678], xmm1
mov qword [rbp + 0x688], r14
lea rcx, [rbp + 0x678]
call fcn.140026d40
mov esi, 0x1000
test al, al
jne 0x140014548
lea rax, [0x1400a50c0]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0x1a
movaps xmm0, xmmword [rbp - 0x20]
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 0x1400148ee
mov rbx, qword [rbp + 0x678]
mov rsi, qword [rbp + 0x680]
cmp rbx, rsi
je 0x1400145af
mov r15, qword [r12 + 0xb0]
mov r14, qword [r12 + 0xb8]
nop dword [rax + rax]
lea rdx, [r12 + 0xa0]
cmp r14, 0xf
jbe 0x140014586
mov rdx, qword [r12 + 0xa0]
mov r8, qword [rbx + 0x18]
lea rcx, [rbx + 8]
cmp qword [rbx + 0x20], 0xf
jbe 0x140014598
mov rcx, qword [rcx]
cmp r8, r15
jne 0x1400145a6
call fcn.140093b70
test eax, eax
je 0x1400145af
add rbx, 0x40
cmp rbx, rsi
jne 0x140014570
lea rdx, [r12 + 0xa0]
lea rcx, [rbp + 0x50]
call fcn.1400168f0
lea rcx, str.waiting_for_.
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], socket
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x10], xmm0
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.140019040
mov r14d, 0xff
movabs r13, 0x7fffffffffffffff
movabs r15, 0x4e94914effff
cmp rbx, qword [rbp + 0x680]
jne 0x1400147aa
movabs rsi, 0x7ffffffed5fa0dff
nop dword [rax]
movabs rbx, 0x12a05f200
lea rcx, [rbp + 0xf8]
call fcn.14000ff90
mov rax, qword [rbp + 0xf8]
cmp rax, rsi
je 0x140014654
mov ecx, 1
cmovl ecx, r14d
test cl, cl
jns 0x140014654
add rbx, rax
jmp 0x140014657
mov rbx, r13
movabs rdi, 0x431bde82d7b634db
lea rcx, [rbp + 0x100]
call fcn.14000ff90
mov rax, qword [rbp + 0x100]
cmp rbx, rax
je 0x1400146c9
mov ecx, 1
cmovl ecx, r14d
test cl, cl
jle 0x1400146c9
mov rcx, rbx
sub rcx, rax
cmp rcx, r15
jg 0x1400146bd
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 0x1400146b4
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140014661
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x140014661
movzx eax, byte [r12 + 4]
test al, al
je 0x1400148e9
lea rcx, [rbp + 0x678]
call fcn.140026d40
test al, al
je 0x1400148a8
mov rbx, qword [rbp + 0x678]
mov rsi, qword [rbp + 0x680]
cmp rbx, rsi
je 0x14001475f
mov r15, qword [r12 + 0xb0]
mov r14, qword [r12 + 0xb8]
nop
lea rdx, [r12 + 0xa0]
cmp r14, 0xf
jbe 0x140014726
mov rdx, qword [r12 + 0xa0]
mov r8, qword [rbx + 0x18]
lea rcx, [rbx + 8]
cmp qword [rbx + 0x20], 0xf
jbe 0x140014738
mov rcx, qword [rcx]
cmp r8, r15
jne 0x140014746
call fcn.140093b70
test eax, eax
je 0x14001474f
add rbx, 0x40
cmp rbx, rsi
jne 0x140014710
mov r14d, 0xff
movabs r15, 0x4e94914effff
lea rax, [0x1400a510c]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], 1
movaps xmm0, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x240], xmm0
lea rcx, [rbp + 0x240]
call fcn.1400044b0
cmp rbx, qword [rbp + 0x680]
movabs rsi, 0x7ffffffed5fa0dff
je 0x140014620
lea rax, str.found_
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], 6
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x250], xmm0
lea rcx, [rbp + 0x250]
call fcn.1400044b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x720], xmm0
movups xmmword [rbp + 0x750], xmm0
movups xmmword [rbp + 0x760], xmm0
movups xmmword [rbp + 0x770], xmm0
movups xmmword [rbp + 0x780], xmm0
mov r14, 0xffffffffffffffff
mov qword [rbp + 0x720], r14
xor esi, esi
mov dword [rbp + 0x728], esi
movups xmmword [rbp + 0x730], xmm0
movdqa xmm1, xmmword [0x1400af580]
movdqa xmmword [rbp + 0x740], xmm1
mov byte [rbp + 0x730], sil
lea rcx, [rbp + 0x750]
call fcn.1400161e0
nop
lea r9, [rbx + 8]
lea rax, [rbp + 0x730]
cmp rax, r9
je 0x140014996
mov rsi, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140014867
mov r9, qword [r9]
mov rax, qword [rbp + 0x748]
cmp rsi, rax
ja 0x140014985
lea rdi, [rbp + 0x730]
cmp rax, 0xf
cmova rdi, qword [rbp + 0x730]
mov qword [rbp + 0x740], rsi
mov r8, rsi
mov rdx, r9
mov rcx, rdi
call fcn.140093090
mov byte [rsi + rdi], 0
jmp 0x140014994
lea rax, str.failed_to_fetch_processes.
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0x1a
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x10]
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 + 0x678]
test rbx, rbx
je 0x140014955
mov rdi, qword [rbp + 0x680]
cmp rbx, rdi
je 0x14001491e
mov rcx, rbx
call fcn.140022750
add rbx, 0x40
cmp rbx, rdi
jne 0x140014906
mov rbx, qword [rbp + 0x678]
mov rdx, qword [rbp + 0x688]
sub rdx, rbx
and rdx, 0xffffffffffffffc0
mov rax, rbx
cmp rdx, rsi
jb 0x14001494d
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015d83
mov rcx, rbx
call fcn.140068c3c
mov rcx, qword [rbp + 0x8c0]
xor rcx, rsp
call fcn.140068880
lea r11, [rsp + 0x9d0]
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 + 0x730]
call fcn.14001a510
xor esi, esi
mov eax, dword [rbx]
mov dword [rbp + 0x728], eax
lea rcx, [rbp + 0x720]
call fcn.140026030
test al, al
je 0x140014a44
lea rcx, [rbp + 0x720]
call fcn.140027ef0
test al, al
jne 0x1400149ff
lea rdx, [rbp + 0x730]
lea rcx, [rbp + 0x50]
call fcn.1400168f0
lea rcx, str.failed_to_enum__modules
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0x19
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x10], xmm0
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1400191f0
jmp 0x140014a44
mov rdx, qword [r12 + 0x18]
lea rcx, [rbp + 0x720]
call fcn.140026b80
mov r15, rax
mov qword [rbp - 0x30], rax
test rax, rax
jne 0x140014a5c
lea rax, str.failed_to_allocate_memory_for_image.
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0x24
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x10]
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 0x140015c84
lea rax, str.image_base_:_:x
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], socket
movaps xmm0, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0x260], xmm0
mov rdx, r15
lea rcx, [rbp + 0x260]
call fcn.1400193a0
mov qword [rbp + 0x448], rsi
lea rdx, [r12 + 0x28]
lea r8, [rbp + 0x410]
lea rcx, [rbp + 0x6e0]
call fcn.140018b70
nop
mov byte [rbp + 0x668], 0
xor edx, edx
lea rcx, [rbp + 0x670]
call fcn.140018510
nop
lea rax, [rbp + 0x6e0]
mov qword [rbp + 0x7a8], rax
xorps xmm0, xmm0
xor eax, eax
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
movups xmmword [rbp + 0x8a0], xmm0
mov qword [rbp + 0x8b0], rax
lea rdx, [rbp + 0x840]
lea rcx, [rbp + 0x7a8]
call fcn.140015f90
nop
xorps xmm0, xmm0
xor eax, eax
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
movups xmmword [rbp + 0x820], xmm0
mov qword [rbp + 0x830], rax
lea r8, [rbp + 0x6e0]
mov qword [rbp + 0x70], r8
movdqu xmmword [rbp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
movdqu xmmword [rbp + 0x88], xmm0
movabs r15, 0x8000000000000000
mov qword [rbp + 0x90], r15
movzx ecx, byte [r8]
mov edx, ecx
sub edx, 1
je 0x140014bd1
cmp edx, 1
je 0x140014bc0
sub ecx, 1
je 0x140014bd1
cmp ecx, 1
je 0x140014bc0
mov qword [rbp + 0x90], 1
jmp 0x140014bdc
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x80], rcx
jmp 0x140014bdc
mov rax, qword [r8 + 8]
mov rcx, qword [rax]
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x7c0], r8
movups xmm0, xmmword [rbp + 0x78]
movups xmmword [rbp + 0x7c8], xmm0
movups xmm1, xmmword [rbp + 0x88]
movups xmmword [rbp + 0x7d8], xmm1
mov qword [rbp + 0x7e8], rsi
mov qword [rbp + 0x7f0], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x7f8], xmm0
mov qword [rbp + 0x808], rsi
mov qword [rbp + 0x810], rsi
mov r8d, 1
lea rdx, [0x1400ad8ac]
lea rcx, [rbp + 0x7f8]
call fcn.140002fa0
xorps xmm0, xmm0
movups xmmword [rbp + 0x818], xmm0
mov qword [rbp + 0x828], rsi
mov qword [rbp + 0x830], rsi
xor r8d, r8d
lea rdx, [0x1400a3e15]
lea rcx, [rbp + 0x818]
call fcn.140002fa0
nop
mov r8, qword [rbp + 0x840]
cmp r8, qword [rbp + 0x7c0]
jne 0x140015d43
nop
movzx ecx, byte [r8]
sub ecx, 1
je 0x140014cae
cmp ecx, 1
je 0x140014c9e
mov rax, qword [rbp + 0x7e0]
cmp qword [rbp + 0x860], rax
jmp 0x140014cbc
mov rax, qword [rbp + 0x7d0]
cmp qword [rbp + 0x850], rax
jmp 0x140014cbc
mov rax, qword [rbp + 0x7c8]
cmp qword [rbp + 0x848], rax
setne al
test al, al
je 0x1400151bb
lea rcx, [rbp + 0x840]
call fcn.140019550
mov qword [rbp - 0x28], rax
lea rcx, [rbp + 0x840]
call fcn.140016090
mov r8, rax
mov qword [rbp], rax
mov qword [rbp + 0x698], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x6a0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x6a8], xmm1
mov rdi, r15
mov qword [rbp + 0x6b8], r15
movzx ecx, byte [rax]
mov edx, ecx
sub edx, 1
je 0x140014d6d
cmp edx, 1
je 0x140014d56
test ecx, ecx
je 0x140014d41
sub ecx, 1
je 0x140014d6d
cmp ecx, 1
je 0x140014d56
mov rdi, rsi
mov qword [rbp + 0x6b8], rsi
mov rbx, qword [rbp + 0x6a0]
jmp 0x140014d7e
mov edi, 1
mov qword [rbp + 0x6b8], rdi
mov rbx, qword [rbp + 0x6a0]
jmp 0x140014d7e
mov rsi, qword [rax + 8]
mov rsi, qword [rsi]
mov qword [rbp + 0x6a8], rsi
mov rbx, qword [rbp + 0x6a0]
jmp 0x140014d85
mov rax, qword [rax + 8]
mov rbx, qword [rax]
mov rbx, qword [rbx]
mov qword [rbp + 0x6a0], rbx
mov rsi, qword [rbp + 0x6a8]
mov qword [rbp + 0x6f0], r8
movdqu xmmword [rbp + 0x6f8], xmm0
movdqu xmmword [rbp + 0x700], xmm1
mov r14, r15
mov qword [rbp + 0x710], r15
movzx ecx, byte [r8]
mov edx, ecx
sub edx, 1
je 0x140014df5
cmp edx, 1
je 0x140014ddd
mov qword [rbp + 0x710], r15
sub ecx, 1
je 0x140014df5
cmp ecx, 1
je 0x140014ddd
mov r14d, 1
mov qword [rbp + 0x710], r14
mov r12, qword [rbp + 0x6f8]
jmp 0x140014e04
mov r15, qword [r8 + 8]
mov r15, qword [r15 + 8]
mov qword [rbp + 0x700], r15
mov r12, qword [rbp + 0x6f8]
jmp 0x140014e10
mov r12, qword [r8 + 8]
mov r12, qword [r12]
mov qword [rbp + 0x6f8], r12
mov r15, qword [rbp + 0x700]
nop dword [rax + rax]
movzx ecx, byte [r8]
mov edx, ecx
sub edx, 1
je 0x140014e2a
cmp edx, 1
je 0x140014e25
cmp rdi, r14
jmp 0x140014e2d
cmp rsi, r15
jmp 0x140014e2d
cmp rbx, r12
setne al
test al, al
je 0x14001511b
test ecx, ecx
je 0x140015e72
sub ecx, 1
je 0x140014e5d
cmp ecx, 1
je 0x140014e58
test rdi, rdi
jne 0x140015d89
mov rcx, r8
jmp 0x140014e61
mov rcx, rsi
jmp 0x140014e61
lea rcx, [rbx + 0x40]
xorps xmm0, xmm0
movups xmmword [rbp + 0x6c0], xmm0
mov qword [rbp + 0x6d0], 0
mov qword [rbp + 0x6d8], socket
mov byte [rbp + 0x6c0], 0
or dword [rsp + 0x30], 1
cmp byte [rcx], 3
jne 0x140015e1e
mov rdx, qword [rcx + 8]
lea rcx, [rbp + 0x6c0]
call fcn.140017db0
lea rax, [rbp + 0x6c0]
cmp qword [rbp + 0x6d8], 0xf
cmova rax, qword [rbp + 0x6c0]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x6d0]
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp - 0x28]
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140014ee3
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x1e8], rax
movaps xmm0, xmmword [rbp + 0x1e0]
movdqa xmmword [rbp + 0x270], xmm0
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x720]
call fcn.140028a80
movaps xmm0, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0x280], xmm0
lea r8, [rbp + 0x280]
mov rdx, rax
lea rcx, [rbp + 0x720]
call fcn.1400283b0
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x3f0]
mov qword [rbp + 0x7b0], rax
lea rdx, [rbp + 0x6c0]
lea rcx, [rbp + 0x3f0]
call fcn.1400168f0
mov qword [rbp + 0x130], rax
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp + 0x180]
call fcn.1400168f0
lea rcx, str.____:x
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x1b8], ntohl
movaps xmm0, xmmword [rbp + 0x1b0]
movdqa xmmword [rbp + 0x290], xmm0
mov r9, qword [rbp - 0x10]
mov r8, qword [rbp + 0x130]
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.1400196d0
lea rax, [rbp - 0x78]
mov qword [rbp - 0x80], rax
mov byte [rbp - 0x78], 6
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x70], rax
movzx ecx, byte [rbp + 0x668]
test cl, cl
jne 0x140014ff5
mov byte [rbp + 0x668], 1
call fcn.1400199f0
mov qword [rbp + 0x670], rax
movzx ecx, byte [rbp + 0x668]
jmp 0x140014ffc
mov rax, qword [rbp + 0x670]
cmp cl, 1
jne 0x140015dc3
lea r8, [rbp + 0x6c0]
lea rdx, [rbp + 0x390]
mov rcx, rax
call fcn.140019fe0
mov rdx, qword [rax]
movzx ecx, byte [rdx + 0x40]
movzx eax, byte [rbp - 0x78]
mov byte [rdx + 0x40], al
mov byte [rbp - 0x78], cl
mov rax, qword [rdx + 0x48]
mov rcx, qword [rbp - 0x70]
mov qword [rdx + 0x48], rcx
mov qword [rbp - 0x70], rax
movzx edx, byte [rbp - 0x78]
lea rcx, [rbp - 0x70]
call fcn.140017790
and dword [rsp + 0x30], 0xfffffffe
mov rdx, qword [rbp + 0x6d8]
cmp rdx, 0xf
jbe 0x14001508f
inc rdx
mov rcx, qword [rbp + 0x6c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001508a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015dbd
call fcn.140068c3c
mov r8, qword [rbp]
movzx ecx, byte [r8]
sub ecx, 1
je 0x1400150c0
cmp ecx, 1
je 0x1400150b0
inc rdi
mov qword [rbp + 0x6b8], rdi
jmp 0x140014e10
add rsi, 0x10
mov qword [rbp + 0x6a8], rsi
jmp 0x140014e10
mov rax, rbx
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x19], 0
je 0x1400150f6
mov rbx, qword [rax + 8]
cmp byte [rbx + 0x19], 0
jne 0x14001510f
cmp rax, qword [rbx + 0x10]
jne 0x14001510f
mov rax, rbx
mov rbx, qword [rbx + 8]
cmp byte [rbx + 0x19], 0
je 0x1400150d7
mov qword [rbp + 0x6a0], rbx
jmp 0x140014e10
mov rax, qword [rbx]
cmp byte [rax + 0x19], 0
jne 0x14001510f
nop
mov rbx, rax
mov rcx, qword [rax]
mov rax, rcx
cmp byte [rcx + 0x19], 0
je 0x140015100
mov qword [rbp + 0x6a0], rbx
jmp 0x140014e10
mov r8, qword [rbp + 0x840]
movzx ecx, byte [r8]
sub ecx, 1
je 0x140015143
cmp ecx, 1
je 0x140015139
inc qword [rbp + 0x860]
jmp 0x140015196
add qword [rbp + 0x850], 0x10
jmp 0x140015196
mov rcx, qword [rbp + 0x848]
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140015175
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x14001518f
nop
cmp rcx, qword [rax + 0x10]
jne 0x14001518f
mov rcx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140015160
jmp 0x14001518f
mov rdx, qword [rax]
cmp byte [rdx + 0x19], 0
jne 0x14001518f
nop
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x140015180
mov qword [rbp + 0x848], rax
inc qword [rbp + 0x868]
cmp r8, qword [rbp + 0x7c0]
jne 0x140015d43
xor esi, esi
movabs r15, 0x8000000000000000
jmp 0x140014c80
lea rcx, [rbp + 0x7c0]
call fcn.1400143e0
nop
lea rcx, [rbp + 0x840]
call fcn.1400143e0
lea rcx, [rbp + 0x6e0]
call fcn.1400162f0
nop
mov byte [rbp + 0x650], 0
xor edx, edx
lea rcx, [rbp + 0x658]
call fcn.140018510
nop
lea rax, [rbp - 0x68]
mov qword [rbp - 0x80], rax
mov byte [rbp - 0x68], 6
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x60], r15
movzx eax, byte [rbp + 0x650]
test al, al
jne 0x140015242
mov byte [rbp + 0x650], 1
mov dl, 1
lea rcx, [rbp + 0x140]
call fcn.140018510
mov rbx, qword [rbp + 0x140]
mov qword [rbp + 0x658], rbx
movzx eax, byte [rbp + 0x650]
jmp 0x140015249
mov rbx, qword [rbp + 0x658]
cmp al, 1
jne 0x140015cee
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
mov r8d, 5
lea rdx, str.alloc
lea rcx, [rbp + 0x108]
call fcn.140002fa0
nop
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0x3a0]
mov rcx, rbx
call fcn.140021630
mov rbx, qword [rax]
mov rdx, qword [rbp + 0x120]
mov r14d, 0x1000
cmp rdx, 0xf
jbe 0x1400152dc
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, r14
jb 0x1400152d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015ea6
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp + 0x118], xmm0
mov byte [rbp + 0x108], 0
movzx ecx, byte [rbx + 0x40]
movzx eax, byte [rbp - 0x68]
mov byte [rbx + 0x40], al
mov byte [rbp - 0x68], cl
mov rax, qword [rbx + 0x48]
mov rcx, qword [rbp - 0x60]
mov qword [rbx + 0x48], rcx
mov qword [rbp - 0x60], rax
movzx edx, byte [rbp - 0x68]
lea rcx, [rbp - 0x60]
call fcn.140017790
lea rax, [rbp - 0x58]
mov qword [rbp - 0x80], rax
xor eax, eax
mov qword [rbp - 0x50], rax
mov byte [rbp - 0x58], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x7b0], xmm0
lea ecx, [rax + 0x20]
call fcn.1400689c0
mov rbx, rax
lea rax, [rbp + 0x660]
mov qword [rbp + 0x7b0], rax
mov qword [rbp + 0x7b8], rbx
mov r12, qword [rbp - 0x20]
lea rdx, [r12 + 0xa0]
mov rcx, rbx
call fcn.1400168f0
nop
mov qword [rbp - 0x50], rbx
movzx eax, byte [rbp + 0x650]
test al, al
jne 0x1400153aa
mov byte [rbp + 0x650], 1
mov dl, 1
lea rcx, [rbp + 0x98]
call fcn.140018510
mov rbx, qword [rbp + 0x98]
mov qword [rbp + 0x658], rbx
movzx eax, byte [rbp + 0x650]
jmp 0x1400153b1
mov rbx, qword [rbp + 0x658]
cmp al, 1
jne 0x140015f2b
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe8], xmm1
mov r8d, 2
lea rdx, [0x1400a5190]
lea rcx, [rbp + 0xd8]
call fcn.140002fa0
nop
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x3b0]
mov rcx, rbx
call fcn.140021630
mov rbx, qword [rax]
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0xf
jbe 0x14001543e
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, r14
jb 0x140015439
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015eac
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp + 0xe8], xmm0
mov byte [rbp + 0xd8], 0
movzx ecx, byte [rbx + 0x40]
movzx eax, byte [rbp - 0x58]
mov byte [rbx + 0x40], al
mov byte [rbp - 0x58], cl
mov rax, qword [rbx + 0x48]
mov rcx, qword [rbp - 0x50]
mov qword [rbx + 0x48], rcx
mov qword [rbp - 0x50], rax
movzx edx, byte [rbp - 0x58]
lea rcx, [rbp - 0x50]
call fcn.140017790
lea rax, [rbp - 0x48]
mov qword [rbp - 0x80], rax
movzx eax, byte [r12 + 0x78]
mov byte [rbp - 0x48], 4
mov byte [rbp - 0x30], al
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x40], rax
movzx eax, byte [rbp + 0x650]
test al, al
jne 0x1400154d4
mov byte [rbp + 0x650], 1
mov dl, 1
lea rcx, [rbp + 0xa0]
call fcn.140018510
mov rbx, qword [rbp + 0xa0]
mov qword [rbp + 0x658], rbx
movzx eax, byte [rbp + 0x650]
jmp 0x1400154db
mov rbx, qword [rbp + 0x658]
cmp al, 1
jne 0x140015ed0
xorps xmm0, xmm0
movups xmmword [rbp + 0xb8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xc8], xmm1
mov r8d, 3
lea rdx, [0x1400a5194]
lea rcx, [rbp + 0xb8]
call fcn.140002fa0
nop
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x3c0]
mov rcx, rbx
call fcn.140021630
mov rbx, qword [rax]
mov rdx, qword [rbp + 0xd0]
cmp rdx, 0xf
jbe 0x140015568
inc rdx
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, r14
jb 0x140015563
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015eb2
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp + 0xc8], xmm0
mov byte [rbp + 0xb8], 0
movzx ecx, byte [rbx + 0x40]
movzx eax, byte [rbp - 0x48]
mov byte [rbx + 0x40], al
mov byte [rbp - 0x48], cl
mov rax, qword [rbx + 0x48]
mov rcx, qword [rbp - 0x40]
mov qword [rbx + 0x48], rcx
mov qword [rbp - 0x40], rax
movzx edx, byte [rbp - 0x48]
lea rcx, [rbp - 0x40]
call fcn.140017790
lea rcx, [r12 + 0xc0]
cmp qword [r12 + 0xd8], 0xf
jbe 0x1400155c5
mov rcx, qword [r12 + 0xc0]
mov rax, qword [r12 + 0xd0]
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x1c8], rax
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x650]
call fcn.1400163e0
nop
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400155fc
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
movaps xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp], xmm0
movaps xmm1, xmmword [rbp + 0x1d0]
movdqa xmmword [rbp + 0x130], xmm1
mov dword [rsp + 0x20], 9
lea r9, [rbp]
xor r8d, r8d
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x600]
call fcn.140011bd0
mov r8, qword [rax + 0x18]
test r8, r8
je 0x140015676
cmp qword [rax + 0x38], 0
je 0x140015676
lea rdx, [rax + 8]
cmp qword [rdx + 0x18], 0xf
jbe 0x140015669
mov rdx, qword [rdx]
movsxd rcx, dword [r12]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
lea rcx, [rbp + 0x600]
call fcn.1400124e0
nop
mov rdx, qword [rbp + 0x2f8]
cmp rdx, 0xf
jbe 0x1400156c0
inc rdx
mov rcx, qword [rbp + 0x2e0]
mov rax, rcx
cmp rdx, r14
jb 0x1400156bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015eb8
call fcn.140068c3c
lea rcx, [rbp + 0x650]
call fcn.1400162f0
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x668]
call fcn.1400163e0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400156ed
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], rcx
add r8, rdx
lea rcx, [rbp + 0x790]
call fcn.140018ea0
mov rbx, qword [rbp + 0x798]
sub rbx, qword [rbp + 0x790]
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp + 0x690], eax
movsxd rcx, dword [r12]
xor r9d, r9d
lea r8d, [r9 + 4]
lea rdx, [rbp + 0x690]
call qword [sym.imp.WS2_32.dll_send]
mov rdi, rsi
test rbx, rbx
je 0x14001577f
nop
mov r8, rbx
cmp rbx, r14
cmova r8, r14
mov rdx, qword [rbp + 0x790]
add rdx, rdi
movsxd rcx, dword [r12]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x14001577f
cdqe
add rdi, rax
sub rbx, rax
jne 0x140015750
mov rcx, qword [rbp + 0x790]
test rcx, rcx
je 0x1400157bc
mov rdx, qword [rbp + 0x7a0]
sub rdx, rcx
mov rax, rcx
cmp rdx, r14
jb 0x1400157b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015ebe
call fcn.140068c3c
nop
mov rdx, qword [rbp + 0x318]
cmp rdx, 0xf
jbe 0x1400157f9
inc rdx
mov rcx, qword [rbp + 0x300]
mov rax, rcx
cmp rdx, r14
jb 0x1400157f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015ec4
call fcn.140068c3c
lea rcx, [rbp + 0x668]
call fcn.1400162f0
lea rax, [0x1400a5198]
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x238], reloc.WS2_32.dll_ntohl
movaps xmm0, xmmword [rbp + 0x230]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x10]
call fcn.1400044b0
cmp dword [r12 + 8], 6
je 0x14001586d
nop dword [rax + rax]
movzx eax, byte [r12 + 4]
test al, al
je 0x140015c48
mov qword [rbp + 0xa8], 1
lea rcx, [rbp + 0xa8]
call fcn.140018f70
cmp dword [r12 + 8], 6
jne 0x140015840
mov r8, qword [r12 + 0x48]
mov r9, qword [r12 + 0x50]
sub r9, r8
mov rdx, r15
lea rcx, [rbp + 0x720]
call fcn.1400263c0
test al, al
jne 0x1400158a2
lea rax, str.failed_to_write_image.
mov qword [rsp + 0x48], socket
jmp 0x140015a41
mov rax, qword [r12 + 0x48]
cmp rax, qword [r12 + 0x50]
je 0x1400158b3
mov qword [r12 + 0x50], rax
mov edi, dword [r12 + 0x20]
add rdi, r15
lea rax, str.entry_:_:x
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], ntohl
movaps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0x2a0], xmm0
mov rdx, rdi
lea rcx, [rbp + 0x2a0]
call fcn.1400193a0
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400c2a28], eax
jle 0x1400159da
lea rcx, [0x1400c2a28]
call fcn.140068948
cmp dword [0x1400c2a28], 0xffffffff
jne 0x1400159da
mov dword [rsp + 0x50], 0x28ec8348
mov qword [rsp + 0x54], 0xb948
mov dword [rsp + 0x5c], 0xc7480000
mov dword [rsp + 0x60], 0x1c2
mov dword [rsp + 0x64], 0xc0314d00
mov qword [rsp + 0x68], 0xb848
mov dword [rsp + 0x70], 0xd0ff0000
mov dword [rsp + 0x74], 0x28c48348
mov byte [rsp + 0x78], 0xc3
xorps xmm0, xmm0
movdqu xmmword [0x1400c2a10], xmm0
mov qword [0x1400c2a20], rsi
mov ecx, 0x29
call fcn.1400689c0
mov qword [0x1400c2a10], rax
mov qword [0x1400c2a18], rax
lea rbx, [rax + 0x29]
mov qword [0x1400c2a20], rbx
mov r8d, 0x29
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140093090
mov qword [0x1400c2a18], rbx
lea rcx, [0x140096df0]
call fcn.140068c24
nop
lea rcx, [0x1400c2a28]
call fcn.1400688dc
mov rax, qword [0x1400c2a10]
mov qword [rax + 6], r15
mov rax, qword [0x1400c2a10]
mov qword [rax + 0x1a], rdi
mov rdx, qword [0x1400c2a18]
sub rdx, qword [0x1400c2a10]
lea rcx, [rbp + 0x720]
call fcn.140026b80
mov rbx, rax
mov r9, qword [0x1400c2a18]
mov r8, qword [0x1400c2a10]
sub r9, r8
mov rdx, rax
lea rcx, [rbp + 0x720]
call fcn.1400263c0
test al, al
jne 0x140015a75
lea rax, str.failed_to_write_shellcode.
mov qword [rsp + 0x48], 0x1a
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0x10]
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 0x140015c48
lea rax, str.shellcode_:_:x
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x208], reloc.WS2_32.dll_recv
movaps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x2b0], xmm0
mov rdx, rbx
lea rcx, [rbp + 0x2b0]
call fcn.1400193a0
mov rdx, rbx
lea rcx, [rbp + 0x720]
call fcn.140026880
mov r8, qword [0x1400c2a18]
sub r8, qword [0x1400c2a10]
mov rdx, rbx
lea rcx, [rbp + 0x720]
call fcn.140026560
mov rcx, qword [rbp + 0x720]
call fcn.140066a00
test al, al
je 0x140015b32
lea rdx, [rbp + 0x730]
lea rcx, [rbp + 0x3d0]
call fcn.1400168f0
lea rcx, str.closed_handle_to_.
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x218], socket
movaps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x2c0], xmm0
mov rdx, rax
lea rcx, [rbp + 0x2c0]
call fcn.140019040
mov r14, 0xffffffffffffffff
mov qword [rbp + 0x720], r14
mov dword [r12 + 8], 7
lea rax, str.done
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 4
movaps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0x2d0], xmm0
lea rcx, [rbp + 0x2d0]
call fcn.1400044b0
lea rcx, [rbp + 0xb0]
call fcn.14000ff90
movabs rdx, 0x7fffffff4d2fa1ff
mov rax, qword [rbp + 0xb0]
mov ebx, 0xff
cmp rax, rdx
je 0x140015bb9
mov ecx, 1
cmovl ecx, ebx
test cl, cl
jns 0x140015bb9
mov r13d, 0xb2d05e00
add r13, rax
movabs rdi, 0x4e94914effff
movabs r12, 0x431bde82d7b634db
nop dword [rax]
lea rcx, [rbp - 0x38]
call fcn.14000ff90
mov rax, qword [rbp - 0x38]
cmp r13, rax
je 0x140015c31
mov ecx, 1
cmovl ecx, ebx
test cl, cl
jle 0x140015c31
mov rcx, r13
sub rcx, rax
cmp rcx, rdi
jg 0x140015c25
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 0x140015c1c
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140015bd0
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x140015bd0
mov r12, qword [rbp - 0x20]
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 + 0x650]
lea rcx, [rbp + 0x658]
call fcn.140017790
nop
movzx edx, byte [rbp + 0x668]
lea rcx, [rbp + 0x670]
call fcn.140017790
nop
movzx edx, byte [rbp + 0x6e0]
lea rcx, [rbp + 0x6e8]
call fcn.140017790
nop
lea rcx, [rbp + 0x750]
call fcn.1400125e0
mov rdx, qword [rbp + 0x748]
mov esi, 0x1000
cmp rdx, 0xf
jbe 0x140015cd2
inc rdx
mov rcx, qword [rbp + 0x730]
mov rax, rcx
cmp rdx, rsi
jb 0x140015ccd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015eca
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqa xmmword [rbp + 0x740], xmm0
mov byte [rbp + 0x730], 0
jmp 0x1400148ee
lea rcx, [rbp + 0x650]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x10]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x320]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x320]
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 + 0x320]
call fcn.140010d20
lea rdx, [0x1400bcf70]
lea rcx, [rbp + 0x320]
call fcn.14006aa84
nop
call fcn.140073bd4
nop
lea rdx, str.cannot_get_value
lea rcx, [rbp + 0x50]
call fcn.140002f60
nop
lea r8, [rbp + 0x50]
mov edx, 0xd6
lea rcx, [rbp + 0x10]
call fcn.140010d20
lea rdx, [0x1400bcf70]
lea rcx, [rbp + 0x10]
call fcn.14006aa84
nop
call fcn.140073bd4
nop
lea rcx, [rbp + 0x668]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x538]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x558]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x450]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x450]
call fcn.14006aa84
nop
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x578]
call fcn.140002f60
nop
mov r8, rax
lea rdx, [0x1400a5388]
lea rcx, [rbp + 0x598]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rbp + 0x358]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x358]
call fcn.14006aa84
nop
lea rdx, str.cannot_get_value
lea rcx, [rbp + 0x50]
call fcn.140002f60
nop
lea r8, [rbp + 0x50]
mov edx, 0xd6
lea rcx, [rbp + 0x10]
call fcn.140010d20
lea rdx, [0x1400bcf70]
lea rcx, [rbp + 0x10]
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 + 0x650]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x5b8]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x5d8]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x4c0]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x4c0]
call fcn.14006aa84
nop
lea rcx, [rbp + 0x650]
call fcn.140017d20
mov rdx, rax
lea rcx, [rbp + 0x4f8]
call fcn.140002f60
nop
mov r8, rax
lea rdx, str.cannot_use_operator___with_a_string_argument_with
lea rcx, [rbp + 0x518]
call fcn.140018a40
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rbp + 0x488]
call fcn.140010f20
lea rdx, [0x1400bd070]
lea rcx, [rbp + 0x488]
call fcn.14006aa84
int3