Function at 0x14012bc90
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov r13, qword [rsp + 0x100]
lea ebp, [rdx - 1]
xor edi, edi
mov dword [rsp + 0xd8], ebp
mov rbx, rcx
mov r12d, edi
mov r15d, edi
test r13, r13
jne 0x14012bcdc
call fcn.1400b2b10
mov r13, rax
mov rax, qword [rsp + 0x108]
mov rcx, r13
test rax, rax
cmove rax, r13
mov qword [rsp + 0x108], rax
call fcn.14005ed40
movsxd r14, eax
mov esi, ebp
lea ecx, [r14 + r14]
sub esi, ecx
lea eax, [rsi - 1]
cmp dword [rsp + 0xe8], eax
jle 0x14012bd3b
mov edx, 0x9a
mov dword [rsp + 0x20], 0x3e
lea r9, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x2c]
call fcn.140069ef0
xor eax, eax
jmp 0x14012c11e
lea eax, [rcx + 1]
cmp ebp, eax
jge 0x14012bd6b
mov edx, 0x9a
mov dword [rsp + 0x20], 0x44
lea r9, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x22]
call fcn.140069ef0
xor eax, eax
jmp 0x14012c11e
mov rcx, qword [rsp + 0xd0]
lea rbp, [rbx + 1]
movsxd rdx, dword [rsp + 0xf8]
add rcx, r14
mov byte [rbx], dil
xor r9d, r9d
mov qword [rsp + 0x100], rcx
mov rbx, r14
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r13
lea r13, [rcx + 1]
mov rcx, qword [rsp + 0xf0]
mov r8, r13
mov qword [rsp + 0x30], rbx
call fcn.140073b30
test eax, eax
je 0x14012c0f5
sub esi, dword [rsp + 0xe8]
xor edx, edx
dec esi
movsxd r8, esi
mov rsi, qword [rsp + 0x100]
lea rcx, [rsi + 1]
add rcx, rbx
call fcn.140173680
movsxd rdx, dword [rsp + 0xe8]
movsxd rcx, dword [rsp + 0xd8]
mov eax, ecx
mov r8d, edx
sub rcx, rdx
sub eax, r14d
mov dword [rsp + 0xd8], eax
sub rcx, rbx
sub eax, edx
inc rcx
mov rdx, qword [rsp + 0xe0]
add rcx, rsi
cdqe
mov byte [rax + rsi], 1
call fcn.140173e20
mov edx, r14d
mov rcx, rbp
call fcn.14006b5b0
test eax, eax
jle 0x14012c0f5
movsxd r15, dword [rsp + 0xd8]
lea rdx, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_rsa_rsa_oaep.c
mov rcx, r15
mov r8d, 0x55
mov rsi, r15
call fcn.14006a4a0
mov r12, rax
test rax, rax
jne 0x14012be80
lea r9, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0x57
mov edx, 0x9a
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.140069ef0
jmp 0x14012c0f5
mov rax, qword [rsp + 0x108]
mov r9d, r14d
mov r8, rbp
mov qword [rsp + 0x20], rax
mov edx, r15d
mov rcx, r12
call fcn.14012bae0
test eax, eax
js 0x14012c0f5
mov r9d, edi
test r15d, r15d
jle 0x14012bf71
cmp r15d, 0x40
jb 0x14012bf71
lea eax, [r15 - 1]
movsxd rcx, eax
lea rax, [rcx + r12]
lea rdx, [rcx + r13]
cmp r13, rax
ja 0x14012bed9
cmp rdx, r12
jae 0x14012bf71
mov ecx, r15d
and ecx, 0x8000003f
jge 0x14012beeb
dec ecx
or ecx, 0xffffffc0
inc ecx
mov r8, qword [rsp + 0x100]
mov eax, r15d
sub eax, ecx
mov r10, r8
mov rdx, r12
movsxd r11, eax
sub rdx, r13
not r10
mov rcx, r13
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add r9d, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
lea rax, [rcx + r10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [rdx + rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r11
jl 0x14012bf10
jmp 0x14012bf79
mov r8, qword [rsp + 0x100]
movsxd rax, r9d
cmp rax, rsi
jge 0x14012bfb0
lea rcx, [r8 + 1]
mov rdx, r12
add rcx, rax
sub rdx, r13
sub rsi, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rsi, 1
jne 0x14012bfa0
mov rax, qword [rsp + 0x108]
lea rcx, [rsp + 0x40]
mov r9d, r15d
mov qword [rsp + 0x20], rax
mov r8, r13
mov edx, r14d
call fcn.14012bae0
test eax, eax
js 0x14012c0f5
test r14d, r14d
jle 0x14012c0c6
cmp r14d, 0x40
jb 0x14012c0c6
lea eax, [r14 - 1]
movsxd rcx, eax
lea rax, [rsp + 0x40]
add rax, rcx
lea rdx, [rcx + rbp]
cmp rbp, rax
ja 0x14012c011
lea rax, [rsp + 0x40]
cmp rdx, rax
jae 0x14012c0c6
mov eax, r14d
and eax, 0x8000003f
jge 0x14012c022
dec eax
or eax, 0xffffffc0
inc eax
mov rbx, qword [rsp + 0xd0]
lea rdx, [rsp + 0x40]
sub r14d, eax
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x60]
movsxd r11, r14d
sub rdx, rbp
lea r10, [rsp + 0x70]
sub r8, rbp
sub r9, rbp
sub r10, rbp
mov rcx, rbp
not rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add edi, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
lea rax, [rbx + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [r8 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [r9 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [r10 + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r11
jl 0x14012c060
mov rbx, qword [rsp + 0x30]
movsxd rcx, edi
cmp rcx, rbx
jge 0x14012c0f0
lea rdx, [rsp + 0x40]
sub rdx, rbp
lea rax, [rcx + rbp]
sub rbx, rcx
nop dword [rax]
movzx ecx, byte [rax + rdx]
xor byte [rax], cl
lea rax, [rax + 1]
sub rbx, 1
jne 0x14012c0e0
mov edi, 1
mov edx, 0x40
lea rcx, [rsp + 0x40]
call fcn.140073b20
movsxd rdx, r15d
lea r8, str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_rsa_rsa_oaep.c
mov r9d, 0x68
mov rcx, r12
call fcn.14006a5c0
mov eax, edi
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret