Function at 0x18001f070
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r13
sub rsp, 0xc8
mov eax, dword [0x18008b650]
mov esi, r8d
mov r10, rdx
mov r13, rcx
test al, 1
jne 0x18001f09d
or eax, 1
mov dword [0x18008b650], eax
mov qword [rsp + 0xf0], rbx
lea ebp, [r8 + 0x6bf]
mov ebx, dword [rsp + 0x100]
mov edi, esi
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], r15
mov dword [rsp + 0x108], ebx
cmp esi, ebp
jae 0x18001f2c9
mov r14d, 0x4544
mov r15d, 0x5958
cmp edi, 0x2dc
ja 0x18001f1cd
je 0x18001f1a6
mov eax, edi
sub eax, 0xee
je 0x18001f15a
sub eax, 0x17
je 0x18001f134
sub eax, 0x86
je 0x18001f8a7
sub eax, 0x17
je 0x18001f128
cmp eax, 0x9d
jne 0x18001f2bb
mov word [0x18008b603], r14w
jmp 0x18001f2bb
mov byte [0x18008b603], 0
jmp 0x18001f2bb
mov r8d, 3
lea rdx, [0x180069a88]
lea rcx, [0x18008b600]
call fcn.18004bbb0
mov r10, qword [rsp + 0xf8]
jmp 0x18001f2bb
xor r9d, r9d
nop dword [rax]
mov r8d, dword [r13]
mov ecx, 7
movzx edx, byte [r10]
sub cl, r9b
shr edx, cl
inc r9d
and edx, 1
lea eax, [rdx + r8*2]
shr r8d, 0xf
and r8d, 1
movzx ebx, ax
imul eax, r8d, 0x1021
xor ebx, eax
mov dword [rsp + 0x108], ebx
mov dword [r13], ebx
cmp r9d, 8
jl 0x18001f160
jmp 0x18001f2bb
movzx eax, word [0x180069aaf]
mov word [0x18008b605], ax
movzx eax, byte [0x180069ab1]
mov byte [0x18008b607], al
mov byte [0x18008b608], 0
jmp 0x18001f2bb
cmp edi, 0x379
je 0x18001f2aa
cmp edi, 0x416
je 0x18001f284
cmp edi, 0x4b3
je 0x18001f253
cmp edi, 0x550
je 0x18001f236
cmp edi, 0x5ed
jne 0x18001f2bb
mov r8d, 4
mov word [0x18008b617], r15w
lea rdx, [0x180069a0e]
mov byte [0x18008b619], 0
lea rcx, [0x18008b600]
call fcn.18004ba00
mov r10, qword [rsp + 0xf8]
jmp 0x18001f2bb
movzx eax, word [0x1800699d6]
mov word [0x18008b614], ax
movzx eax, byte [0x1800699d8]
mov byte [0x18008b616], al
jmp 0x18001f2bb
mov r8d, 2
mov byte [0x18008b611], 0
lea rdx, [0x180069af5]
lea rcx, [0x18008b611]
call fcn.18004bbb0
mov r10, qword [rsp + 0xf8]
mov byte [0x18008b613], 0x54
jmp 0x18001f2bb
movzx eax, word [0x180069a72]
mov word [0x18008b60c], ax
movzx eax, byte [0x180069a74]
mov byte [0x18008b60e], al
mov word [0x18008b60f], 0x5150
jmp 0x18001f2bb
mov dword [0x18008b608], 0x4c4b4a49
mov byte [0x18008b60c], 0
add edi, 0x9d
cmp edi, ebp
jb 0x18001f0e0
lea eax, [rsi + 0xb]
cmp esi, eax
jae 0x18001f8a7
mov rdi, qword [rsp + 0x108]
lea r8d, [rsi - 0x105]
mov rsi, qword [rsp + 0x108]
lea r11, [0x180000000]
mov r14, qword [0x18008b648]
mov r9d, 0xb
mov dword [rsp + 0x100], r8d
mov edx, 0x6665
mov ebx, dword [rsp + 0x100]
movabs rbp, 0xaaaaaaaaaaaaaaab
mov qword [rsp + 0xc0], r12
mov r15d, 0x6d6c
mov r12, qword [rsp + 0x108]
mov qword [rsp + 0x60], r9
nop dword [rax + rax]
cmp r8d, 0xa
ja case.default.0x18001f355
mov ecx, dword [r11 + r8*4 + 0x1f8d0]
add rcx, r11
jmp rcx
mov byte [0x18008b61d], 0x64
mov word [0x18008b61e], dx
mov byte [0x18008b620], 0
jmp case.default.0x18001f355
mov dword [0x18008b620], 0x6a696867
mov word [0x18008b624], 0x6b
jmp case.default.0x18001f355
mov rcx, qword [r13 + 0x10]
mov rax, rbp
add rcx, 2
mul rcx
mov rcx, qword [r10 + 0x10]
shr rdx, 1
shl rdx, 2
cmp rdx, rcx
ja 0x18001f3be
mov qword [r10 + 0x10], rdx
mov rax, r10
cmp qword [r10 + 0x18], 0x10
jb 0x18001f3b8
mov rax, qword [r10]
mov byte [rax + rdx], 0
jmp 0x18001f42c
mov r8, qword [r10 + 0x18]
mov rsi, rdx
mov rax, r8
sub rsi, rcx
sub rax, rcx
cmp rsi, rax
ja 0x18001f3fa
mov qword [r10 + 0x10], rdx
mov rax, r10
cmp r8, 0x10
jb 0x18001f3e3
mov rax, qword [r10]
lea rdi, [rax + rcx]
mov r8, rsi
mov rcx, rdi
xor edx, edx
call fcn.180048990
mov byte [rsi + rdi], 0
jmp 0x18001f417
mov r9, rsi
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rsi
mov rcx, r10
call fcn.180002300
mov r14, qword [0x18008b648]
mov r9, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x100]
mov r10, qword [rsp + 0xf8]
cmp qword [r13 + 0x18], 0x10
mov rsi, r13
jb 0x18001f43a
mov rsi, qword [r13]
cmp qword [r10 + 0x18], 0x10
mov rdi, r10
jb 0x18001f86a
mov rdi, qword [r10]
jmp 0x18001f86a
lea r14, [0x18008b600]
mov byte [0x18008b640], 0
mov qword [0x18008b648], r14
jmp case.default.0x18001f355
mov r8d, 5
mov byte [0x18008b638], 0
lea rdx, [0x180069b25]
lea rcx, [0x18008b600]
call fcn.18004ba00
mov eax, 0x2b39
mov byte [0x18008b63f], 0
mov r8d, 1
mov word [0x18008b63d], ax
lea rdx, str._accent5_3
lea rcx, [0x18008b63f]
call fcn.18004bbb0
jmp 0x18001f856
mov r8d, 4
lea rdx, [0x180069b70]
lea rcx, [0x18008b600]
call fcn.18004ba00
jmp 0x18001f856
mov r8d, 1
mov word [0x18008b625], r15w
lea rdx, [0x180069bb2]
mov byte [0x18008b627], 0
lea rcx, [0x18008b600]
call fcn.18004ba00
jmp 0x18001f856
mov rcx, qword [r13 + 0x10]
xor r9d, r9d
mov rax, rbp
mov qword [rsp + 0x70], r9
mul rcx
shr rdx, 1
lea rax, [rdx + rdx*2]
test rax, rax
je 0x18001f5c9
lea rcx, [rax - 1]
mov rax, rbp
mul rcx
shr rdx, 1
inc rdx
lea r9, [rdx + rdx*2]
mov qword [rsp + 0x70], r9
mov r8d, 0x4c
mov eax, r8d
sub eax, 0x4b
je 0x18001f5aa
cmp eax, 1
jne 0x18001f5ae
movzx eax, byte [rsi]
shr rax, 2
movzx eax, byte [rax + r14]
mov byte [rdi], al
movzx eax, byte [rsi + 1]
movzx ecx, byte [rsi]
shr eax, 4
and ecx, 3
shl ecx, 4
add ecx, eax
movzx ecx, byte [rcx + r14]
mov byte [rdi + 1], cl
movzx eax, byte [rsi + 2]
movzx ecx, byte [rsi + 1]
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r14]
mov byte [rdi + 2], al
movzx eax, byte [rsi + 2]
and eax, 0x3f
movzx eax, byte [rax + r14]
mov byte [rdi + 3], al
add rdi, 4
jmp 0x18001f5ae
add rsi, 3
dec r8d
cmp r8d, 0x4a
ja 0x18001f547
sub rdx, 1
jne 0x18001f541
mov rcx, qword [r13 + 0x10]
mov r8d, dword [rsp + 0x100]
cmp r9, rcx
jae 0x18001f865
xor ebp, ebp
lea r15d, [rbp + 8]
nop dword [rax + rax]
cmp ebp, 7
ja case.default.0x18001f5f4
mov ecx, dword [r11 + rbp*4 + 0x1f8fc]
add rcx, r11
jmp rcx
mov ecx, dword [rsp + 0x68]
mov eax, ebx
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov dword [rsp + 0x78], 0
movzx ecx, byte [rcx + r14]
mov byte [rdi], cl
jmp 0x18001f7be
movzx eax, byte [rsi]
xor ecx, ecx
mov dword [rsp + 0x68], eax
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov rcx, rax
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_GetDC]
mov r9, qword [rsp + 0x70]
mov r12, rax
lea rcx, [r9 + 1]
cmp rcx, qword [r13 + 0x10]
jae 0x18001f65d
movzx ebx, byte [rsi + 1]
mov r14, qword [0x18008b648]
jmp case.default.0x18001f5f4
mov r14, qword [0x18008b648]
xor ebx, ebx
jmp case.default.0x18001f5f4
mov byte [rdi], 0x3d
jmp 0x18001f7be
mov eax, dword [rsp + 0x68]
shr rax, 2
mov dword [rsp + 0x84], 0xa
mov dword [rsp + 0x80], 0x14
movzx eax, byte [rax + r14]
jmp 0x18001f7bc
test r12, r12
je 0x18001f6c0
mov rcx, qword [rsp + 0xa0]
mov rdx, r12
call qword [sym.imp.USER32.dll_ReleaseDC]
mov r9, qword [rsp + 0x70]
xor r12d, r12d
mov r14, qword [0x18008b648]
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0x88], 0
jmp case.default.0x18001f5f4
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0x7c], 0
jmp case.default.0x18001f5f4
mov eax, dword [rsp + 0x9c]
mov rcx, r12
mov r9d, dword [rsp + 0x84]
mov r8d, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call qword [sym.imp.MSIMG32.dll_TransparentBlt]
mov r9, qword [rsp + 0x70]
mov r14, qword [0x18008b648]
jmp case.default.0x18001f5f4
lea rax, [r9 + 1]
mov dword [rsp + 0x90], 0xa
cmp rax, qword [r13 + 0x10]
jae 0x18001f7a4
mov eax, dword [rsp + 0x94]
mov ecx, ebx
and ecx, 0xf
shr eax, 6
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r14]
jmp 0x18001f7a6
mov al, 0x3d
mov dword [rsp + 0x98], 0x14
mov dword [rsp + 0x9c], 0
mov byte [rdi], al
inc rdi
inc ebp
lea r11, [0x180000000]
sub r15, 1
jne 0x18001f5e0
movabs rbp, 0xaaaaaaaaaaaaaaab
mov r15d, 0x6d6c
jmp 0x18001f85d
mov r8d, 3
lea rdx, [0x180069bd8]
lea rcx, [0x18008b600]
call fcn.18004ba00
mov word [0x18008b630], 0x77
jmp 0x18001f856
mov r8d, 1
lea rdx, [0x180069bf4]
lea rcx, [0x18008b62c]
call fcn.18004bbb0
mov byte [0x18008b62d], 0
jmp 0x18001f856
mov r8d, 2
lea rdx, [0x180069c2d]
lea rcx, [0x18008b631]
call fcn.18004bbb0
mov byte [0x18008b633], 0x7a
mov dword [0x18008b634], 0x33323130
mov r14, qword [0x18008b648]
mov r8d, dword [rsp + 0x100]
mov r9, qword [rsp + 0x60]
mov edx, 0x6665
mov r10, qword [rsp + 0xf8]
lea r11, [0x180000000]
inc r8d
sub r9, 1
mov dword [rsp + 0x100], r8d
mov qword [rsp + 0x60], r9
jne 0x18001f340
mov ebx, dword [rsp + 0x108]
mov r12, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xb0]
mov eax, ebx
mov rbx, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xb8]
add rsp, 0xc8
pop r13
pop rdi
pop rsi
pop rbp
ret