Function at 0x14000b667
Capabilities:
Decode data using base64 via dword translation table

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, r9
mov r13, r8
mov r12, rdx
mov qword [rsp + 0x28], rcx
mov eax, r13d
and eax, 7
cmp rax, 5
ja case.default.0x14000b69f
lea rcx, [0x1402242bc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
sub r13, 1
jb 0x14000b6c3
movzx eax, byte [r12 + r13]
cmp rax, 0x3d
je 0x14000b6c3
lea rcx, [0x1402293f8]
cmp byte [rax + rcx], 0xff
je 0x14000bfd2
mov rax, qword [rsp + 0x28]
mov byte [rax], 1
jmp 0x14000c2b2
mov eax, 0xa
jmp case.default.0x14000b69f
mov eax, 8
jmp case.default.0x14000b69f
mov eax, 0xc
jmp case.default.0x14000b69f
mov eax, 0xb
xor edi, edi
mov r15, r13
sub r15, rax
cmovb r15, rdi
cmp r15, 0x20
jb 0x14000bbf6
mov qword [rsp + 0x58], r15
add r15, 0xffffffffffffffe0
mov edi, 0x20
xor r14d, r14d
lea rax, [0x140229610]
lea rbp, [0x1402293f8]
mov qword [rsp + 0x68], r15
lea rbx, [rdi - 0x20]
cmp rbx, r15
ja 0x14000c105
test rdi, rdi
je 0x14000c402
cmp rdi, r13
ja 0x14000c417
lea rdx, [r14 + 0x1a]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xe8]
call fcn.140045acc
mov r8, rdx
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov rdx, rax
mov qword [rsp + 0x40], r8
lea r9, [0x140229628]
call fcn.14011a6e3
movzx ecx, byte [r12 + rdi - 0x20]
movzx r9d, byte [rcx + rbp]
cmp r9, 0xff
je 0x14000c113
movzx ecx, byte [r12 + rdi - 0x1f]
movzx r11d, byte [rcx + rbp]
cmp r11, 0xff
je 0x14000c11c
movzx ecx, byte [r12 + rdi - 0x1e]
movzx r15d, byte [rcx + rbp]
cmp r15, 0xff
je 0x14000c122
movzx ecx, byte [r12 + rdi - 0x1d]
movzx r10d, byte [rcx + rbp]
cmp r10, 0xff
je 0x14000c128
mov qword [rsp + 0x48], rsi
movzx ecx, byte [r12 + rdi - 0x1c]
movzx esi, byte [rcx + rbp]
cmp rsi, 0xff
je 0x14000c12e
mov qword [rsp + 0x30], r14
movzx ecx, byte [r12 + rdi - 0x1b]
mov r14, rdi
movzx edi, byte [rcx + rbp]
cmp rdi, 0xff
je 0x14000c134
mov qword [rsp + 0x50], rbx
movzx ecx, byte [r12 + r14 - 0x1a]
movzx ebx, byte [rcx + rbp]
cmp rbx, 0xff
je 0x14000c13a
movzx ecx, byte [r12 + r14 - 0x19]
movzx r8d, byte [rcx + rbp]
cmp r8, 0xff
je 0x14000c145
shl r11, 0x34
shl r9, 0x3a
or r9, r11
shl r15, 0x2e
shl r10, 0x28
or r10, r15
or r10, r9
shl rsi, 0x22
shl rdi, 0x1c
or rdi, rsi
shl ebx, 0x16
or rbx, rdi
or rbx, r10
shl r8d, 0x10
or r8, rbx
mov rcx, rax
call fcn.14000c446
mov ecx, 6
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea r9, [0x140229640]
call fcn.14011a6e3
movzx ecx, byte [r12 + r14 - 0x18]
movzx r9d, byte [rcx + rbp]
cmp r9, 0xff
je 0x14000c1b8
movzx ecx, byte [r12 + r14 - 0x17]
movzx r11d, byte [rcx + rbp]
cmp r11, 0xff
je 0x14000c1c2
movzx ecx, byte [r12 + r14 - 0x16]
movzx r15d, byte [rcx + rbp]
cmp r15, 0xff
je 0x14000c1e5
movzx ecx, byte [r12 + r14 - 0x15]
movzx r10d, byte [rcx + rbp]
cmp r10, 0xff
je 0x14000c1ec
movzx ecx, byte [r12 + r14 - 0x14]
movzx esi, byte [rcx + rbp]
cmp rsi, 0xff
je 0x14000c1f3
movzx ecx, byte [r12 + r14 - 0x13]
movzx ebx, byte [rcx + rbp]
cmp rbx, 0xff
je 0x14000c1fa
movzx ecx, byte [r12 + r14 - 0x12]
movzx edi, byte [rcx + rbp]
cmp rdi, 0xff
je 0x14000c201
movzx ecx, byte [r12 + r14 - 0x11]
movzx r8d, byte [rcx + rbp]
cmp r8, 0xff
je 0x14000c208
shl r11, 0x34
shl r9, 0x3a
or r9, r11
shl r15, 0x2e
shl r10, 0x28
or r10, r15
or r10, r9
shl rsi, 0x22
shl rbx, 0x1c
or rbx, rsi
shl edi, 0x16
or rdi, rbx
or rdi, r10
shl r8d, 0x10
or r8, rdi
mov rcx, rax
call fcn.14000c446
mov ecx, 0xc
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea r9, [0x140229658]
call fcn.14011a6e3
movzx ecx, byte [r12 + r14 - 0x10]
movzx r9d, byte [rcx + rbp]
cmp r9, 0xff
je 0x14000c213
movzx ecx, byte [r12 + r14 - 0xf]
movzx r11d, byte [rcx + rbp]
cmp r11, 0xff
je 0x14000c21a
movzx ecx, byte [r12 + r14 - 0xe]
movzx r15d, byte [rcx + rbp]
cmp r15, 0xff
je 0x14000c221
movzx ecx, byte [r12 + r14 - 0xd]
movzx r10d, byte [rcx + rbp]
cmp r10, 0xff
je 0x14000c228
movzx ecx, byte [r12 + r14 - 0xc]
movzx esi, byte [rcx + rbp]
cmp rsi, 0xff
je 0x14000c22f
movzx ecx, byte [r12 + r14 - 0xb]
movzx ebx, byte [rcx + rbp]
cmp rbx, 0xff
je 0x14000c236
movzx ecx, byte [r12 + r14 - 0xa]
movzx edi, byte [rcx + rbp]
cmp rdi, 0xff
je 0x14000c23d
movzx ecx, byte [r12 + r14 - 9]
movzx r8d, byte [rcx + rbp]
cmp r8, 0xff
je 0x14000c25a
shl r11, 0x34
shl r9, 0x3a
or r9, r11
shl r15, 0x2e
shl r10, 0x28
or r10, r15
or r10, r9
shl rsi, 0x22
shl rbx, 0x1c
or rbx, rsi
shl edi, 0x16
or rdi, rbx
or rdi, r10
shl r8d, 0x10
or r8, rdi
mov rcx, rax
call fcn.14000c446
mov ecx, 0x12
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea r9, [0x140229670]
call fcn.14011a6e3
movzx ecx, byte [r12 + r14 - 8]
movzx r9d, byte [rcx + rbp]
cmp r9, 0xff
je 0x14000c265
mov r15, r14
movzx ecx, byte [r12 + r14 - 7]
movzx r11d, byte [rcx + rbp]
cmp r11, 0xff
je 0x14000c26c
movzx ecx, byte [r12 + r15 - 6]
movzx ebx, byte [rcx + rbp]
cmp rbx, 0xff
je 0x14000c273
movzx ecx, byte [r12 + r15 - 5]
movzx r10d, byte [rcx + rbp]
cmp r10, 0xff
je 0x14000c27a
movzx ecx, byte [r12 + r15 - 4]
movzx esi, byte [rcx + rbp]
cmp rsi, 0xff
je 0x14000c281
movzx ecx, byte [r12 + r15 - 3]
movzx r14d, byte [rcx + rbp]
cmp r14, 0xff
je 0x14000c288
movzx ecx, byte [r12 + r15 - 2]
movzx edi, byte [rcx + rbp]
cmp rdi, 0xff
je 0x14000c28f
movzx ecx, byte [r12 + r15 - 1]
movzx r8d, byte [rcx + rbp]
cmp r8, 0xff
je 0x14000c296
shl r11, 0x34
shl r9, 0x3a
or r9, r11
shl rbx, 0x2e
shl r10, 0x28
or r10, rbx
or r10, r9
shl rsi, 0x22
shl r14, 0x1c
or r14, rsi
shl edi, 0x16
or rdi, r14
or rdi, r10
shl r8d, 0x10
or r8, rdi
mov rcx, rax
call fcn.14000c446
mov r14, qword [rsp + 0x30]
add r14, 0x18
mov rsi, qword [rsp + 0x48]
add rsi, 0xfffffffffffffffc
add r15, 0x20
mov rdi, r15
mov r15, qword [rsp + 0x68]
lea rax, [0x140229610]
jmp 0x14000b724
xor r14d, r14d
cmp r15, 8
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x60], r12
jb 0x14000bda0
add r15, 0xfffffffffffffff8
add rdi, 8
mov rbx, rdi
mov qword [rsp + 0x58], r15
lea rdi, [rbx - 8]
cmp rdi, r15
jae 0x14000bda0
test rbx, rbx
je 0x14000c388
cmp rbx, r13
ja 0x14000c39e
lea rdx, [r14 + 8]
lea rax, [0x1402296a0]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xe8]
call fcn.140045acc
movzx ecx, byte [r12 + rbx - 8]
lea r8, [0x1402293f8]
movzx r9d, byte [rcx + r8]
cmp r9, 0xff
je 0x14000c086
movzx ecx, byte [r12 + rbx - 7]
movzx r10d, byte [rcx + r8]
cmp r10, 0xff
je 0x14000c095
movzx ecx, byte [r12 + rbx - 6]
movzx ebp, byte [rcx + r8]
cmp rbp, 0xff
je 0x14000c0a1
movzx ecx, byte [r12 + rbx - 5]
movzx r11d, byte [rcx + r8]
cmp r11, 0xff
je 0x14000c0b0
mov qword [rsp + 0x48], rsi
movzx ecx, byte [r12 + rbx - 4]
movzx esi, byte [rcx + r8]
cmp rsi, 0xff
je 0x14000c0d2
mov r13, rdi
movzx ecx, byte [r12 + rbx - 3]
movzx edi, byte [rcx + r8]
cmp rdi, 0xff
je 0x14000c0d8
mov r15, r8
mov r8, r12
mov r12, r14
movzx ecx, byte [r8 + rbx - 2]
movzx r14d, byte [rcx + r15]
cmp r14, 0xff
je 0x14000c0e1
movzx ecx, byte [r8 + rbx - 1]
movzx r8d, byte [rcx + r15]
cmp r8, 0xff
je 0x14000c0ea
shl r9, 0x3a
shl r10, 0x34
or r10, r9
shl rbp, 0x2e
shl r11, 0x28
or r11, rbp
or r11, r10
shl rsi, 0x22
shl rdi, 0x1c
or rdi, rsi
shl r14d, 0x16
or r14, rdi
or r14, r11
shl r8d, 0x10
or r8, r14
mov rcx, rax
call fcn.14000c446
mov r14, r12
add r14, 6
mov rsi, qword [rsp + 0x48]
dec rsi
add rbx, 8
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
jmp 0x14000bc1d
mov qword [rsp + 0x30], r14
mov r15d, 1
mov qword [rsp + 0x48], rsi
cmp r15, rsi
jae 0x14000bfe6
mov rcx, rdi
mov rdx, qword [rsp + 0x60]
mov r8, r13
lea r9, [0x140229768]
call fcn.140002c7c
mov r14, rax
mov r13, rdx
mov rcx, qword [rsp + 0x30]
lea rbx, [rcx + 6]
lea rax, [0x140229780]
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xe8]
call fcn.140045acc
and qword [rsp + 0x70], 0
test r13, r13
je 0x14000c336
movzx esi, byte [r14]
lea r8, [0x1402293f8]
movzx ecx, byte [rsi + r8]
cmp rcx, 0xff
je 0x14000c0bd
cmp r13, 1
je 0x14000c346
mov r12, rdx
movzx esi, byte [r14 + 1]
movzx edx, byte [rsi + r8]
cmp rdx, 0xff
je 0x14000c075
cmp r13, 2
jbe 0x14000c35c
movzx esi, byte [r14 + 2]
movzx r9d, byte [rsi + r8]
cmp r9, 0xff
je 0x14000c07a
cmp r13, 3
je 0x14000c372
movzx esi, byte [r14 + 3]
movzx r10d, byte [rsi + r8]
cmp r10, 0xff
je 0x14000c080
cmp r13, 4
jbe 0x14000c3aa
movzx esi, byte [r14 + 4]
movzx r11d, byte [rsi + r8]
cmp r11, 0xff
je 0x14000c08f
mov qword [rsp + 0x30], r15
cmp r13, 5
je 0x14000c3c0
movzx esi, byte [r14 + 5]
movzx r15d, byte [rsi + r8]
cmp r15, 0xff
je 0x14000c09b
mov qword [rsp + 0x40], rbx
cmp r13, 6
jbe 0x14000c3d6
mov rbx, rdi
movzx esi, byte [r14 + 6]
movzx edi, byte [rsi + r8]
cmp rdi, 0xff
je 0x14000c0a7
cmp r13, 7
je 0x14000c3ec
movzx esi, byte [r14 + 7]
movzx r8d, byte [rsi + r8]
cmp r8, 0xff
mov r13, qword [rsp + 0x38]
je 0x14000c0b6
mov rbp, rax
shl rcx, 0x3a
shl rdx, 0x34
or rdx, rcx
shl r9, 0x2e
or r9, rdx
shl r10, 0x28
or r10, r9
shl r11, 0x22
or r11, r10
shl r15, 0x1c
or r15, r11
shl edi, 0x16
or rdi, r15
shl r8d, 0x10
or r8, rdi
mov edx, 8
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.14000c446
lea rax, [0x1402297f8]
mov qword [rsp + 0x20], rax
mov edx, 6
xor ecx, ecx
mov r8, rbp
mov r9, r12
call fcn.140045acc
lea rcx, [0x140229810]
mov qword [rsp + 0x20], rcx
mov r9d, 6
mov rcx, rax
mov r8, rdi
call fcn.140032103
mov rdi, rbx
add rdi, 8
mov r15, qword [rsp + 0x30]
inc r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x48]
jmp 0x14000bdb0
mov rcx, qword [rsp + 0x28]
mov byte [rcx], 0
mov byte [rcx + 1], al
mov qword [rcx + 8], r13
jmp 0x14000c2b2
lea r9, [0x1402296b8]
mov rcx, rdi
mov rdx, qword [rsp + 0x60]
mov r8, r13
call fcn.140002c7c
add rdx, rax
xor r10d, r10d
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
xor ebx, ebx
xor r11d, r11d
cmp rax, rdx
je 0x14000c162
lea r14, [rcx + 1]
movzx esi, byte [rax]
inc rax
cmp rsi, 0x3d
jne 0x14000c03f
test cl, 2
je 0x14000c1c9
test ebx, ebx
cmove r11, rcx
inc ebx
mov rcx, r14
jmp 0x14000c010
test ebx, ebx
jg 0x14000c30f
lea r10, [0x1402293f8]
movzx r10d, byte [rsi + r10]
cmp r10, 0xff
je 0x14000c322
inc r9
imul ecx, r9d, 0x3a
shl r10, cl
or r8, r10
mov r10d, esi
mov rcx, r14
jmp 0x14000c010
inc rdi
jmp 0x14000c0bd
add rdi, 2
jmp 0x14000c0bd
add rdi, 3
jmp 0x14000c0bd
add rbx, 0xfffffffffffffff8
mov rdi, rbx
jmp 0x14000c0f1
add rdi, 4
jmp 0x14000c0bd
or rdi, 1
jmp 0x14000c0f1
add rdi, 5
jmp 0x14000c0bd
or rdi, 2
jmp 0x14000c0f1
mov rdi, rbx
add rdi, 6
jmp 0x14000c0bd
or rdi, 3
jmp 0x14000c0f1
mov rdi, rbx
add rdi, 7
mov rcx, qword [rsp + 0x28]
mov byte [rcx], 0
mov byte [rcx + 1], sil
mov qword [rcx + 8], rdi
jmp 0x14000c2b2
or rdi, 4
jmp 0x14000c0f1
mov rdi, r13
or rdi, 5
jmp 0x14000c0f1
mov rdi, r13
or rdi, 6
jmp 0x14000c0f1
mov rdi, r13
or rdi, 7
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov byte [rax + 1], cl
mov qword [rax + 8], rdi
jmp 0x14000c2b2
add rdi, 0xffffffffffffffe0
mov r15, qword [rsp + 0x58]
jmp 0x14000bbf9
add rdi, 0xffffffffffffffe0
mov rbx, rdi
jmp 0x14000c14e
or rbx, 1
jmp 0x14000c14e
or rbx, 2
jmp 0x14000c14e
or rbx, 3
jmp 0x14000c14e
or rbx, 4
jmp 0x14000c14e
or rbx, 5
jmp 0x14000c14e
mov rbx, qword [rsp + 0x50]
or rbx, 6
jmp 0x14000c14e
mov rbx, qword [rsp + 0x50]
or rbx, 7
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov byte [rax + 1], cl
mov qword [rax + 8], rbx
jmp 0x14000c2b2
cmp r9, 9
jae 0x14000c440
mov eax, 0x1dd
bt eax, r9d
jae 0x14000c440
lea rax, [0x14022be20]
mov eax, dword [rax + r9*4]
mov rdx, r8
mov ecx, eax
shl rdx, cl
test rdx, rdx
mov r11, qword [rsp + 0x30]
je 0x14000c2c3
lea rax, [rdi + r9]
dec rax
mov rcx, qword [rsp + 0x28]
mov byte [rcx], 2
mov byte [rcx + 1], r10b
mov qword [rcx + 8], rax
jmp 0x14000c2b2
mov eax, 8
jmp 0x14000c242
mov eax, 9
jmp 0x14000c242
test ebx, ebx
cmovg rcx, r11
add rcx, rdi
mov rax, qword [rsp + 0x28]
mov word [rax], 0x3d00
mov qword [rax + 8], rcx
jmp 0x14000c2b2
mov eax, 0xa
jmp 0x14000c242
mov eax, 0xb
jmp 0x14000c242
mov eax, 0xc
jmp 0x14000c242
mov eax, 0xd
jmp 0x14000c242
mov eax, 0xe
jmp 0x14000c242
add r14, 0xffffffffffffffe0
mov eax, 0xf
jmp 0x14000c246
mov eax, 0x10
jmp 0x14000c242
mov eax, 0x11
jmp 0x14000c242
mov eax, 0x12
jmp 0x14000c242
mov eax, 0x13
jmp 0x14000c242
mov eax, 0x14
jmp 0x14000c242
mov eax, 0x15
jmp 0x14000c242
mov eax, 0x16
add r14, 0xffffffffffffffe0
or r14, rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov byte [rax + 1], cl
mov qword [rax + 8], r14
jmp 0x14000c2b2
add r14, 0xffffffffffffffe0
mov eax, 0x17
jmp 0x14000c246
mov eax, 0x18
jmp 0x14000c29b
mov eax, 0x19
jmp 0x14000c29b
mov eax, 0x1a
jmp 0x14000c29b
mov eax, 0x1b
jmp 0x14000c29b
mov eax, 0x1c
jmp 0x14000c29b
mov eax, 0x1d
jmp 0x14000c29b
mov eax, 0x1e
jmp 0x14000c29b
mov eax, 0x1f
mov rdx, qword [rsp + 0x50]
or rdx, rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov byte [rax + 1], cl
mov qword [rax + 8], rdx
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
mov r9d, 0x38
cmp edx, eax
jae 0x14000c301
cmp r11, qword [rsp + 0xe8]
jae 0x14000c429
mov ecx, r9d
and cl, 0x38
mov r10, r8
shr r10, cl
mov rcx, qword [rsp + 0xe0]
mov byte [rcx + r11], r10b
inc r11
add edx, 8
add r9d, 0xfffffff8
jmp 0x14000c2cb
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], r11
mov byte [rax], 3
jmp 0x14000c2b2
add r11, rdi
mov rax, qword [rsp + 0x28]
mov word [rax], 0x3d00
mov qword [rax + 8], r11
jmp 0x14000c2b2
add rcx, rdi
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov byte [rax + 1], sil
jmp 0x14000c1dc
lea r8, [0x1402294f8]
xor ecx, ecx
xor edx, edx
call fcn.140034540
lea r8, [0x140229510]
mov ecx, 1
mov edx, 1
call fcn.140034540
lea r8, [0x140229528]
mov ecx, 2
mov edx, 2
call fcn.140034540
lea r8, [0x140229540]
mov ecx, 3
mov edx, 3
call fcn.140034540
lea r8, [0x140229688]
mov rcx, 0xfffffffffffffff8
mov rdx, rbx
call fcn.1400387d0
lea r8, [0x140229688]
mov rcx, rbx
jmp 0x14000c421
lea r8, [0x140229558]
mov ecx, 4
mov edx, 4
call fcn.140034540
lea r8, [0x140229570]
mov ecx, 5
mov edx, 5
call fcn.140034540
lea r8, [0x140229588]
mov ecx, 6
mov edx, 6
call fcn.140034540
lea r8, [0x1402295a0]
mov ecx, 7
mov edx, 7
call fcn.140034540
lea r8, [0x1402295f8]
mov rcx, 0xffffffffffffffe0
xor edx, edx
call fcn.1400387d0
lea r8, [0x1402295f8]
mov rcx, rdi
mov rdx, r13
call fcn.140034e10
lea r8, [0x1402296d0]
mov rcx, r11
mov rdx, qword [rsp + 0xe8]
call fcn.140034540
call fcn.140009f2f
int3