Function at 0x14003a040
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov qword [rcx + 0x30], 0
mov rsi, rcx
mov dword [rcx + 0x38], 0xffffffff
mov qword [rdx], 0
mov r8, qword [rcx + 0x28]
test r8, r8
je 0x14003a108
mov rax, qword [rcx + 0x20]
movsx ecx, byte [r8]
mov rbx, qword [rsi + 0x18]
test rax, rax
je 0x14003a0a1
dec rax
cmp dword [rbx + 8], ecx
je 0x14003a0df
add rbx, 0x10
test rax, rax
jne 0x14003a090
test byte [rsi + 0x3c], 2
jne 0x14003a0fb
xor eax, eax
lea r12, [0x1400b3818]
cmp dword [r12], ecx
je 0x14003a0cf
inc eax
add r12, 0x10
cmp eax, 4
jb 0x14003a0b0
cmp ecx, 0x3f
jne 0x14003a0fb
lea rbx, str.P8_v_
jmp 0x14003a0e4
mov ebx, eax
lea r13, str.P8_v_
shl rbx, 4
add rbx, r13
test rbx, rbx
je 0x14003a0fb
mov r14d, dword [rsi]
lea rax, [r8 + 1]
mov qword [rsi + 0x28], rax
lea r15, [rax - 2]
mov bpl, 1
jmp 0x14003a32b
mov qword [rdx], r8
mov eax, 0xfffffcc7
jmp 0x14003a2a4
mov r14d, dword [rcx]
mov edx, dword [rcx + 0x10]
cmp r14d, edx
jge 0x14003a2a2
mov r8d, dword [rcx + 0x40]
lea r12, [0x1400b3818]
lea r13, str.P8_v_
nop dword [rax]
test r8d, r8d
je 0x14003a14e
cmp r8d, 0x7fffffff
je 0x14003a2b9
lea eax, [r14 + r8]
cmp eax, edx
jge 0x14003a289
mov r9d, dword [rsi + 0x3c]
lea eax, [r14 + 1]
mov rdx, qword [rsi + 0x18]
mov dword [rsi], eax
lea eax, [r14 + r8]
mov r8, qword [rsi + 0x20]
movsxd rcx, eax
mov rax, qword [rsi + 8]
mov r15, qword [rax + rcx*8]
mov rcx, r15
call fcn.140039e10
mov rbx, rax
test rax, rax
jne 0x14003a1ff
cmp byte [r15], 0x2d
jne 0x14003a1ff
movsx ecx, byte [r15 + 1]
cmp cl, 0x2d
je 0x14003a1ff
test cl, cl
je 0x14003a1ff
mov rax, qword [rsi + 0x20]
mov edx, ecx
mov rbx, qword [rsi + 0x18]
test rax, rax
je 0x14003a1b7
dec rax
cmp dword [rbx + 8], edx
je 0x14003a1f6
add rbx, 0x10
test rax, rax
jne 0x14003a1a6
test byte [rsi + 0x3c], 2
jne 0x14003a1f4
xor eax, eax
mov rcx, r12
cmp dword [rcx], edx
je 0x14003a1e2
inc eax
add rcx, 0x10
cmp eax, 4
jb 0x14003a1c2
cmp edx, 0x3f
jne 0x14003a1f4
mov rbx, r13
test rbx, rbx
setne bpl
jmp 0x14003a202
mov ebx, eax
shl rbx, 4
add rbx, r13
test rbx, rbx
setne bpl
jmp 0x14003a202
xor ebx, ebx
test rbx, rbx
setne bpl
jmp 0x14003a202
xor bpl, bpl
test rbx, rbx
jne 0x14003a257
lea rdx, [0x1400b38b4]
mov rcx, r15
call sym.vkat.exe_nocrt_strcmp
test eax, eax
jne 0x14003a257
mov eax, dword [rsi + 0x40]
mov rcx, qword [rsi + 8]
add eax, r14d
cdqe
lea r8, [rcx + rax*8]
movsxd rax, r14d
lea rdi, [rcx + rax*8]
cmp rdi, r8
je 0x14003a24b
mov rbx, qword [r8]
lea rcx, [rdi + 8]
sub r8, rdi
mov rdx, rdi
call sym.vkat.exe_nocrt_memmove
mov qword [rdi], rbx
mov dword [rsi + 0x40], 0x7fffffff
mov edx, dword [rsi + 0x10]
jmp 0x14003a290
test byte [rsi + 0x3c], 1
je 0x14003a31f
test rbx, rbx
jne 0x14003a2ea
cmp byte [r15], 0x2d
je 0x14003a2da
mov r8d, dword [rsi + 0x40]
dec dword [rsi]
inc r8d
mov eax, dword [rsi]
mov edx, dword [rsi + 0x10]
add eax, r8d
mov dword [rsi + 0x40], r8d
cmp eax, edx
jl 0x14003a296
mov dword [rsi + 0x40], 0x7fffffff
mov r8d, 0x7fffffff
mov r14d, dword [rsi]
cmp r14d, edx
jl 0x14003a130
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsi + 8]
mov r12, qword [rsp + 0x68]
movsxd rcx, r14d
mov rdx, qword [rax + rcx*8]
lea eax, [r14 + 1]
mov dword [rsi], eax
mov eax, 0x33c
mov qword [r12], rdx
jmp 0x14003a2a4
mov r12, qword [rsp + 0x68]
mov eax, 0xfffffcc7
mov qword [r12], r15
jmp 0x14003a2a4
mov eax, dword [rsi + 0x40]
mov rcx, qword [rsi + 8]
add eax, r14d
cdqe
lea r8, [rcx + rax*8]
movsxd rax, r14d
lea r12, [rcx + rax*8]
cmp r12, r8
je 0x14003a32b
mov rdi, qword [r8]
lea rcx, [r12 + 8]
sub r8, r12
mov rdx, r12
call sym.vkat.exe_nocrt_memmove
mov qword [r12], rdi
jmp 0x14003a32b
mov rax, r15
test rbx, rbx
je 0x14003a598
mov r12, qword [rsp + 0x68]
mov qword [r12], rbx
mov edi, dword [rbx + 0xc]
test dil, 0x1f
je 0x14003a4e4
test bpl, bpl
je 0x14003a3b4
movzx eax, byte [r15 + 2]
test al, al
jne 0x14003a384
lea r8d, [r14 + 1]
cmp r8d, dword [rsi + 0x10]
jge 0x14003a490
mov eax, dword [rsi + 0x40]
mov rcx, qword [rsi + 8]
add eax, r14d
cdqe
inc rax
mov rbp, qword [rcx + rax*8]
lea rdx, [rcx + rax*8]
movsxd rax, r8d
lea rcx, [rcx + rax*8]
call fcn.140038c10
inc dword [rsi]
jmp 0x14003a39a
cmp al, 0x3a
je 0x14003a391
cmp al, 0x3d
mov eax, 2
jne 0x14003a396
mov eax, 3
lea rbp, [rax + r15]
cmp qword [rsi + 0x28], 0
je 0x14003a4c3
inc dword [rsi]
mov qword [rsi + 0x28], 0
jmp 0x14003a4c3
mov rcx, qword [rbx]
call sym.vkat.exe_nocrt_strlen
movzx ecx, byte [rax + r15]
lea rbp, [rax + r15]
bt edi, 0x13
jae 0x14003a47e
mov ebp, edi
and ebp, 0x300000
test cl, cl
jne 0x14003a3e3
test ebp, ebp
je 0x14003a58e
bt edi, 0x16
jae 0x14003a3f1
cmp cl, 0x2d
jne 0x14003a3f1
inc rax
lea rcx, [rax + r15]
mov qword [rsp + 0x60], 0
lea r9, [rsp + 0x68]
mov r8d, 0xa
lea rdx, [rsp + 0x60]
call fcn.140051370
mov rdx, qword [rsp + 0x60]
cmp eax, 0xffffffc8
jne 0x14003a43f
test ebp, ebp
je 0x14003a578
mov ecx, edi
shr ecx, 0x14
and ecx, 3
dec ecx
mov dword [rsp + 0x68], ecx
movzx eax, byte [rdx]
neg al
sbb eax, eax
and eax, 0x4c
jmp 0x14003a443
mov ecx, dword [rsp + 0x68]
cmp eax, 0x4c
jne 0x14003a460
movzx eax, byte [rdx]
cmp al, 0x3a
je 0x14003a457
cmp al, 0x3d
jne 0x14003a578
mov dword [rsi + 0x38], ecx
lea rbp, [rdx + 1]
jmp 0x14003a4c3
test eax, eax
jne 0x14003a578
mov edx, dword [rsi + 0x40]
add edx, r14d
lea eax, [rdx + 1]
cmp eax, dword [rsi + 0x10]
jge 0x14003a490
mov dword [rsi + 0x38], ecx
movsxd rdx, edx
jmp 0x14003a49d
test cl, cl
jne 0x14003a4c0
mov ecx, dword [rsi + 0x40]
add ecx, r14d
lea eax, [rcx + 1]
cmp eax, dword [rsi + 0x10]
jl 0x14003a49a
mov eax, 0xfffffcc6
jmp 0x14003a2a4
movsxd rdx, ecx
mov r8, qword [rsi + 8]
lea eax, [r14 + 1]
inc rdx
movsxd rcx, eax
mov rbp, qword [r8 + rdx*8]
lea rdx, [r8 + rdx*8]
lea rcx, [r8 + rcx*8]
call fcn.140038c10
inc dword [rsi]
jmp 0x14003a4c3
inc rbp
mov r8, r12
mov rdx, rbp
mov ecx, edi
call fcn.140038c50
test eax, eax
js 0x14003a2a4
mov qword [rsi + 0x30], rbx
mov eax, dword [rbx + 8]
jmp 0x14003a2a4
test bpl, bpl
je 0x14003a529
mov rax, qword [rsi + 0x28]
add r15, 2
cmp byte [r15], 0
je 0x14003a50e
test rax, rax
jne 0x14003a4d8
dec dword [rsi]
mov qword [rsi + 0x28], r15
mov qword [rsi + 0x30], rbx
mov eax, dword [rbx + 8]
jmp 0x14003a2a4
test rax, rax
je 0x14003a4d8
inc dword [rsi]
mov qword [rsi + 0x28], 0
mov qword [rsi + 0x30], rbx
mov eax, dword [rbx + 8]
jmp 0x14003a2a4
bt edi, 0x13
jae 0x14003a4d8
mov rcx, qword [rbx]
call sym.vkat.exe_nocrt_strlen
movzx ecx, byte [rax + r15]
test cl, cl
je 0x14003a582
bt edi, 0x16
jae 0x14003a54e
cmp cl, 0x2d
jne 0x14003a54e
inc rax
lea rcx, [rax + r15]
mov edx, 0xa
lea r8, [rsp + 0x68]
call fcn.1400513b0
test eax, eax
jne 0x14003a578
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x38], eax
mov qword [rsi + 0x30], rbx
mov eax, dword [rbx + 8]
jmp 0x14003a2a4
mov eax, 0xfffffcc5
jmp 0x14003a2a4
and edi, 0x300000
jne 0x14003a4d8
mov eax, 0xfffffcc3
jmp 0x14003a2a4
movzx ecx, byte [rax]
mov edx, 0x33c
mov r12, qword [rsp + 0x68]
cmp cl, 0x2d
mov qword [r12], rax
mov eax, 0xfffffcc7
cmove edx, eax
mov eax, edx
jmp 0x14003a2a4