Function at 0x180026a90
Capabilities:
Query environment variable
Set console window title

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x180211600]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rsi, rcx
mov qword [rsp + 0x50], rcx
xor r15d, r15d
mov byte [rcx], r15b
mov qword [rcx + 8], r15
lea rdi, [rcx + 0x10]
mov edx, 1
mov rcx, rdi
call fcn.180021c00
nop
lea rbx, [rsi + 0x118]
lea rcx, str.appdata
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rcx, rax
mov qword [rsp + 0x20], rax
mov r14, 0xffffffffffffffff
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x180026b02
mov qword [rsp + 0x28], rax
call fcn.18016be20
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
mov rcx, rbx
call fcn.180024340
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsi + 0x138], xmm0
mov qword [rsi + 0x148], r15
mov qword [rsi + 0x150], 7
mov word [rsi + 0x138], r15w
lea rcx, [rsi + 0x158]
mov edx, 1
call fcn.180021c00
nop
lea rcx, [rsi + 0x260]
mov edx, 1
call fcn.180021c00
nop
lea rcx, [rsi + 0x368]
call fcn.180157bf0
nop
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_AttachConsole]
mov ecx, eax
test eax, eax
setne al
mov byte [rsi], al
test ecx, ecx
jne 0x180026ba9
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsi + 8], rax
test rax, rax
je 0x180026c1c
lea rcx, str.Vendetta
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
lea rcx, [rdi + 8]
mov r9d, 0x40
mov r8d, 0xa
lea rdx, str.CONOUT_
call fcn.18002be10
mov rcx, rax
mov rax, qword [rdi]
movsxd rdx, dword [rax + 4]
xor r8d, r8d
test rcx, rcx
lea rcx, [rdi + rdx]
je 0x180026c11
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x180026c1c
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, rbx
call fcn.180021d20
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.180023450
nop
lea rax, str.Backup
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 6
call fcn.18016be20
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0xa0]
call fcn.180024340
nop
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x80]
call fcn.180023be0
nop
lea rcx, [rsp + 0xa0]
call fcn.1800276b0
nop
mov rcx, rbx
call fcn.180021ea0
test al, al
jne 0x180026cc0
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x180026cad
mov rcx, qword [rbx]
call fcn.18016c324
shr rax, 0x20
test eax, eax
jne 0x180027499
jmp 0x180026d31
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180021f10
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x20], xmm0
mov edx, dword [rax + 8]
mov ecx, dword [rsp + 0x20]
test edx, edx
je 0x180026cf0
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x1800274aa
cmp ecx, 3
je 0x180026d31
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x180026d02
mov rcx, qword [rbx]
call fcn.18016c7d0
shr rax, 0x20
test eax, eax
jne 0x1800274b9
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x180026d20
mov rcx, qword [rbx]
call fcn.18016c324
shr rax, 0x20
test eax, eax
jne 0x1800274ca
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x40]
call fcn.180021f10
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x20], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x40], ecx
lea rax, [0x1802116b0]
mov qword [rsp + 0x48], rax
vmovups xmm0, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x20]
test eax, eax
je 0x180026e1c
cmp eax, 1
setne al
test al, al
je 0x180026e24
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x40]
call fcn.180021f10
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x20], xmm0
mov edx, dword [rax + 8]
mov ecx, dword [rsp + 0x20]
test edx, edx
je 0x180026dbb
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x1800274db
cmp ecx, 3
je 0x180026e4f
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 7
cmova rcx, qword [rsp + 0x80]
call fcn.18016c7d0
shr rax, 0x20
test eax, eax
jne 0x1800274ef
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 7
cmova rcx, qword [rsp + 0x80]
call fcn.18016c324
shr rax, 0x20
test eax, eax
jne 0x180027505
jmp 0x180026e4f
test ecx, ecx
jne 0x18002751b
lea rcx, [rsp + 0x80]
cmp qword [rsp + 0x98], 7
cmova rcx, qword [rsp + 0x80]
call fcn.18016c324
shr rax, 0x20
test eax, eax
jne 0x180027534
lea rdx, [rsi + 0x118]
lea rcx, [rsi + 0x138]
call fcn.180023810
lea rax, str.Vendetta.log
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0xc
call fcn.18016be20
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0xa0]
call fcn.180024340
nop
lea rcx, [rsi + 0x118]
lea rdx, [rsp + 0xa0]
call fcn.180023be0
nop
lea rcx, [rsp + 0xa0]
call fcn.1800276b0
lea rax, str.GTAEvents.log
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0xd
call fcn.18016be20
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0xa0]
call fcn.180024340
nop
lea rcx, [rsi + 0x138]
lea rdx, [rsp + 0xa0]
call fcn.180023be0
nop
lea rcx, [rsp + 0xa0]
call fcn.1800276b0
lea rcx, [rsi + 0x118]
call fcn.180021ea0
test al, al
je 0x1800273a9
lea rcx, [rsi + 0x118]
cmp qword [rsi + 0x130], 7
jbe 0x180026f48
mov rcx, qword [rsi + 0x118]
mov r9d, 0xffffffff
mov r8d, 0x21
lea rdx, [rsp + 0xe0]
call fcn.18016c450
test eax, eax
jne 0x18002756f
mov rdi, qword [rsp + 0xe0]
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
movabs rcx, 0x19db1ded53e8000
add rax, rcx
sub rdi, rax
lea rcx, [rdi + rbx]
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
mov rbx, rax
mov ecx, dword [rax + 0x14]
add ecx, 0x76c
mov eax, dword [rax + 0x10]
inc eax
lea rdx, str.:0_2_:0_2__:0_2_:0_2_:0_2_Vendetta.log
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], 0x32
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0xc]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x68], ecx
mov eax, dword [rbx + 8]
mov dword [rsp + 0x100], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0xc0], eax
mov eax, dword [rbx]
mov dword [rsp + 0xe0], eax
vmovups xmm0, xmmword [rsp + 0x40]
vmovups xmmword [rsp + 0x140], xmm0
vmovups xmm1, xmmword [rsp + 0x58]
vmovups xmmword [rsp + 0x150], xmm1
vmovups xmm0, xmmword [rsp + 0x68]
vmovups xmmword [rsp + 0x160], xmm0
vmovups xmm1, xmmword [rsp + 0x100]
vmovups xmmword [rsp + 0x170], xmm1
vmovups xmm0, xmmword [rsp + 0xc0]
vmovups xmmword [rsp + 0x180], xmm0
vmovups xmm1, xmmword [rsp + 0xe0]
vmovups xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x40], 0x111111
lea rax, [rsp + 0x140]
mov qword [rsp + 0x48], rax
vmovups xmm0, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0xe0], xmm0
vmovups xmm1, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0xc0], xmm1
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xa0]
call fcn.18008c190
nop
mov ecx, dword [rbx + 0x14]
add ecx, 0x76c
mov eax, dword [rbx + 0x10]
inc eax
lea rdx, str.:0_2_:0_2__:0_2_:0_2_:0_2_GTAEvents.log
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x33
mov dword [rsp + 0xe0], eax
mov eax, dword [rbx + 0xc]
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0x100], ecx
mov eax, dword [rbx + 8]
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x58], eax
mov eax, dword [rbx]
mov dword [rsp + 0x30], eax
vmovups xmm0, xmmword [rsp + 0xe0]
vmovups xmmword [rsp + 0x140], xmm0
vmovups xmm1, xmmword [rsp + 0xc0]
vmovups xmmword [rsp + 0x150], xmm1
vmovups xmm0, xmmword [rsp + 0x100]
vmovups xmmword [rsp + 0x160], xmm0
vmovups xmm1, xmmword [rsp + 0x68]
vmovups xmmword [rsp + 0x170], xmm1
vmovups xmm0, xmmword [rsp + 0x58]
vmovups xmmword [rsp + 0x180], xmm0
vmovups xmm1, xmmword [rsp + 0x30]
vmovups xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x30], 0x111111
lea rax, [rsp + 0x140]
mov qword [rsp + 0x38], rax
vmovups xmm0, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0xe0], xmm0
vmovups xmm1, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0xc0], xmm1
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x120]
call fcn.18008c190
nop
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0xf
cmova rax, qword [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x38], rax
call fcn.18016be20
vmovups xmm0, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xe0]
mov edx, eax
lea rcx, [rsp + 0xc0]
call fcn.180024340
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.180023e50
mov rdi, rax
mov rdx, rax
cmp qword [rax + 0x18], 7
jbe 0x180027252
mov rdx, qword [rax]
lea rcx, [rsi + 0x118]
cmp qword [rsi + 0x130], 7
jbe 0x18002726a
mov rcx, qword [rsi + 0x118]
xor r8d, r8d
call fcn.18016c080
shr rax, 0x20
test eax, eax
jne 0x18002754b
lea rcx, [rsp + 0x100]
call fcn.1800276b0
nop
lea rcx, [rsp + 0xc0]
call fcn.1800276b0
lea rcx, [rsi + 0x138]
call fcn.180021ea0
test al, al
je 0x18002738e
lea rcx, [rsi + 0x138]
call fcn.1800227b0
test al, al
jne 0x18002738e
lea rax, [rsp + 0x120]
cmp qword [rsp + 0x138], 0xf
cmova rax, qword [rsp + 0x120]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x38], rax
call fcn.18016be20
vmovups xmm0, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xe0]
mov edx, eax
lea rcx, [rsp + 0xc0]
call fcn.180024340
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.180023e50
mov rdi, rax
mov rdx, rax
cmp qword [rax + 0x18], 7
jbe 0x180027346
mov rdx, qword [rax]
lea rcx, [rsi + 0x138]
cmp qword [rsi + 0x150], 7
jbe 0x18002735e
mov rcx, qword [rsi + 0x138]
xor r8d, r8d
call fcn.18016c080
shr rax, 0x20
test eax, eax
jne 0x18002755d
lea rcx, [rsp + 0x100]
call fcn.1800276b0
nop
lea rcx, [rsp + 0xc0]
call fcn.1800276b0
nop
lea rcx, [rsp + 0x120]
call fcn.180006590
nop
lea rcx, [rsp + 0xa0]
call fcn.180006590
lea rcx, [rsi + 0x158]
lea rdx, [rsi + 0x118]
call fcn.1800244b0
lea rcx, [rsi + 0x260]
lea rdx, [rsi + 0x138]
call fcn.1800244b0
mov rbx, qword [rsi + 0x368]
mov ecx, 0x10
call fcn.18016cca4
mov qword [rsp + 0x40], rax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
mov rcx, rax
call fcn.180026710
nop
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1800253f0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x180027444
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x18002743a
lock xadd dword [rdx + 0xc], r14d
cmp r14d, 1
jne 0x180027435
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 8]
mov rcx, qword [rsp + 0x40]
mov edx, 0x10
call fcn.18016cc9c
mov rcx, qword [rsi + 0x368]
call fcn.18015df70
nop
jmp 0x180027458
mov qword [0x180237e28], rsi
lea rcx, [rsp + 0x80]
call fcn.1800276b0
nop
mov rax, rsi
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.18016cc50
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov r8, rbx
mov edx, eax
lea rcx, str.create_directory
call fcn.180021da0
mov r8, rbx
lea rcx, str.status
call fcn.180021da0
mov r8, rbx
mov edx, eax
lea rcx, str.remove
call fcn.180021da0
mov r8, rbx
mov edx, eax
lea rcx, str.create_directory
call fcn.180021da0
lea r8, [rsp + 0x80]
lea rcx, str.status
call fcn.180021da0
lea r8, [rsp + 0x80]
mov edx, eax
lea rcx, str.remove
call fcn.180021da0
lea r8, [rsp + 0x80]
mov edx, eax
lea rcx, str.create_directory
call fcn.180021da0
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.180022750
lea r8, [rsp + 0x80]
mov edx, eax
lea rcx, str.create_directory
call fcn.180021da0
nop
mov r9, rdi
lea r8, [rsi + 0x118]
mov edx, eax
call fcn.180023260
nop
mov r9, rdi
lea r8, [rsi + 0x138]
mov edx, eax
call fcn.180023260
nop
lea r8, [rsi + 0x118]
mov edx, eax
lea rcx, str.last_write_time
call fcn.180021da0
int3