Function at 0x140169480
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbx
push rdi
push r12
sub rsp, 0x90
mov qword [rax - 0x20], rsi
mov qword [rax - 0x30], r14
mov eax, dword [r9 + 0x34]
xor ebx, ebx
mov r12, r9
mov r14, r8
mov rdi, rdx
mov dword [rsp + 0x30], ebx
test eax, eax
jne 0x1401694f7
cmp dword [r9 + 0x38], ebx
jne 0x1401694f7
mov edx, dword [r9 + 0x30]
lea rcx, [r9 + 0x20]
call fcn.14010c7e0
test eax, eax
jne 0x1401694fd
lea r9, [0x140288c28]
lea ecx, [rbx + 3]
lea r8d, [rbx + 0x6d]
mov edx, 0x81
mov dword [rsp + 0x20], 0x108
call fcn.1400dabf0
inc dword [r12 + 0x34]
jmp 0x1401694fd
inc eax
mov dword [r9 + 0x34], eax
mov rcx, r12
call fcn.14010c710
mov rsi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14016997c
mov rcx, r12
call fcn.14010c710
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14016997c
mov rcx, r12
call fcn.14010c710
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14016997c
mov rcx, r12
call fcn.14010c710
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140169978
mov rdx, rdi
mov rdi, qword [rsp + 0x38]
mov r8, r14
mov rcx, rdi
call fcn.140168c60
test eax, eax
je 0x140169978
cmp dword [rdi + 8], 0
je 0x140169978
mov rdx, r14
mov rcx, rbx
call fcn.1400d5c20
test rax, rax
je 0x140169978
mov qword [rsp + 0xb8], rbp
mov rcx, rdi
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x70], r15
call fcn.1400d57e0
mov rcx, rbx
mov ebp, eax
call fcn.1400d57e0
movsxd r13, dword [r14 + 8]
mov dword [rsp + 0x34], eax
cmp r13d, dword [rdi + 0xc]
jle 0x1401695d4
mov edx, r13d
mov rcx, rdi
call fcn.1400d5b60
movsxd rdx, dword [rdi + 8]
mov rbx, qword [rdi]
mov r15, r13
cmp rdx, r13
jge 0x1401695f7
mov rcx, r13
lea rdi, [rbx + rdx*8]
sub rcx, rdx
xor eax, eax
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x38]
mov dword [rdi + 8], r13d
cmp r13d, dword [rsi + 0xc]
jle 0x14016960c
mov edx, r13d
mov rcx, rsi
call fcn.1400d5b60
mov rsi, qword [rsi]
mov eax, 1
mov qword [rsi], rax
cmp rax, r13
jge 0x14016962c
xor ecx, ecx
nop
mov qword [rsi + rax*8], rcx
inc rax
cmp rax, r13
jl 0x140169620
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
mov dword [rax + 8], r13d
cmp r13d, dword [r9 + 0xc]
jle 0x140169650
mov edx, r13d
mov rcx, r9
call fcn.1400d5b60
mov r9, qword [rsp + 0x40]
mov r11, qword [r9]
xor eax, eax
mov qword [rsp + 0x60], r11
test r13d, r13d
jle 0x140169670
nop
mov qword [r11 + rax*8], 0
inc rax
cmp rax, r13
jl 0x140169660
mov r8, qword [rsp + 0x48]
mov dword [r9 + 8], r13d
mov r12, qword [r8]
mov qword [rsp + 0x58], r12
test ebp, ebp
je 0x140169773
nop dword [rax]
mov rdi, qword [rbx]
test dil, 1
jne 0x140169757
mov rax, qword [rsi]
mov rcx, qword [r14]
xor r15d, r15d
mov rdx, qword [rcx]
mov r9, rax
lea ecx, [r13 - 1]
and r9d, 1
movsxd r10, ecx
neg r9
and rdx, r9
xor rax, rdx
test ecx, ecx
jle 0x140169741
mov r12, qword [rsp + 0xc0]
mov r11, rbx
mov r14, 0xfffffffffffffff8
sub r11, rsi
lea r8, [rsi + 8]
mov r15, r10
sub r14, rsi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r11 + r8]
shr rdi, 1
shr rax, 1
shl rcx, 0x3f
lea rdx, [r14 + r8]
lea r8, [r8 + 8]
or rcx, rdi
mov rdi, qword [r11 + r8 - 8]
mov qword [r11 + r8 - 0x10], rcx
mov rcx, qword [r12]
mov rdx, qword [rdx + rcx + 8]
and rdx, r9
xor rdx, qword [r8 - 8]
mov rcx, rdx
shl rcx, 0x3f
or rcx, rax
mov rax, rdx
mov qword [r8 - 0x10], rcx
dec r10
jne 0x1401696f0
mov r14, qword [rsp + 0xc0]
shr rdi, 1
shr rax, 1
mov qword [rbx + r15*8], rdi
mov qword [rsi + r15*8], rax
dec ebp
jne 0x140169690
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov r15, r13
cmp ebp, 0x40
jg 0x140169782
cmp qword [rbx], 1
je 0x14016990c
mov ecx, dword [rsp + 0x34]
cmp ebp, ecx
jge 0x1401697bf
mov rax, qword [rsp + 0x50]
mov rbx, r12
mov r12, qword [rdi]
mov rsi, r11
mov r11, qword [rax]
mov dword [rsp + 0x34], ebp
mov ebp, ecx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], r12
xor edx, edx
test r13d, r13d
jle 0x140169876
cmp r13d, 2
jb 0x140169876
lea eax, [r13 - 1]
xor edi, edi
movsxd rcx, eax
lea r10, [r11 + rcx*8]
lea rax, [rsi + rcx*8]
cmp rsi, r10
ja 0x1401697f3
cmp rax, r11
jae 0x140169876
lea r8, [rbx + rcx*8]
cmp rsi, r8
ja 0x140169801
cmp rax, rbx
jae 0x140169876
lea r9, [r12 + rcx*8]
cmp rsi, r9
ja 0x14016980f
cmp rax, r12
jae 0x140169876
cmp rbx, r10
ja 0x140169819
cmp r8, r11
jae 0x140169876
cmp rbx, r9
ja 0x140169823
cmp r8, r12
jae 0x140169876
mov eax, r13d
and eax, 0x80000001
jge 0x140169834
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, r13d
sub ecx, eax
nop dword [rax]
movsxd rax, edi
add edi, 2
add rdx, 2
movdqu xmm0, xmmword [rbx + rax*8]
movdqu xmm1, xmmword [r12 + rax*8]
pxor xmm1, xmm0
movdqu xmmword [rbx + rax*8], xmm1
movdqu xmm1, xmmword [r11 + rax*8]
movdqu xmm0, xmmword [rsi + rax*8]
pxor xmm1, xmm0
movdqu xmmword [rsi + rax*8], xmm1
cmp edi, ecx
jl 0x140169840
cmp rdx, r15
jge 0x1401698af
mov rdi, r12
mov r8, r11
mov r9, rsi
sub rdi, rbx
sub r8, rbx
sub r9, rbx
lea rcx, [rbx + rdx*8]
mov rax, qword [rdi + rcx]
inc rdx
lea rcx, [rcx + 8]
xor qword [rcx - 8], rax
mov rax, qword [r8 + rcx - 8]
xor qword [r9 + rcx - 8], rax
cmp rdx, r15
jl 0x140169891
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp ebp, dword [rsp + 0x34]
jne 0x140169681
lea eax, [rbp - 1]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movsxd rdi, eax
mov rdx, rdi
mov rcx, qword [rbx + rdi*8]
test rcx, rcx
jne 0x1401698f7
test rdx, rdx
je 0x1401698f7
mov rcx, qword [rbx + rdx*8 - 8]
dec rdx
dec edi
test rcx, rcx
je 0x1401698e3
call fcn.1400d56d0
shl edi, 6
lea ebp, [rdi + rax]
mov rdi, qword [rsp + 0x38]
jmp 0x140169681
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x80]
mov edx, dword [rdi + 8]
mov rbp, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc8]
test edx, edx
jle 0x140169957
lea eax, [rdx - 1]
movsxd rcx, eax
mov rax, qword [rdi]
lea rcx, [rax + rcx*8]
mov rax, qword [rcx]
lea rcx, [rcx - 8]
test rax, rax
jne 0x140169954
dec edx
test edx, edx
jg 0x140169942
mov dword [rdi + 8], edx
mov rcx, qword [rsp + 0xb0]
mov rdx, rdi
call fcn.1400d5c20
mov ebx, dword [rsp + 0x30]
test rax, rax
mov eax, 1
cmovne ebx, eax
jmp 0x14016997c
mov ebx, dword [rsp + 0x30]
mov ecx, dword [r12 + 0x34]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
test ecx, ecx
je 0x1401699a7
dec ecx
mov eax, ebx
mov dword [r12 + 0x34], ecx
add rsp, 0x90
pop r12
pop rdi
pop rbx
ret
dec dword [r12 + 0x28]
mov rax, qword [r12 + 0x20]
mov ecx, dword [r12 + 0x28]
mov r8d, dword [rax + rcx*4]
mov edi, dword [r12 + 0x30]
cmp r8d, edi
jae 0x140169a04
mov eax, dword [r12 + 0x18]
sub edi, r8d
lea edx, [rax - 1]
sub eax, edi
and edx, 0xf
mov dword [r12 + 0x18], eax
test edi, edi
je 0x140169a04
nop dword [rax]
dec edi
test edx, edx
jne 0x1401699fe
mov rax, qword [r12 + 8]
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, qword [rax + 0x180]
mov qword [r12 + 8], rcx
jmp 0x140169a00
dec edx
test edi, edi
jne 0x1401699e0
mov dword [r12 + 0x30], r8d
mov dword [r12 + 0x38], 0
mov eax, ebx
add rsp, 0x90
pop r12
pop rdi
pop rbx
ret