Function at 0x1800363e0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
lea r13d, [r8 - 6]
mov r11, rdx
mov rdi, rcx
cmp r8d, r13d
jbe 0x180036699
mov r12d, dword [rsp + 0x70]
lea r15d, [r8 - 0x33]
mov rbp, qword [rsp + 0x78]
lea rdx, [0x180000000]
mov r9, qword [rsp + 0x78]
movabs r8, 0xaaaaaaaaaaaaaaab
mov r10, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x70]
mov esi, dword [rsp + 0x70]
cmp r15d, 9
ja case.0x180036457.4
mov ecx, dword [rdx + r15*4 + 0x366d8]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x78]
xor ebp, ebp
test rcx, rcx
je case.0x180036457.4
dec rcx
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea rbp, [rdx + rdx*2]
nop dword [rax]
mov r8d, 0x88
mov eax, r8d
sub eax, 0x88
je 0x18003649b
cmp eax, 1
jne 0x180036511
add r10, 3
jmp 0x180036511
mov rax, qword [0x180041278]
movzx ecx, byte [r10]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [r9], cl
movzx ecx, byte [r10]
movzx eax, byte [r10 + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x180041278]
movzx ecx, byte [rcx + rax]
mov byte [r9 + 1], cl
movzx ecx, byte [r10 + 1]
movzx eax, byte [r10 + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180041278]
movzx ecx, byte [rcx + rax]
mov byte [r9 + 2], cl
movzx ecx, byte [r10 + 2]
mov rax, qword [0x180041278]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [r9 + 3], cl
add r9, 4
inc r8d
cmp r8d, 0x8a
jb 0x180036486
sub rdx, 1
jne 0x180036480
jmp 0x180036678
cmp rbp, qword [rdi + 0x10]
jae case.0x180036457.4
mov edx, 0x120
nop
cmp edx, 0x120
je 0x1800365f4
cmp edx, 0x1e60
je 0x1800365ef
cmp edx, 0x3ba0
je 0x1800365b7
cmp edx, 0x58e0
je 0x180036580
cmp edx, 0x7620
jne 0x18003660b
mov byte [r9], 0x3d
inc r9
jmp 0x18003660b
lea rax, [rbp + 1]
cmp rax, qword [rdi + 0x10]
jae 0x1800365ac
mov ecx, ebx
mov eax, r14d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180041278]
movzx r8d, byte [rcx + rax]
mov byte [r9], r8b
inc r9
jmp 0x18003660b
mov r8b, 0x3d
mov byte [r9], r8b
inc r9
jmp 0x18003660b
mov rax, qword [0x180041278]
mov ecx, esi
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov eax, ebx
mov byte [r9], cl
mov ecx, esi
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x180041278]
movzx ecx, byte [rcx + rax]
mov byte [r9 + 1], cl
add r9, 2
jmp 0x18003660b
xor r14d, r14d
jmp 0x18003660b
movzx esi, byte [r10]
lea rax, [rbp + 1]
cmp rax, qword [rdi + 0x10]
jae 0x180036609
movzx ebx, byte [r10 + 1]
jmp 0x18003660b
xor ebx, ebx
add edx, 0x1d40
cmp edx, 0x9240
jbe 0x180036540
jmp 0x180036678
xor r12d, r12d
jmp case.0x180036457.4
mov rax, r8
mul qword [rdi + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x78], rax
jmp 0x180036682
mov rcx, qword [rdi + 0x10]
mov rax, r8
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, r11
shr rdx, 1
shl rdx, 2
call fcn.180037fc0
cmp qword [rdi + 0x18], 0x10
mov r10, rdi
jb 0x180036666
mov r10, qword [rdi]
mov r11, qword [rsp + 0x68]
mov r9, r11
cmp qword [r11 + 0x18], 0x10
jb 0x180036678
mov r9, qword [r11]
movabs r8, 0xaaaaaaaaaaaaaaab
lea rdx, [0x180000000]
dec r15d
lea eax, [r15 + 0x33]
cmp eax, r13d
ja 0x180036442
mov eax, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor r9d, r9d
mov r8d, 0x96
mov rdx, rdi
xor ecx, ecx
call fcn.18001c2a0
cmp eax, r12d
jb case.0x180036457.8
mov rcx, qword [rsp + 0x68]
xor edx, edx
div dword [rcx]
mov eax, edx
jmp 0x18003669d