Function at 0x1402d38dc
Capabilities:
Encode data using base64

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov qword [r11 - 0x50], 0xfffffffffffffffe
mov rax, r8
mov r8, rdx
mov rbx, rcx
xor r13d, r13d
mov dword [r11 - 0x54], r13d
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], 7
mov word [rcx], r13w
mov dword [rsp + 0x24], 1
cmp rax, 3
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jb 0x1402d3fff
movabs r10, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov r13b, byte [r8]
mov cl, r13b
shr cl, 2
mov dl, byte [r8 + 1]
and r13b, 3
shl r13b, 4
mov al, dl
shr al, 4
or r13b, al
mov r8b, byte [r8 + 2]
and dl, 0xf
shl dl, 2
mov al, r8b
shr al, 6
or dl, al
mov byte [rsp + 0x98], dl
and r8b, 0x3f
mov byte [rsp + 0x20], r8b
movzx eax, cl
movsx r12d, byte [rax + rbp]
mov r14, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x18]
cmp r14, rbp
jae 0x1402d39ca
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rbp, 8
jb 0x1402d39b8
mov rax, qword [rbx]
mov word [rax + r14*2], r12w
xor ecx, ecx
mov word [rax + r14*2 + 2], cx
jmp 0x1402d3b08
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x1402d3ff9
lea r15, [r14 + 1]
mov rdi, r15
or rdi, 7
cmp rdi, r9
jbe 0x1402d39ef
mov rdi, r9
jmp 0x1402d3a0b
mov rcx, rbp
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rbp, rax
ja 0x1402d39ea
lea rax, [rcx + rbp]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
xor eax, eax
test rcx, rcx
je 0x1402d3a53
cmp rcx, r10
ja 0x1402d3ff3
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402d3a4e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402d4210
mov rcx, rax
call fcn.1402e0358
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402d3a56
call fcn.1402e0358
mov rsi, rax
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp rbp, 8
jb 0x1402d3adc
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], r12w
xor ecx, ecx
mov word [r14 + rsi + 2], cx
lea rax, [rbp + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402d3fa1
add rax, rax
cmp rax, 0x1000
jb 0x1402d3ad2
test dil, 0x1f
jne 0x1402d3fa1
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402d3fa1
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402d3fa1
mov rdi, rax
mov rcx, rdi
call fcn.1402e0278
jmp 0x1402d3af1
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], r12w
xor ecx, ecx
mov word [r14 + rsi + 2], cx
movabs r10, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov qword [rbx], rsi
movzx eax, r13b
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rcx]
mov r14, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x18]
cmp r14, rbp
jae 0x1402d3b4c
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rbp, 8
jb 0x1402d3b39
mov rax, qword [rbx]
mov word [rax + r14*2], r15w
xor r13d, r13d
mov word [rax + r14*2 + 2], r13w
jmp 0x1402d3c78
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x1402d3fed
lea r12, [r14 + 1]
mov rdi, r12
or rdi, 7
cmp rdi, r9
jbe 0x1402d3b71
mov rdi, r9
jmp 0x1402d3b8d
mov rcx, rbp
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rbp, rax
ja 0x1402d3b6c
lea rax, [rcx + rbp]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
xor r13d, r13d
test rcx, rcx
jne 0x1402d3b9e
mov esi, r13d
jmp 0x1402d3bde
cmp rcx, r10
ja 0x1402d3fe7
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402d3bd6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402d3fa8
mov rcx, rax
call fcn.1402e0358
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402d3bde
call fcn.1402e0358
mov rsi, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp rbp, 8
jb 0x1402d3c62
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + r14], r15w
mov word [rsi + r14 + 2], r13w
lea rax, [rbp + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402d3fae
add rax, rax
cmp rax, 0x1000
jb 0x1402d3c58
test dil, 0x1f
jne 0x1402d3fae
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402d3fae
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402d3fae
mov rdi, rax
mov rcx, rdi
call fcn.1402e0278
jmp 0x1402d3c75
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + r14], r15w
mov word [rsi + r14 + 2], r13w
mov qword [rbx], rsi
movzx eax, byte [rsp + 0x98]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + r9]
mov r14, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp r14, r15
jae 0x1402d3cbd
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x1402d3cad
mov rax, qword [rbx]
mov word [rax + r14*2], bp
mov word [rax + r14*2 + 2], r13w
jmp 0x1402d3dfa
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, r14
cmp rax, 1
jb 0x1402d3fe1
lea r12, [r14 + 1]
mov rdi, r12
or rdi, 7
cmp rdi, rdx
jbe 0x1402d3cec
mov rdi, rdx
jmp 0x1402d3d08
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x1402d3ce7
lea rax, [r15 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1402d3d16
mov rsi, r13
jmp 0x1402d3d60
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1402d3fdb
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402d3d58
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402d3fb5
mov rcx, rax
call fcn.1402e0358
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402d3d60
call fcn.1402e0358
mov rsi, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp r15, 8
jb 0x1402d3de4
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
lea rax, [r15 + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402d3fbb
add rax, rax
cmp rax, 0x1000
jb 0x1402d3dda
test dil, 0x1f
jne 0x1402d3fbb
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402d3fbb
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402d3fbb
mov rdi, rax
mov rcx, rdi
call fcn.1402e0278
jmp 0x1402d3df7
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
mov qword [rbx], rsi
movzx eax, byte [rsp + 0x20]
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + rbp]
mov r14, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp r14, r15
jae 0x1402d3e3b
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x1402d3e2b
mov rax, qword [rbx]
mov word [rax + r14*2], bp
mov word [rax + r14*2 + 2], r13w
jmp 0x1402d3f74
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, r14
cmp rax, 1
jb 0x1402d3fd5
lea r12, [r14 + 1]
mov rdi, r12
or rdi, 7
cmp rdi, rdx
jbe 0x1402d3e6a
mov rdi, rdx
jmp 0x1402d3e86
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x1402d3e65
lea rax, [r15 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1402d3e94
mov rsi, r13
jmp 0x1402d3ede
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1402d3fcf
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402d3ed6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402d3fc2
mov rcx, rax
call fcn.1402e0358
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402d3ede
call fcn.1402e0358
mov rsi, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp r15, 8
jb 0x1402d3f5e
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
lea rax, [r15 + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402d3fc8
add rax, rax
cmp rax, 0x1000
jb 0x1402d3f54
test dil, 0x1f
jne 0x1402d3fc8
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402d3fc8
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402d3fc8
mov rdi, rax
mov rcx, rdi
call fcn.1402e0278
jmp 0x1402d3f71
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
mov qword [rbx], rsi
mov rax, qword [rsp + 0x90]
sub rax, 3
mov qword [rsp + 0x90], rax
mov r8, qword [rsp + 0x88]
add r8, 3
mov qword [rsp + 0x88], r8
jmp 0x1402d392b
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004d44c
int3
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004d44c
int3
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004d44c
int3
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004d44c
int3
call fcn.14004d438
int3
call fcn.14004d44c
int3
call fcn.14004d438
int3
call fcn.14004d44c
int3
call fcn.14004d438
int3
call fcn.14004d44c
int3
call fcn.14004d438
int3
sub rax, 1
je 0x1402d4107
cmp rax, 1
jne 0x1402d41fc
movzx ecx, byte [r8]
mov sil, byte [r8 + 1]
mov dil, cl
and dil, 3
shl dil, 4
mov al, sil
shr al, 4
or dil, al
and sil, 0xf
shl sil, 2
shr rcx, 2
movsx r9d, byte [rcx + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d406c
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d405f
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402d4074
mov rcx, rbx
call fcn.14007f438
movzx eax, dil
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d40a9
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d409c
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402d40b1
mov rcx, rbx
call fcn.14007f438
movzx eax, sil
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d40e6
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d40d9
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402d40ee
mov rcx, rbx
call fcn.14007f438
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jb 0x1402d41d3
mov r9d, 0x3d
jmp 0x1402d41f4
movzx eax, byte [r8]
mov dil, al
and dil, 3
shl dil, 4
shr rax, 2
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d414b
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d413e
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402d4153
mov rcx, rbx
call fcn.14007f438
movzx eax, dil
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d4188
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d417b
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402d4190
mov rcx, rbx
call fcn.14007f438
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d41b9
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d41af
mov rax, qword [rbx]
mov edi, 0x3d
mov dword [rax + rcx*2], edi
jmp 0x1402d41c9
mov edi, 0x3d
mov r9d, edi
mov rcx, rbx
call fcn.14007f438
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402d41f1
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402d41e8
mov rax, qword [rbx]
mov dword [rax + rcx*2], 0x3d
jmp 0x1402d41fc
mov r9d, edi
mov rcx, rbx
call fcn.14007f438
mov rax, rbx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.14004d44c
int3