Function at 0x14009e930
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 r12, rdx
mov rbx, qword [rsp + 0xe0]
mov rax, qword [0x140165040]
xor rax, rsp
test rbx, rbx
cmove rbx, r9
mov qword [rsp + 0x70], rax
mov rdx, qword [rcx + 8]
movsxd rax, dword [rdx + 8]
test rax, rax
je 0x14009e9c5
mov r14, r9
mov r13, r8
mov ebp, dword [rsp + 0xe8]
mov edi, dword [r9 + 4]
mov r8d, eax
mov rdx, qword [rdx]
xor r9d, r9d
xor r10d, r10d
nop dword [rax + rax]
or r10, qword [rdx + r9*8]
inc r9
cmp rax, r9
jne 0x14009e990
test r10, r10
je 0x14009e9c5
mov r9d, r8d
sar r9d, 0x1f
and r9d, r8d
inc eax
mov r10, r8
test r10d, r10d
jle 0x14009e9e9
dec eax
cmp qword [rdx + r10*8 - 8], 0
lea r10, [r10 - 1]
je 0x14009e9b0
jmp 0x14009ea04
mov dword [rsp + 0x20], 0x149
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor r15d, r15d
mov ecx, 4
xor edx, edx
mov r8d, pe_nt_image_headers64
jmp 0x14009eb12
mov eax, r9d
test r8d, r8d
js 0x14009ea04
call fcn.14009e810
mov esi, eax
mov ecx, 7
xor edx, edx
jmp 0x14009eaa8
cdqe
mov rdx, qword [rdx + rax*8 - 8]
xor eax, eax
test rdx, rdx
sete al
mov r8, rdx
shr r8, 0x20
cmove r8, rdx
mov rdx, r8
shr rdx, 0x10
cmp r8, 0x10000
cmovb rdx, r8
mov r8, rdx
shr r8, 8
cmp rdx, 0x100
cmovb r8, rdx
mov rdx, r8
shr rdx, 4
xor r9d, r9d
cmp r8, 0x10
setae r9b
cmovb rdx, r8
shl r9d, 2
mov r8, rdx
shr r8, 2
xor r10d, r10d
cmp rdx, 4
setae r10b
cmovb r8, rdx
xor edx, edx
cmp r8, 2
setae dl
sub r9d, eax
lea r15d, [r9 + r10*2]
add r15d, edx
call fcn.14009e810
xor ecx, ecx
mov esi, eax
and r15d, 7
je 0x14009ea9b
xor edx, edx
mov ecx, r15d
jmp 0x14009eaa8
mov byte [r12], 0
inc r12
dec rsi
mov dl, 1
lea rax, [rdi + 2]
cmp rsi, rax
jae 0x14009eabb
mov dword [rsp + 0x20], 0x156
jmp 0x14009eafb
mov qword [rsp + 0x48], r13
mov r13, rdi
cmp ebp, 0xffffffff
je 0x14009eae4
cmp ebp, 0xfffffffe
jne 0x14009ead9
mov r13, rsi
sub r13, rdi
add r13, 0xfffffffffffffffe
jmp 0x14009eae4
test ebp, ebp
js 0x14009ed20
mov r13d, ebp
mov rbp, rsi
sub rbp, rdi
lea rax, [rbp - 2]
cmp rax, r13
jae 0x14009eb43
mov dword [rsp + 0x20], 0x16b
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor r15d, r15d
mov ecx, 4
xor edx, edx
mov r8d, 0x72
call fcn.1400bacd0
xor r12d, r12d
mov rcx, r12
call fcn.1400ae2a0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400fb950
mov eax, r15d
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x30], r12
xor r15d, r15d
test r13, r13
je 0x14009eb7c
mov rcx, r13
call fcn.1400ae130
test rax, rax
je 0x14009eb17
mov r12, rax
lea r8, [0x14014f090]
mov rcx, rax
mov rdx, r13
call fcn.14008e570
jmp 0x14009eb7f
xor r12d, r12d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
test r14, r14
je 0x14009ebbe
mov ecx, dword [r14 + 0x2c]
call fcn.1400ae130
mov qword [rsp + 0x38], rax
xor ecx, ecx
call fcn.1400ae2a0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14009ed44
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x30]
add rax, rbp
dec rax
mov qword [rsp + 0x38], rax
dec rbp
mov rax, qword [r14 + 0x10]
lea r14, [rsp + 0x50]
mov rcx, r14
call qword [0x140191008]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
lea rdx, [0x14014f0f0]
mov r8d, 8
mov rcx, r14
call qword [0x140191008]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov rcx, r14
mov rdx, qword [rsp + 0x48]
mov r8, rdi
call qword [0x140191008]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov rcx, r14
mov rdx, r12
mov r8, r13
call qword [0x140191008]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x20]
mov rcx, r14
mov r14, qword [rsp + 0x38]
mov rdx, r14
call qword [0x140191008]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov edx, dword [rax + 0x2c]
call fcn.1400ae2e0
mov rcx, qword [rsp + 0x58]
call fcn.1400ae2a0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14009ec82
mov rax, qword [rax]
mov rcx, qword [rsp + 0x60]
call qword [0x140191008]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, rbp
mov r8, r14
mov r9, rdi
call fcn.14009e190
test eax, eax
je 0x14009eb1a
add rdi, r13
mov rax, rsi
sub rax, rdi
xor byte [rax + rbx - 2], 1
test r13, r13
je 0x14009ecf0
not rdi
mov rax, qword [rsp + 0x30]
add rax, rsi
add rdi, rax
xor eax, eax
nop word cs:[rax + rax]
movzx ecx, byte [r12 + rax]
xor byte [rdi + rax], cl
inc rax
cmp r13, rax
jne 0x14009ece0
cmp byte [rsp + 0x44], 0
jne 0x14009ed0b
mov cl, 8
sub cl, byte [rsp + 0x40]
mov eax, 0xff
shr eax, cl
mov rcx, qword [rsp + 0x30]
and byte [rcx], al
mov rax, qword [rsp + 0x30]
mov byte [rsi + rax - 1], 0xbc
mov r15d, 1
jmp 0x14009eb1a
mov dword [rsp + 0x20], 0x164
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
xor r15d, r15d
mov ecx, 4
xor edx, edx
mov r8d, 0x8a
jmp 0x14009eb12
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
xor r15d, r15d
jmp 0x14009eb1a