Function at 0x140168a30
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
mov eax, 0xf0
call fcn.1401ddd50
sub rsp, rax
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, qword [rsp + 0x140]
mov rsi, rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], r8
mov r13, r9
mov qword [rsp + 0x48], rdx
mov rdi, r8
xor r12d, r12d
call fcn.1400e7370
test r13, r13
mov rcx, rdi
cmove r13, rdi
call fcn.1401036f0
mov dword [rsp + 0x30], eax
mov edi, eax
test eax, eax
js 0x140168e7c
mov qword [rsp + 0xe8], rbp
mov ebp, dword [rsp + 0x148]
cmp ebp, 0xffffffff
jne 0x140168b0c
mov ebp, eax
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0xd8], r15
call fcn.1400e9620
mov rcx, rsi
lea r15d, [rax - 1]
and r15d, 7
call fcn.1400dcfb0
mov ecx, r15d
mov edx, 0xff
shl edx, cl
mov r8d, eax
test byte [rbx], dl
je 0x140168b3c
mov r8d, 0x85
mov dword [rsp + 0x20], 0x76
lea r9, [0x14036e978]
mov ecx, 4
lea edx, [r8 + 0x10]
call fcn.1400e3440
jmp 0x140168e6c
cmp ebp, 0xfffffffe
jne 0x140168b13
jmp 0x140168ab2
jge 0x140168ab2
mov edx, 0x95
mov dword [rsp + 0x20], WSAStartup
lea r9, [0x14036e960]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1400e3440
jmp 0x140168e74
test r15d, r15d
jne 0x140168b47
inc rbx
dec r8d
lea eax, [rdi + 2]
cmp r8d, eax
jge 0x140168b60
mov dword [rsp + 0x20], 0x7e
lea r9, [0x14036e990]
jmp 0x140168b7b
mov esi, r8d
sub esi, edi
lea eax, [rsi - 2]
cmp ebp, eax
jle 0x140168b93
mov dword [rsp + 0x20], 0x82
lea r9, [0x14036e9a8]
mov r8d, 0x6d
lea ecx, [r8 - 0x69]
lea edx, [r8 + 0x28]
call fcn.1400e3440
jmp 0x140168e6c
lea eax, [r8 - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xbc
je 0x140168bc7
mov edx, 0x95
mov dword [rsp + 0x20], 0x86
lea r9, [0x14036e9c0]
mov ecx, 4
lea r8d, [rdx - 0xf]
call fcn.1400e3440
jmp 0x140168e6c
dec esi
mov qword [rsp + 0xe0], r14
movsxd r14, esi
lea rdx, [0x14036e9d8]
mov r8d, 0x8b
mov ecx, esi
lea rax, [r14 + rbx]
mov qword [rsp + 0x38], rax
call fcn.1400e5c30
mov rdi, rax
test rax, rax
jne 0x140168c1e
lea r9, [0x14036e9f0]
mov dword [rsp + 0x20], 0x8d
mov edx, 0x95
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1400e3440
jmp 0x140168e64
mov r8, qword [rsp + 0x38]
mov edx, esi
mov qword [rsp + 0x20], r13
mov rcx, rdi
movsxd r13, dword [rsp + 0x30]
mov r9d, r13d
call fcn.1401018b0
test eax, eax
js 0x140168e5c
mov edx, r12d
test esi, esi
jle 0x140168cd8
cmp esi, 0x20
jb 0x140168cd8
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x140168c6e
cmp r8, rbx
jae 0x140168cd8
mov ecx, esi
and ecx, 0x8000001f
jge 0x140168c7f
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, rbx
sub eax, ecx
sub r8, rdi
mov r9, rdi
movsxd r10, eax
neg r9
mov rcx, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x140168ca0
movsxd rax, edx
cmp rax, r14
jge 0x140168d00
sub rbx, rdi
lea rcx, [rax + rdi]
sub r14, rax
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x140168cf0
test r15d, r15d
je 0x140168d16
mov ecx, 8
mov eax, 0xff
sub ecx, r15d
sar eax, cl
and byte [rdi], al
mov ebx, r12d
cmp byte [rdi], bl
jne 0x140168d31
lea ecx, [rsi - 1]
mov rax, rdi
cmp ebx, ecx
jge 0x140168d31
inc rax
inc ebx
cmp byte [rax], r12b
je 0x140168d23
movsxd rax, ebx
inc ebx
cmp byte [rax + rdi], 1
je 0x140168d63
mov edx, 0x95
mov dword [rsp + 0x20], 0x98
lea r9, [0x14036ea08]
mov ecx, 4
lea r8d, [rdx - 0xe]
call fcn.1400e3440
jmp 0x140168e5c
test ebp, ebp
js 0x140168d96
mov eax, esi
sub eax, ebx
cmp eax, ebp
je 0x140168d96
mov edx, 0x95
mov dword [rsp + 0x20], 0x9c
lea r9, [0x14036ea20]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1400e3440
jmp 0x140168e5c
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.1400e6db0
test eax, eax
je 0x140168e5c
mov r8d, 8
lea rdx, [0x140282378]
lea rcx, [rsp + 0x50]
call fcn.1400e7010
test eax, eax
je 0x140168e5c
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r8, r13
call fcn.1400e7010
test eax, eax
je 0x140168e5c
sub esi, ebx
je 0x140168e00
movsxd rdx, ebx
lea rcx, [rsp + 0x50]
add rdx, rdi
movsxd r8, esi
call fcn.1400e7010
test eax, eax
je 0x140168e5c
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.1400e6cd0
test eax, eax
je 0x140168e5c
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x80]
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140168e56
mov edx, 0x95
mov dword [rsp + 0x20], 0xaa
lea r9, [0x14036ea38]
mov ecx, 4
lea r8d, [rdx - 0x2d]
call fcn.1400e3440
jmp 0x140168e5c
mov r12d, 1
mov rcx, rdi
call fcn.1400e5b90
mov r14, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x50]
call fcn.1400e7030
mov eax, r12d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1401dd140
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret