Function at 0x14004d430
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 rax, qword [0x14019d040]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov eax, dword [r9 + 8]
test eax, eax
jle 0x14004d9f6
mov rdi, r8
mov rbp, qword [r9]
mov r8, qword [rbp]
test r8b, 1
je 0x14004d9f6
cmp dword [r9 + 0x10], 0
jne 0x14004d9d6
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x40], rcx
cmp dword [rdx + 0x10], 0
jne 0x14004da16
movsxd r13, dword [rdx + 8]
cmp r13, rax
mov r11, rax
cmovb r11, r13
mov r10, qword [rdx]
xor r8d, r8d
test r13, r13
je 0x14004d4ed
xor esi, esi
mov r14, qword [rbp + rsi*8]
mov r15, qword [r10 + rsi*8]
xor r12d, r12d
mov rbx, r15
sub rbx, r14
sete r12b
neg r12
xor r14, r15
xor rbx, r15
or rbx, r14
xor rbx, r15
sar rbx, 0x3f
or rbx, 1
xor r8, rbx
and r8, r12
xor r8, rbx
inc rsi
cmp r11, rsi
jne 0x14004d4af
cmp r13d, eax
jb 0x14004d86f
cmp eax, r13d
jb 0x14004d975
test r8d, r8d
jns 0x14004da16
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdx
mov r9d, dword [rdi + 8]
test r9d, r9d
jle 0x14004d9a7
mov r8, qword [rdi]
mov r10d, r9d
cmp qword [r8 + r10*8 - 8], 0
je 0x14004d6ef
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 r13d, [r8 + r15*2]
sbb r13d, 0xffffffff
add r13d, 0xffffffc0
je 0x14004d8f0
mov rbx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x50]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1400f5e20
cmp byte [rbx + 0x28], 0
jne 0x14004d624
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rcx, qword [rbx + 0x18]
je 0x14004d894
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbx + 0x10]
mov rcx, rbx
call fcn.14004c970
mov r12, rax
mov rcx, rbx
call fcn.14004c970
mov qword [rsp + 0x50], rax
xor esi, esi
test r12, r12
je 0x14004daf8
mov r15, rax
mov ecx, 0
test rax, rax
je 0x14004d81b
mov rbp, qword [rsp + 0x1c8]
xor esi, esi
test rbp, rbp
je 0x14004dadf
xor eax, eax
cmp r13d, 0x29f
mov qword [rsp + 0x28], rax
ja 0x14004d9b5
cmp r13d, 0xef
ja 0x14004d9c0
cmp r13d, 0x4f
ja 0x14004d9cb
xor eax, eax
cmp r13d, 0x18
setae al
lea r14d, [rax*2 + 1]
mov qword [rsp + 0x20], rbx
mov rcx, r15
mov rdx, qword [rsp + 0x30]
mov r8, rbp
mov r9, rbp
call fcn.14004dba0
xor esi, esi
test eax, eax
je 0x14004d816
cmp r14d, 2
mov rax, r14
mov qword [rsp + 0x38], r14
jae 0x14004da3e
dec r13d
mov ecx, eax
mov qword [rsp + 0x48], rcx
xor esi, esi
mov r14, rax
mov r15d, r13d
jmp 0x14004d73a
lea r10d, [r9 - 1]
cmp r9d, 1
mov r9d, r10d
jg 0x14004d522
jmp 0x14004d8f0
test sil, 1
je 0x14004d729
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rbp
call fcn.14004dba0
test eax, eax
je 0x14004d8e9
sub r15, 1
jb 0x14004d801
add r13d, 0x7fffffff
test r15d, r15d
js 0x14004d705
movsxd rax, dword [rdi + 8]
mov rcx, r15
shr rcx, 6
cmp rcx, rax
jae 0x14004d705
mov rdx, qword [rdi]
mov rcx, qword [rdx + rcx*8]
bt rcx, r15
jae 0x14004d705
cmp r14d, 2
jb 0x14004d76b
test r15, r15
jne 0x14004daff
xor r14d, r14d
mov dword [rsp + 0x30], 0
mov r13d, 0
test sil, 1
je 0x14004d7d3
mov esi, 0xffffffff
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rbp
call fcn.14004dba0
test eax, eax
je 0x14004d8e9
inc esi
cmp dword [rsp + 0x30], esi
jne 0x14004d787
mov r8, qword [rsp + r14*8 + 0x50]
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, r12
mov r9, rbp
call fcn.14004dba0
mov r13d, dword [rsp + 0x30]
test eax, eax
jne 0x14004d7e9
jmp 0x14004d8e9
mov rdx, qword [rsp + r14*8 + 0x50]
mov rcx, r12
call fcn.14004c580
test rax, rax
je 0x14004d8e9
cmp r15d, r13d
mov r14, qword [rsp + 0x38]
je 0x14004d801
not r13d
add r13d, r15d
mov sil, 1
jmp 0x14004d6ea
mov rcx, qword [rsp + 0x40]
mov rdx, r12
mov r8, rbp
mov r9, rbx
call fcn.14004ddb0
mov esi, eax
mov rcx, qword [rsp + 0x28]
call fcn.14004deb0
cmp byte [rbx + 0x28], 0
jne 0x14004d83f
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
cmp rcx, qword [0x14019d040]
je 0x14004d859
call fcn.1400c6de0
int3
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 [rbp + r13*8]
inc r13
cmp rax, r13
jne 0x14004d872
xor r11d, r11d
cmp r10, 1
sbb r11, r11
not r11d
or r8d, r11d
jmp 0x14004d4ff
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x14004dad4
mov rax, r14
shr rax, 0x3d
jne 0x14004dad4
lea rdx, [r14*8]
mov rcx, qword [rbx + 8]
call fcn.1400a4b40
test rax, rax
je 0x14004dad4
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], r14
mov rcx, qword [rbx + 0x10]
jmp 0x14004d61c
xor esi, esi
jmp 0x14004d816
mov rsi, qword [rsp + 0x40]
and qword [rsp + 0x28], 0xfffffffffffffffe
cmp eax, 1
je 0x14004d929
cmp eax, 3
mov r8d, 2
cmovge r8d, eax
mov edx, 1
mov rax, qword [rsp + 0x28]
or rax, qword [rbp + rdx*8]
mov qword [rsp + 0x28], rax
inc rdx
cmp r8, rdx
jne 0x14004d912
cmp qword [rsp + 0x28], 0
je 0x14004d964
mov edx, 1
mov rcx, rsi
call fcn.140125380
test eax, eax
je 0x14004d96e
mov dword [rsi + 0x10], 0
mov rax, qword [rsi]
mov qword [rax], 1
mov dword [rsi + 8], 1
mov esi, 1
jmp 0x14004d83f
xor eax, eax
mov dword [rsi + 0x10], eax
mov dword [rsi + 8], eax
jmp 0x14004d95a
xor esi, esi
jmp 0x14004d83f
mov r14, r9
xor r11d, r11d
mov rsi, rax
or r11, qword [r10 + rsi*8]
inc rsi
cmp r13, rsi
jne 0x14004d97e
xor r9d, r9d
cmp r11, 1
sbb r9, r9
xor r8d, 1
and r8d, r9d
xor r8d, 1
mov r9, r14
jmp 0x14004d4ff
je 0x14004d8f0
mov r8, qword [rdi]
jmp 0x14004d531
mov r14d, 6
jmp 0x14004d6a7
mov r14d, 5
jmp 0x14004d6a7
mov r14d, 4
jmp 0x14004d6a7
mov dword [rsp + 0x20], 0x27e
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnexponentiation.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6d
jmp 0x14004da34
mov dword [rsp + 0x20], 0x27a
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnexponentiation.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x68
jmp 0x14004da34
mov dword [rsp + 0x20], 0x283
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bnexponentiation.c.inc
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6b
call fcn.1401484b0
jmp 0x14004d83f
mov rcx, rbx
call fcn.14004c970
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14004d816
mov qword [rsp + 0x20], rbx
mov rcx, qword [rsp + 0x30]
mov rdx, r15
mov r8, r15
mov r9, rbp
call fcn.14004dba0
test eax, eax
je 0x14004d816
mov rax, qword [rsp + 0x38]
lea r15d, [rax - 1]
mov r14d, 1
mov rcx, rbx
call fcn.14004c970
mov qword [rsp + r14*8 + 0x50], rax
test rax, rax
je 0x14004d816
mov rdx, qword [rsp + r14*8 + 0x48]
mov qword [rsp + 0x20], rbx
mov rcx, rax
mov r8, qword [rsp + 0x30]
mov r9, rbp
call fcn.14004dba0
test eax, eax
je 0x14004d816
inc r14
mov eax, r14d
mov ecx, r15d
shr eax, cl
test eax, eax
mov rax, qword [rsp + 0x38]
je 0x14004da83
jmp 0x14004d6db
mov word [rbx + 0x28], 0x101
jmp 0x14004d624
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.1401276c0
mov rbp, rax
test rax, rax
jne 0x14004d66d
xor ecx, ecx
jmp 0x14004d81b
mov r8d, r15d
and r8d, 0x7fffffff
and r13d, 0x7fffffff
dec r13
mov r9d, 1
mov dword [rsp + 0x30], 0
mov r10d, 1
test r13, r13
js 0x14004db55
mov rcx, r13
shr rcx, 6
cmp rcx, rax
jae 0x14004db55
mov rcx, qword [rdx + rcx*8]
bt rcx, r13
jae 0x14004db55
mov ecx, r10d
sub ecx, dword [rsp + 0x30]
shl r9d, cl
or r9d, 1
mov dword [rsp + 0x30], r10d
lea rcx, [r10 + 1]
cmp rcx, qword [rsp + 0x48]
jae 0x14004db6b
dec r13
cmp r10, r8
mov r10, rcx
jb 0x14004db27
sar r9d, 1
movsxd r14, r9d
test sil, 1
jne 0x14004db81
mov r13d, dword [rsp + 0x30]
jmp 0x14004d7d3
cmp dword [rsp + 0x30], 0
js 0x14004d7ad
jmp 0x14004d782