Function at 0x180015450
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1800a2078]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r10, qword [rsp + 0x130]
mov esi, edx
mov r11, r8
mov qword [rsp + 0x98], r8
mov dword [rsp + 0x60], edx
mov rbp, rcx
mov rdx, qword [rsp + 0x138]
lea r8d, [rsi + 0x6c0]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x90], r10
mov dword [rsp + 0x44], r8d
cmp esi, r8d
jae 0x180015e35
movzx r13d, byte [rsp + 0x40]
xor ebx, ebx
movzx r15d, byte [rsp + 0x40]
movzx r14d, byte [rsp + 0x40]
movzx r12d, byte [rsp + 0x40]
lea rdi, [0x180000000]
cmp esi, 0x15f
ja 0x180015c8b
je 0x180015c81
lea eax, [rsi - 0x3f]
cmp eax, 0xe8
ja case.0x18001551f.75
movzx eax, byte [rdi + rax + 0x15e9c]
mov ecx, dword [rdi + rax*4 + 0x15e68]
add rcx, rdi
jmp rcx
mov rcx, qword [rsp + 0x88]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x48], rax
jmp 0x180015df6
movzx r8d, byte [rbp]
mov rdx, r9
mov rcx, qword [rsp + 0x58]
call sub.VCRUNTIME140.dll_memcpy
movzx ecx, byte [rbp]
add cl, 0x1c
shl cl, 2
mov byte [rsp + 0x40], cl
jmp 0x180015df6
cmp qword [rsp + 0x88], 0
jne case.0x18001551f.75
mov rax, rbx
jmp 0x180015e3a
mov eax, dword [0x1800a2200]
test al, 0x60
jne 0x180015e35
jmp case.0x18001551f.75
mov dword [rsp + 0x64], ebx
test r9, r9
jne case.0x18001551f.75
mov edi, 0xe9
nop dword [rax]
mov eax, edi
sub eax, 0xe8
je 0x180015e26
cmp eax, 1
jne 0x1800155e0
lea ecx, [rax + 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor r9d, r9d
lea r8, [0x180087b0c]
mov rcx, rax
lea rdx, str.e_du_Yukon
lea rax, str.Automatic_Reference_Counting_Issue
mov qword [rsp + 0x20], rax
call fcn.180083e40
dec edi
cmp edi, 0xe7
ja 0x1800155a0
jmp 0x180015df6
movzx eax, byte [0x1800a2201]
cmp eax, 0xb
ja case.0x180015609.2
mov ecx, dword [rdi + rax*4 + 0x15f88]
add rcx, rdi
jmp rcx
mov ecx, 0xf4
mov eax, ecx
sub eax, 0xf4
je 0x180015624
cmp eax, 1
je case.0x180015609.2
jmp 0x18001563d
movzx eax, byte [0x1800a21f0]
or al, 0x80
mov byte [0x1800a21f0], al
mov dword [0x1800a21fc], 8
inc ecx
cmp ecx, 0xf6
jb 0x180015610
mov eax, 0x93
nop dword [rax]
cmp eax, 0x93
je 0x18001567b
add eax, 0x6dad
cmp eax, 0x6dad
jbe 0x180015650
mov edi, 0x55
cmp edi, 0x55
je 0x18001569c
cmp edi, 0x114
je case.0x180015609.2
jmp 0x1800156b8
xor r9d, r9d
mov dword [rsp + 0x20], 0xbf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180011fa0
mov esi, 0x100
jmp 0x180015df6
mov qword [rsp + 0x28], rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov edx, 0xe2
xor ecx, ecx
call fcn.180032950
add edi, 0xbf
cmp edi, 0x1d3
jb 0x180015668
mov ecx, 0x3d
nop dword [rax + rax]
cmp ecx, 0x3d
je 0x180015716
cmp ecx, 0x1d8c
je 0x1800156fe
cmp ecx, 0x3adb
jne 0x180015724
movzx eax, byte [0x1800a21f0]
mov esi, 0x100
or al, 0x80
mov byte [0x1800a21f0], al
jmp 0x180015df6
movzx eax, byte [0x1800a21f0]
or al, 1
mov byte [0x1800a21f0], al
mov byte [0x1800a21f2], 1
jmp 0x180015724
lea rax, [0x1800a2169]
mov qword [0x1800a21e8], rax
add ecx, 0x1d4f
cmp ecx, 0x57ed
jbe 0x1800156d0
nop dword [rax]
nop word [rax + rax]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 0x34]
call fcn.180067820
mov esi, 0x100
jmp 0x180015df6
mov eax, 0xf8
cmp eax, 0xf8
je 0x1800157a6
add eax, 0xbd
cmp eax, 0x1b5
jb 0x180015764
mov edx, 0xed
nop dword [rax]
cmp edx, 0xed
je 0x1800157d3
cmp edx, 0x58e
je 0x1800157ca
cmp edx, 0xa2f
je 0x1800157bf
cmp edx, 0xed0
je case.0x180015609.2
jmp 0x1800157fa
xor edx, edx
xor ecx, ecx
mov r8d, SHSetInstanceExplorer
call fcn.1800832c0
mov esi, 0x100
jmp 0x180015df6
movzx eax, byte [0x1800a21f0]
or al, 0x80
jmp 0x1800157f4
mov byte [0x1800a21f2], 1
jmp 0x1800157fa
movzx ecx, byte [0x1800a2206]
lea rax, [0x1800a2330]
add rcx, rax
mov qword [0x1800a21e8], rcx
movzx eax, byte [0x1800a21f0]
or al, 1
mov byte [0x1800a21f0], al
add edx, 0x4a1
cmp edx, 0x1284
jbe 0x180015780
mov r8d, 0xd1
mov eax, r8d
sub eax, 0xd1
je 0x180015823
cmp eax, 1
je case.0x180015609.2
jmp 0x18001584a
movzx eax, byte [0x1800a21f0]
or al, 0x80
mov byte [0x1800a21f0], al
lea rax, [0x1800a2330]
movzx edx, byte [0x1800a2204]
movzx ecx, byte [0x1800a2206]
mov byte [rcx + rax], dl
inc r8d
cmp r8d, 0xd3
jb 0x180015812
mov edi, 0x113
nop dword [rax + rax]
mov eax, edi
sub eax, 0x113
je 0x180015870
cmp eax, 1
je case.0x180015609.2
jmp 0x180015892
xor edx, edx
mov word [rsp + 0x50], bx
lea r9, [rsp + 0x70]
mov dword [rsp + 0x70], 2
lea rcx, [rsp + 0x50]
lea r8d, [rdx + 0x4e]
call fcn.180033980
inc edi
cmp edi, 0x115
jb 0x180015860
mov esi, 0x100
jmp 0x180015df6
movzx ecx, byte [rbp]
sub ecx, 0x10
je 0x180015930
sub ecx, 8
je 0x180015960
sub ecx, 8
je 0x1800158d1
sub ecx, 0x60
je 0x180015930
cmp ecx, 0x40
je 0x180015960
jmp 0x1800158e5
mov eax, 0x71
cmp eax, 0x71
je 0x180015922
add eax, 0x2b
cmp eax, 0x9c
jb 0x1800158d6
mov ecx, 0x120
nop word [rax + rax]
mov eax, ecx
sub eax, 0x11f
je 0x180015e35
cmp eax, 1
jne 0x18001590e
mov byte [rdx + 0xf0], 0
mov byte [rsp + 0x48], 0xff
dec ecx
cmp ecx, 0x11e
ja 0x1800158f0
mov esi, 0x3f
jmp case.0x18001551f.75
mov byte [rbp], 0x20
mov esi, 0x3f
jmp case.0x18001551f.75
mov eax, 0xf1
cmp eax, 0xf1
je 0x180015945
cmp eax, 0x1af
je 0x180015964
jmp 0x180015949
mov byte [rbp], reloc.SHELL32.dll_ILFindLastID
add eax, 0xbe
cmp eax, 0x26d
jb 0x180015935
nop word [rax + rax]
mov byte [rbp], 0x18
mov esi, 0x3f
jmp case.0x18001551f.75
movzx eax, byte [rsp + 0x40]
mov r8b, 1
shr al, 4
dec al
mov byte [rdx + 0xf0], al
movzx r11d, byte [rbp]
cmp r11b, byte [rsp + 0x40]
jae 0x180015df6
movzx ebx, byte [rsp + 0x41]
nop word [rax + rax]
movzx ebp, r11b
mov edi, 8
movzx esi, r11b
mov r9d, 7
lea r10, [rdx + rbp]
nop word [rax + rax]
cmp r9d, 7
ja case.default.0x1800159e5
mov eax, r9d
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x15fb8]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
movzx r13d, byte [r10 - 4]
jmp case.default.0x1800159e5
mov rax, qword [rsp + 0x80]
xor edx, edx
movzx r15d, byte [r10 - 1]
movzx ecx, byte [rax]
mov eax, ebp
div ecx
test edx, edx
jne 0x180015ac9
mov edx, 0x3e
mov eax, edx
sub eax, 0x3e
je 0x180015a6f
sub eax, 1
je 0x180015a4e
cmp eax, 1
jne 0x180015a8a
movzx eax, r14b
lea rcx, [0x180000000]
movzx r15d, byte [rax + rcx + 0x86b50]
movzx eax, r8b
shr al, 7
add r8b, r8b
movzx eax, al
imul ecx, eax, 0x1b
xor r8b, cl
jmp 0x180015a8a
movzx eax, bl
lea rcx, [0x180000000]
movzx r12d, byte [rax + rcx + 0x86b50]
movzx eax, r15b
movzx ebx, byte [rax + rcx + 0x86b50]
jmp 0x180015a8a
movzx r14d, r13b
movzx eax, r12b
lea rcx, [0x180000000]
movzx r13d, byte [rax + rcx + 0x86b50]
xor r13b, r8b
inc edx
cmp edx, 0x41
jb 0x180015a14
mov rdx, qword [rsp + 0x58]
dec r9d
sub rdi, 1
jne 0x1800159c0
add r11b, 4
mov byte [rsp + 0x41], bl
cmp r11b, byte [rsp + 0x40]
jb 0x1800159a0
mov esi, dword [rsp + 0x60]
xor ebx, ebx
mov rbp, qword [rsp + 0x80]
jmp 0x180015df6
cmp cl, 0x18
jbe 0x180015a91
cmp edx, 0x10
jne 0x180015a91
mov ecx, 0x11c
lea rdx, [0x180000000]
nop
mov eax, ecx
sub eax, 0x11c
je 0x180015b0f
sub eax, 0x10
je 0x180015b02
cmp eax, 0x10
jne 0x180015b37
movzx eax, r15b
movzx r15d, byte [rax + rdx + 0x86b50]
jmp 0x180015b37
movzx eax, bl
movzx ebx, byte [rax + rdx + 0x86b50]
jmp 0x180015b37
lea rdx, [0x180000000]
movzx eax, r13b
movzx r13d, byte [rax + rdx + 0x86b50]
movzx eax, r12b
movzx r12d, byte [rax + rdx + 0x86b50]
lea rdx, [0x180000000]
add ecx, 0x10
cmp ecx, 0x14c
jb 0x180015ae0
jmp 0x180015a91
movzx r12d, byte [r10 - 3]
jmp case.default.0x1800159e5
mov rax, qword [rsp + 0x80]
movzx r14d, r11b
sub r14b, byte [rax]
jmp case.default.0x1800159e5
movzx eax, r14b
movzx ecx, byte [rax + rdx + 1]
xor cl, r12b
movzx eax, r14b
mov byte [rsi + rdx + 1], cl
movzx ecx, byte [rax + rdx + 2]
xor cl, bl
mov byte [rsi + rdx + 2], cl
jmp case.default.0x1800159e5
movzx eax, r14b
movzx ecx, byte [rax + rdx]
xor cl, r13b
mov byte [rdx + rsi], cl
jmp case.default.0x1800159e5
movzx eax, r14b
movzx ecx, byte [rax + rdx + 3]
xor cl, r15b
mov byte [rsi + rdx + 3], cl
jmp case.default.0x1800159e5
movzx ebx, byte [rsi + rdx - 2]
jmp case.default.0x1800159e5
test r10, r10
jne 0x180015c10
mov edi, 0xd1
cmp edi, 0xd1
je 0x180015bdb
cmp edi, 0x89f9
je 0x180015e35
jmp 0x180015bfd
lea rdx, [r9 + 0xc8]
mov r8d, 0x48
lea rcx, str.before__null_
call fcn.180060d40
mov r9, qword [rsp + 0x68]
mov dword [rsp + 0x48], ebx
add edi, 0x8928
cmp edi, 0x11250
jbe 0x180015bc5
mov r8d, dword [rsp + 0x44]
test rbp, rbp
jne case.0x18001551f.75
mov edi, 0x4a
nop
mov eax, edi
sub eax, 0x4a
je 0x180015c3d
sub eax, 0x47
je 0x180015c37
cmp eax, 0x47
je 0x180015e35
jmp 0x180015c56
mov dword [rsp + 0x48], ebx
jmp 0x180015c56
lea rdx, [r9 + 0xc8]
mov r8d, 0x48
lea rcx, str.URL_Filter_File
call fcn.180060d40
mov r9, qword [rsp + 0x68]
add edi, 0x47
cmp edi, 0x11f
jb 0x180015c20
jmp 0x180015df6
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x88], rax
jmp 0x180015df6
mov byte [rsp + 0x48], 0
jmp case.0x18001551f.75
mov eax, esi
sub eax, 0x16d
je 0x180015e35
sub eax, 0x1a
je 0x180015dcd
sub eax, 0x38
je 0x180015e35
sub eax, 0x28
je 0x180015d7e
cmp eax, 0x60
jne case.0x18001551f.75
mov eax, reloc.SHELL32.dll_ILFindLastID
cmp eax, 0x10
je 0x180015e2d
add eax, 0x5f0
cmp eax, 0x5f0
jbe 0x180015cc1
test rdx, rdx
jne 0x180015d1a
mov edi, 0x66
mov eax, edi
sub eax, 0x66
je 0x180015cf5
cmp eax, 1
jne 0x180015d13
mov dword [rsp + 0x48], ebx
jmp 0x180015e35
lea rdx, [r9 + 0xc8]
mov r8d, 0x48
lea rcx, str.getGuestLaunchMenu
call fcn.180060d40
mov r9, qword [rsp + 0x68]
inc edi
cmp edi, 0x68
jb 0x180015ce0
lea rdx, [r9 + 8]
mov ecx, 0xb8
call fcn.18006a520
test eax, eax
jne 0x180015df6
mov edi, 0xb9
nop word [rax + rax]
mov eax, edi
sub eax, 0xb8
je 0x180015e35
cmp eax, 1
jne 0x180015d72
mov rdx, qword [rsp + 0x68]
lea r8d, [rax + 0x47]
add rdx, 0xc8
lea rcx, str.MS.Internal.TtfDelta._A0xa98519b4.LTSH_CONTROL_initializer_
call fcn.180060d40
mov dword [rsp + 0x48], ebx
dec edi
cmp edi, 0xb7
ja 0x180015d40
jmp 0x180015df6
mov eax, dword [r11]
lea r8, [r9 + 8]
mov dword [rsp + 0x78], eax
mov r9, rdx
lea rax, [rsp + 0xa0]
mov edx, 0x5e
mov qword [rsp + 0x28], rax
mov rcx, rbp
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.1800650d0
lea r9, [rsp + 0xa0]
mov dword [rsp + 0x64], eax
xor edx, edx
xor ecx, ecx
mov r8d, 0xbe
call fcn.180033980
jmp 0x180015df6
lea rax, [rsp + 0xa0]
mov r9d, 0xd8
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov qword [rsp + 0x28], r10
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.18005a4c0
mov r8d, dword [rsp + 0x44]
add esi, 0x60
mov dword [rsp + 0x60], esi
cmp esi, r8d
jae 0x180015e35
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x98]
jmp 0x1800154e6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.180084890
mov rbx, qword [rsp + 0x118]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret