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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
lea rax, [0x13fff96c9]
lea rsi, [rsp + 0xc0]
vmovdqa xmmword [rsp + 0x240], xmm6
mov qword [rsi], rax
movabs rax, 0x31f5ba188e327ad9
mov rcx, qword [rsi]
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.140002183
and qword [rsi], 0
mov r8b, 1
lea rdx, [0x1400073a0]
xor ecx, ecx
test r8b, 1
je 0x140001802
mov r8, rcx
or r8, 1
mov r10, rcx
or r10, 2
mov r11, rcx
or r11, 3
movzx r9d, byte [rcx + rdx]
mov rsi, rcx
or rsi, 4
mov rdi, rcx
or rdi, 5
mov rbx, rcx
or rbx, 6
mov r14, rcx
or r14, 7
movzx r8d, byte [r8 + rdx]
movzx r10d, byte [r10 + rdx]
movzx r11d, byte [r11 + rdx]
movzx esi, byte [rsi + rdx]
movzx edi, byte [rdi + rdx]
movzx ebx, byte [rbx + rdx]
movzx r14d, byte [r14 + rdx]
shl r8, 8
shl r10, 0x10
shl r11, 0x18
shl rsi, 0x20
shl r14, 0x38
shl rbx, 0x30
shl rdi, 0x28
or r8, r9
or rbx, r14
or r8, r10
or r8, r11
or r8, rsi
or r8, rdi
or r8, rbx
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0xc0], r8
mov ecx, 8
xor r8d, r8d
jmp 0x140001758
movzx ecx, byte [rax + 0xa]
movzx eax, word [rax + 8]
lea r14, [rsp + 0x50]
xor eax, 0x3113
xor cl, 0x30
mov word [rsp + 0xc8], ax
mov byte [rsp + 0xca], cl
mov rax, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc7]
mov qword [r14], rax
mov dword [r14 + 7], ecx
lea rcx, [rsp + 0x20]
mov qword [rcx], r14
mov qword [rcx + 8], 0xb
call fcn.1400033e2
mov rbx, rax
test bl, 1
je 0x14000188e
lea rcx, [rsp + 0x20]
call fcn.140003778
test ax, ax
je 0x14000188e
movabs rax, 0xffffffff00
and rbx, rax
movzx eax, dx
shr rbx, 8
shl rax, 0x30
shl rbx, 0x10
or rbx, rax
mov eax, 1
jmp 0x140001892
xor ebx, ebx
xor eax, eax
movzx ecx, bx
or rcx, rax
je 0x140001915
cmp qword [rsp + 0x28], 0
jne 0x140001b91
mov r14d, ebx
shr r14d, 0x10
shr rbx, 0x18
xor r15d, r15d
mov ecx, 4
mov edx, 0x20
call fcn.140003cb8
test rax, rax
je 0x14000217a
mov rdx, rbx
shl rdx, 8
movzx ecx, r14b
shr rbx, 0x18
mov word [rax], r15w
mov r13, rax
add r13, 0x20
mov r12d, 1
or rcx, rdx
mov word [rax + 6], bx
mov dword [rax + 2], ecx
vpextrd dword [rax + 0x10], xmm6, 2
vmovq qword [rax + 8], xmm6
and dword [rax + 0x14], 0
mov dword [rax + 0x18], esi
mov word [rax + 0x1c], bp
mov rbp, rax
jmp 0x140001f8f
lea rcx, [rsp + 0x20]
mov edx, 0x5b
mov qword [rcx], r14
mov qword [rcx + 8], 0xb
call fcn.14000362f
test al, al
je 0x140001b83
vpxor xmm0, xmm0, xmm0
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x20]
mov r8d, 8
vmovdqa xmmword [rdx], xmm0
call fcn.14000351b
cmp rax, 8
jne 0x140001a5d
movbe ax, word [rsp + 0xc0]
movbe cx, word [rsp + 0xc2]
movbe dx, word [rsp + 0xc4]
movbe r8w, word [rsp + 0xc6]
movbe r9w, word [rsp + 0xc8]
movbe r10w, word [rsp + 0xca]
movbe r11w, word [rsp + 0xcc]
movbe si, word [rsp + 0xce]
vmovd xmm0, eax
vpinsrw xmm0, xmm0, ecx, 1
lea rcx, [rsp + 0x20]
vpinsrw xmm0, xmm0, edx, 2
mov rdi, qword [rcx]
mov rbx, qword [rcx + 8]
mov edx, 0x25
vpinsrw xmm0, xmm0, r8d, 3
vpinsrw xmm0, xmm0, r9d, 4
vpinsrw xmm0, xmm0, r10d, 5
vpinsrw xmm0, xmm0, r11d, 6
vpinsrw xmm6, xmm0, esi, 7
call fcn.14000362f
test al, al
je 0x140001afe
mov rcx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
mov r10d, 0xa
xor esi, esi
xor r11d, r11d
mov r9, rcx
mov r15, r8
mov eax, 0
test r15, r15
je 0x140001a3a
movzx ebp, byte [r9]
xor eax, eax
add ebp, 0xffffffd0
cmp ebp, 0xa
setb al
jae 0x140001a3a
dec r15
inc r9
cmp eax, 1
jne 0x140001b02
mov eax, esi
mul r10d
jo 0x140001b18
mov esi, eax
add esi, ebp
jb 0x140001b18
inc r11
jmp 0x140001a19
test dl, 1
jne 0x140001b83
lea rcx, [rsp + 0x20]
mov edx, 0x3a
mov rsi, rax
call fcn.14000362f
test al, al
je 0x140001b83
lea rcx, [rsp + 0x20]
mov edx, 0x3a
call fcn.14000362f
test al, al
je 0x140001b83
and qword [rsp + 0x6e], 0
and qword [rsp + 0x68], 0
cmp rsi, 8
jae 0x14000217a
mov r8d, 7
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x68]
sub r8, rsi
call fcn.14000351b
cmp rax, 9
jae 0x14000217a
cmp rax, 8
je 0x14000217a
mov ecx, 8
lea rdx, [rsp + 0x68]
sub rcx, rax
add rax, rax
lea rcx, [rsp + rcx*2 + 0xc0]
mov r8, rax
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140001961
xor eax, eax
jmp 0x140001b28
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r9
test r11, r11
je 0x140001b18
mov eax, 1
jmp 0x140001b24
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r8
xor eax, eax
test eax, eax
jne 0x140001b32
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rbx
test eax, eax
lea rcx, [rsp + 0x20]
mov edx, 0x5d
cmove esi, eax
call fcn.14000362f
test al, al
je 0x140001b83
lea rcx, [rsp + 0x20]
call fcn.140003778
test ax, ax
je 0x140001b83
xor eax, eax
test al, al
jne 0x140001b91
cmp qword [rsp + 0x28], 0
jne 0x140001b91
vmovd ebx, xmm6
mov ebp, edx
vpshufd xmm6, xmm6, 0xf9
mov r15w, 1
xor r14d, r14d
shl rbx, 8
jmp 0x1400018b4
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], send
vmovdqa ymm0, ymmword [0x140007360]
lea rdi, [rsp + 0xe8]
movabs rbx, 0xfefefefefefefeff
movabs r15, 0x8080808080808080
movabs r12, 0x3a3a3a3a3a3a3a3a
movabs rax, 0x3a0000003a
mov esi, 0xb
mov qword [rdi - 0x28], r14
lea r14, [rsp + 0x4f]
vmovdqu ymmword [rdi - 0x20], ymm0
mov qword [rdi], rax
cmp rsi, 0xb
ja 0x14000217a
mov ecx, esi
and ecx, 0xf
mov rax, rsi
sub rax, rcx
jb 0x14000217a
lea rdx, [rsp + rax + 0x50]
lea rcx, [rsp + rsi + 0x50]
sub rcx, rdx
lea rdx, [r14 + rsi]
test rcx, rcx
je 0x140001c24
dec rcx
cmp byte [rdx], 0x3a
lea rdx, [rdx - 1]
jne 0x140001c0b
add rcx, rax
mov rsi, rcx
jmp 0x140001c7b
mov rcx, rax
test rax, rax
je 0x140001c5b
mov rdx, qword [rsp + rcx + 0x40]
mov r8, qword [rsp + rcx + 0x48]
lea rax, [rcx - 0x10]
andn r9, rdx, r15
xor rdx, r12
andn r10, r8, r15
xor r8, r12
add rdx, rbx
add r8, rbx
and rdx, r9
and r8, r10
or r8, rdx
je 0x140001c24
cmp rcx, rsi
ja 0x14000217a
test rcx, rcx
je 0x14000217a
cmp byte [rsp + rcx + 0x4f], 0x3a
lea rsi, [rcx - 1]
mov rcx, rsi
jne 0x140001c64
cmp rsi, 0xa
ja 0x140001ca0
lea rcx, [rsp + rsi + 0x50]
mov edx, 1
mov r9d, 1
mov r8, rdi
vzeroupper
call fcn.1400030a8
test al, al
jne 0x140001cad
mov qword [rsp + 0xd8], rsi
jmp 0x140001bdf
lea rdi, [rsi + 1]
cmp rdi, 0xb
je 0x14000217a
lea rcx, [rsp + rsi + 0x51]
mov r8d, 0xb
movzx eax, byte [rcx]
cmp eax, 0x2d
je 0x140001ce8
cmp eax, 0x2b
jne 0x140001cf2
cmp rdi, 0xa
je 0x14000217a
inc rcx
mov r8d, 0xa
jmp 0x140001cf2
cmp rdi, 0xa
je 0x14000217a
sub r8, rdi
cmp r8, 5
jae 0x140001d1e
xor eax, eax
xor ebx, ebx
cmp r8, rax
je 0x140001d5d
movzx edx, byte [rcx + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14000217a
imul ebx, ebx, 0xa
inc rax
add ebx, edx
jmp 0x140001cff
mov r10w, 0xa
xor r9d, r9d
xor ebx, ebx
cmp r8, r9
je 0x140001d5d
movzx r11d, byte [rcx + r9]
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x14000217a
mov eax, ebx
mul r10w
jo 0x14000217a
mov ebx, eax
add bx, r11w
jb 0x14000217a
inc r9
jmp 0x140001d28
call fcn.1400053db
cmp rsi, 0x17f
ja 0x140002148
lea r14, [rsp + 0xc0]
lea rdx, [rsp + 0x50]
mov r8, rsi
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rsi + 0xc0], 0
xor ecx, ecx
mov rdx, r14
mov r8, rdi
call fcn.140003094
test rax, rax
je 0x140001dbc
cmp rdx, rsi
jne 0x140001dbc
lea rcx, [rsp + 0x20]
lea r8, [rsp + 0xc0]
mov edx, ebx
call fcn.140005435
jmp 0x140001dd1
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
cmp qword [rsp + 0x20], 0
jne 0x14000217a
vmovdqu xmm0, xmmword [rsp + 0x28]
mov ecx, dword [rsp + 0x3a]
movzx r8d, word [rsp + 0x3e]
movzx eax, word [rsp + 0x38]
lea r9, [rsp + 0x5e]
lea rdx, [rsp + 0x68]
lea rsi, [rsp + 0xc0]
mov qword [rdx], r9
mov dword [rsp + 0x88], ecx
mov word [rsp + 0x8c], r8w
mov word [r9], ax
vmovdqu xmmword [rdx + 8], xmm0
mov word [rdx + 0x18], ax
mov dword [rdx + 0x1a], ecx
mov rcx, rsi
mov word [rdx + 0x1e], r8w
call fcn.140003cd2
cmp word [rsi], 2
jne 0x140001e55
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov edi, 4
xor r12d, r12d
xor r13d, r13d
jmp 0x140001f85
mov ecx, 4
mov edx, 0x80
call fcn.140003cb8
test rax, rax
je 0x14000217a
lea rbx, [rsp + 0xc0]
lea r14, [rsp + 0x20]
mov r13d, 1
mov ebp, 0x20
lea r15, [rsp + 0xa8]
mov r12d, 4
mov rdi, rax
vmovups ymm0, ymmword [rbx]
vmovups ymmword [rax], ymm0
vmovdqu ymm0, ymmword [rsp + 0x68]
vmovdqu ymmword [r14], ymm0
mov rcx, rbx
mov rdx, r14
vzeroupper
call fcn.140003cd2
cmp word [rsp + 0xc0], 2
je 0x140001f7a
cmp r13, r12
jne 0x140001f60
mov rsi, r12
inc rsi
je 0x14000217a
lea rax, [r12 + r12]
cmp rax, rsi
cmova rsi, rax
mov eax, 4
cmp rsi, 5
cmovb rsi, rax
xor edx, edx
mov rax, rsi
shr rax, 0x3a
sete al
test r12, r12
je 0x140001f1f
mov ecx, 4
shl r12, 5
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb8], r12
jmp 0x140001f21
xor ecx, ecx
mov dl, al
mov r8, rsi
mov qword [rsp + 0xb0], rcx
shl r8, 5
lea rcx, [rsp + 0x90]
mov r9, r15
shl rdx, 2
call fcn.1400022f8
cmp qword [rsp + 0x90], 0
jne 0x140002171
mov rdi, qword [rsp + 0x98]
mov r12, rsi
vmovdqu ymm0, ymmword [rsp + 0xc0]
inc r13
vmovdqu ymmword [rdi + rbp], ymm0
add rbp, 0x20
jmp 0x140001ea9
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
shl r13, 5
mov rbp, rdi
add r13, rdi
lea rsi, [rsp + 0xc2]
lea rbx, [rsp + 0x68]
lea r14, [rsp + 0xc0]
xor edi, edi
mov qword [rsp + 0x60], rbp
cmp rbp, r13
je 0x140002162
vmovups xmm0, xmmword [rbp + 0x10]
movzx eax, word [rbp]
vmovups xmmword [rsp + 0x2e], xmm0
vmovdqu xmm0, xmmword [rbp + 2]
vmovdqa xmmword [rsp + 0x20], xmm0
cmp ax, 2
je 0x140002162
vmovdqu xmm0, xmmword [rsp + 0x2e]
vmovaps xmm1, xmmword [rsp + 0x20]
mov word [rsp + 0xc0], ax
mov rcx, rbx
xor edx, edx
mov r8, r14
vmovdqu xmmword [rsi + 0xe], xmm0
vmovups xmmword [rsi], xmm1
call fcn.140005551
cmp qword [rsp + 0x68], 0
je 0x140002020
mov r15, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1400021bf
add rbp, 0x20
mov rdi, r15
jmp 0x140001fab
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
mov rdx, r12
call fcn.1400021a8
mov rcx, rdi
call fcn.1400021bf
lea rax, [0x13fffcfb4]
mov qword [rsp + 0xc0], rax
movabs rax, 0x6d613601047d2ca9
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0xc0]
call fcn.140002221
and dword [rsp + 0xe0], 0
vpxor xmm0, xmm0, xmm0
lea rcx, [0x1400073ab]
xor edx, edx
vmovdqu ymmword [rsp + 0xc0], ymm0
cmp rdx, 0x20
jae 0x1400020aa
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rsp + rdx + 0xc0], r8
add rdx, 8
jmp 0x14000208e
mov edx, 0x20
cmp rdx, 0x23
ja 0x1400020de
movzx r8d, byte [rdx + rcx + 2]
movzx r9d, word [rdx + rcx]
shl r8d, 0x10
lea r8d, [r9 + r8 - 0x4a000000]
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0xc0], r8d
add rdx, 4
jmp 0x1400020af
mov al, byte [rax + 0x24]
lea rdx, [rsp + 0x20]
mov r8d, 0x25
mov rcx, rbx
xor r9d, r9d
xor al, 0x77
mov byte [rsp + 0xe4], al
vmovups ymm0, ymmword [rsp + 0xc0]
mov rax, qword [rsp + 0xdd]
vmovups ymmword [rdx], ymm0
mov qword [rdx + 0x1d], rax
vzeroupper
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x14000217c
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
vmovaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x50]
mov r9d, ebx
mov r8, rsi
call fcn.14000646d
jmp 0x140001dd1
mov rcx, qword [rsp + 0x60]
mov rdx, r12
call fcn.1400021a8
ud2
cmp qword [rsp + 0x98], 0
ud2
call fcn.1400054a7
ud2