Function at 0x140067890
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
cmp dword [r8 + 0x10], 0
jne 0x1400678ae
cmp dword [r9 + 0x10], 0
je 0x1400678e4
mov dword [rsp + 0x20], 0x1cf
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6d
call fcn.1400a8ab0
mov eax, esi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, rcx
movsxd rcx, dword [r9 + 8]
test rcx, rcx
je 0x1400679ee
mov rdi, r8
mov r13, rdx
cmp rcx, 1
mov eax, 1
cmova rax, rcx
mov rdx, qword [r9]
lea rcx, [rax - 1]
mov ebx, eax
and ebx, 7
cmp rcx, 7
jae 0x14006791f
xor ebp, ebp
xor ecx, ecx
jmp 0x140067957
and rax, 0xfffffffffffffff8
xor ebp, ebp
xor ecx, ecx
or rcx, qword [rdx + rbp*8]
or rcx, qword [rdx + rbp*8 + 8]
or rcx, qword [rdx + rbp*8 + 0x10]
or rcx, qword [rdx + rbp*8 + 0x18]
or rcx, qword [rdx + rbp*8 + 0x20]
or rcx, qword [rdx + rbp*8 + 0x28]
or rcx, qword [rdx + rbp*8 + 0x30]
or rcx, qword [rdx + rbp*8 + 0x38]
add rbp, 8
cmp rax, rbp
jne 0x140067927
test rbx, rbx
je 0x14006796e
lea rax, [rdx + rbp*8]
xor edx, edx
or rcx, qword [rax + rdx*8]
inc rdx
cmp rbx, rdx
jne 0x140067962
test rcx, rcx
je 0x1400679ee
mov rbp, qword [rsp + 0xc0]
cmp byte [rbp + 0x28], 0
mov qword [rsp + 0x30], r9
jne 0x140067a1d
mov rcx, qword [rbp + 0x10]
mov r15, qword [rbp + 0x20]
cmp rcx, qword [rbp + 0x18]
jne 0x140067a11
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebx, 0x20
cmovne rbx, rax
cmp rbx, rcx
jbe 0x140067d8a
mov rax, rbx
shr rax, 0x3d
jne 0x140067d8a
lea rdx, [rbx*8]
mov rcx, qword [rbp + 8]
call fcn.140090510
test rax, rax
je 0x140067d8a
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rbx
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0x30]
jmp 0x140067a15
mov dword [rsp + 0x20], 0x1d3
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
jmp 0x1400678cc
mov rax, qword [rbp + 8]
mov qword [rax + rcx*8], r15
inc qword [rbp + 0x10]
test rsi, rsi
je 0x140067a2f
cmp rsi, rdi
je 0x140067a2f
mov r12, rsi
cmp rsi, r9
jne 0x140067a3f
mov rcx, rbp
call fcn.140066cc0
mov r9, qword [rsp + 0x30]
mov r12, rax
mov qword [rsp + 0x38], rsi
test r13, r13
je 0x140067a56
cmp r13, rdi
je 0x140067a56
mov rbp, r13
cmp r13, r9
jne 0x140067a66
mov rcx, qword [rsp + 0xc0]
call fcn.140066cc0
mov rbp, rax
mov rcx, qword [rsp + 0xc0]
call fcn.140066cc0
mov qword [rsp + 0x40], rax
xor esi, esi
test r12, r12
je 0x140067d5a
test rbp, rbp
je 0x140067d5a
cmp qword [rsp + 0x40], 0
je 0x140067d5a
movsxd rdx, dword [rdi + 8]
mov rcx, r12
call fcn.140064cf0
test eax, eax
je 0x140067d5a
mov r14, qword [rsp + 0x30]
movsxd rdx, dword [r14 + 8]
mov rcx, rbp
call fcn.140064cf0
test eax, eax
je 0x140067d5a
movsxd rdx, dword [r14 + 8]
mov rcx, qword [rsp + 0x40]
call fcn.140064cf0
test eax, eax
je 0x140067d5a
movsxd r8, dword [rdi + 8]
xor r14d, r14d
mov eax, 0
test r8, r8
je 0x140067afe
shl r8, 3
mov rcx, qword [r12]
xor edx, edx
call fcn.1400dc190
mov eax, dword [rdi + 8]
mov qword [rsp + 0x48], r13
mov dword [r12 + 8], eax
mov dword [r12 + 0x10], 0
mov rsi, qword [rsp + 0x30]
movsxd r8, dword [rsi + 8]
test r8, r8
je 0x140067b37
shl r8, 3
mov rcx, qword [rbp]
xor edx, edx
call fcn.1400dc190
mov rsi, qword [rsp + 0x30]
mov r14d, dword [rsi + 8]
mov dword [rbp + 8], r14d
mov dword [rbp + 0x10], 0
mov r10d, dword [rdi + 8]
test r10d, r10d
jle 0x140067cbd
lea rax, [r10 - 1]
mov qword [rsp + 0x50], rax
mov r11d, 0x3f
movsxd rcx, dword [rsi + 8]
mov rax, qword [rbp]
test rcx, rcx
je 0x140067ba2
xor edx, edx
sub r13, r13
jmp 0x140067b80
mov r13, qword [rax + rdx*8]
adc r13, qword [rax + rdx*8]
mov qword [rax + rdx*8], r13
lea rdx, [rdx + 1]
dec rcx
jne 0x140067b80
sbb r13, r13
and r13d, 1
mov rax, qword [rbp]
jmp 0x140067ba5
xor r13d, r13d
mov rcx, qword [rdi]
mov rdx, qword [rcx + r10*8 - 8]
mov ecx, r11d
shr rdx, cl
and edx, 1
or qword [rax], rdx
movsxd r8, dword [rsi + 8]
test r8, r8
je 0x140067c8e
mov r15, rdi
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax]
mov r14, rbp
mov rdi, qword [rbp]
mov edx, r8d
mov rax, qword [rsi]
xor esi, esi
mov rcx, r8
sub r9, r9
jmp 0x140067bf0
mov r9, qword [rdi + rsi*8]
sbb r9, qword [rax + rsi*8]
mov qword [rbx + rsi*8], r9
lea rsi, [rsi + 1]
dec rcx
jne 0x140067bf0
sbb r9, r9
and r9d, 1
sub r13, r9
mov rcx, r13
mov rsi, r13
not rsi
cmp r8, 1
mov eax, 1
cmovbe r8, rax
mov eax, 0
cmp edx, 1
je 0x140067c6e
mov r9, r8
and r9, 0xfffffffffffffffe
xor eax, eax
mov rbp, qword [rdi + rax*8]
and rbp, rcx
mov rdx, qword [rbx + rax*8]
and rdx, rsi
or rdx, rbp
mov qword [rdi + rax*8], rdx
mov rdx, qword [rdi + rax*8 + 8]
and rdx, rcx
mov rbp, qword [rbx + rax*8 + 8]
and rbp, rsi
or rbp, rdx
mov qword [rdi + rax*8 + 8], rbp
add rax, 2
cmp r9, rax
jne 0x140067c38
test r8b, 1
je 0x140067c83
and rcx, qword [rdi + rax*8]
and rsi, qword [rbx + rax*8]
or rsi, rcx
mov qword [rdi + rax*8], rsi
mov rdi, r15
mov rbp, r14
mov rsi, qword [rsp + 0x30]
not r13d
and r13d, 1
mov ecx, r11d
shl r13, cl
mov rax, qword [r12]
or qword [rax + r10*8 - 8], r13
sub r11, 1
jae 0x140067b5e
cmp r10, 2
mov r10, qword [rsp + 0x50]
jge 0x140067b4f
mov rcx, qword [rsp + 0x38]
test rcx, rcx
mov rdi, qword [rsp + 0x48]
je 0x140067d16
cmp r12, rcx
je 0x140067d16
movsxd rdx, dword [r12 + 8]
call fcn.140064cf0
test eax, eax
je 0x140067d9a
movsxd r8, dword [r12 + 8]
test r8, r8
je 0x140067d9e
shl r8, 3
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rsi]
mov rdx, qword [r12]
call fcn.1400dbd80
mov eax, dword [r12 + 8]
mov dword [rsi + 8], eax
mov eax, dword [r12 + 0x10]
mov dword [rsi + 0x10], eax
mov esi, 1
test rdi, rdi
je 0x140067d5a
cmp rbp, rdi
je 0x140067d5a
movsxd rdx, dword [rbp + 8]
mov rcx, rdi
call fcn.140064cf0
test eax, eax
je 0x140067d9a
movsxd r8, dword [rbp + 8]
test r8, r8
je 0x140067daa
shl r8, 3
mov rcx, qword [rdi]
mov rdx, qword [rbp]
call fcn.1400dbd80
mov eax, dword [rbp + 8]
mov dword [rdi + 8], eax
mov eax, dword [rbp + 0x10]
mov dword [rdi + 0x10], eax
mov rbp, qword [rsp + 0xc0]
cmp byte [rbp + 0x28], 0
jne 0x1400678d1
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
lea rdx, [rcx - 1]
mov qword [rbp + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [rbp + 0x20], rax
jmp 0x1400678d1
mov word [rbp + 0x28], 0x101
mov r9, qword [rsp + 0x30]
jmp 0x140067a1d
xor esi, esi
jmp 0x140067d5a
xor eax, eax
mov rsi, qword [rsp + 0x38]
jmp 0x140067d0b
xor eax, eax
jmp 0x140067d51