Function at 0x14013c560
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rdi, r8
mov rsi, rdx
mov r15, rcx
test r8, r8
je 0x14013c58a
cmp byte [rsi], 0
je 0x14013c6d7
mov rbx, rdi
add rbx, 8
jb 0x14013c8f0
mov qword [rsp + 0x40], r9
dec rbx
mov eax, 8
cmp rbx, 8
jb 0x14013c5f4
test rbx, rbx
js 0x14013cc41
mov rbp, rbx
and rbp, 0xfffffffffffffff8
mov rcx, qword [0x14031a128]
test rcx, rcx
jne 0x14013c5de
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14013cc2b
mov rcx, rax
mov qword [0x14031a128], rax
mov edx, 8
mov r8, rbp
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14013cc2b
mov qword [rsp + 0x38], rax
test rdi, rdi
je 0x14013c708
mov r12, rbx
shr r12, 3
xor r13d, r13d
mov eax, edi
and eax, 7
setne r13b
mov r14d, 8
cmovne r14, rax
mov rax, rdi
shr rax, 3
add r13, rax
cmp r13, r12
ja 0x14013c708
cmp rbx, 8
jb 0x14013c64b
mov r8, rbx
and r8, 0xfffffffffffffff8
mov rcx, qword [rsp + 0x38]
xor edx, edx
call sub.msvcrt.dll_memset
test r13, r13
je 0x14013c6e5
mov r9b, 1
xor r11d, r11d
xor r10d, r10d
cmp r11, rdi
jae 0x14013c6ca
lea r8, [r10 + 1]
dec r14
xor eax, eax
mov rdx, r11
nop
movzx ecx, byte [rsi + rdx]
shl rax, 8
or rax, rcx
sub r14, 1
jb 0x14013c68b
inc rdx
cmp rdi, rdx
jne 0x14013c670
jmp 0x14013c6c7
mov rbp, r13
sub rbp, r10
jb 0x14013cbc5
lea rcx, [rbp - 1]
cmp rcx, r12
jae 0x14013cbe2
lea r11, [rdx + 1]
mov rcx, qword [rsp + 0x38]
mov qword [rcx + rbp*8 - 8], rax
mov r14d, 8
mov r10, r8
cmp r8, r13
setb r9b
jne 0x14013c65d
inc rdx
mov r11, rdx
test r9b, 1
jne 0x14013c708
cmp r11, rdi
je 0x14013c6ed
jmp 0x14013c708
lea rbp, [0x140289f21]
mov edi, 0xf
jmp 0x14013c72d
xor r11d, r11d
cmp r11, rdi
jne 0x14013c708
lea rbp, [0x14028bdd2]
mov edi, 8
cmp rbx, 0x407
ja 0x14013c71a
cmp rbx, 0x20
jae 0x14013c750
lea rbp, [0x14028be20]
mov edi, 0xf
cmp rbx, 8
jb 0x14013c72d
mov rcx, qword [0x14031a128]
xor edx, edx
mov r8, qword [rsp + 0x38]
call fcn.1401f903c
mov qword [r15 + 8], rbp
mov qword [r15 + 0x10], rdi
mov qword [r15], 0
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, r12
call fcn.140209520
test rax, rax
je 0x14013c773
lea rbp, [0x14028bd9e]
mov edi, 0x10
jmp 0x14013c71a
mov edx, 3
mov rcx, rsi
mov r8, r12
call fcn.1402096f0
test rax, rax
je 0x14013c796
lea rbp, [0x14028be20]
mov edi, 0xf
jmp 0x14013c71a
mov rcx, qword [rsi]
call fcn.14020bcf0
mov r14, rax
mov rcx, rsi
mov rdx, r12
call fcn.14013cf20
mov r13, rax
mov rax, qword [rsp + 0x138]
cmp rax, 0x3ff
jbe 0x14013ccaa
xor ecx, ecx
test r13b, 7
setne cl
lea rcx, [rcx*8]
add rcx, r13
and rcx, 0xfffffffffffffff8
cmp rcx, rax
jae 0x14013c7ec
lea rbp, [0x14028bdca]
jmp 0x14013c71a
cmp r13, qword [rsp + 0x140]
ja 0x14013c71a
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 0
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x78], r13
and rbx, 0xfffffffffffffff8
mov rcx, rbx
call fcn.140026e70
test rax, rax
je 0x14013ccc4
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], r12
lea rdi, [rsp + 0x98]
mov rcx, rdi
call fcn.14013ce90
mov rbx, rax
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], rdx
cmp r12, rdx
mov qword [rsp + 0x88], rdx
jne 0x14013ccd3
mov rax, r12
and rax, 0xfffffffffffffffc
lea rcx, [rax - 4]
mov rbp, rcx
shr rbp, 2
inc rbp
test rcx, rcx
je 0x14013c90a
mov rdx, rbp
and rdx, 0xfffffffffffffffe
xor ecx, ecx
pcmpeqd xmm0, xmm0
movdqu xmm1, xmmword [rsi + rcx*8]
movdqu xmm2, xmmword [rsi + rcx*8 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [rbx + rcx*8], xmm1
movdqu xmmword [rbx + rcx*8 + 0x10], xmm2
movdqu xmm1, xmmword [rsi + rcx*8 + 0x20]
movdqu xmm2, xmmword [rsi + rcx*8 + 0x30]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [rbx + rcx*8 + 0x20], xmm1
movdqu xmmword [rbx + rcx*8 + 0x30], xmm2
add rcx, 8
add rdx, 0xfffffffffffffffe
jne 0x14013c8a6
jmp 0x14013c90c
lea rcx, [0x140289d90]
lea r8, [0x140289fa0]
mov edx, 0x1c
call fcn.14002cb80
ud2
xor ecx, ecx
test bpl, 1
je 0x14013c934
movdqu xmm0, xmmword [rsi + rcx*8]
movdqu xmm1, xmmword [rsi + rcx*8 + 0x10]
pcmpeqd xmm2, xmm2
pxor xmm0, xmm2
pxor xmm1, xmm2
movdqu xmmword [rbx + rcx*8], xmm0
movdqu xmmword [rbx + rcx*8 + 0x10], xmm1
cmp r12, rax
je 0x14013c950
mov rcx, qword [rsi + rax*8]
not rcx
mov qword [rbx + rax*8], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp r12, rcx
jne 0x14013c939
or byte [rbx], 1
mov rax, r12
shl rax, 6
mov rcx, rax
sub rcx, r13
jb 0x14013cc48
je 0x14013c99e
cmp rcx, 0x3f
ja 0x14013cc5d
mov rdx, qword [rbx + r12*8 - 8]
shl rdx, cl
shr rdx, cl
mov qword [rbx + r12*8 - 8], rdx
mov rdi, r13
sub rdi, rax
mov rcx, rbx
mov rdx, rbx
mov r8, rsi
mov r9, r12
call fcn.140209970
inc rdi
jne 0x14013c988
mov qword [rsp + 0x90], r14
lea r14, [rsp + 0x68]
mov rbp, qword [rsp + 0x58]
lea rdi, [r12 + 1]
dec rdi
je 0x14013c9e5
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], rax
cmp r12, rax
jne 0x14013cc77
mov rcx, rbx
mov rdx, rbx
mov r8, rbp
mov r9, r12
call fcn.140209970
jmp 0x14013c9b5
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
mov r8, rbx
mov r9, rbp
call fcn.1401de280
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
mov r8, rbx
call fcn.1401de280
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
mov r8, rbx
call fcn.1401de280
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
mov r8, rbx
call fcn.1401de280
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
mov r8, rbx
call fcn.1401de280
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rbx
mov r8, rbx
call fcn.1401de280
lea r8, [0x14028bdd2]
mov rax, qword [rsp + 0x130]
cmp rax, 5
jbe 0x14013cab3
mov rax, r8
mov edi, 8
jmp 0x14013cb8f
mov rcx, rax
mov edi, 0xf
lea rax, [0x140289f21]
test rcx, rcx
je 0x14013cb8f
mov rbp, qword [rsp + 0x40]
cmp byte [rbp], 0
je 0x14013cb8f
movzx edx, byte [rbp]
movzx ecx, dl
mov rax, qword [rsp + 0x130]
cmp rax, 1
je 0x14013cb46
movzx edx, byte [rbp + 1]
shl rcx, 8
or rcx, rdx
cmp rax, 2
je 0x14013cb46
mov rax, qword [rsp + 0x40]
movzx edx, byte [rax + 2]
shl rcx, 8
or rcx, rdx
cmp qword [rsp + 0x130], 3
je 0x14013cb46
mov rax, qword [rsp + 0x40]
movzx edx, byte [rax + 3]
shl rcx, 8
or rcx, rdx
cmp qword [rsp + 0x130], 4
je 0x14013cb46
mov rax, qword [rsp + 0x40]
movzx edx, byte [rax + 4]
shl rcx, 8
or rcx, rdx
lea rax, [0x14028bdca]
test rcx, rcx
je 0x14013cb85
cmp rcx, qword [rsp + 0x148]
jb 0x14013cb85
mov rax, rcx
shr rax, 0x21
mov rax, r8
mov edi, 8
mov rsi, qword [rsp + 0x38]
jne 0x14013cb8f
test dl, 1
jne 0x14013cbf6
mov edi, 0x10
lea rax, [0x14028bd9e]
jmp 0x14013cb8a
mov edi, 8
mov rsi, qword [rsp + 0x38]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rdi
mov qword [r15], 0
mov rcx, qword [0x14031a128]
xor edx, edx
mov r8, rsi
call fcn.1401f903c
mov rcx, qword [0x14031a128]
xor edx, edx
mov r8, rbx
call fcn.1401f903c
jmp 0x14013c73c
lea rcx, str.attempt_to_subtract_with_overflowSHA1SHA256SHA384SHA512SHA512_256
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_srclimb.rs
mov edx, 0x21
call fcn.14002cb80
jmp 0x14013ccd1
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_srclimb.rs
mov rdx, r12
call fcn.14002ba50
jmp 0x14013ccd1
mov rax, qword [rsp + 0x38]
mov qword [r15], rax
mov qword [r15 + 8], r12
mov rax, qword [rsp + 0x90]
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], 0
mov qword [r15 + 0x20], r13
mov qword [r15 + 0x28], rbx
mov qword [r15 + 0x30], r12
mov qword [r15 + 0x38], rcx
jmp 0x14013c73c
shr rbx, 0x3c
not ebx
and ebx, 8
mov rcx, rbp
mov rdx, rbx
call fcn.1400270c0
ud2
call fcn.140027070
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_arithmetic_bigintmodulus.rs
mov edx, 0x21
lea rcx, str.attempt_to_subtract_with_overflowSHA1SHA256SHA384SHA512SHA512_256
jmp 0x14013cc70
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_arithmetic_bigintmodulus.rs
mov edx, 0x24
lea rcx, str.attempt_to_shift_right_with_overflowC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_arithmetic_bigint.rs
call fcn.14002cb80
jmp 0x14013ccd1
mov qword [rsp + 0x98], 0
lea rax, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_srclimb.rs
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov r9, qword [rsp + 0x80]
call fcn.14012f210
jmp 0x14013ccd1
lea rcx, str.assertion_failed:_min_bits___MIN_BITSC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_rsapublic_modulus.rs
lea r8, [0x14028c850]
mov edx, 0x26
call fcn.14002cb80
jmp 0x14013ccd1
mov edx, 8
mov rcx, rbx
call fcn.1400270c0
ud2
mov qword [rsp + 0x98], 0
lea rax, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_arithmetic_bigintmodulus.rs
jmp 0x14013cc8a