Function at 0x18003a6c0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rsi
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1800a4088]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rax, qword gs:[0x58]
mov r13d, ecx
mov dword [rsp + 0x68], ecx
mov r15, rdx
mov ecx, dword [0x1800a5ed0]
mov r14, r8
mov qword [rsp + 0x70], rdx
mov edx, 4
mov qword [rbp - 0x70], r8
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800a7d5c], ecx
jle 0x18003a73d
lea rcx, [0x1800a7d5c]
call fcn.1800536c8
cmp dword [0x1800a7d5c], 0xffffffff
jne 0x18003a73d
lea rcx, [0x1800a7d5c]
call fcn.180053668
mov qword [rsp + 0x190], rbx
lea esi, [r13 - 0xf]
mov rbx, qword [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x158], rdi
mov qword [rbp - 0x80], rbx
mov qword [rsp + 0x150], r12
cmp r13d, esi
jbe 0x18003a9c5
lea r10d, [r8 + 0x47]
mov edx, 0x614e
lea r11d, [r8 + 0x48]
lea edi, [r13 - 0x92]
lea r12, [0x180000000]
lea r8d, [rdx + 0x27]
lea r9d, [r10 + 9]
cmp edi, 0x21
ja case.0x18003a7ae.15
movzx eax, byte [r12 + rdi + 0x3b00c]
mov ecx, dword [r12 + rax*4 + 0x3afcc]
add rcx, r12
jmp rcx
mov byte [rbp + 0xe], 0
mov word [rbp - 0x10], dx
mov byte [rbp - 0xe], 0
jmp case.0x18003a7ae.15
mov word [0x1800a7c66], r10w
lea rdx, str.IJKLM
mov r8d, 6
mov word [0x1800a7c67], r11w
lea rcx, [0x1800a7c68]
call fcn.1800613d0
mov eax, 0x4e
lea rdx, [0x180095e40]
lea rcx, [0x1800a7c6e]
mov word [0x1800a7c6d], ax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x18003a99a
mov word [rbp + 0x14], r8w
jmp case.0x18003a7ae.15
mov dword [rbp], 0x656d614e
mov byte [rbp + 4], 0
jmp case.0x18003a7ae.15
movzx eax, word [0x180095e44]
lea rdx, str.efghij
mov word [0x1800a7c79], ax
lea rcx, [0x1800a7c7e]
mov eax, 0x62
mov r8d, 7
mov word [0x1800a7c7b], ax
movzx eax, word [0x180095e48]
mov word [0x1800a7c7c], ax
movzx eax, byte [0x180095e4a]
mov byte [0x1800a7c7e], al
call fcn.1800613d0
jmp 0x18003a99a
mov dword [rbp - 0xe], 0x624f656d
jmp case.0x18003a7ae.15
mov r8d, 1
lea rdx, [0x180095e54]
lea rcx, [0x1800a7c60]
call fcn.1800620d0
mov eax, dword [str.BCDE]
mov dword [0x1800a7c61], eax
movzx eax, byte [0x180095e5c]
mov byte [0x1800a7c65], al
jmp 0x18003a99a
mov r8d, 2
lea rdx, [0x180095e60]
lea rcx, [0x1800a7c65]
call fcn.1800613d0
jmp 0x18003a99a
mov eax, dword [0x180095e73]
mov dword [rbp + 4], eax
movzx eax, byte [0x180095e77]
mov byte [rbp + 8], al
mov dword [rbp + 9], 0x63656a62
mov byte [rbp + 0xd], 0x74
jmp case.0x18003a7ae.15
mov byte [0x1800a7c60], 0
jmp case.0x18003a7ae.15
mov dword [r14 + 8], 0
mov rbx, r14
mov eax, dword [r15]
mov dword [r14 + 0xc], eax
mov qword [rbp - 0x80], rbx
jmp case.0x18003a7ae.15
mov eax, dword [str.QRSTUV]
mov word [0x1800a7c6f], r9w
mov dword [0x1800a7c70], eax
movzx eax, word [0x180095e98]
mov word [0x1800a7c74], ax
mov dword [0x1800a7c76], 0x595857
jmp case.0x18003a7ae.15
mov r8d, 3
mov word [rbp - 0xa], 0x6a
lea rdx, [0x180095ea9]
lea rcx, [rbp - 0x10]
call fcn.1800620d0
mov dword [rbp + 0x10], 0x74726956
jmp 0x18003a99a
lea rdx, [0x180095ecc]
lea rcx, [0x1800a7c60]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, 0x6e
mov word [0x1800a7c87], ax
mov r11d, 0x48
mov r8d, 0x6175
lea r10d, [r11 - 1]
lea r9d, [r11 + 8]
lea edx, [r8 - 0x27]
dec edi
lea eax, [rdi + 0x92]
cmp eax, esi
ja 0x18003a791
xor r8d, r8d
lea ecx, [r13 + 0x830]
mov dword [rsp + 0x64], ecx
cmp r13d, ecx
jae case.0x18003a7ae.0
mov rdi, qword [rbp - 0x78]
mov eax, 0x65
mov r15, qword [0x1800a7dd0]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rsi, qword [rbp - 0x78]
mov r12d, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x70]
lea r10d, [rax + 0xa]
lea r9d, [rax + 7]
nop dword [rax]
cmp r13d, 0x2af
ja 0x18003abeb
je 0x18003abdf
cmp r13d, 0x1a9
ja 0x18003ab2a
je 0x18003aae7
mov eax, r13d
sub eax, 0xa3
je 0x18003aadd
sub eax, 0x10
je 0x18003aab7
sub eax, 0x73
je 0x18003aaab
cmp eax, 0x10
jne 0x18003af5e
lea rdx, [0x180095ee0]
lea rcx, [0x1800a7c8d]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, [0x180095ee4]
lea rcx, [0x1800a7c60]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, 0x79
lea rdx, [0x180095ee8]
lea rcx, [0x1800a7c60]
mov word [0x1800a7c92], ax
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov r15, qword [0x1800a7dd0]
jmp 0x18003af5a
mov dword [rbp + 0x17], 0x657246
jmp 0x18003af5e
mov eax, dword [str.pqrs]
mov word [0x1800a7c88], r10w
mov dword [0x1800a7c89], eax
movzx eax, byte [0x180095f14]
mov byte [0x1800a7c8d], al
jmp 0x18003af5e
mov word [rbp + 0x16], r9w
jmp 0x18003af5e
movsd xmm0, qword [0x180095f2e]
lea rdx, [0x180095fb4]
mov word [rbp + 0x1a], ax
lea rcx, [rbp + 0x2a]
movzx eax, word [0x180095f36]
mov word [rbp + 0x2a], r8w
mov r8d, 2
mov word [rbp + 0x28], ax
movsd qword [rbp + 0x20], xmm0
call fcn.180061318
mov r15, qword [0x1800a7dd0]
jmp 0x18003af5a
mov eax, r13d
sub eax, 0x1b9
je 0x18003ab95
sub eax, 0x73
je 0x18003ab7c
cmp eax, 0x10
jne 0x18003af5e
lea r8d, [rax - 6]
lea rdx, [0x1800a7c9d]
lea ecx, [rax - 7]
call fcn.18005c570
lea rdx, [0x180095ff0]
lea rcx, [0x1800a7c9e]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea r15, [0x1800a7c60]
mov qword [0x1800a7dd0], r15
jmp 0x18003af5a
mov eax, dword [0x180095ef4]
mov dword [rbp + 0x2e], eax
movzx eax, word [0x180095ef8]
mov word [rbp + 0x32], ax
jmp 0x18003af5e
mov eax, dword [str.012345]
lea rdx, [0x1800a7c9a]
mov dword [0x1800a7c94], eax
mov r8d, 0xa
movzx eax, word [0x180090e24]
mov ecx, 0x2a6
mov word [0x1800a7c98], ax
movzx eax, byte [0x180090e26]
mov byte [0x1800a7c9a], al
call fcn.18005c570
mov r15, qword [0x1800a7dd0]
jmp 0x18003af5a
mov dword [rbp + 0x34], 0x6c006c
jmp 0x18003af63
cmp r13d, 0x3b5
ja 0x18003ad0c
je 0x18003aced
mov eax, r13d
sub eax, 0x2bf
je 0x18003ac44
sub eax, 0x73
je 0x18003ac3a
cmp eax, 0x10
jne 0x18003af5e
cmp qword [rbx + 0x18], 0x10
mov rsi, rbx
jb 0x18003ac23
mov rsi, qword [rbx]
mov rax, rdx
mul qword [r14 + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rbp - 0x78], rax
jmp 0x18003af5e
mov word [rbp + 0x38], r8w
jmp 0x18003af5e
mov rcx, qword [r14 + 0x10]
mov rax, rdx
add rcx, 2
mul rcx
mov rcx, qword [rbx + 0x10]
shr rdx, 1
shl rdx, 2
cmp rdx, rcx
ja 0x18003ac79
mov qword [rbx + 0x10], rdx
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18003ac73
mov rax, qword [rbx]
mov byte [rax + rdx], 0
jmp 0x18003acd7
mov r8, qword [rbx + 0x18]
mov r14, rdx
mov rax, r8
sub r14, rcx
sub rax, rcx
cmp r14, rax
ja 0x18003acb6
mov qword [rbx + 0x10], rdx
mov rax, rbx
cmp r8, 0x10
jb 0x18003ac9e
mov rax, qword [rbx]
lea rdi, [rax + rcx]
mov r8, r14
mov rcx, rdi
xor edx, edx
call fcn.180055930
mov byte [r14 + rdi], 0
jmp 0x18003acd3
mov r9, r14
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.180049820
mov r15, qword [0x1800a7dd0]
mov r14, qword [rbp - 0x70]
cmp qword [r14 + 0x18], 0x10
mov rdi, r14
jb 0x18003af5a
mov rdi, qword [r14]
jmp 0x18003af5a
xorps xmm0, xmm0
mov byte [rsp + 0x60], 1
xor eax, eax
mov qword [rbp - 0x68], r8
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x28], rax
movups xmmword [rbp - 0x38], xmm0
jmp 0x18003af5e
mov eax, r13d
sub eax, 0x3c5
je 0x18003ade9
sub eax, 0x73
je 0x18003ad6c
cmp eax, 0x83
jne 0x18003af5e
cmp dword [rsp + 0x78], 0
mov ecx, r8d
movzx eax, byte [rsp + 0x60]
cmovne ecx, eax
mov byte [rsp + 0x60], cl
cmp cl, 0
je 0x18003ad52
xor r8d, r8d
lea rdx, [rbp - 0x68]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_ObjectCloseAuditAlarmA]
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call qword [rbp - 0x50]
mov r15, qword [0x1800a7dd0]
jmp 0x18003af5a
xorps xmm0, xmm0
lea rdx, [rbp + 0x20]
mov r8d, 0x66
lea rcx, [rbp + 0x10]
movups xmmword [rbp - 0x20], xmm0
call fcn.180026350
mov qword [rbp - 0x50], rax
lea r9, [rbp - 0x10]
lea rax, [rbp - 0x60]
xor ecx, ecx
mov qword [rsp + 0x50], rax
lea r8, [rbp]
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x68]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
xor eax, eax
mov dword [rsp + 0x38], eax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov dword [rsp + 0x28], 0x2000000
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_AccessCheckAndAuditAlarmA]
mov r15, qword [0x1800a7dd0]
mov dword [rsp + 0x78], eax
jmp 0x18003af5a
mov rax, qword [rbp - 0x78]
mov r9, r8
test rax, rax
je 0x18003ae9e
lea rcx, [rax - 1]
mov rax, rdx
mul rcx
shr rdx, 1
inc rdx
lea r9, [rdx + rdx*2]
nop dword [rax]
mov r8d, 0x26
mov eax, r8d
sub eax, 0x26
je 0x18003ae54
cmp eax, 0x79
jne 0x18003ae80
movzx eax, byte [rdi + 2]
movzx ecx, byte [rdi + 1]
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r15]
mov byte [rsi], al
movzx eax, byte [rdi + 2]
and eax, 0x3f
movzx eax, byte [rax + r15]
mov byte [rsi + 1], al
add rsi, 2
add rdi, 3
jmp 0x18003ae80
movzx eax, byte [rdi]
shr rax, 2
movzx eax, byte [rax + r15]
mov byte [rsi], al
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
movzx ecx, byte [rcx + r15]
mov byte [rsi + 1], cl
add rsi, 2
add r8d, 0x79
cmp r8d, 0x118
jb 0x18003ae16
sub rdx, 1
jne 0x18003ae10
mov ecx, dword [rsp + 0x64]
xor r8d, r8d
cmp r9, qword [r14 + 0x10]
jae 0x18003af5e
mov ebx, dword [rsp + 0x6c]
mov edx, 0x3c
mov r13d, dword [rsp + 0x7c]
mov eax, edx
sub eax, 0x3c
je 0x18003af21
cmp eax, 1
jne 0x18003af3c
mov ecx, r13d
mov eax, r13d
shr rax, 2
and ecx, 3
shl ecx, 4
movzx eax, byte [rax + r15]
mov byte [rsi], al
mov eax, r12d
shr eax, 4
add ecx, eax
lea rax, [r9 + 1]
movzx ecx, byte [rcx + r15]
mov byte [rsi + 1], cl
cmp rax, qword [r14 + 0x10]
jae 0x18003af13
mov eax, ebx
mov ecx, r12d
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r15]
mov byte [rsi + 2], al
mov byte [rsi + 3], 0x3d
add rsi, 4
jmp 0x18003af3c
mov al, 0x3d
mov byte [rsi + 2], al
mov byte [rsi + 3], al
add rsi, 4
jmp 0x18003af3c
movzx r13d, byte [rdi]
lea rax, [r9 + 1]
cmp rax, qword [r14 + 0x10]
jae 0x18003af36
movzx r12d, byte [rdi + 1]
jmp 0x18003af39
mov r12d, r8d
mov ebx, r8d
inc edx
cmp edx, 0x3e
jb 0x18003aeb6
mov dword [rsp + 0x7c], r13d
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0x6c], ebx
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
mov eax, 0x65
mov r8d, 0
add r13d, 0x83
mov dword [rsp + 0x68], r13d
movabs rdx, 0xaaaaaaaaaaaaaaab
lea r9d, [r8 + 0x6c]
lea r10d, [r8 + 0x6f]
cmp r13d, ecx
jb 0x18003aa10
mov rbx, qword [rbp - 0x80]
mov r12, qword [rsp + 0x150]
mov rax, rbx
mov rbx, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x158]
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.180053490
add rsp, 0x160
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret