Function at 0x1400b5340
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r13, r9
mov rbp, r8
mov r14, rdx
mov qword [rsp + 0x30], rcx
mov rbx, qword [rsp + 0xe0]
mov edx, dword [r8 + 8]
mov eax, edx
sar eax, 0x1f
and eax, edx
lea ecx, [rdx + 1]
mov r8d, edx
test edx, edx
jle 0x1400b5a81
mov r9, qword [rbp]
dec ecx
cmp qword [r9 + rdx*8 - 8], 0
lea rdx, [rdx - 1]
je 0x1400b5374
mov edx, dword [r13 + 8]
movsxd rax, edx
mov r11d, eax
sar r11d, 0x1f
and r11d, eax
lea r9d, [rax + 1]
mov rsi, rdx
mov r10d, esi
test esi, esi
jle 0x1400b5a88
mov rdi, qword [r13]
dec r9d
cmp qword [rdi + rsi*8 - 8], 0
lea rsi, [rsi - 1]
je 0x1400b53a9
test r8d, r8d
jle 0x1400b53dd
mov r8, qword [rbp]
dec ecx
cmp qword [r8 + rcx*8], 0
je 0x1400b59c1
test r10d, r10d
jle 0x1400b53f4
mov rcx, qword [r13]
dec r9d
cmp qword [rcx + r9*8], 0
je 0x1400b59c1
test rdx, rdx
je 0x1400b5902
mov rcx, qword [r13]
xor edx, edx
xor r8d, r8d
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x1400b5406
test r8, r8
je 0x1400b5902
mov qword [rsp + 0x68], r14
cmp byte [rbx + 0x28], 0
jne 0x1400b5444
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rcx, qword [rbx + 0x18]
je 0x1400b5a39
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], rsi
inc qword [rbx + 0x10]
mov rcx, rbx
call fcn.1400b5230
mov qword [rsp + 0x40], rax
mov rcx, rbx
call fcn.1400b5230
mov qword [rsp + 0x48], rax
mov rcx, rbx
call fcn.1400b5230
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x30], 0
jne 0x1400b5480
mov rcx, rbx
call fcn.1400b5230
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x38], 0
je 0x1400b5943
cmp qword [rsp + 0x30], 0
je 0x1400b5943
mov edx, dword [r13 + 8]
mov eax, edx
sar eax, 0x1f
and eax, edx
lea ecx, [rdx + 1]
mov r9, rdx
test r9d, r9d
jle 0x1400b5a97
mov r8, qword [r13]
dec ecx
cmp qword [r8 + r9*8 - 8], 0
lea r9, [r9 - 1]
je 0x1400b54a9
movsxd rax, ecx
shl ecx, 6
mov rdx, qword [r8 + rax*8 - 8]
xor eax, eax
test rdx, rdx
setne al
or eax, ecx
xor ecx, ecx
mov r8, rdx
shr r8, 0x20
cmove r8, rdx
setne cl
shl ecx, 5
mov r9, r8
shr r9, 0x10
xor edx, edx
cmp r8, 0x10000
cmovb r9, r8
setae dl
shl edx, 4
mov r10, r9
shr r10, 8
xor r8d, r8d
cmp r9, 0x100
cmovb r10, r9
setae r8b
mov r9, r10
shr r9, 4
xor r11d, r11d
cmp r10, 0x10
setae r11b
cmovb r9, r10
mov r10, r9
shr r10, 2
xor edi, edi
cmp r9, 4
setae dil
cmovb r10, r9
add edi, edi
or ecx, eax
or ecx, edx
lea eax, [rcx + r8*8]
lea esi, [rax + r11*4]
add esi, 0xffffffc0
or esi, edi
cmp r10, 2
sbb esi, 0xffffffff
and esi, 0x3f
mov r8d, 0x40
sub r8d, esi
mov rcx, qword [rsp + 0x38]
mov rdx, r13
call fcn.140152df0
test eax, eax
je 0x1400b5943
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 8]
mov rax, rcx
test eax, eax
jle 0x1400b55a8
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
lea rcx, [rax - 1]
cmp qword [rdx + rax*8 - 8], 0
je 0x1400b558d
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 8], eax
mov dword [rcx + 0x10], 0
mov r8d, 0x80
sub r8d, esi
mov rcx, qword [rsp + 0x48]
mov rdx, rbp
mov dword [rsp + 0x60], r8d
call fcn.140152df0
test eax, eax
je 0x1400b5943
mov rcx, qword [rsp + 0x48]
mov r8d, dword [rcx + 8]
mov rax, r8
shl rax, 0x20
movabs r9, 0x100000000
add r9, rax
movabs rax, 0xffffffff00000000
mov r11, r8
mov rdx, r9
test r11d, r11d
jle 0x1400b561f
mov r10, qword [rcx]
lea r8, [r11 - 1]
lea r9, [rdx + rax]
cmp qword [r10 + r11*8 - 8], 0
je 0x1400b5601
mov dword [rcx + 8], r11d
mov dword [rcx + 0x10], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
lea r8d, [rax + 1]
cmp r8d, r11d
jge 0x1400b59e4
sar rdx, 0x20
call fcn.1400b4fb0
test eax, eax
je 0x1400b5943
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx]
movsxd rcx, dword [rdx + 8]
mov qword [rax + rcx*8], 0
mov ebx, dword [rdx + 8]
inc ebx
mov dword [rdx + 8], ebx
mov rax, qword [rsp + 0x38]
movsxd rsi, dword [rax + 8]
mov r15d, ebx
sub r15d, esi
mov rax, qword [rax]
cmp rsi, 1
je 0x1400b5a90
mov rcx, qword [rax + rsi*8 - 0x10]
mov qword [rsp + 0x50], rcx
mov r12, qword [rdx]
mov rdi, qword [rax + rsi*8 - 8]
mov ecx, dword [rbp + 0x10]
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0x5c], ecx
xor eax, ecx
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x10], eax
lea eax, [r15 + 1]
movsxd rdx, eax
call fcn.1400b4fb0
test eax, eax
je 0x1400b5943
lea ecx, [r15 - 1]
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], ecx
mov dword [rsp + 0x64], ecx
movsxd r14, ecx
shl r14, 3
add r14, qword [rax]
lea r13, [rsi + 1]
mov rcx, qword [rsp + 0x40]
mov rdx, r13
call fcn.1400b4fb0
test eax, eax
je 0x1400b5943
mov rax, qword [rsp + 0x30]
cmp dword [rax + 8], 0
mov r11, qword [rsp + 0x40]
je 0x1400b5ab1
add r14, 0xfffffffffffffff8
cmp r15d, 2
jl 0x1400b581c
movsxd rax, r15d
movsxd rcx, ebx
lea rbx, [r12 + rax*8]
lea r12, [r12 + rcx*8]
add r12, 0xfffffffffffffff8
xor r15d, r15d
jmp 0x1400b57c7
sub rax, qword [rsp + 0x50]
sbb rdx, 0
lea r10, [rcx + rdi]
lea r9, [rbp - 1]
cmp r8, rax
sbb rcx, rdx
mov rcx, r10
jb 0x1400b580b
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
mov rcx, qword [r11]
mov r8, rsi
mov r9, rbp
call fcn.140152bf0
mov r11, qword [rsp + 0x40]
add rbx, 0xfffffffffffffff8
mov rcx, qword [r11]
mov qword [rcx + rsi*8], rax
test r13d, r13d
je 0x1400b57b2
mov rax, qword [r11]
xor edx, edx
mov rcx, r13
sub r8, r8
jmp 0x1400b5790
mov r8, qword [rbx + rdx*8]
sbb r8, qword [rax + rdx*8]
mov qword [rbx + rdx*8], r8
lea rdx, [rdx + 1]
dec rcx
jne 0x1400b5790
sbb r8, r8
test r8b, 1
jne 0x1400b5960
add r12, 0xfffffffffffffff8
mov qword [r14], rbp
inc r15d
add r14, 0xfffffffffffffff8
cmp r15d, dword [rsp + 0x64]
je 0x1400b581c
mov rdx, qword [r12]
cmp rdx, rdi
je 0x1400b5927
mov rax, qword [r12 - 8]
mov qword [rsp + 0x70], rdi
div qword [rsp + 0x70]
mov rcx, rdx
mov rbp, rax
mul qword [rsp + 0x50]
mov r8, qword [r12 - 0x10]
cmp r8, rax
mov r9, rcx
sbb r9, rdx
jae 0x1400b5753
add rcx, rdi
dec rbp
mov r9, rbp
mov rbp, r9
cmp rcx, rdi
jae 0x1400b5733
jmp 0x1400b5753
mov rdx, qword [rsp + 0x48]
mov eax, dword [rdx + 8]
lea r8d, [rax + 1]
mov rcx, qword [rsp + 0x68]
test eax, eax
jle 0x1400b5933
mov r9, qword [rdx]
dec r8d
cmp qword [r9 + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x1400b582d
mov dword [rdx + 8], r8d
test rcx, rcx
je 0x1400b5891
mov r8d, dword [rsp + 0x60]
call fcn.1400b5af0
test eax, eax
je 0x1400b5943
mov r9, qword [rsp + 0x68]
movsxd rax, dword [r9 + 8]
test rax, rax
je 0x1400b5891
mov rcx, qword [r9]
xor edx, edx
xor r8d, r8d
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x1400b5878
test r8, r8
je 0x1400b5891
mov eax, dword [rsp + 0x5c]
mov dword [r9 + 0x10], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
lea ecx, [rax + 1]
mov r8, qword [rsp + 0xe0]
test eax, eax
jle 0x1400b59ac
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx]
dec ecx
cmp qword [rdx + rax*8 - 8], 0
lea rax, [rax - 1]
je 0x1400b58a4
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], ecx
mov esi, 1
cmp byte [r8 + 0x28], 0
jne 0x1400b58ef
mov rax, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
lea rdx, [rcx - 1]
mov qword [r8 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r8 + 0x20], rax
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x20], 0xd9
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bndiv.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
call fcn.140293a80
jmp 0x1400b58ef
mov rbp, 0xffffffffffffffff
jmp 0x1400b5753
mov dword [rdx + 8], eax
test eax, eax
jne 0x1400b584b
jmp 0x1400b5ac2
xor esi, esi
mov rax, qword [rsp + 0xe0]
cmp byte [rax + 0x28], 0
jne 0x1400b58ef
mov r8, qword [rsp + 0xe0]
jmp 0x1400b58d6
dec rbp
test esi, esi
je 0x1400b59a2
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
xor edx, edx
mov rcx, rsi
sub r8, r8
jmp 0x1400b5980
mov r8, qword [rbx + rdx*8]
adc r8, qword [rax + rdx*8]
mov qword [rbx + rdx*8], r8
lea rdx, [rdx + 1]
dec rcx
jne 0x1400b5980
sbb r8, r8
test r8b, 1
je 0x1400b59a2
inc qword [r12]
mov r11, qword [rsp + 0x40]
jmp 0x1400b57b2
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 8], eax
test eax, eax
jne 0x1400b58ca
jmp 0x1400b5ad5
mov dword [rsp + 0x20], 0xd4
lea r9, str....._third_party_boringssl_srccrypto_fipsmodule_bndiv.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x6f
jmp 0x1400b5920
add rax, 2
mov rdx, rax
call fcn.1400b4fb0
test eax, eax
je 0x1400b5943
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 8]
mov rcx, qword [rsp + 0x38]
mov ebx, dword [rcx + 8]
add ebx, 2
cmp eax, ebx
jge 0x1400b566a
mov rcx, qword [rdx]
mov qword [rcx + rax*8], 0
inc rax
mov rcx, qword [rsp + 0x38]
movsxd rbx, dword [rcx + 8]
add rbx, 2
cmp rax, rbx
jl 0x1400b5a14
jmp 0x1400b566a
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x1400b5aa6
mov rax, rdi
shr rax, 0x3d
jne 0x1400b5aa6
lea rdx, [rdi*8]
mov rcx, qword [rbx + 8]
call fcn.140159940
test rax, rax
je 0x1400b5aa6
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 0x10]
jmp 0x1400b543c
mov ecx, eax
jmp 0x1400b5391
mov r9d, r11d
jmp 0x1400b53c7
xor ecx, ecx
jmp 0x1400b568e
test edx, edx
jns 0x1400b5ace
mov r8, qword [r13]
mov ecx, eax
jmp 0x1400b54c4
mov word [rbx + 0x28], 0x101
jmp 0x1400b5444
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x10], 0
jmp 0x1400b570f
mov dword [rdx + 0x10], 0
jmp 0x1400b584b
xor esi, esi
jmp 0x1400b5564
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x10], 0
jmp 0x1400b58ca