Function at 0x42fb10
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 rbp, qword [r8 + 0x18]
mov r8d, dword [r8 + 0x10]
mov r11d, r9d
mov rbx, rcx
mov rdi, rdx
mov qword [rcx], 0
shr r11d, 0xc
mov qword [rcx + 8], 0
and r11d, 1
cmp r8d, 1
mov byte [rcx + 0x11], 0
mov byte [rcx + 0x10], r11b
je 0x42fe10
mov eax, r9d
mov rsi, qword [rdx + 0x4c8]
and eax, 0xf00
cmp eax, 0x400
je 0x42fba1
cmp eax, 0x200
je 0x42ff10
cmp eax, 0x800
je 0x42feb0
mov r10, rbp
mov rdx, 0xfffffffffffffff7
mov qword [rsp + 0x20], 0xa
mov r14d, 0xa
jmp 0x42fbbb
lea r10, [rbp + 1]
mov rdx, 0xfffffffffffffff9
mov qword [rsp + 0x20], 8
mov r14d, 8
cmp rsi, 0x3f
mov rax, 0xffffffffffffffff
ja 0x42fbd2
mov ecx, 0x40
sub ecx, esi
shr rax, cl
lea r15, [rbp + r8]
add rax, rdx
xor edx, edx
div qword [rsp + 0x20]
add rax, 1
cmp r10, r15
jae 0x42fc87
mov rdx, 0xffffffffffffffff
mov ecx, esi
xor ebp, ebp
mov r11, rdx
shl r11, cl
mov rcx, r11
xor r11d, r11d
not rcx
mov qword [rsp + 0x28], rcx
lea rcx, [rsi - 0x40]
shl rdx, cl
mov qword [rsp + 0x30], rcx
xor ecx, ecx
not rdx
mov qword [rsp + 0x48], rdx
mov rdx, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
mov qword [rsp + 0x38], rdx
movzx edx, byte [r10]
mov r13, qword [0x005b91c0]
mov r8, rdx
movzx edx, word [r13 + rdx*2]
test dl, 4
jne 0x42fdd0
cmp r14d, 0x10
je 0x42fcf5
cmp r8d, 0x27
jne 0x42fc69
cmp byte [rdi + 0x49e], 0
jne 0x42fdb9
test cl, cl
je 0x42fc70
mov qword [rbx], r11
test bpl, bpl
je 0x42fc82
and r9d, 0x1000000
je 0x42ff60
movzx r11d, byte [rbx + 0x10]
test r11b, r11b
jne 0x42fce1
cmp byte [rdi + 0x498], 0
jne 0x42fea0
cmp rsi, 0x40
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
ja 0x42fed0
lea ecx, [rsi - 1]
shr rax, cl
not rax
and eax, 1
test al, al
jne 0x42fce1
cmp r14d, 0xa
jne 0x42fcdd
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
xor edx, edx
cmp byte [rdi + 0x490], 0
mov rcx, rdi
setne dl
add edx, edx
call fcn.0042d990
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
and dh, 1
je 0x42fc56
mov rdx, qword [rbx + 8]
movsxd r8, r8d
mov r13, qword [rsp + 0x38]
cmp rdx, rax
movzx r8d, byte [r13 + r8]
jb 0x42fde8
movzx eax, byte [rbx + 0x10]
mov dword [rsp + 0x40], 0x3c
mov r13d, 4
mov byte [rsp + 0x47], al
nop
movzx ecx, byte [rsp + 0x40]
mov rax, r11
mov r12, rdx
shr rax, cl
mov ecx, r13d
test rax, rax
setne al
shl r11, cl
shl r12, cl
movzx ecx, byte [rsp + 0x40]
shr rdx, cl
mov rcx, r11
or rcx, rdx
add r12, r8
mov r11, rcx
jae 0x42fd74
mov r11d, 1
add r11, rcx
mov ecx, 1
cmovb eax, ecx
cmp rsi, 0x40
jbe 0x42fee0
cmp qword [rsp + 0x30], 0x3f
mov rdx, r12
ja 0x42fda1
mov rcx, qword [rsp + 0x48]
and rcx, r11
cmp rcx, r11
mov rdx, r12
je 0x42fda1
mov r11, rcx
mov eax, 1
movzx ecx, byte [rsp + 0x47]
mov byte [rbx + 0x11], al
or ebp, eax
xor eax, eax
mov qword [rbx + 8], rdx
mov byte [rbx + 0x10], cl
mov ecx, 1
add r10, 1
cmp r15, r10
jne 0x42fc2f
jmp 0x42fc69
mov rdx, qword [rbx + 8]
movsxd r8, r8d
mov r12, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
cmp rdx, rax
movzx r8d, byte [r12 + r8]
jae 0x42fe22
imul rdx, qword [rsp + 0x20]
add r10, 1
add r8, rdx
cmp r15, r10
mov qword [rbx + 8], r8
jne 0x42fc2f
jmp 0x42fc69
movzx eax, byte [rbp]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x42fce1
movzx eax, byte [rbx + 0x10]
cmp r14d, 2
mov byte [rsp + 0x47], al
je 0x42ff30
cmp r14d, 0x10
je 0x42ff43
lea r13, [r11*8]
mov rax, r11
mov rcx, rdx
lea r12, [rdx*8]
shr rax, 0x3d
test rax, rax
setne al
shr rcx, 0x3d
or rcx, r13
cmp r14d, 0xa
jne 0x42fd5b
mov r13, rdx
add rdx, rdx
shr r13, 0x3f
add rdx, r8
lea r11, [r13 + r11*2]
adc r11, 0
add r12, rdx
setb dl
movzx edx, dl
cmp rdx, 1
sbb r11, 0xffffffffffffffff
jmp 0x42fd69
cmp byte [rdi + 0x10], 0
jne 0x42fce1
jmp 0x42fc99
lea r10, [rbp + 2]
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x20], 2
mov r14d, 2
jmp 0x42fbbb
mov rdx, rsi
call fcn.0042e730
jmp 0x42fcb6
je 0x42ff00
mov rdx, qword [rsp + 0x28]
and rdx, r12
cmp rdx, r12
je 0x42ff00
xor r11d, r11d
jmp 0x42fd9c
xor ecx, ecx
jmp 0x42fd91
lea r10, [rbp + 2]
mov rdx, 0xfffffffffffffff1
mov qword [rsp + 0x20], 0x10
mov r14d, 0x10
jmp 0x42fbbb
mov dword [rsp + 0x40], 0x3f
mov r13d, 1
jmp 0x42fd30
mov dword [rsp + 0x40], 0x3c
mov r13d, 4
jmp 0x42fd30
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, rdi
call fcn.0042d990
jmp 0x42fce1