Function at 0x140108810
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rdi, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe0]
add r8d, 7
mov r15, rcx
mov qword [rsp + 0xb8], rdx
shr r8d, 3
mov r14d, r9d
mov qword [rsp + 0x58], 0
test rdi, rdi
mov ebx, r8d
mov qword [rcx], 0
je 0x1401088f0
test rbp, rbp
je 0x1401088f0
mov ecx, r14d
call fcn.1400fd660
mov esi, eax
mov rcx, rsi
call fcn.1400eb9c0
test rax, rax
mov r12, rax
je 0x140108ac3
mov rdx, rax
mov r9, rbp
mov r8, rdi
mov ecx, r14d
call fcn.1400fce50
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0x58]
xor edx, edx
mov r9, rbx
call fcn.14011ee50
test eax, eax
jne 0x1401088cc
lea rdi, [rsi + 1]
lea rax, [rdi + rdi]
cmp rbx, rax
jae 0x140108900
mov rcx, qword [rsp + 0x58]
call fcn.1400ebb20
mov rcx, r12
call fcn.1400ebb20
mov eax, 0x9b
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor ebp, ebp
lea rdi, [0x14027aa29]
jmp 0x14010886b
sub rbx, 1
mov rcx, rbx
call fcn.1400eb9f0
test rax, rax
mov r13, rax
je 0x140108ad0
mov r11, qword [rsp + 0x58]
sub rbx, rsi
mov dword [rsp + 0x20], r14d
mov r9, rbx
mov rdx, rsi
mov rcx, rax
lea rbp, [rax + rsi]
lea r10, [r11 + rdi]
mov qword [rsp + 0x40], r11
mov r8, r10
mov qword [rsp + 0x38], r10
call fcn.140107c90
mov dword [rsp + 0x4c], eax
xor eax, eax
test rsi, rsi
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
je 0x14010897c
nop dword [rax]
movzx edx, byte [r13 + rax]
lea rcx, [rax + 1]
xor dl, byte [r11 + rax + 1]
cmp rcx, rsi
mov rax, rcx
mov byte [r13 + rcx - 1], dl
jne 0x140108960
mov dword [rsp + 0x20], r14d
mov r9, rsi
mov r8, r13
mov rdx, rbx
mov rcx, rbp
mov qword [rsp + 0x38], r10
call fcn.140107c90
test eax, eax
mov r14d, 1
mov r10, qword [rsp + 0x38]
jne 0x1401089b0
mov eax, dword [rsp + 0x4c]
test eax, eax
setne r14b
test rbx, rbx
movzx r14d, r14b
je 0x140108af4
xor eax, eax
nop
movzx edx, byte [r10 + rax]
xor byte [rbp + rax], dl
add rax, 1
cmp rbx, rax
jne 0x1401089c0
mov r8, rsi
mov rdx, rbp
mov rcx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
mov eax, 1
cmovne r14d, eax
cmp rsi, rbx
jae 0x140108a13
cmp byte [rbp + rsi], 1
jne 0x140108a0b
jmp 0x140108a40
cmp byte [rbp + rdi], 1
je 0x140108a40
add rdi, 1
cmp rbx, rdi
mov rsi, rdi
ja 0x140108a00
cmp rbx, rsi
jne 0x140108a40
mov rcx, r12
call fcn.1400ebb20
mov rcx, qword [rsp + 0x58]
call fcn.1400ebb20
mov rcx, r13
call fcn.1400ebb20
mov eax, 0x9b
jmp 0x1401088d9
mov rax, qword [rsp + 0x58]
cmp byte [rax], 0
jne 0x140108a18
mov rcx, r12
call fcn.1400ebb20
mov rcx, qword [rsp + 0x58]
call fcn.1400ebb20
test r14d, r14d
jne 0x140108a2a
add rsi, 1
mov rcx, r13
sub rbx, rsi
lea rdx, [rbp + rsi]
mov r8, rbx
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0xb8]
mov qword [r15], r13
mov ecx, 1
mov qword [rax], rbx
call fcn.1400ec010
mov edx, eax
xor eax, eax
test edx, edx
je 0x1401088d9
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xb8]
lea rcx, str.value_extracted_from_OAEP_encoded_data
mov rdx, qword [r15]
mov r8, qword [rax]
call fcn.1400ea690
mov eax, dword [rsp + 0x38]
jmp 0x1401088d9
call fcn.14014d590
jmp 0x1401088d9
call fcn.14014d590
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x38], eax
call fcn.1400ebb20
mov rcx, r12
call fcn.1400ebb20
mov eax, dword [rsp + 0x38]
jmp 0x1401088d9
mov r8, rsi
mov rdx, rbp
mov rcx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
mov eax, 1
cmovne r14d, eax
jmp 0x140108a13