Function at 0x140017c84
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x590]
sub rsp, 0x690
mov rax, qword [0x1400277a0]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov rbx, rdx
mov qword [rsp + 0x58], rdx
mov r15, rcx
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x620
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
xor r12d, r12d
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
mov word [rsp + 0x54], ax
mov dword [rsp + 0x38], r12d
movups xmmword [rsp + 0x40], xmm0
test r15, r15
je 0x14001821b
test rbx, rbx
je 0x14001821b
mov rax, qword [r15]
mov r13d, 0x104
test rax, rax
je 0x140017d34
mov ecx, r13d
cmp word [rax], r12w
je 0x140017d22
add rax, 2
sub rcx, 1
jne 0x140017d12
neg rcx
mov r14d, 0x80070057
sbb eax, eax
not eax
and eax, r14d
jmp 0x140017d3d
mov r14d, 0x80070057
mov eax, r14d
test eax, eax
jns 0x140017d7f
mov rcx, qword [0x140027688]
lea rdi, [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x140017d77
mov edx, 0x3a
mov dword [rsp + 0x20], 0x570
mov rcx, qword [rcx + 0x10]
lea r9, str.AeComputeProgramIdentityHash
call fcn.14001762c
mov ebx, r14d
jmp 0x140018256
mov rax, qword [r15 + 8]
test rax, rax
je 0x140017dc8
mov rcx, r13
cmp word [rax], r12w
je 0x140017d9b
add rax, 2
sub rcx, 1
jne 0x140017d8b
test rcx, rcx
jne 0x140017dc8
mov rcx, qword [0x140027688]
lea rdi, [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x140017d77
mov edx, 0x3b
mov dword [rsp + 0x20], 0x57d
jmp 0x140017d67
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140017e1c
mov rcx, r13
cmp word [rax], r12w
je 0x140017de4
add rax, 2
sub rcx, 1
jne 0x140017dd4
test rcx, rcx
jne 0x140017e1c
mov rcx, qword [0x140027688]
lea rdi, [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x140017d77
mov edx, 0x3c
mov dword [rsp + 0x20], 0x58a
jmp 0x140017d67
mov rdx, qword [r15 + 0x18]
mov qword [rsp + 0x30], r12
test rdx, rdx
je 0x140017e99
mov rax, r13
mov rcx, rdx
cmp word [rcx], r12w
je 0x140017e40
add rcx, 2
sub rax, 1
jne 0x140017e30
test rax, rax
je 0x140017e52
mov r9, r13
sub r9, rax
mov qword [rsp + 0x30], r9
jmp 0x140017e57
mov qword [rsp + 0x30], r12
test rax, rax
jne 0x140017e8d
mov rcx, qword [0x140027688]
lea rdi, [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x140017d77
lea edx, [rax + 0x3d]
mov dword [rsp + 0x20], 0x599
jmp 0x140017d67
mov rcx, rdx
call fcn.140017c28
mov qword [r15 + 0x18], rax
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x140017eab
call fcn.140017c28
mov qword [r15 + 0x10], rax
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x140017ebd
call fcn.140017c28
mov qword [r15 + 8], rax
mov r9, qword [r15]
test r9, r9
je 0x140017ed3
mov rcx, r9
call fcn.140017c28
mov qword [r15], rax
mov r9, rax
mov rax, qword [r15 + 0x10]
lea rdi, [0x140027688]
mov rcx, qword [r15 + 8]
test r9, r9
je 0x14001808d
mov qword [rsp + 0x28], rax
lea r8, str.p_s__s__s
mov qword [rsp + 0x20], rcx
mov r12d, 0x310
mov edx, r12d
lea rcx, [rsp + 0x60]
call fcn.14000156c
xor ecx, ecx
mov ebx, eax
test eax, eax
jns 0x140017f8b
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140017f4c
test byte [rcx + 0x1c], 1
je 0x140017f4c
mov rcx, qword [rcx + 0x10]
lea r9, str.FormatNPVString
movzx eax, ax
mov edx, 0x43
mov dword [rsp + 0x20], eax
call fcn.14001762c
mov rcx, qword [0x140027688]
xor r12d, r12d
test ebx, ebx
jns 0x14001804b
cmp rcx, rdi
je 0x140018256
test byte [rcx + 0x1c], 1
je 0x140018256
movzx eax, bx
mov edx, 0x3e
mov rcx, qword [rcx + 0x10]
lea r9, str.AeComputeProgramIdentityHash
mov dword [rsp + 0x20], eax
call fcn.14001762c
jmp 0x140018256
mov r8, r12
lea rax, [rsp + 0x60]
cmp word [rax], cx
je 0x140017fa2
add rax, 2
sub r8, 1
jne 0x140017f93
mov rax, r8
mov rdx, r8
neg rax
mov rax, r8
sbb ebx, ebx
sub r12, r8
not ebx
and ebx, r14d
neg rax
sbb rcx, rcx
and rcx, r12
neg rdx
sbb rax, rax
xor r12d, r12d
and rax, rcx
test r8, r8
jne 0x140018014
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140017f4f
test byte [rcx + 0x1c], 1
je 0x140017f4f
mov rcx, qword [rcx + 0x10]
lea edx, [r12 + 0x44]
movzx eax, bx
lea r9, str.FormatNPVString
mov dword [rsp + 0x20], eax
call fcn.14001762c
mov rcx, qword [0x140027688]
jmp 0x140017f4f
mov dword [rsp + 0x38], eax
test eax, eax
je 0x14001804b
lea rbx, [rsp + 0x60]
mov r12d, eax
movzx eax, word [rbx]
shr ax, 8
test al, al
jne 0x140018041
movzx ecx, word [rbx]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_towlower]
nop dword [rax + rax]
mov word [rbx], ax
add rbx, 2
sub r12, 1
jne 0x140018024
mov edx, dword [rsp + 0x38]
lea r8, [rsp + 0x42]
add edx, edx
lea rcx, [rsp + 0x60]
call fcn.1400182e4
mov ebx, eax
test eax, eax
jns 0x1400180cb
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140018256
test byte [rcx + 0x1c], 1
je 0x140018256
movzx eax, ax
mov edx, 0x3f
jmp 0x140017f72
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x1400180c3
test byte [rcx + 0x1c], 1
je 0x1400180c3
mov rcx, qword [rcx + 0x10]
lea r9, str.FormatNPVString
mov edx, 0x42
mov dword [rsp + 0x20], 0x63a
call fcn.14001762c
mov rcx, qword [0x140027688]
mov ebx, r14d
jmp 0x140017f4f
cmp qword [rsp + 0x30], r12
jbe 0x1400181d2
mov rbx, qword [r15 + 0x18]
mov qword [rsp + 0x30], r12
test rbx, rbx
je 0x140018103
mov rax, rbx
cmp word [rax], r12w
je 0x1400180f7
add rax, 2
sub r13, 1
jne 0x1400180e7
neg r13
sbb eax, eax
not eax
and eax, r14d
jmp 0x140018106
mov eax, r14d
test eax, eax
js 0x140018163
mov r8d, 0xa
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_wcstoul]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14001813d
cmp r12w, word [rcx]
jne 0x14001813d
cmp eax, 0xffffffff
jne 0x1400181d5
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x14001819d
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x28], rbx
call fcn.1400176ac
jmp 0x140018196
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x14001819d
mov rcx, qword [rcx + 0x10]
lea r9, str.StringToDword
mov edx, 0x45
mov dword [rsp + 0x20], 0x69e
call fcn.14001762c
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140017d77
test byte [rcx + 0x1c], 1
je 0x140017d77
mov rcx, qword [rcx + 0x10]
lea r9, str.AeComputeProgramIdentityHash
mov edx, 0x40
mov dword [rsp + 0x20], 0x57
call fcn.14001762c
jmp 0x140017d77
or eax, 0xffffffff
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
and word [rsp + 0x40], 0
shl eax, 0x10
mov dword [rsp + 0x52], eax
call fcn.14001872c
mov ebx, eax
test eax, eax
jns 0x140018216
mov rcx, qword [0x140027688]
cmp rcx, rdi
je 0x140018256
test byte [rcx + 0x1c], 1
je 0x140018256
movzx eax, ax
mov edx, 0x41
jmp 0x140017f72
mov ebx, r12d
jmp 0x140018256
mov rcx, qword [0x140027688]
lea rdi, [0x140027688]
cmp rcx, rdi
je 0x140018251
test byte [rcx + 0x1c], 1
je 0x140018251
mov rcx, qword [rcx + 0x10]
lea r9, str.AeComputeProgramIdentityHash
mov edx, 0x39
mov dword [rsp + 0x20], 0x561
call fcn.14001762c
mov ebx, 0x80070057
mov eax, ebx
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.1400199f0
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret