Function at 0x3b2369680
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x3b236c0b6
push rbp
mov rbp, rsp
sub rsp, 0x1c8
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
mov rdx, qword [rax + 0x30]
mov r10, qword [rax + 0x38]
cmp qword [rax + 0x378], 1
nop dword [rax]
jne 0x3b236977e
test sil, sil
je 0x3b23696d9
mov rdi, rax
mov r8, rdx
mov rax, r10
jmp 0x3b2369787
mov r11, qword [0x3b23dbc08]
cmp rdi, r11
jae 0x3b236c0aa
shl rdi, 5
mov r11, qword [0x3b23dbc00]
mov r12, qword [r11 + rdi]
mov r13, qword [r11 + rdi + 0x10]
sub rdx, r13
mov r13, qword [r11 + rdi + 8]
mov r11, qword [r11 + rdi + 0x18]
lea rdx, [r12 + rdx]
lea rdx, [rdx - 1]
test r12, r12
je 0x3b236c0a5
mov rdi, rax
mov rax, rdx
cmp r12, 0xffffffffffffffff
jne 0x3b236972e
neg rax
xor edx, edx
jmp 0x3b2369733
cqo
idiv r12
sub r10, r11
lea rdx, [r13 + r10]
lea rdx, [rdx - 1]
nop
test r13, r13
je 0x3b236c09d
mov r8, rax
mov rax, rdx
cmp r13, 0xffffffffffffffff
jne 0x3b236975c
neg rax
xor edx, edx
jmp 0x3b2369761
cqo
idiv r13
test r8, r8
je 0x3b236976b
test rax, rax
jne 0x3b2369787
xor eax, eax
xor ebx, ebx
mov rcx, rax
mov rdi, rbx
add rsp, 0x1c8
pop rbp
ret
mov rdi, rax
mov r8, rdx
mov rax, r10
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xe8], rax
mov rdx, qword [rdi + 0x60]
dec rdx
nop word [rax + rax]
nop
cmp rdx, 0xe
ja 0x3b2369f34
mov byte [rsp + 0x1f8], sil
lea r9, [0x3b249e840]
jmp qword [r9 + rdx*8]
xor edx, edx
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
xor edx, edx
mov qword [rsp + 0x180], rdx
xor edx, edx
mov qword [rsp + 0x158], rdx
xor edx, edx
mov qword [rsp + 0x170], rdx
xor edx, edx
test sil, sil
jne 0x3b236a034
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0x168], r11
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x160], r10
mov qword [rsp + 0x188], r13
lea rdx, [r9 + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rdx, [r9 + rdx]
lea rdx, [rdx + 7]
mov qword [rsp + 0x150], rdx
imul r9, r8
lea rsi, [r9 + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rcx, [rsi + r9]
lea rcx, [rcx + 7]
sar rcx, 3
inc rcx
mov qword [rsp + 0xb8], rcx
lea rax, [0x3b2402680]
mov rbx, rcx
call fcn.3b226f300
mov qword [rsp + 0x1b8], rax
mov rbx, qword [rsp + 0xb8]
mov rcx, rbx
lea rax, [0x3b2402680]
call fcn.3b226f300
mov rdx, qword [rsp + 0x150]
sar rdx, 3
mov qword [rsp + 0xf8], rdx
xor ecx, ecx
mov rbx, qword [rsp + 0x1b8]
xor esi, esi
jmp 0x3b236a065
mov rax, r15
mov rbx, qword [rsp + 0x180]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c8
pop rbp
ret
mov rcx, qword [rsp + 0xc8]
inc rcx
mov rdx, qword [rsp + 0xf8]
mov rbx, r12
mov rax, r10
mov r9, qword [rsp + 0xe8]
cmp rcx, r9
jge 0x3b236a76b
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rsi
nop
mov rax, qword [rsp + 0x1e0]
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
mov rsi, rdi
mov r8, rsi
mov rbx, qword [rsp + 0x1e8]
call fcn.3b22a9860
nop dword [rax]
test rbx, rbx
jne 0x3b236a6c1
mov r8, qword [rsp + 0xb8]
cmp r8, 1
jb 0x3b236c091
lea rsi, [r8 - 1]
mov rcx, rsi
neg rsi
sar rsi, 0x3f
and esi, 1
mov r10, qword [rsp + 0x1b0]
lea rax, [r10 + rsi]
nop dword [rax + rax]
cmp r8, 1
jb 0x3b236c085
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x1a8], rax
movzx r11d, byte [r10]
mov r12, qword [rsp + 0x1a0]
lea rdi, [r12 + rsi]
cmp r11b, 1
ja 0x3b236a149
test r11b, r11b
je 0x3b236a1b3
mov rdx, qword [rsp + 0xf8]
mov rbx, rdx
jmp 0x3b236c055
cmp r11b, 2
jne 0x3b236a156
xor edx, edx
jmp 0x3b236c02c
cmp r11b, 3
jne 0x3b236a16b
mov r11, qword [rsp + 0xf8]
xor edx, edx
jmp 0x3b236bf8f
cmp r11b, 4
jne 0x3b236a6a5
mov rbx, rcx
mov rsi, rcx
mov r8, rcx
mov r9, qword [rsp + 0xf8]
call fcn.3b2368060
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x150]
mov r8, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x1b0]
mov r12, qword [rsp + 0x1a0]
mov r11, qword [rsp + 0x1c0]
mov r13, qword [r11 + 0x60]
dec r13
cmp r13, 0xe
ja 0x3b236a690
lea rdx, [0x3b249e8c0]
jmp qword [rdx + r13*8]
mov rdx, qword [rsp + 0x178]
mov rsi, qword [rsp + 0xc0]
jmp 0x3b236a04c
xor eax, eax
xor ebx, ebx
lea rcx, [0x3b249cd60]
lea rdi, [0x3b249bf80]
add rsp, 0x1c8
pop rbp
nop
ret
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0xf0], rbx
cmp qword [0x3b23da790], rbx
je 0x3b236a6de
xor eax, eax
jmp 0x3b236a703
mov rdx, qword [0x3b23da798]
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
call fcn.3b22256c0
mov rcx, qword [rsp + 0x198]
mov rbx, qword [rsp + 0xf0]
test al, al
jne 0x3b236a73d
cmp qword [0x3b23da7a0], rbx
je 0x3b236a714
xor eax, eax
jmp 0x3b236a739
mov rdx, qword [0x3b23da7a8]
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
call fcn.3b22256c0
mov rcx, qword [rsp + 0x198]
mov rbx, qword [rsp + 0xf0]
test al, al
je 0x3b236a758
xor eax, eax
xor ebx, ebx
lea rcx, [0x3b249cd60]
lea rdi, [0x3b249bf50]
add rsp, 0x1c8
pop rbp
ret
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
add rsp, 0x1c8
pop rbp
ret
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x180]
xor ecx, ecx
xor edi, edi
add rsp, 0x1c8
pop rbp
ret
movzx r15d, byte [rdx + rdi]
shr r15b, 1
add r13d, r15d
mov byte [rax + rdx], r13b
inc rdx
cmp rdx, r11
jge 0x3b236bfa4
cmp rdx, rcx
jae 0x3b236c015
movzx r13d, byte [rdx + rax]
nop
jb 0x3b236bf7d
jmp 0x3b236c00d
mov rdx, r11
jmp 0x3b236bfca
movzx ebx, byte [r13 + rdi]
add rbx, r11
mov rsi, rbx
shr rbx, 0x3f
add rbx, rsi
sar rbx, 1
add r15d, ebx
mov byte [rax + r13], r15b
lea r11, [r13 + 1]
cmp r11, rcx
jge 0x3b236a1b3
jae 0x3b236c005
mov r13, r11
sub r11, rdx
movzx r15d, byte [r13 + rax]
cmp r11, rcx
jae 0x3b236bff8
movzx r11d, byte [r11 + rax]
cmp r13, rcx
jb 0x3b236bfa9
mov rax, r13
call fcn.3b228bea0
mov rax, r11
nop dword [rax + rax]
call fcn.3b228bea0
mov rax, r11
call fcn.3b228bea0
mov rax, rdx
call fcn.3b228bea0
mov rax, rdx
call fcn.3b228bea0
movzx r13d, byte [rdx + rax]
add r11d, r13d
mov byte [rax + rdx], r11b
inc rdx
cmp rdx, rcx
jge 0x3b236a1b3
movzx r11d, byte [rdx + rdi]
jb 0x3b236c01d
mov rax, rdx
nop
call fcn.3b228bea0
movzx r15d, byte [rdx + rax]
add r13d, r15d
mov byte [rax + r11], r13b
lea rdx, [r11 + 1]
cmp rdx, rcx
jge 0x3b236a1b3
nop
jae 0x3b236c07a
mov r11, rdx
sub rdx, rbx
movzx r13d, byte [r11 + rax]
cmp rdx, rcx
jb 0x3b236c045
mov rax, rdx
call fcn.3b228bea0
mov rax, rdx
nop dword [rax]
call fcn.3b228bea0
mov eax, 1
xor ecx, ecx
call fcn.3b228bf60
mov eax, 1
xor ecx, ecx
call fcn.3b228bf60
nop dword [rax]
call fcn.3b2257ac0
call fcn.3b2257ac0
mov rax, rdi
mov rcx, r11
call fcn.3b228bea0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
call fcn.3b2289ba0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
jmp fcn.3b2369680