Function at 0x1337c1015190
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x10], edx
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.1337c102adb0
sub rsp, rax
mov r15d, dword [rsp + 0x90]
xor r12d, r12d
movsxd rdi, r9d
mov rsi, r8
mov r14, rcx
mov r13d, r12d
test edx, edx
jle 0x1337c10155c6
test r9d, r9d
jle 0x1337c10155c6
cmp edi, r15d
jg 0x1337c10155a9
cmp r15d, 0xb
jl 0x1337c10155a9
mov qword [rsp + 0x70], rbx
lea rdx, [0x1337c10cf9c5]
mov qword [rsp + 0x80], rbp
xor r8d, r8d
movsxd rbp, r15d
mov rcx, rbp
mov qword [rsp + 0x38], rbp
call fcn.1337c0f8aa30
mov rbx, rax
test rax, rax
jne 0x1337c101525e
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, WSACleanup
mov ecx, 4
mov r8d, 0x41
call fcn.1337c0f87dd0
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
add rsi, rdi
mov rdx, r15
add rbx, rbp
nop word [rax + rax]
mov eax, edi
lea ecx, [rdi - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
mov r8, rbx
and ecx, eax
dec rbx
dec ecx
mov eax, ecx
and eax, 1
sub edi, eax
mov eax, ecx
and eax, 1
sub rsi, rax
movzx eax, byte [rsi]
and al, cl
mov byte [rbx], al
sub rdx, 1
jne 0x1337c1015270
movzx ebp, byte [r8]
lea r11, [rbx + 2]
movzx eax, al
xor ebp, 2
dec eax
dec ebp
shr eax, 0x1f
mov r9d, r12d
neg eax
shr ebp, 0x1f
neg ebp
mov edi, r12d
and ebp, eax
mov r10d, 2
mov dword [rsp + 0x30], ebp
mov esi, ebp
mov eax, dword [rsp + 0x30]
not esi
mov dword [rsp + 0x30], esi
mov r8d, 0xffffffff
mov eax, dword [rsp + 0x30]
nop word [rax + rax]
movzx edx, byte [r11]
lea r11, [r11 + 1]
dec edx
shr edx, 0x1f
neg edx
and r8d, edx
or r9d, edx
mov dword [rsp + 0x34], r8d
not r8d
mov ecx, dword [rsp + 0x34]
and ecx, r10d
mov dword [rsp + 0x34], r8d
mov eax, dword [rsp + 0x34]
mov r8d, r9d
and eax, r13d
not r8d
mov r13d, ecx
inc r10d
movzx ecx, byte [r11 - 1]
or r13d, eax
xor ecx, 3
mov eax, r8d
dec ecx
and eax, 1
shr ecx, 0x1f
add eax, edi
neg ecx
or ecx, r9d
mov edi, ecx
and edi, eax
cmp r10d, r15d
jl 0x1337c10152f0
lea eax, [r13 - 0xa]
mov r12d, r15d
or eax, r13d
sub r12d, r13d
xor eax, r13d
dec r12d
shr eax, 0x1f
dec eax
and ebp, eax
mov eax, ebp
mov ecx, ebp
or eax, esi
not ecx
mov dword [rsp + 0x34], eax
mov r10d, dword [rsp + 0x34]
not eax
mov dword [rsp + 0x34], eax
and esi, r10d
mov r11d, dword [rsp + 0x34]
lea eax, [rdi - 8]
or eax, edi
and esi, 0x6b
xor eax, edi
and r11d, 0x71
mov edi, dword [rsp + 0x78]
or esi, r11d
shr eax, 0x1f
neg eax
and ebp, eax
mov eax, ebp
mov edx, ebp
or eax, ecx
not edx
mov dword [rsp + 0x34], eax
mov ecx, edi
mov r8d, dword [rsp + 0x34]
sub ecx, r12d
xor ecx, r12d
not eax
mov dword [rsp + 0x34], eax
and esi, r8d
mov r9d, dword [rsp + 0x34]
lea r8d, [r15 - 0xb]
and r9d, 0x73
mov eax, r12d
xor eax, edi
or esi, r9d
or ecx, eax
xor ecx, edi
shr ecx, 0x1f
dec ecx
and ebp, ecx
mov eax, ebp
or eax, edx
mov edx, r8d
mov dword [rsp + 0x78], eax
not eax
mov ecx, dword [rsp + 0x78]
and esi, ecx
mov dword [rsp + 0x78], eax
mov ecx, r8d
mov eax, dword [rsp + 0x78]
sub ecx, edi
xor ecx, edi
and eax, 0x6d
or esi, eax
mov eax, r8d
xor eax, edi
mov dword [rsp + 0x30], esi
or ecx, eax
xor ecx, r8d
shr ecx, 0x1f
neg ecx
mov dword [rsp + 0x78], ecx
not ecx
mov eax, dword [rsp + 0x78]
and edx, eax
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0x78]
and ecx, edi
or edx, ecx
mov r11d, 1
mov dword [rsp + 0x34], edx
cmp r8d, r11d
jle 0x1337c10154e5
mov r13d, r15d
sub r13d, r12d
add r13d, 0xfffffff5
nop dword [rax + rax]
mov eax, r13d
and eax, r11d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r15d
sub eax, r11d
dec ecx
movsxd r9, eax
cmp r9, 0xb
jle 0x1337c10154d5
movzx edi, cl
lea rax, [rbx + 0xb]
mov r10d, edi
movsxd rsi, r11d
not r10d
add r9, 0xfffffffffffffff5
nop dword [rax + rax]
mov dword [rsp + 0x78], edi
lea rax, [rax + 1]
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x78], r10d
mov edx, dword [rsp + 0x78]
movzx r8d, byte [rsi + rax - 1]
and r8b, cl
movzx ecx, byte [rax - 1]
and cl, dl
or r8b, cl
mov byte [rax - 1], r8b
sub r9, 1
jne 0x1337c10154a0
lea r8d, [r15 - 0xb]
add r11d, r11d
cmp r11d, r8d
jl 0x1337c1015460
mov edx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x30]
xor r10d, r10d
test edx, edx
jle 0x1337c101554f
mov r11d, r12d
mov rdi, rbx
shr r11d, 0x1f
sub rdi, r14
nop dword [rax]
mov eax, r10d
lea r14, [r14 + 1]
sub eax, r12d
inc r10d
shr eax, 0x1f
xor al, r11b
or al, r11b
neg al
movzx ecx, al
movzx eax, bpl
and ecx, eax
mov dword [rsp + 0x78], ecx
not ecx
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0x78]
movzx r9d, byte [r14 + rdi + 0xa]
and r9b, al
movzx eax, byte [r14 - 1]
and al, cl
or r9b, al
mov byte [r14 - 1], r9b
cmp r10d, edx
jl 0x1337c1015500
mov rdx, qword [rsp + 0x38]
lea r8, [0x1337c10cf9c5]
xor r9d, r9d
mov rcx, rbx
call fcn.1337c0f8a8e0
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, esi
mov edx, WSACleanup
mov ecx, 4
call fcn.1337c0f87dd0
mov ecx, ebp
and ecx, 1
call fcn.1337c0f87f80
mov dword [rsp + 0x78], ebp
not ebp
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x78], ebp
and eax, r12d
mov ecx, dword [rsp + 0x78]
or eax, ecx
jmp 0x1337c101523b
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, WSACleanup
mov ecx, 4
mov r8d, reloc.WS2_32.dll_WSAGetLastError
call fcn.1337c0f87dd0
mov eax, 0xffffffff
jmp 0x1337c1015248