Function at 0x18001cc10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xd8], rcx
mov rax, qword [0x1800e8a00]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xe0], rdx
lea rax, [rdx + 2]
mov qword [rsp + 0xd0], rax
mov edi, 0xee09e14c
lea r13, [rsp + 0x13d]
lea rbp, [rsp + 0x139]
mov dword [rsp + 0x38], eax
jmp 0x18001cc90
mov rax, qword [rsp + 0x30]
mov al, byte [rax]
and al, 0x3f
mov byte [rsp + 0x13c], al
mov edi, 0xd1e870d7
mov r13, rbx
nop dword [rax]
cmp edi, 0x303ce36
jg 0x18001ccf0
cmp edi, 0xcb080453
jle 0x18001cd80
cmp edi, 0xeb246d27
jg 0x18001ce42
cmp edi, 0xd1e870d6
jle 0x18001cfcd
cmp edi, 0xd1e870d7
je 0x18001d29b
cmp edi, 0xdc59e39e
je 0x18001d2ba
cmp edi, 0xdca9e797
jne 0x18001cc90
mov qword [rsp + 0x108], r13
mov edi, 0xaa10df77
jmp 0x18001cc90
cmp edi, 0x34aed61b
jle 0x18001cdd0
cmp edi, 0x6534498e
jle 0x18001ce8a
cmp edi, 0x6b676ac0
jle 0x18001d015
cmp edi, 0x6b676ac1
je 0x18001d2cf
cmp edi, 0x6c91fac1
je 0x18001d312
cmp edi, 0x767b5527
jne 0x18001cc90
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x78], rax
lea eax, [r15 + 1]
mov dword [rsp + 0x8c], eax
cmp r15d, 3
mov edi, 0xf56fed6d
mov eax, 0xeb246d28
cmovl edi, eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
jmp 0x18001cc90
cmp edi, 0x9ed79fda
jle 0x18001ceb8
cmp edi, 0xacd5532f
jle 0x18001d045
cmp edi, 0xacd55330
je 0x18001d34b
cmp edi, 0xbb12806a
je 0x18001d3ea
cmp edi, 0xc07892f8
jne 0x18001cc90
mov edi, 0x600863cc
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x50], eax
jmp 0x18001cc90
cmp edi, 0x1e178900
jle 0x18001cf06
cmp edi, 0x24a2f6da
jle 0x18001d06f
cmp edi, 0x24a2f6db
je 0x18001d40f
cmp edi, 0x2d7a5997
je 0x18001d42d
cmp edi, 0x32188f8d
jne 0x18001cc90
movsxd rax, dword [rsp + 0x3c]
movzx eax, byte [rsp + rax + 0x139]
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov al, byte [rax + rcx]
mov byte [rsp + 0x22], al
mov rax, qword [rsp + 0x68]
add rax, 1
mov qword [rsp + 0x118], rax
mov edi, 0x2491843e
jmp 0x18001cc90
cmp edi, 0xf56fed6c
jle 0x18001d0aa
cmp edi, 0xf56fed6d
je 0x18001d451
cmp edi, 0xf6219ef6
je 0x18001d475
cmp edi, 0x2f97bf0
jne 0x18001cc90
mov eax, dword [rsp + 0x44]
add eax, 1
mov dword [rsp + 0x88], eax
mov edi, 0xbb12806a
jmp 0x18001cc90
cmp edi, 0x600863cb
jg 0x18001d0dc
cmp edi, 0x34aed61c
je 0x18001d47f
cmp edi, 0x467dc2e9
jne 0x18001d578
mov edi, 0x93c3055d
jmp 0x18001cc90
cmp edi, 0x953f9338
jg 0x18001d108
cmp edi, 0x8ca42847
je 0x18001d185
cmp edi, 0x93c3055d
jne 0x18001cc90
mov rax, qword [rsp + 0x78]
mov byte [rax], 0x3d
mov r15d, dword [rsp + 0x8c]
mov edi, 0x767b5527
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xa8], rax
jmp 0x18001cc90
cmp edi, 0x9180973
jg 0x18001d153
cmp edi, 0x303ce37
je 0x18001d197
cmp edi, 0x7631595
jne 0x18001cc90
mov rbx, r13
mov rdi, qword [rsp + 0x120]
mov al, byte [rdi]
shr al, 2
mov byte [rsp + 0x139], al
movzx eax, byte [rdi]
shl eax, 4
and eax, 0x30
mov dword [rsp + 0x48], eax
lea rax, [rdi + 1]
mov qword [rsp + 0x28], rax
add rdi, 2
mov r13d, 0x8169d9a0
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp r13d, 0x33928173
je 0x18001cc74
cmp r13d, 0x8169d9a0
jne 0x18001cf70
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
shr al, 4
mov ecx, dword [rsp + 0x48]
add cl, al
mov byte [rsp + 0x13a], cl
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov qword [rsp + 0x30], rdi
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx]
shl al, 2
shr cl, 6
or cl, al
and cl, 0x3f
mov byte [rsp + 0x13b], cl
mov r13d, 0x33928173
jmp 0x18001cf70
cmp edi, 0xcb080454
je 0x18001d489
cmp edi, 0xd07f1632
jne 0x18001cc90
mov rdi, qword [rsp + 0xc8]
mov bl, byte [rdi]
mov byte [rsp + 0x21], bl
mov edi, dword [rsp + 0x24]
add edi, 1
mov dword [rsp + 0x5c], edi
movsxd rdi, dword [rsp + 0x24]
mov qword [rsp + 0x100], rdi
mov edi, 0x1e178901
jmp 0x18001cc90
cmp edi, 0x6534498f
je 0x18001d4ac
cmp edi, 0x6556b51b
jne 0x18001cc90
mov eax, dword [rsp + 0x40]
add eax, 1
mov dword [rsp + 0x84], eax
mov edi, 0xdc59e39e
jmp 0x18001cc90
cmp edi, 0x9ed79fdb
je 0x18001d4be
cmp edi, 0xaa10df77
jne 0x18001cc90
mov qword [rsp + 0x110], rbp
mov edi, 0xacd55330
jmp 0x18001cc90
cmp edi, 0x1e178901
je 0x18001d4dd
cmp edi, 0x2491843e
jne 0x18001cc90
mov al, byte [rsp + 0x22]
mov rcx, qword [rsp + 0x68]
mov byte [rcx], al
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x80], eax
mov edi, 0xa8695dd
jmp 0x18001cc90
cmp edi, 0xeb246d28
je 0x18001d51e
cmp edi, 0xee09e14c
jne 0x18001cc90
mov qword [rsp + 0xb0], r13
mov rdi, qword [rsp + 0xb0]
mov edi, 0x303ce37
jmp 0x18001cc90
cmp edi, 0x600863cc
je 0x18001d539
cmp edi, 0x6336e13c
jne 0x18001cc90
cmp dword [rsp + 0x24], 0
setne byte [rsp + 0x23]
mov edi, 0x2d7a5997
jmp 0x18001cc90
cmp edi, 0x953f9339
je 0x18001d218
cmp edi, 0x9dfd4eb7
jne 0x18001cc90
mov qword [rsp + 0x60], r9
mov dword [rsp + 0x24], r10d
mov qword [rsp + 0xc8], r11
mov rdi, rsi
sub rdi, 1
mov qword [rsp + 0xf0], rdi
mov edi, 0x24a2f6db
mov eax, 0x6336e13c
cmovb edi, eax
jmp 0x18001cc90
cmp edi, 0x9180974
je 0x18001d22f
cmp edi, 0xa8695dd
jne 0x18001cc90
mov r14, qword [rsp + 0x118]
mov edi, 0xcb080454
mov r12d, dword [rsp + 0x80]
jmp 0x18001cc90
mov qword [rsp + 0x120], r13
mov edi, 0x7631595
jmp 0x18001cc90
mov qword [rsp + 0xb8], rbp
mov rax, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rax
mov rsi, qword [rsp + 0x48]
mov rax, rsi
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
lea rax, [rdx + rdx*2]
sub rsi, rax
mov qword [rsp + 0x28], rsi
mov eax, 0x1bb0051b
nop dword [rax]
cmp eax, 0x63d17692
je 0x18001d256
cmp eax, 0x1bb0051b
jne 0x18001d1e0
mov rax, qword [rsp + 0x48]
sub rax, qword [rsp + 0x28]
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
add rdx, rdx
and rdx, 0xfffffffffffffffc
mov qword [rsp + 0x30], rdx
mov eax, 0x63d17692
jmp 0x18001d1e0
movsxd rax, dword [rsp + 0x40]
mov byte [rsp + rax + 0x13d], 0
mov edi, 0x6556b51b
jmp 0x18001cc90
mov rsi, qword [rsp + 0xf0]
mov edi, 0x9dfd4eb7
mov r11, qword [rsp + 0xf8]
mov r9, qword [rsp + 0xa0]
mov r10d, dword [rsp + 0x58]
jmp 0x18001cc90
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xe8]
mov edi, 0x9dfd4eb7
mov eax, 0x6534498f
cmova edi, eax
xor r10d, r10d
mov r9, r8
mov r11, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
jmp 0x18001cc90
mov edi, 0x6b676ac1
mov dword [rsp + 0x54], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x98], rax
jmp 0x18001cc90
mov edi, 0x600863cc
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x50], eax
jmp 0x18001cc90
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x44]
cmp ecx, eax
mov edi, 0x6c91fac1
mov eax, 0x767b5527
cmovg edi, eax
mov r15d, dword [rsp + 0x24]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
jmp 0x18001cc90
movsxd rax, dword [rsp + 0x44]
movzx eax, byte [rsp + rax + 0x139]
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov al, byte [rax + rcx]
mov rcx, qword [rsp + 0x70]
add rcx, 1
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0x70]
mov byte [rcx], al
mov edi, 0x2f97bf0
jmp 0x18001cc90
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x110]
mov bl, byte [rdi]
shr bl, 2
mov byte [rcx], bl
movzx ebx, byte [rdi]
shl ebx, 4
and ebx, 0x30
mov dword [rsp + 0x48], ebx
lea rbx, [rdi + 1]
mov qword [rsp + 0x28], rbx
add rdi, 2
mov ebx, 0x8169d9a0
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp ebx, 0x33928173
je 0x18001d55a
cmp ebx, 0x8169d9a0
jne 0x18001d390
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx]
shr bl, 4
mov rdx, rbp
mov ebp, dword [rsp + 0x48]
add bpl, bl
mov byte [rcx + 1], bpl
mov rbx, qword [rsp + 0x28]
movzx ebx, byte [rbx]
mov qword [rsp + 0x30], rdi
mov rbp, qword [rsp + 0x30]
movzx eax, byte [rbp]
mov rbp, rdx
shl bl, 2
shr al, 6
or al, bl
and al, 0x3f
mov byte [rcx + 2], al
mov ebx, 0x33928173
jmp 0x18001d390
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x98], rax
mov edi, 0x6b676ac1
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x54], eax
jmp 0x18001cc90
mov rdi, qword [rsp + 0xc8]
add rdi, 1
mov qword [rsp + 0xf8], rdi
mov edi, 0xd07f1632
jmp 0x18001cc90
cmp byte [rsp + 0x23], 0
mov edi, 0xf56fed6d
mov eax, 0xf6219ef6
cmovne edi, eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x90], rax
jmp 0x18001cc90
mov rax, qword [rsp + 0xc0]
add rax, r8
cmp qword [rsp + 0x90], rax
sete al
mov dword [rsp + 0x38], eax
mov edi, 0x3b221701
jmp 0x18001cc90
mov edi, 0xc07892f8
jmp 0x18001cc90
mov edi, 0x9ed79fdb
jmp 0x18001cc90
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x3c], r12d
mov eax, dword [rsp + 0x3c]
cmp eax, 4
mov edi, 0x34aed61c
mov eax, 0x32188f8d
cmovl edi, eax
jmp 0x18001cc90
mov edi, 0x3b221701
mov dword [rsp + 0x38], 0
jmp 0x18001cc90
mov edi, 0x9180974
mov dword [rsp + 0x58], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa0], rax
jmp 0x18001cc90
mov rbx, qword [rsp + 0x100]
mov cl, byte [rsp + 0x21]
mov byte [rsp + rbx + 0x13d], cl
mov ecx, dword [rsp + 0x5c]
cmp ecx, 3
mov edi, 0x9180974
mov eax, 0xdca9e797
cmove edi, eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
jmp 0x18001cc90
mov rax, qword [rsp + 0x78]
add rax, 1
mov qword [rsp + 0x130], rax
mov edi, 0x467dc2e9
jmp 0x18001cc90
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
cmp eax, 3
mov edi, 0x8ca42847
mov eax, 0x953f9339
cmovl edi, eax
jmp 0x18001cc90
mov rax, qword [rsp + 0x30]
mov al, byte [rax]
and al, 0x3f
mov byte [rcx + 3], al
mov edi, 0xcb080454
xor r12d, r12d
mov r14, qword [rsp + 0x60]
jmp 0x18001cc90
cmp edi, 0x3b221701
jne 0x18001cc90
mov rax, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x38]
and sil, 1
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1800ba080
mov eax, esi
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret