Function at 0x41bc60
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r11d, dword [r8 + 8]
mov r10, qword [r8 + 0x10]
mov dword [rsp + 0xc8], r9d
shr r9d, 0xc
mov rbx, rcx
and r9d, 1
mov rbp, rdx
mov qword [rcx + 8], 0
mov qword [rcx], 0
mov byte [rcx + 0x10], r9b
mov rax, r11
add r11, r10
mov byte [rcx + 0x11], 0
cmp eax, 1
je 0x41c010
mov eax, dword [rsp + 0xc8]
mov r15, qword [rdx + 0x488]
and eax, 0xf00
cmp eax, 0x400
je 0x41bff0
cmp eax, 0x200
je 0x41c031
cmp eax, 0x800
mov rdx, 0xfffffffffffffff7
mov qword [rsp + 0x28], 0xa
mov r12d, 0xa
je 0x41c096
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub ecx, r15d
mov r8, rax
shr rax, cl
cmp r15, 0x3f
cmova rax, r8
add rax, rdx
xor edx, edx
div qword [rsp + 0x28]
add rax, 1
cmp r10, r11
jae 0x41be0d
mov edx, 1
mov ecx, r15d
mov r13, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
mov rsi, rdx
xor r9d, r9d
mov byte [rsp + 0x37], 0
shl rsi, cl
mov qword [rsp + 0x38], r15
lea rsi, [rsi + r8]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], rsi
lea rsi, [r15 - 0x40]
mov ecx, esi
mov qword [rsp + 0x40], rsi
shl rdx, cl
xor ecx, ecx
lea rsi, [rdx + r8]
mov qword [rsp + 0x50], rsi
mov rsi, qword [0x0046ce60]
jmp 0x41bda5
cmp r12d, 0x10
je 0x41bf50
cmp edx, 0x27
jne 0x41bde3
cmp byte [rbp + 0x45e], 0
je 0x41bde3
add r10, 1
cmp r11, r10
je 0x41bde3
movzx r8d, byte [r10]
mov rdx, r8
movzx r8d, word [rsi + r8*2]
test r8b, 4
je 0x41bd84
movsxd rdx, edx
movzx r8d, byte [r13 + rdx]
mov rdx, qword [rbx + 8]
cmp rdx, rax
jae 0x41be63
imul rdx, qword [rsp + 0x28]
add r10, 1
add rdx, r8
cmp r11, r10
mov qword [rbx + 8], rdx
jne 0x41bda5
test cl, cl
mov r15, qword [rsp + 0x38]
jne 0x41c0ce
cmp byte [rsp + 0x37], 0
je 0x41be08
test dword [rsp + 0xc8], 0x1000000
je 0x41c0b5
movzx r9d, byte [rbx + 0x10]
test r9b, r9b
jne 0x41be4f
cmp byte [rbp + 0x458], 0
jne 0x41c022
cmp r15, 0x40
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
ja 0x41c050
lea ecx, [r15 - 1]
shr rax, cl
not rax
and eax, 1
test al, al
jne 0x41be4f
cmp r12d, 0xa
je 0x41c074
mov byte [rbx + 0x10], 1
mov rax, rbx
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r12d, 2
movzx r15d, byte [rbx + 0x10]
je 0x41bfc4
cmp r12d, 0x10
je 0x41bfe0
mov rax, r9
lea r14, [r9*8]
mov rcx, rdx
shr rax, 0x3d
test rax, rax
lea rax, [rdx*8]
setne dil
shr rcx, 0x3d
or rcx, r14
cmp r12d, 0xa
jne 0x41c05d
mov r14, rdx
add rdx, rdx
shr r14, 0x3f
lea r9, [r14 + r9*2]
xor r14d, r14d
add r8, rdx
setb r14b
cmp r14, 1
sbb r9, 0xffffffffffffffff
xor r14d, r14d
add r8, rax
setb r14b
mov rax, r8
cmp r14, 1
sbb r9, 0xffffffffffffffff
add r9, rcx
mov ecx, 1
cmovb edi, ecx
cmp qword [rsp + 0x38], 0x40
jbe 0x41bf10
cmp qword [rsp + 0x40], 0x3f
ja 0x41bf32
mov rdx, qword [rsp + 0x50]
and rdx, r9
cmp rdx, r9
je 0x41bf32
mov r9, rdx
jmp 0x41bf2d
je 0x41bfd4
mov rdx, qword [rsp + 0x58]
and rdx, rax
cmp rdx, rax
je 0x41bfd4
mov rax, rdx
xor r9d, r9d
mov edi, 1
mov qword [rbx + 8], rax
mov byte [rbx + 0x10], r15b
mov ecx, 1
mov byte [rbx + 0x11], dil
or byte [rsp + 0x37], dil
xor eax, eax
jmp 0x41bd9c
test r8w, 0x100
je 0x41bd8e
mov rdi, qword [rsp + 0x48]
movsxd rdx, edx
movzx r8d, byte [rdi + rdx]
mov rdx, qword [rbx + 8]
cmp rdx, rax
jb 0x41bdcd
movzx r15d, byte [rbx + 0x10]
mov dword [rsp + 0x30], 0x3c
mov r14d, 4
nop dword [rax]
movzx ecx, byte [rsp + 0x30]
mov rax, r9
shr rax, cl
mov ecx, r14d
test rax, rax
mov rax, rdx
setne dil
shl r9, cl
shl rax, cl
movzx ecx, byte [rsp + 0x30]
shr rdx, cl
mov rcx, r9
xor r9d, r9d
or rcx, rdx
jmp 0x41bece
mov dword [rsp + 0x30], 0x3f
mov r14d, 1
jmp 0x41bf90
xor edx, edx
jmp 0x41bf06
mov dword [rsp + 0x30], 0x3c
mov r14d, 4
jmp 0x41bf90
add r10, 1
mov rdx, 0xfffffffffffffff9
mov qword [rsp + 0x28], 8
mov r12d, 8
jmp 0x41bcfe
movzx eax, byte [r10]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x41be4f
cmp byte [rbp + 0x10], 0
jne 0x41be4f
jmp 0x41be1f
add r10, 2
mov rdx, 0xfffffffffffffff1
mov qword [rsp + 0x28], 0x10
mov r12d, 0x10
jmp 0x41bcfe
mov rdx, r15
call fcn.0041a860
jmp 0x41be3d
add rax, r8
mov r9d, 1
jb 0x41bee3
mov r9, rcx
jmp 0x41beee
xor edx, edx
cmp byte [rbp + 0x450], 0
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
mov rcx, rbp
setne dl
add edx, edx
call fcn.00419b10
jmp 0x41be4b
add r10, 2
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], 2
mov r12d, 2
jmp 0x41bcfe
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, rbp
call fcn.00419b10
jmp 0x41be4f
mov qword [rbx], r9
jmp 0x41bdf0