Function at 0x1402c5f70
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x38], r9
mov r12, qword [r9]
mov r14, qword [r9 + 8]
mov qword [rbp + 0x50], r14
imul rbx, r14, 0x23
lea rsi, [rbx*8 + 0x200]
add rbx, 0x40
xor edi, edi
mov rax, rbx
shr rax, 0x3d
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x40], rcx
jne 0x1402c6346
movabs rax, 0x7ffffffffffffff8
cmp rsi, rax
ja 0x1402c6346
mov r15, rdx
mov r13, rcx
test rsi, rsi
je 0x1402c600f
mov edi, 8
mov edx, 8
mov rcx, rsi
call fcn.1400ebc20
test rax, rax
je 0x1402c6346
mov qword [rbp + 0x70], rbx
jmp 0x1402c601c
mov eax, 8
mov qword [rbp + 0x70], 0
mov edx, eax
and edx, 0x3f
mov ecx, 0x40
sub ecx, edx
shr ecx, 3
mov rdi, rbx
sub rdi, rcx
mov qword [rbp + 0x48], rax
jb 0x1402c635a
lea rbx, [rax + rcx*8]
mov rcx, rbx
and rcx, 0x3f
mov qword [rbp + 0x18], rcx
jne 0x1402c6372
mov rax, r14
shl rax, 5
sub rdi, rax
jb 0x1402c63a5
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rax
mov rdx, rdi
sub rdx, r14
jb 0x1402c63e0
cmp rdx, r14
jb 0x1402c63fb
cmp r14, r15
jne 0x1402c6413
lea r14, [rbx + rax*8]
lea rcx, [r14 + r15*8]
lea rsi, [r15*8]
mov qword [rbp + 0x30], rcx
mov rdx, r13
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r15 + r15]
mov rdx, rdi
sub rdx, rcx
jb 0x1402c642e
cmp rdx, r15
jb 0x1402c6446
mov qword [rbp + 0x58], rdi
lea rcx, [r14 + rcx*8]
mov qword [rbp + 0x20], rcx
mov rdx, r12
mov qword [rbp + 0x60], rsi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
test r15, r15
je 0x1402c645e
mov qword [r14], 1
mov rdi, qword [rbp + 0x38]
mov r8, qword [rdi + 0x10]
add rdi, 0x20
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, r14
mov r9, r12
call fcn.1402c6b80
mov rsi, qword [rbp + 0x50]
cmp qword [rbp + 0x58], rsi
jb 0x1402c6477
mov rcx, r14
mov rdx, rsi
mov r8, rbx
xor r9d, r9d
call fcn.1402c3d70
cmp rsi, r15
jne 0x1402c6493
mov rcx, r14
mov rdx, r13
mov r8, qword [rbp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov r9d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.1402c3d70
mov r12, qword [rbp + 0x58]
sub r12, r15
mov rsi, r12
sub rsi, r15
jb 0x1402c64ae
cmp rsi, r15
jb 0x1402c64dd
mov rax, qword [rbp + 0x30]
lea r12, [rax + r15*8]
mov esi, 2
jmp 0x1402c61d8
lea rax, [rsi - 1]
mov qword [rsp + 0x30], rax
mov r13, qword [rbp + 0x68]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, qword [rbp + 0x30]
mov r8, rbx
mov r9, qword [rbp + 0x20]
call fcn.1402c0b00
lea r15, [rsi + 1]
mov rcx, r14
mov rdx, r13
mov r8, rbx
mov r9, rsi
call fcn.1402c3d70
mov rsi, r15
cmp r15, 0x20
je 0x1402c6213
test sil, 1
jne 0x1402c6190
mov r9, rsi
shr r9, 1
mov rcx, r14
mov r13, qword [rbp + 0x68]
mov rdx, r13
mov r8, rbx
call fcn.1402c3da0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, r14
mov r8, r14
mov r9, r12
call fcn.1402c6b80
jmp 0x1402c61ba
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x28]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], r14
mov r8, qword [rbp + 0x58]
mov qword [rbp - 8], r8
lea r8, [rbp + 0x50]
mov qword [rbp], r8
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x38]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r8
mov byte [rbp + 0x7f], 1
lea r8, [rbp - 0x18]
lea r9, [rbp - 0x40]
call fcn.1402998e0
mov rsi, rdx
mov rcx, qword [rbp + 0x50]
cmp rdx, rcx
jb 0x1402c6509
mov rdi, rax
lea rax, [rcx + rcx]
mov rdx, rsi
sub rdx, rax
mov rbx, qword [rbp + 0x68]
mov r14, qword [rbp + 0x40]
jb 0x1402c651e
cmp rdx, rcx
jb 0x1402c6536
lea r9, [rdi + rax*8]
mov rax, qword [rbp + 0x38]
add rax, 0x20
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rdi
xor r8d, r8d
call fcn.1402c2620
cmp eax, 1
jne 0x1402c62fb
mov rdx, qword [rbp + 0x50]
cmp rsi, rdx
jb 0x1402c6548
cmp rdx, rbx
jne 0x1402c655c
mov rcx, r14
mov rdx, rdi
mov r8, qword [rbp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x1402c632c
shl rdx, 3
mov r8d, 8
mov rcx, qword [rbp + 0x48]
call fcn.1400ebc00
jmp 0x1402c632c
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x1402c6317
shl rdx, 3
mov r8d, 8
mov rcx, qword [rbp + 0x48]
call fcn.1400ebc00
mov r8d, 8
mov rcx, r14
mov rdx, qword [rbp + 0x60]
call fcn.1400ebc00
xor r14d, r14d
mov rax, r14
mov rdx, rbx
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x7e], 1
mov rcx, rdi
mov rdx, rsi
call fcn.1403f1990
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x1404934f0]
mov rdx, rbx
call fcn.1403f2150
jmp 0x1402c656b
mov qword [rbp - 0x18], 0
mov byte [rbp + 0x7f], 1
lea rax, [0x1404934d8]
mov qword [rsp + 0x20], rax
lea r8, [0x140493438]
lea rdx, [rbp + 0x18]
lea r9, [rbp - 0x18]
xor ecx, ecx
call fcn.1403ea170
jmp 0x1402c656b
lea rax, str._4I_
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], 1
mov qword [rbp - 8], 8
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov byte [rbp + 0x7f], 1
lea rdx, [0x140493460]
lea rcx, [rbp - 0x18]
call fcn.1403f1cb0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493550]
mov rcx, r14
mov rdx, rdi
call fcn.1403f2150
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493538]
mov rcx, r14
call fcn.1403f21c0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493478]
mov rcx, r14
mov rdx, r15
call fcn.1403f22e0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493550]
mov rdx, rdi
call fcn.1403f2150
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493538]
mov rcx, r15
call fcn.1403f21c0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493490]
xor ecx, ecx
xor edx, edx
call fcn.1403f1de0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493508]
mov rcx, rsi
mov rdx, qword [rbp + 0x58]
call fcn.1403f21c0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x1404934a8]
mov rcx, rsi
mov rdx, r15
call fcn.1403f22e0
jmp 0x1402c656b
mov r9d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.1402c3da0
mov byte [rbp + 0x7f], 1
lea r8, [0x140493520]
mov rcx, r15
mov rdx, r12
call fcn.1403f2150
jmp 0x1402c656b
mov r9d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.1402c3da0
mov byte [rbp + 0x7f], 1
lea r8, [0x140493508]
mov rcx, r15
mov rdx, rsi
call fcn.1403f21c0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493538]
mov rdx, rsi
call fcn.1403f21c0
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493520]
mov rcx, rax
mov rdx, rsi
call fcn.1403f2150
jmp 0x1402c656b
mov byte [rbp + 0x7f], 1
lea r8, [0x140493508]
call fcn.1403f21c0
jmp 0x1402c656b
lea r8, [0x140493508]
mov rcx, rdx
mov rdx, rsi
call fcn.1403f21c0
jmp 0x1402c656b
lea r8, [0x1404934c0]
mov rcx, rbx
call fcn.1403f22e0
ud2