Function at 0x14009b440
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov r13, rdx
mov rax, qword [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov edx, dword [r9 + 8]
test edx, edx
jle 0x14009bae6
mov rbp, rcx
mov rcx, qword [r9]
mov rax, qword [rcx]
test al, 1
je 0x14009bae6
cmp dword [r9 + 0x10], 0
jne 0x14009bac6
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r9
cmp dword [r13 + 0x10], 0
jne 0x14009bb06
mov rdi, r8
movsxd r9, dword [r13 + 8]
cmp r9, rdx
mov r11, rdx
cmovb r11, r9
mov r10, qword [r13]
test r9, r9
je 0x14009b92e
mov rax, rbp
mov rbp, r13
xor r8d, r8d
xor esi, esi
mov rbx, qword [rcx + rsi*8]
mov r14, qword [r10 + rsi*8]
mov r15, r14
xor r15, rbx
lea r12, [r15 - 1]
mov r13, r14
sub r13, rbx
xor r13, r14
or r13, r15
not r15
and r12, r15
sar r12, 0x3f
xor r13, r14
sar r13, 0x3f
or r13, 1
xor r8, r13
and r8, r12
xor r8, r13
inc rsi
cmp r11, rsi
jne 0x14009b4ce
mov r13, rbp
mov rbp, rax
cmp r9d, edx
jb 0x14009b89d
cmp edx, r9d
jb 0x14009b9bd
test r8d, r8d
jns 0x14009bb06
mov r9d, dword [rdi + 8]
test r9d, r9d
jle 0x14009b9ef
mov r8, qword [rdi]
mov r10d, r9d
cmp qword [r8 + r10*8 - 8], 0
je 0x14009b76f
movsxd r10, r9d
shl r9d, 6
mov r10, qword [r8 + r10*8 - 8]
xor r8d, r8d
test r10, r10
setne r8b
or r8d, r9d
xor r9d, r9d
mov r11, r10
shr r11, 0x20
cmove r11, r10
setne r9b
shl r9d, 5
mov rsi, r11
shr rsi, 0x10
xor r10d, r10d
cmp r11, 0x10000
cmovb rsi, r11
setae r10b
shl r10d, 4
mov rbx, rsi
shr rbx, 8
xor r11d, r11d
cmp rsi, 0x100
cmovb rbx, rsi
setae r11b
mov rsi, rbx
shr rsi, 4
xor r14d, r14d
cmp rbx, 0x10
setae r14b
cmovb rsi, rbx
mov rbx, rsi
shr rbx, 2
xor r15d, r15d
cmp rsi, 4
setae r15b
cmovb rbx, rsi
or r9d, r8d
or r9d, r10d
cmp rbx, 2
lea r8d, [r9 + r11*8]
lea r8d, [r8 + r14*4]
lea r12d, [r8 + r15*2]
sbb r12d, 0xffffffff
add r12d, 0xffffffc0
je 0x14009b93d
mov rbx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x50]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1401a5660
cmp byte [rbx + 0x28], 0
jne 0x14009b645
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rcx, qword [rbx + 0x18]
je 0x14009b8c7
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbx + 0x10]
mov r14, r13
mov rcx, rbx
call fcn.14009a760
mov r13, rax
mov rcx, rbx
call fcn.14009a760
mov qword [rsp + 0x50], rax
xor esi, esi
test r13, r13
je 0x14009bb47
mov r15, rax
mov qword [rsp + 0x40], rbp
mov ecx, 0
test rax, rax
je 0x14009b853
mov rbp, qword [rsp + 0x1c8]
xor esi, esi
test rbp, rbp
je 0x14009bb2e
xor eax, eax
cmp r12d, 0x29f
mov qword [rsp + 0x30], rax
ja 0x14009b9fd
cmp r12d, 0xef
ja 0x14009ba07
cmp r12d, 0x4f
ja 0x14009ba11
xor eax, eax
cmp r12d, 0x18
setae al
lea eax, [rax*2 + 1]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], rbx
mov rcx, r15
mov rdx, r14
mov r8, rbp
mov r9, rbp
call fcn.14009bbe0
xor esi, esi
test eax, eax
je 0x14009ba1d
mov rax, qword [rsp + 0x38]
cmp eax, 2
jae 0x14009ba2a
dec r12d
mov eax, eax
mov qword [rsp + 0x48], rax
xor esi, esi
mov rbx, qword [rsp + 0x1c0]
mov r14d, r12d
dec r14
test r12d, r12d
js 0x14009b740
movsxd rax, dword [rdi + 8]
mov ecx, r12d
shr ecx, 6
cmp rcx, rax
jae 0x14009b740
mov edx, r12d
mov r8, qword [rdi]
mov rcx, qword [r8 + rcx*8]
bt rcx, rdx
jb 0x14009b785
test sil, 1
je 0x14009b764
mov qword [rsp + 0x20], rbx
mov rcx, r13
mov rdx, r13
mov r8, r13
mov r9, rbp
call fcn.14009bbe0
test eax, eax
je 0x14009b936
sub r12d, 1
jae 0x14009b719
jmp 0x14009b839
lea r10d, [r9 - 1]
cmp r9d, 1
mov r9d, r10d
jg 0x14009b543
jmp 0x14009b93d
cmp dword [rsp + 0x38], 2
jb 0x14009b795
test r12d, r12d
jne 0x14009bb61
xor r15d, r15d
mov ebx, 1
test sil, 1
jne 0x14009b7d9
sar ebx, 1
movsxd rax, ebx
mov rdx, qword [rsp + rax*8 + 0x50]
mov rcx, r13
call fcn.14009a370
test rax, rax
mov rbx, qword [rsp + 0x1c0]
je 0x14009b936
cmp r12d, r15d
je 0x14009b839
not r15d
add r12d, r15d
mov sil, 1
jmp 0x14009b716
mov esi, 0xffffffff
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r13
mov r8, r13
mov r9, rbp
call fcn.14009bbe0
test eax, eax
je 0x14009ba1b
inc esi
cmp r15d, esi
jne 0x14009b7de
sar ebx, 1
movsxd rax, ebx
mov r8, qword [rsp + rax*8 + 0x50]
mov rbx, qword [rsp + 0x1c0]
mov qword [rsp + 0x20], rbx
mov rcx, r13
mov rdx, r13
mov r9, rbp
call fcn.14009bbe0
test eax, eax
jne 0x14009b7c6
jmp 0x14009b936
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov r8, rbp
mov r9, rbx
call fcn.14009bdf0
mov esi, eax
mov rcx, qword [rsp + 0x30]
call fcn.14009bef0
cmp byte [rbx + 0x28], 0
jne 0x14009b877
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
lea rdx, [rcx - 1]
mov qword [rbx + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [rbx + 0x20], rax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14016cc60
mov eax, esi
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r10d, r10d
or r10, qword [rcx + r9*8]
inc r9
cmp rdx, r9
jne 0x14009b8a0
mov r9, r10
not r9
dec r10
and r10, r9
sar r10, 0x3f
not r10d
or r8d, r10d
jmp 0x14009b52a
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebx, 0x20
cmovne rbx, rax
cmp rbx, rcx
jbe 0x14009bb4e
mov rax, rbx
shr rax, 0x3d
jne 0x14009bb4e
lea rdx, [rbx*8]
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rax + 8]
call fcn.1401380a0
test rax, rax
je 0x14009bb4e
mov rcx, qword [rsp + 0x1c0]
mov qword [rcx + 8], rax
mov qword [rcx + 0x18], rbx
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
jmp 0x14009b63d
xor r8d, r8d
jmp 0x14009b518
xor esi, esi
jmp 0x14009b84e
and qword [rsp + 0x40], 0xfffffffffffffffe
cmp edx, 1
je 0x14009b970
cmp edx, 3
mov r8d, 2
cmovge r8d, edx
mov edx, 1
mov rax, qword [rsp + 0x40]
or rax, qword [rcx + rdx*8]
mov qword [rsp + 0x40], rax
inc rdx
cmp r8, rdx
jne 0x14009b95a
cmp qword [rsp + 0x40], 0
je 0x14009b9ac
mov edx, 1
mov rcx, rbp
call fcn.140241950
test eax, eax
je 0x14009b9b6
mov dword [rbp + 0x10], 0
mov rax, qword [rbp]
mov qword [rax], 1
mov dword [rbp + 8], 1
mov esi, 1
jmp 0x14009b877
xor eax, eax
mov dword [rbp + 0x10], eax
mov dword [rbp + 8], eax
jmp 0x14009b9a2
xor esi, esi
jmp 0x14009b877
xor r11d, r11d
mov rsi, rdx
or r11, qword [r10 + rsi*8]
inc rsi
cmp r9, rsi
jne 0x14009b9c3
mov r9, r11
not r9
dec r11
and r11, r9
sar r11, 0x3f
xor r8d, 1
and r8d, r11d
xor r8d, 1
jmp 0x14009b52a
je 0x14009b93d
mov r8, qword [rdi]
jmp 0x14009b552
mov eax, 6
jmp 0x14009b6cf
mov eax, 5
jmp 0x14009b6cf
mov eax, 4
jmp 0x14009b6cf
xor esi, esi
mov rbx, qword [rsp + 0x1c0]
jmp 0x14009b84e
mov rcx, qword [rsp + 0x1c0]
call fcn.14009a760
test rax, rax
je 0x14009ba1d
mov r14, rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r15
mov r8, r15
mov r9, rbp
call fcn.14009bbe0
test eax, eax
je 0x14009ba1d
mov rax, qword [rsp + 0x38]
lea r15d, [rax - 1]
mov ebx, 1
mov rcx, qword [rsp + 0x1c0]
call fcn.14009a760
mov qword [rsp + rbx*8 + 0x50], rax
test rax, rax
je 0x14009ba1d
mov rdx, qword [rsp + rbx*8 + 0x48]
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r14
mov r9, rbp
call fcn.14009bbe0
test eax, eax
je 0x14009ba1d
inc rbx
mov eax, ebx
mov ecx, r15d
shr eax, cl
test eax, eax
mov rax, qword [rsp + 0x38]
je 0x14009ba6f
jmp 0x14009b702
mov dword [rsp + 0x20], 0x27e
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnexponentiation.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6d
jmp 0x14009bb24
mov dword [rsp + 0x20], 0x27a
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnexponentiation.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x68
jmp 0x14009bb24
mov dword [rsp + 0x20], 0x283
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnexponentiation.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6b
call fcn.1402821d0
jmp 0x14009b877
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.140243c60
mov rbp, rax
test rax, rax
jne 0x14009b696
xor ecx, ecx
jmp 0x14009b853
mov rbx, qword [rsp + 0x1c0]
mov word [rbx + 0x28], 0x101
jmp 0x14009b645
mov ebx, 1
xor r15d, r15d
mov r9d, 1
mov r10d, 0
test r14, r14
js 0x14009bb95
mov rcx, r14
shr rcx, 6
cmp rcx, rax
jae 0x14009bb95
mov rcx, qword [r8 + rcx*8]
xor r10d, r10d
bt rcx, r14
setb r10b
mov ecx, r9d
sub ecx, r15d
mov r11d, ebx
shl r11d, cl
or r11d, 1
test r10d, r10d
cmovne ebx, r11d
cmovne r15d, r9d
lea rcx, [r9 + 1]
cmp rcx, qword [rsp + 0x48]
jae 0x14009bbc6
dec r14
cmp r9, rdx
mov r9, rcx
jb 0x14009bb6f
test sil, 1
je 0x14009b7a3
test r15d, r15d
js 0x14009b80b
jmp 0x14009b7d9