Function at 0x140027dd7
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 ebx, r9d
mov r11, rdx
mov edx, dword [r8 + 0x10]
mov byte [rcx + 0x11], 0
shr ebx, 0xc
mov qword [rcx + 8], 0
mov r12, rcx
and ebx, 1
mov qword [rcx], 0
mov byte [rcx + 0x10], bl
cmp edx, 1
je 0x140028185
mov eax, r9d
mov rsi, qword [r11 + 0x540]
and eax, 0xf00
cmp eax, 0x400
je 0x140027e6e
cmp eax, 0x200
je 0x140028269
cmp eax, 0x800
je 0x140028219
mov r10, rbp
mov r8, 0xfffffffffffffff7
mov edi, 0xa
mov qword [rsp + 0x28], 0xa
jmp 0x140027e87
lea r10, [rbp + 1]
mov r8, 0xfffffffffffffff9
mov edi, 8
mov qword [rsp + 0x28], 8
mov rax, 0xffffffffffffffff
cmp rsi, 0x3f
ja 0x140027ea2
mov ecx, 0x40
sub ecx, esi
shr rax, cl
lea r15, [rbp + rdx]
add rax, r8
xor edx, edx
div qword [rsp + 0x28]
add rax, 1
cmp r10, r15
jae 0x140027f7c
mov rdx, 0xffffffffffffffff
mov ecx, esi
xor ebp, ebp
xor r8d, r8d
mov rbx, rdx
mov dword [rsp + 0xb8], r9d
xor r13d, r13d
xor r14d, r14d
shl rbx, cl
mov rcx, rbx
not rcx
mov qword [rsp + 0x38], rcx
lea rcx, [rsi - 0x40]
shl rdx, cl
mov qword [rsp + 0x40], rcx
not rdx
mov qword [rsp + 0x48], rdx
xor edx, edx
movzx ebx, byte [r10]
mov r9, qword [0x1400aeea0]
mov rcx, rbx
movzx ebx, word [r9 + rbx*2]
test bl, 4
jne 0x14002804e
cmp edi, 0x10
je 0x140028146
cmp ecx, 0x27
jne 0x140027f3d
cmp byte [r11 + 0x50a], 0
jne 0x14002803c
mov r9d, dword [rsp + 0xb8]
test bpl, bpl
je 0x140027f52
mov qword [r12], r8
test r13b, r13b
je 0x140027f60
mov qword [r12 + 8], rdx
test r14b, r14b
je 0x140027f76
and r9d, 0x1000000
je 0x140028289
movzx ebx, byte [r12 + 0x10]
test bl, bl
jne 0x140027fe6
cmp byte [r11 + 0x504], 0
jne 0x1400281f9
mov rdx, qword [r12]
mov rax, qword [r12 + 8]
cmp rsi, 0x40
ja 0x140028239
lea ecx, [rsi - 1]
shr rax, cl
not rax
and eax, 1
test al, al
jne 0x140027fe6
cmp edi, 0xa
jne 0x140027fe0
xor edx, edx
cmp byte [r11 + 0x4fc], 0
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
mov rcx, r11
setne dl
add edx, edx
call fcn.140025bff
mov byte [r12 + 0x10], 1
mov rax, r12
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
je 0x140028209
mov rdx, qword [rsp + 0x38]
and rdx, rbx
cmp rdx, rbx
je 0x140028209
xor r8d, r8d
mov eax, 1
movzx ebx, byte [rsp + 0x37]
mov byte [r12 + 0x11], al
or r14d, eax
mov ebp, 1
mov r13d, 1
xor eax, eax
mov byte [r12 + 0x10], bl
add r10, 1
cmp r15, r10
jne 0x140027f01
jmp 0x140027f3d
mov rbx, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
movzx ebx, byte [rbx + rcx]
cmp rax, rdx
ja 0x14002811e
movzx eax, byte [r12 + 0x10]
mov byte [rsp + 0x37], al
cmp edi, 2
je 0x14002819d
cmp edi, 0x10
je 0x140028251
mov rax, r8
mov rcx, rdx
lea r13, [r8*8]
shr rax, 0x3d
lea rbp, [rdx*8]
setne al
shr rcx, 0x3d
or rcx, r13
cmp edi, 0xa
jne 0x1400281cf
mov r13, rdx
add rdx, rdx
shr r13, 0x3f
add rdx, rbx
lea r8, [r13 + r8*2]
adc r8, 0
add rdx, rbp
setb bpl
mov rbx, rdx
movzx ebp, bpl
cmp rbp, 1
sbb r8, 0xffffffffffffffff
add r8, rcx
mov edx, 1
cmovb eax, edx
cmp rsi, 0x40
jbe 0x140027ffe
cmp qword [rsp + 0x40], 0x3f
mov rdx, rbx
ja 0x14002801d
mov rcx, qword [rsp + 0x48]
and rcx, r8
mov rdx, rbx
cmp rcx, r8
je 0x14002801d
mov r8, rcx
jmp 0x140028018
imul rdx, qword [rsp + 0x28]
add r10, 1
mov r13d, 1
add rdx, rbx
cmp r15, r10
jne 0x140027f01
jmp 0x140027f3d
and bh, 1
je 0x140027f26
mov rbx, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
movzx ebx, byte [rbx + rcx]
cmp rax, rdx
ja 0x14002811e
movzx eax, byte [r12 + 0x10]
mov ecx, 0x3c
mov r13d, 4
mov byte [rsp + 0x37], al
jmp 0x1400281a8
movzx eax, byte [rbp]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x140027fe6
mov ecx, 0x3f
mov r13d, 1
mov rax, r8
mov r9d, ecx
mov rbp, rdx
shr rax, cl
mov ecx, r13d
test rax, rax
setne al
shl r8, cl
shl rbp, cl
mov ecx, r9d
shr rdx, cl
mov rcx, rdx
or rcx, r8
add rbx, rbp
jae 0x1400281e9
mov r8d, 1
jmp 0x1400280da
mov r8, rcx
jmp 0x1400280e5
cmp byte [r11 + 0x10], 0
jne 0x140027fe6
jmp 0x140027f92
xor ecx, ecx
jmp 0x140028106
lea r10, [rbp + 2]
mov r8, 0xffffffffffffffff
mov edi, 2
mov qword [rsp + 0x28], 2
jmp 0x140027e87
lea ecx, [rsi - 0x41]
shr rdx, cl
not rdx
mov eax, edx
and eax, 1
jmp 0x140027fb1
mov ecx, 0x3c
mov r13d, 4
jmp 0x1400281a8
lea r10, [rbp + 2]
mov r8, 0xfffffffffffffff1
mov edi, 0x10
mov qword [rsp + 0x28], 0x10
jmp 0x140027e87
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, r11
call fcn.140025bff
jmp 0x140027fe6