Function at 0x1800884f0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x180211600]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rbx, rcx
mov qword [rsp + 0x60], rcx
xor edi, edi
mov dword [rsp + 0x44], edi
lea rsi, [rcx + 0x28]
mov qword [rsi], rdi
lea r14, [rcx + 0x30]
mov qword [r14], rdi
lea r15, [rcx + 0x38]
mov qword [r15], rdi
mov qword [rcx + 0x40], rdi
mov qword [rcx + 0x48], rdi
mov qword [rcx + 0x50], rdi
mov qword [rcx + 0x58], rdi
mov rax, qword [0x180237e18]
mov rcx, qword [rax + 0x90]
mov rcx, qword [rcx]
mov qword [rbx + 0x60], rcx
test rcx, rcx
je 0x18008857c
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov qword [rbx + 0x68], rdi
mov qword [rbx + 0x70], rdi
mov qword [rsp + 0x58], rdi
mov rcx, qword [rbx + 0x60]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
lea rdx, [0x1801e44b0]
call qword [rax + 0x38]
test eax, eax
js 0x180088f1a
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x1800885bb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x68], rdi
mov rax, qword [rdi]
lea rdx, [rbx + 0x70]
mov rcx, rdi
call qword [rax + 0x140]
lea rcx, str.appdata
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov qword [rbp - 0x70], rax
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800885e7
mov qword [rbp - 0x68], rcx
call fcn.18016be20
vmovups xmm0, xmmword [rbp - 0x70]
vmovdqa xmmword [rbp - 0x70], xmm0
lea r8, [rbp - 0x70]
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.180024340
nop
lea rax, str.Vendetta
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 8
call fcn.18016be20
vmovups xmm0, xmmword [rbp - 0x70]
vmovdqa xmmword [rbp - 0x70], xmm0
lea r8, [rbp - 0x70]
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.180024340
nop
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.180023be0
nop
lea rcx, [rbp - 0x50]
call fcn.1800276b0
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x70]
call fcn.180021f10
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x48], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x70], ecx
lea rax, [0x1802116b0]
mov qword [rbp - 0x68], rax
vmovups xmm0, xmmword [rbp - 0x70]
vmovdqa xmmword [rbp - 0x70], xmm0
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x180088726
cmp eax, 1
je 0x18008872e
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x70]
call fcn.180021f10
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x48], xmm0
mov edx, dword [rax + 8]
mov ecx, dword [rsp + 0x48]
test edx, edx
je 0x1800886d7
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x180088f3b
cmp ecx, 3
je 0x180088752
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 7
cmova rcx, qword [rsp + 0x68]
call fcn.18016c7d0
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x180088f4d
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 7
cmova rcx, qword [rsp + 0x68]
call fcn.18016c324
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x180088f04
jmp 0x180088752
test ecx, ecx
jne 0x180088f63
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 7
cmova rcx, qword [rsp + 0x68]
call fcn.18016c324
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x180088f79
lea rax, str.imgui.ini
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 9
call fcn.18016be20
vmovups xmm0, xmmword [rbp - 0x70]
vmovdqa xmmword [rbp - 0x70], xmm0
lea r8, [rbp - 0x70]
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.180024340
nop
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.180023be0
nop
lea rcx, [rbp - 0x50]
call fcn.1800276b0
xor ecx, ecx
call fcn.1800b67c0
mov rdi, rax
mov qword [rsp + 0x48], rax
mov edx, dword [0x18023784c]
mov rcx, qword gs:[0x58]
mov eax, 0x18
mov rcx, qword [rcx + rdx*8]
lea r12, [0x180238028]
mov ecx, dword [rax + rcx]
cmp dword [0x180238020], ecx
jle 0x180088927
lea rcx, [0x180238020]
call fcn.18016d1d0
cmp dword [0x180238020], 0xffffffff
jne 0x180088927
lea rax, [rsp + 0x68]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rbp - 0x80]
cmp r8, 7
cmova rax, rdx
mov rsi, qword [rsp + 0x78]
lea rcx, [rax + rsi*2]
lea rax, [rsp + 0x68]
cmova rax, rdx
cmp rax, rcx
je 0x180088842
nop
cmp word [rax], 0x2f
jne 0x18008882b
mov word [rax], 0x5c
add rax, 2
cmp rax, rcx
jne 0x180088820
mov r8, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
lea r14, [rsp + 0x68]
cmp r8, 7
cmova r14, rdx
call fcn.18016be20
mov r15d, eax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [0x180238028], xmm0
vmovdqu xmm1, xmmword [0x1801e4850]
vmovdqu xmmword [0x180238038], xmm1
mov byte [0x180238028], 0
mov dword [rsp + 0x44], 0x1003f
test rsi, rsi
je 0x180088902
cmp rsi, 0x7fffffff
ja 0x180088f8f
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, eax
call fcn.18016be90
mov rdi, rax
shr rax, 0x20
test eax, eax
jne 0x180088f9a
movsxd rdx, edi
xor r8d, r8d
mov rcx, r12
call fcn.1800321d0
mov r9, r12
cmp qword [0x180238040], 0xf
cmova r9, qword [0x180238028]
mov dword [rsp + 0x20], edi
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.18016be90
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x180088fa6
mov rdi, qword [rsp + 0x48]
lea rcx, [0x18017a5c0]
call fcn.18016d038
nop
lea rcx, [0x180238020]
call fcn.18016d164
lea rsi, [rbx + 0x28]
lea r14, [rbx + 0x30]
lea r15, [rbx + 0x38]
cmp qword [0x180238040], 0xf
cmova r12, qword [0x180238028]
mov qword [rdi + 0x20], r12
mov rdx, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x68]
call fcn.180142080
mov rcx, qword [0x180237e18]
mov rcx, qword [rcx]
call fcn.180144850
lea rcx, [rbp + 0x70]
call fcn.18012ab80
mov byte [rbp + 0x7c], 0
mov eax, dword [str.Rubik]
mov dword [rbp + 0xc6], eax
movzx eax, word [0x1801e43d8]
mov word [rbp + 0xca], ax
call fcn.1800b6900
xor r12d, r12d
mov qword [rsp + 0x28], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x20], rcx
vmovss xmm3, dword [0x1801e4768]
mov r8d, 0x225bc
lea rdx, [0x1801904a0]
mov rcx, qword [rax + 0xa0]
call fcn.18012b520
mov qword [rbx], rax
call fcn.1800b6900
mov qword [rsp + 0x28], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x20], rcx
vmovss xmm3, dword [0x1801e4758]
mov r8d, 0x5e08
lea rdx, str.OTTO
mov rcx, qword [rax + 0xa0]
call fcn.18012b520
mov qword [rbx + 8], rax
call fcn.1800b6900
mov qword [rsp + 0x28], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x20], rcx
vmovss xmm3, dword [0x1801e4780]
mov r8d, 0x5e08
lea rdx, str.OTTO
mov rcx, qword [rax + 0xa0]
call fcn.18012b520
mov qword [rbx + 0x10], rax
call fcn.1800b6900
xor edx, edx
mov rcx, qword [rax + 0xa0]
call fcn.18012b170
mov qword [rbx + 0x18], rax
lea rcx, [rbp + 0x70]
call fcn.18012ab80
mov byte [rbp + 0x7c], r12b
mov eax, dword [str.Icon]
mov dword [rbp + 0xc6], eax
movzx eax, byte [0x1801e43e0]
mov byte [rbp + 0xca], al
call fcn.1800b6900
mov qword [rsp + 0x28], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x20], rcx
vmovss xmm3, dword [0x1801e4760]
mov r8d, 0x910
lea rdx, [0x180212110]
mov rcx, qword [rax + 0xa0]
call fcn.18012b520
mov qword [rbx + 0x20], rax
mov rcx, qword [0x180237fc8]
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
sub rax, rcx
cmp rax, 0x14
jb 0x180088fb0
lea r13, [0x180237fb8]
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x14
lea rax, str.VendettaHeader.png
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.18000bc00
nop
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x44], r12d
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov r8, rsi
mov rcx, rbx
call fcn.18008a2e0
mov rcx, qword [0x180237fc8]
mov rax, rdi
sub rax, rcx
cmp rax, 0x15
jb 0x180088fb6
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x15
lea rax, str.VendettaSubmenu.png
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x50]
call fcn.18000bc00
nop
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova rdx, qword [rbp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
mov r8, r14
mov rcx, rbx
call fcn.18008a2e0
mov rcx, qword [0x180237fc8]
mov rax, rdi
sub rax, rcx
cmp rax, 0x14
jb 0x180088fbc
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x14
lea rax, str.VendettaOption.png
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.18000bc00
nop
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdx, qword [rbp + 0x30]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
mov r8, r15
mov rcx, rbx
call fcn.18008a2e0
mov rcx, qword [0x180237fc8]
mov rax, rdi
sub rax, rcx
cmp rax, 0x1c
jb 0x180088fc2
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x1c
lea rax, str.VendettaSelectedOption.png
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.18000bc00
nop
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rdx, qword [rbp + 0x10]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea r8, [rbx + 0x40]
mov rcx, rbx
call fcn.18008a2e0
mov rcx, qword [0x180237fc8]
mov rax, rdi
sub rax, rcx
cmp rax, 0x14
jb 0x180088fc8
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x14
lea rax, str.VendettaFooter.png
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.18000bc00
nop
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rdx, qword [rbp - 0x10]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea r8, [rbx + 0x48]
mov rcx, rbx
call fcn.18008a2e0
mov rcx, qword [0x180237fc8]
mov rax, rdi
sub rax, rcx
cmp rax, 0x19
jb 0x180088fce
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x19
lea rax, str.VendettaDescription.png
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.18000bc00
nop
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea r8, [rbx + 0x50]
mov rcx, rbx
call fcn.18008a2e0
mov rax, qword [0x180237fc8]
sub rdi, rax
cmp rdi, 0x18
jb 0x180088efe
mov r9, r13
cmp qword [0x180237fd0], 0xf
cmova r9, qword [0x180237fb8]
mov qword [rsp + 0x30], 0x18
lea rcx, str.VendettaBackground.png
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r8, r13
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.18000bc00
nop
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rdx, qword [rbp - 0x70]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea r8, [rbx + 0x58]
mov rcx, rbx
call fcn.18008a2e0
nop
lea rcx, [rbp - 0x70]
call fcn.180006590
nop
lea rcx, [rbp - 0x30]
call fcn.180006590
nop
lea rcx, [rbp - 0x10]
call fcn.180006590
nop
lea rcx, [rbp + 0x10]
call fcn.180006590
nop
lea rcx, [rbp + 0x30]
call fcn.180006590
nop
lea rcx, [rbp + 0x50]
call fcn.180006590
nop
lea rcx, [rbp - 0x50]
call fcn.180006590
lea rcx, [0x180214a98]
call fcn.180016650
mov qword [0x180237e10], rbx
lea rcx, [rsp + 0x68]
call fcn.1800276b0
nop
mov rax, rbx
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.18016cc50
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180006050
nop
shr rdx, 0x20
lea r8, [rsp + 0x68]
lea rcx, str.create_directory
call fcn.180021da0
nop
lea rdx, str.Failed_to_get_D3D_device.
lea rcx, [rbp - 0x70]
call fcn.180006f00
lea rdx, [0x18020cb40]
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rsp + 0x68]
lea rcx, str.status
call fcn.180021da0
int3
shr rdx, 0x20
lea r8, [rsp + 0x68]
lea rcx, str.remove
call fcn.180021da0
int3
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x70]
lea rcx, str.exists
call fcn.180022750
int3
shr rdx, 0x20
lea r8, [rsp + 0x68]
lea rcx, str.create_directory
call fcn.180021da0
nop
mov ecx, 0x16
call fcn.1800163f0
int3
shr rdi, 0x20
mov ecx, edi
call fcn.180024300
int3
shr rcx, 0x20
call fcn.180024300
nop
call fcn.180006050
nop
call fcn.180006050
nop
call fcn.180006050
nop
call fcn.180006050
nop
call fcn.180006050
nop
call fcn.180006050
int3