Function at 0x1400663c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov rsi, r9
lea r13, [r9 - 4]
mov r12, 0xfffffffffffffff8
nop word [rax + rax]
cmp r13, 0xfffffffffffffffc
je 0x140066758
mov rax, qword [rdi + r13*8 + 0x18]
dec r13
add r12, 8
test rax, rax
je 0x1400663f0
cmp r13, 0xfffffffffffffffc
jne 0x14006641a
cmp qword [rdi], rbx
jbe 0x140066758
lea rcx, [r13 + 5]
mov qword [rsp + 0x30], rcx
mov rcx, rax
shr rcx, 1
or rcx, rax
mov rax, rcx
shr rax, 2
or rax, rcx
mov rcx, rax
shr rcx, 4
or rcx, rax
mov rax, rcx
shr rax, 8
or rax, rcx
mov r15, rax
shr r15, 0x10
or r15, rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x38], rax
test r12, r12
je 0x140066477
lea rcx, [r14 + r13*8]
add rcx, 0x28
xor edx, edx
mov r8, r12
call fcn.14027bdc0
or qword [rsp + 0x38], r15
mov r15d, 0xffffffff
shl rsi, 3
sub rsi, r12
mov qword [rsp + 0x70], rsi
lea rcx, [r13 + 4]
mov rax, r13
shr rax, 2
lea rdx, [rax + 1]
mov qword [rsp + 0x28], rcx
and rcx, 0xfffffffffffffffc
mov qword [rsp + 0x58], rcx
inc rcx
mov qword [rsp + 0x50], rcx
mov rcx, rdx
mov qword [rsp + 0x60], rdx
and rdx, 0xfffffffffffffffc
mov qword [rsp + 0x40], rdx
inc al
movzx eax, al
and eax, 3
shl rax, 2
mov qword [rsp + 0x48], rax
mov rsi, qword [rsp + 0x30]
mov rbp, rsi
and rbp, 0xfffffffffffffffe
mov r12d, 0x64
mov qword [rsp + 0x68], rbx
jmp 0x140066502
shr eax, 0x1f
mov rbx, qword [rsp + 0x68]
not ecx
test eax, ecx
jne 0x140066778
dec r12d
je 0x14006677f
mov rcx, r14
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xe0]
call fcn.1400667c0
mov rax, qword [rsp + 0x38]
and qword [r14 + r13*8 + 0x20], rax
test rbx, rbx
je 0x140066560
xor eax, eax
test rsi, rsi
je 0x140066570
cmp rsi, 1
je 0x14006666c
cmp qword [rsp + 0x28], 4
jae 0x14006657c
mov ecx, 1
xor eax, eax
jmp 0x140066660
xor ecx, ecx
jmp 0x140066697
mov rcx, 0xffffffffffffffff
jmp 0x1400664f8
pxor xmm0, xmm0
cmp r13, 0xc
jae 0x14006658e
xor eax, eax
pxor xmm1, xmm1
jmp 0x140066602
mov rcx, qword [rsp + 0x40]
xor eax, eax
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [r14 + rax*8 + 8]
por xmm2, xmm0
movdqu xmm0, xmmword [r14 + rax*8 + 0x18]
por xmm0, xmm1
movdqu xmm1, xmmword [r14 + rax*8 + 0x28]
movdqu xmm3, xmmword [r14 + rax*8 + 0x38]
movdqu xmm4, xmmword [r14 + rax*8 + 0x48]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [r14 + rax*8 + 0x58]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [r14 + rax*8 + 0x68]
por xmm0, xmm4
movdqu xmm1, xmmword [r14 + rax*8 + 0x78]
por xmm1, xmm2
add rax, 0x10
add rcx, 0xfffffffffffffffc
jne 0x1400665a0
test byte [rsp + 0x60], 3
je 0x14006663b
mov rcx, qword [rsp + 0x48]
nop
lea rdx, [rax*8]
or rdx, 8
movdqu xmm2, xmmword [r14 + rdx]
por xmm0, xmm2
movdqu xmm2, xmmword [r14 + rdx + 0x10]
por xmm1, xmm2
add rax, 4
add rcx, 0xfffffffffffffffc
jne 0x140066610
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rax, xmm1
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
cmp qword [rsp + 0x28], rdx
je 0x14006666c
nop
or rax, qword [r14 + rcx*8]
inc rcx
cmp rsi, rcx
jne 0x140066660
mov rcx, rax
not rcx
dec rax
and rax, rcx
mov rdx, qword [r14]
mov r8, rdx
xor r8, rbx
mov rcx, rdx
sub rcx, rbx
xor rcx, rdx
or rcx, r8
xor rcx, rdx
and rcx, rax
sar rcx, 0x3f
xor eax, eax
xor edx, edx
cmp r13, 0xfffffffffffffffc
je 0x140066714
nop word cs:[rax + rax]
mov r9, qword [rdi + rdx*8]
mov r10, qword [rdi + rdx*8 + 8]
mov rbx, qword [r14 + rdx*8]
mov r8, qword [r14 + rdx*8 + 8]
mov rsi, rbx
xor rsi, r9
mov r11, rbx
sub r11, r9
xor r11, rbx
or r11, rsi
xor r11, rbx
sar r11, 0x3f
and r11d, r15d
mov r9d, eax
test rsi, rsi
cmovne r9, r11
mov r11, r8
xor r11, r10
mov rax, r8
sub rax, r10
xor rax, r8
or rax, r11
xor rax, r8
sar rax, 0x3f
and eax, r15d
test r11, r11
cmove rax, r9
add rdx, 2
cmp rbp, rdx
jne 0x1400666b0
mov rsi, qword [rsp + 0x30]
test sil, 1
je 0x1400664f0
mov r8, qword [rdi + rdx*8]
mov rdx, qword [r14 + rdx*8]
mov r9, rdx
xor r9, r8
mov r10, rdx
sub r10, r8
xor r10, rdx
or r10, r9
xor r10, rdx
sar r10, 0x3f
mov edx, 0xffffffff
and edx, r10d
test r9, r9
cmovne rax, rdx
jmp 0x1400664f0
mov dword [rsp + 0x20], 0xe2
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_random.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
jmp 0x14006679d
mov esi, 1
jmp 0x1400667a2
mov dword [rsp + 0x20], 0x10b
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_random.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, reloc.WS2_32.dll_WSAStartup
call fcn.140049240
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret