Function at 0x140061190
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, rdx
movsxd rdx, dword [rdx + 8]
test rdx, rdx
je 0x1400612fa
mov rsi, rcx
mov rax, qword [rdi]
cmp edx, 4
jae 0x1400611be
xor r8d, r8d
xor ecx, ecx
jmp 0x1400612c0
lea r9, [rdx - 4]
mov r8, r9
shr r8, 2
inc r8
mov ecx, r8d
and ecx, 3
cmp r9, 0xc
jae 0x1400611e5
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
jmp 0x140061261
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rax + r9*8]
por xmm2, xmm0
movdqu xmm0, xmmword [rax + r9*8 + 0x10]
por xmm0, xmm1
movdqu xmm1, xmmword [rax + r9*8 + 0x20]
movdqu xmm3, xmmword [rax + r9*8 + 0x30]
movdqu xmm4, xmmword [rax + r9*8 + 0x40]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [rax + r9*8 + 0x50]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [rax + r9*8 + 0x60]
por xmm0, xmm4
movdqu xmm1, xmmword [rax + r9*8 + 0x70]
por xmm1, xmm2
add r9, 0x10
add r8, 0xfffffffffffffffc
jne 0x140061200
mov r8, rdx
and r8, 0xfffffffffffffffc
test rcx, rcx
je 0x14006129e
lea r9, [rax + r9*8]
add r9, 0x10
shl rcx, 5
xor r10d, r10d
nop dword [rax]
movdqu xmm2, xmmword [r9 + r10 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r10]
por xmm1, xmm2
add r10, 0x20
cmp rcx, r10
jne 0x140061280
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rcx, xmm1
cmp r8, rdx
je 0x1400612cc
nop word cs:[rax + rax]
or rcx, qword [rax + r8*8]
inc r8
cmp rdx, r8
jne 0x1400612c0
test rcx, rcx
je 0x1400612fa
test edx, edx
jle 0x1400612da
test byte [rax], 1
jne 0x140061329
mov dword [rsp + 0x20], 0xa9
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_montgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x68
jmp 0x140061318
mov dword [rsp + 0x20], 0xa5
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_montgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
call fcn.140049240
mov eax, esi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
cmp dword [rdi + 0x10], 0
je 0x14006134f
mov dword [rsp + 0x20], 0xad
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_montgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
jmp 0x140061318
lea rbx, [rsi + 0x18]
cmp rbx, rdi
je 0x140061381
mov rcx, rbx
call fcn.140053090
test eax, eax
je 0x140061386
movsxd r8, dword [rdi + 8]
test r8, r8
je 0x1400613a9
shl r8, 3
mov rcx, qword [rbx]
mov rdx, qword [rdi]
call fcn.14027bf80
mov ecx, dword [rdi + 8]
jmp 0x1400613ab
mov ecx, dword [rsi + 0x20]
jmp 0x1400613b4
mov dword [rsp + 0x20], 0xb3
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_montgomery.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x44
jmp 0x140061318
xor ecx, ecx
mov dword [rsi + 0x20], ecx
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x28], eax
mov eax, ecx
mov edx, ecx
sar edx, 0x1f
and edx, ecx
mov rcx, rax
test ecx, ecx
jle 0x1400613df
mov r9, qword [rbx]
lea r8, [rcx - 1]
cmp qword [r9 + rcx*8 - 8], 0
mov rcx, r8
je 0x1400613c0
inc r8d
mov dword [rsi + 0x20], r8d
jmp 0x1400613ed
mov dword [rsi + 0x20], edx
test eax, eax
js 0x1400613ed
mov dword [rsi + 0x28], 0
mov rax, qword [rbx]
mov rax, qword [rax]
mov r10d, 1
mov edx, 0x40
xor ecx, ecx
movabs r8, 0x8000000000000000
movabs r9, 0x4000000000000000
nop word cs:[rax + rax]
mov r11d, r10d
and r11d, 1
neg r11
mov rdi, rax
and rdi, r11
mov rbx, rdi
xor rbx, r10
shr rbx, 1
and rdi, r10
add rdi, rbx
mov ebx, edi
and ebx, 1
neg rbx
mov r10, rax
and r10, rbx
mov r14, r10
xor r14, rdi
shr r14, 1
and r10, rdi
add r10, r14
and rbx, r8
shr rcx, 2
and r11, r9
or rcx, r11
or rcx, rbx
add rdx, 0xfffffffffffffffe
jne 0x140061420
mov qword [rsi + 0x30], rcx
mov qword [rsi + 0x38], 0
mov esi, 1
jmp 0x14006131d