Function at 0x140057320
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov rax, qword [0x14015a7a0]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov rdi, r9
mov rsi, r8
mov r14, rdx
mov r15, rcx
mov ecx, dword [rdx + 0x20]
mov dword [r9], ecx
mov eax, dword [rdx + 0x24]
mov dword [r9 + 4], eax
test ecx, ecx
jg 0x1400573f5
mov rbx, qword [r8 + 8]
movdqa xmm0, xmmword [0x140134670]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov r8d, 0x2c
lea rdx, str.Extension_numbers_must_be_positive_integers.
lea rcx, [rbp - 0x38]
call fcn.1400058e0
nop
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, r14
mov rdx, rbx
mov rcx, r15
call fcn.1400530d0
nop
mov rax, qword [rbp - 0x20]
cmp rax, 0x10
jb 0x1400573f5
inc rax
mov rcx, qword [rbp - 0x38]
cmp rax, 0x1000
jb 0x1400573f0
test cl, 0x1f
jne 0x1400573ea
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400573ea
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x1400573ea
mov rcx, rax
jmp 0x1400573f0
call fcn.1400dac14
int3
call fcn.1400d417c
mov eax, dword [rdi + 4]
cmp dword [rdi], eax
jl 0x14005748e
mov rbx, qword [rsi + 8]
movdqa xmm0, xmmword [0x140134670]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov r8d, 0x3d
lea rdx, str.Extension_range_end_number_must_be_greater_than_start_number.
lea rcx, [rbp - 0x38]
call fcn.1400058e0
nop
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, r14
mov rdx, rbx
mov rcx, r15
call fcn.1400530d0
nop
mov rax, qword [rbp - 0x20]
cmp rax, 0x10
jb 0x14005748e
inc rax
mov rcx, qword [rbp - 0x38]
cmp rax, 0x1000
jb 0x140057489
test cl, 0x1f
jne 0x140057483
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140057483
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x140057483
mov rcx, rax
jmp 0x140057489
call fcn.1400dac14
int3
call fcn.1400d417c
movzx eax, byte [r14 + 0x10]
and al, 1
jne 0x1400574a2
xor ebx, ebx
mov qword [rdi + 8], rbx
jmp 0x140057633
xor ebx, ebx
mov qword [rbp - 0x38], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400574ec
lea rdx, [rbp - 0x38]
call fcn.140066d20
mov dword [rbp - 0x48], 3
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.140050260
mov rax, qword [rsi + 0x18]
mov rcx, rsi
test rax, rax
jne 0x140057516
mov rax, qword [rsi + 0x10]
sub rcx, qword [rax + 0x68]
jmp 0x14005751a
mov dword [rbp - 0x48], 4
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.140050260
mov rax, qword [rsi + 0x18]
mov rcx, rsi
test rax, rax
jne 0x140057516
mov rax, qword [rsi + 0x10]
sub rcx, qword [rax + 0x68]
jmp 0x14005751a
sub rcx, qword [rax + 0x38]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp - 0x48], edx
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.140050260
mov dword [rbp - 0x48], 5
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.140050260
mov dword [rbp - 0x48], ebx
mov rcx, qword [rsi + 0x48]
cmp rcx, rdi
je 0x140057584
nop word [rax + rax]
inc ebx
mov dword [rbp - 0x48], ebx
movsxd rax, ebx
shl rax, 4
add rax, rcx
cmp rax, rdi
jne 0x140057570
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.140050260
mov dword [rbp - 0x48], 3
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.140050260
mov rax, qword [r14 + 0x18]
lea r9, [0x14015fa10]
test rax, rax
cmovne r9, rax
mov rdx, qword [rsi + 8]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r8, rdx
mov rcx, r15
call fcn.140047a50
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140057633
mov rax, qword [rbp - 0x28]
sub rax, rcx
sar rax, 2
movabs rdx, 0x3fffffffffffffff
cmp rax, rdx
ja 0x14005762d
lea rax, [rax*4]
cmp rax, 0x1000
jb 0x140057626
test cl, 0x1f
jne 0x14005762d
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14005762d
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x14005762d
mov rcx, rax
call fcn.1400d417c
jmp 0x140057633
call fcn.1400dac14
int3
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1400d38c0
add rsp, 0x78
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret