Function at 0x441440
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rdi, qword [r8 + 0x10]
mov r8d, dword [r8 + 8]
mov r10d, r9d
mov rbx, rcx
mov r12, rdx
shr r10d, 0xc
mov qword [rcx + 8], 0
mov qword [rcx], 0
and r10d, 1
mov byte [rcx + 0x11], 0
cmp r8d, 1
mov byte [rcx + 0x10], r10b
je 0x441792
mov eax, r9d
mov rbp, qword [rdx + 0x4a0]
and eax, 0xf00
cmp eax, 0x400
je 0x441610
cmp eax, 0x200
je 0x441820
cmp eax, 0x800
je 0x441852
mov rsi, rdi
mov rdx, 0xfffffffffffffff7
mov r13d, 0xa
mov r14d, 0xa
cmp rbp, 0x3f
mov rax, 0xffffffffffffffff
ja 0x4414e7
mov ecx, 0x40
sub ecx, ebp
shr rax, cl
add rax, rdx
xor edx, edx
add rdi, r8
div r13
add rax, 1
cmp rsi, rdi
jae 0x44159b
mov rdx, 0xffffffffffffffff
mov ecx, ebp
xor r11d, r11d
mov r15, rdx
shl r15, cl
mov rcx, r15
xor r15d, r15d
not rcx
mov qword [rsp + 0x48], rcx
lea rcx, [rbp - 0x40]
shl rdx, cl
mov qword [rsp + 0x28], rcx
mov rcx, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
not rdx
mov qword [rsp + 0x40], rdx
xor edx, edx
mov qword [rsp + 0x30], rcx
movzx r8d, byte [rsi]
mov r10, qword [0x00502570]
mov rcx, r8
movzx r8d, word [r10 + r8*2]
test r8b, 4
jne 0x441630
cmp r14d, 0x10
je 0x441670
cmp ecx, 0x27
jne 0x44157c
cmp byte [r12 + 0x466], 0
jne 0x441657
test dl, dl
jne 0x4418a9
test r15b, r15b
je 0x441596
and r9d, 0x1000000
je 0x441870
movzx r10d, byte [rbx + 0x10]
test r10b, r10b
jne 0x4415f9
cmp byte [r12 + 0x460], 0
jne 0x4417a3
cmp rbp, 0x40
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
ja 0x4417b4
lea ecx, [rbp - 1]
shr rax, cl
not rax
and eax, 1
test al, al
jne 0x4415f9
cmp r14d, 0xa
jne 0x4415f5
xor edx, edx
cmp byte [r12 + 0x458], 0
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
mov rcx, r12
setne dl
add edx, edx
call fcn.0043f3b0
mov byte [rbx + 0x10], 1
mov rax, rbx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rsi, [rdi + 1]
mov rdx, 0xfffffffffffffff9
mov r13d, 8
mov r14d, 8
jmp 0x4414d0
mov r8, qword [rbx + 8]
mov r10, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
cmp r8, rax
movzx r10d, byte [r10 + rcx]
jae 0x441720
imul r8, r13
add r10, r8
mov qword [rbx + 8], r10
add rsi, 1
cmp rdi, rsi
jne 0x441541
jmp 0x44157c
test r8w, 0x100
je 0x441568
mov r8, qword [rbx + 8]
mov r10, qword [rsp + 0x30]
movsxd rcx, ecx
cmp r8, rax
movzx r10d, byte [r10 + rcx]
jb 0x44164c
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x38], 0x3c
mov edx, 4
mov byte [rsp + 0x3f], al
movzx ecx, byte [rsp + 0x38]
mov rax, r11
shr rax, cl
mov ecx, edx
test rax, rax
mov rax, r8
setne byte [rsp + 0x3e]
shl r11, cl
shl rax, cl
movzx ecx, byte [rsp + 0x38]
shr r8, cl
mov rcx, r11
xor r11d, r11d
or rcx, r8
add rax, r10
jae 0x4416df
add r11, 1
movzx edx, byte [rsp + 0x3e]
add r11, rcx
mov ecx, 1
cmovb edx, ecx
cmp rbp, 0x40
jbe 0x4417d3
cmp qword [rsp + 0x28], 0x3f
ja 0x4417f5
mov rcx, qword [rsp + 0x40]
and rcx, r11
cmp rcx, r11
je 0x4417f5
mov r11, rcx
jmp 0x4417f0
movzx eax, byte [rbx + 0x10]
cmp r14d, 2
mov byte [rsp + 0x3f], al
je 0x441840
cmp r14d, 0x10
je 0x4417c1
mov rax, r11
lea rcx, [r11*8]
mov rdx, r8
shr rax, 0x3d
test rax, rax
lea rax, [r8*8]
setne byte [rsp + 0x3e]
shr rdx, 0x3d
or rcx, rdx
cmp r14d, 0xa
jne 0x441897
mov rdx, r8
add r8, r8
shr rdx, 0x3f
add r8, r10
lea r11, [rdx + r11*2]
mov r10, r8
jae 0x4416d6
add r11, 1
jmp 0x4416d6
movzx eax, byte [rdi]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x4415f9
cmp byte [r12 + 0x10], 0
je 0x4415af
jmp 0x4415f9
mov rdx, rbp
call fcn.0043ffe0
jmp 0x4415cc
mov dword [rsp + 0x38], 0x3c
mov edx, 4
jmp 0x4416a7
je 0x441890
mov rcx, qword [rsp + 0x48]
and rcx, rax
cmp rcx, rax
je 0x441890
mov rax, rcx
xor r11d, r11d
mov edx, 1
mov qword [rbx + 8], rax
movzx eax, byte [rsp + 0x3f]
add rsi, 1
or r15d, edx
mov byte [rbx + 0x11], dl
mov edx, 1
mov byte [rbx + 0x10], al
xor eax, eax
cmp rdi, rsi
jne 0x441541
jmp 0x44157c
lea rsi, [rdi + 2]
mov rdx, 0xfffffffffffffff1
mov r13d, 0x10
mov r14d, 0x10
jmp 0x4414d0
mov dword [rsp + 0x38], 0x3f
mov edx, 1
jmp 0x4416a7
lea rsi, [rdi + 2]
mov rdx, 0xffffffffffffffff
mov r13d, 2
mov r14d, 2
jmp 0x4414d0
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, r12
call fcn.0043f3b0
jmp 0x4415f9
xor ecx, ecx
jmp 0x44170d
add rax, r10
jb 0x4418b1
movzx edx, byte [rsp + 0x3e]
mov r11, rcx
jmp 0x4416ef
mov qword [rbx], r11
jmp 0x441584
xor r11d, r11d
jmp 0x4416db