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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x180199a80]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rsi, rcx
mov qword [rsp + 0x50], rcx
xor r12d, r12d
mov byte [rcx], r12b
mov qword [rcx + 8], r12
lea rdi, [rcx + 0x10]
mov edx, 1
mov rcx, rdi
call fcn.18001dbb0
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 r15, 0xffffffffffffffff
mov rax, r15
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180022400
mov qword [rsp + 0x28], rax
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
lea r8, [rsp + 0x20]
mov edx, eax
mov rcx, rbx
call fcn.180031f90
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsi + 0x138], xmm0
mov qword [rsi + 0x148], r12
mov qword [rsi + 0x150], 7
mov word [rsi + 0x138], r12w
lea rcx, [rsi + 0x158]
mov edx, 1
call fcn.18001dbb0
nop
lea rcx, [rsi + 0x260]
mov edx, 1
call fcn.18001dbb0
nop
lea rcx, [rsi + 0x368]
call fcn.18010ea60
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 0x1800224a7
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsi + 8], rax
lea r14, str.PECA_Engine
test rax, rax
je 0x18002251d
mov rcx, r14
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.180032ee0
mov rcx, rax
mov rax, qword [rdi]
movsxd rdx, dword [rax + 4]
xor r8d, r8d
test rcx, rcx
lea rcx, [rdi + rdx]
je 0x180022512
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 0x18002251d
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 qword [rsp + 0x20], r14
mov qword [rsp + 0x28], 0xb
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
lea r8, [rsp + 0x20]
mov edx, eax
lea rcx, [rsp + 0x80]
call fcn.180031f90
nop
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.18001ef30
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 7
jbe 0x1800225ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800225a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800225a8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.180007420
nop
lea rax, str.Backup
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 6
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
lea r8, [rsp + 0x20]
mov edx, eax
lea rcx, [rsp + 0x80]
call fcn.180031f90
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xa0]
call fcn.18001ef30
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 7
jbe 0x18002265b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022655
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022655
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
nop
mov rcx, rbx
call fcn.180032e70
test al, al
jne 0x180022687
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x180022674
mov rcx, qword [rbx]
call fcn.18012313c
shr rax, 0x20
test eax, eax
jne 0x180023280
jmp 0x1800226f8
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180032110
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x30], xmm0
mov edx, dword [rax + 8]
mov ecx, dword [rsp + 0x30]
test edx, edx
je 0x1800226b7
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x180023291
cmp ecx, 3
je 0x1800226f8
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1800226c9
mov rcx, qword [rbx]
call fcn.1801235e8
shr rax, 0x20
test eax, eax
jne 0x1800232a0
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1800226e7
mov rcx, qword [rbx]
call fcn.18012313c
shr rax, 0x20
test eax, eax
jne 0x1800232b1
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x40]
call fcn.180032110
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x20], ecx
lea r14, [0x180199ba8]
mov qword [rsp + 0x28], r14
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1800227e3
cmp eax, 1
setne al
test al, al
je 0x1800227eb
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x40]
call fcn.180032110
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x30], xmm0
mov edx, dword [rax + 8]
mov ecx, dword [rsp + 0x30]
test edx, edx
je 0x180022782
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x1800232c2
cmp ecx, 3
je 0x180022816
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 7
cmova rcx, qword [rsp + 0xa0]
call fcn.1801235e8
shr rax, 0x20
test eax, eax
jne 0x1800232d6
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 7
cmova rcx, qword [rsp + 0xa0]
call fcn.18012313c
shr rax, 0x20
test eax, eax
jne 0x1800232ec
jmp 0x180022816
test ecx, ecx
jne 0x180023302
lea rcx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 7
cmova rcx, qword [rsp + 0xa0]
call fcn.18012313c
shr rax, 0x20
test eax, eax
jne 0x18002331b
lea rdx, [rsi + 0x118]
lea rcx, [rsi + 0x138]
call fcn.18001eb60
lea rax, str.EngineV3.log
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0xc
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
lea r8, [rsp + 0x20]
mov edx, eax
lea rcx, [rsp + 0x80]
call fcn.180031f90
nop
lea rcx, [rsi + 0x118]
lea rdx, [rsp + 0x80]
call fcn.18001ef30
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 7
jbe 0x1800228c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800228bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800228bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
lea rax, str.EngineGTAEvents.log
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x13
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
lea r8, [rsp + 0x20]
mov edx, eax
lea rcx, [rsp + 0x80]
call fcn.180031f90
nop
lea rcx, [rsi + 0x138]
lea rdx, [rsp + 0x80]
call fcn.18001ef30
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 7
jbe 0x18002295f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002295a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002295a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
lea rdx, [rsi + 0x118]
lea rcx, [rsp + 0x40]
call fcn.180032110
vmovsd xmm0, qword [rax]
vmovsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], r14
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0xe0], xmm0
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x180023113
cmp eax, 1
setne al
test al, al
je 0x1800230d3
lea rcx, [rsi + 0x118]
cmp qword [rsi + 0x130], 7
jbe 0x1800229c7
mov rcx, qword [rsi + 0x118]
mov r9d, 0xffffffff
mov r8d, 0x21
lea rdx, [rsp + 0xe0]
call fcn.180123268
test eax, eax
jne 0x18002336f
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 + 0x30], rdx
lea rcx, [rsp + 0x30]
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_EngineV3.log
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x32
mov dword [rsp + 0x20], 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 + 0x20]
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 + 0x20], 0x111111
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
vmovups xmm0, xmmword [rsp + 0x20]
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 + 0x80]
call fcn.180042f00
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_EngineGTAEvents.log
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0x39
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 + 0x20], 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 + 0x20]
vmovups xmmword [rsp + 0x190], xmm1
mov qword [rsp + 0x20], 0x111111
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
vmovups xmm0, xmmword [rsp + 0x20]
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.180042f00
nop
lea rax, [rsp + 0x80]
cmp qword [rsp + 0x98], 0xf
cmova rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xe0]
mov edx, eax
lea rcx, [rsp + 0x100]
call fcn.180031f90
nop
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.18001f1a0
mov rdi, rax
mov rdx, rax
cmp qword [rax + 0x18], 7
jbe 0x180022cd1
mov rdx, qword [rax]
lea rcx, [rsi + 0x118]
cmp qword [rsi + 0x130], 7
jbe 0x180022ce9
mov rcx, qword [rsi + 0x118]
xor r8d, r8d
call fcn.180122e98
shr rax, 0x20
test eax, eax
jne 0x180023332
mov rdx, qword [rsp + 0xd8]
cmp rdx, 7
jbe 0x180022d48
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022d43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022d43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], 7
mov word [rsp + 0xc0], r12w
mov rdx, qword [rsp + 0x118]
cmp rdx, 7
jbe 0x180022db0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022dab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022dab
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
lea rcx, [rsi + 0x138]
call fcn.180032e70
test al, al
je 0x18002302b
lea rcx, [rsi + 0x138]
cmp qword [rsi + 0x150], 7
jbe 0x180022ddc
mov rcx, qword [rsi + 0x138]
mov r9d, 0xffffffff
mov r8d, 0xb
lea rdx, [rsp + 0xe0]
call fcn.180123268
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], r14
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
test eax, eax
je 0x180022e16
xor r14b, r14b
jmp 0x180022eb2
test byte [rsp + 0xf0], 0x10
jne 0x180022e32
cmp qword [rsp + 0xe8], 0
sete r14b
jmp 0x180022eb2
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x40], xmm0
lea rdx, [rsi + 0x138]
lea rcx, [rsp + 0x40]
call fcn.18001e480
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], r14
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
test eax, eax
jne 0x180022e73
cmp qword [rsp + 0x40], 0
jne 0x180022e73
mov r14b, 1
jmp 0x180022e76
xor r14b, r14b
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180022eb2
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180022eb2
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180022eb2
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
cmp dword [rsp + 0x20], 0
jne 0x180023344
test r14b, r14b
jne 0x18002302b
lea rax, [rsp + 0x120]
cmp qword [rsp + 0x138], 0xf
cmova rax, qword [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
call fcn.180122c38
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xe0]
mov edx, eax
lea rcx, [rsp + 0x100]
call fcn.180031f90
nop
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.18001f1a0
mov rdi, rax
mov rdx, rax
cmp qword [rax + 0x18], 7
jbe 0x180022f4b
mov rdx, qword [rax]
lea rcx, [rsi + 0x138]
cmp qword [rsi + 0x150], 7
jbe 0x180022f63
mov rcx, qword [rsi + 0x138]
xor r8d, r8d
call fcn.180122e98
shr rax, 0x20
test eax, eax
jne 0x18002335d
mov rdx, qword [rsp + 0xd8]
cmp rdx, 7
jbe 0x180022fc2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022fbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022fbd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], 7
mov word [rsp + 0xc0], r12w
mov rdx, qword [rsp + 0x118]
cmp rdx, 7
jbe 0x18002302b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023025
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023025
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
nop
mov rdx, qword [rsp + 0x138]
cmp rdx, 0xf
jbe 0x180023071
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002306c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002306c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x138], 0xf
mov byte [rsp + 0x120], 0
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x1800230d3
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800230ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800230ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
lea rbx, [rsi + 0x158]
lea rdx, [rsi + 0x118]
cmp qword [rdx + 0x18], 7
jbe 0x1800230eb
mov rdx, qword [rdx]
lea rcx, [rbx + 8]
call fcn.180005730
mov rdx, rax
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
xor r8d, r8d
test rdx, rdx
je 0x18002311d
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 0x180023128
test ecx, ecx
jne 0x180023384
jmp 0x1800230d3
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]
lea rbx, [rsi + 0x260]
lea rdx, [rsi + 0x138]
cmp qword [rdx + 0x18], 7
jbe 0x180023140
mov rdx, qword [rdx]
lea rcx, [rbx + 8]
call fcn.180005730
mov rdx, rax
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
xor r8d, r8d
test rdx, rdx
je 0x180023168
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 0x180023173
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 rbx, qword [rsi + 0x368]
mov ecx, 0x10
call fcn.180123a9c
mov qword [rsp + 0x40], rax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
mov rcx, rax
call fcn.180021ff0
nop
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.180020020
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1800231e8
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1800231de
lock xadd dword [rdx + 0xc], r15d
cmp r15d, 1
jne 0x1800231d9
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 8]
mov rcx, qword [rsp + 0x40]
mov edx, 0x10
call fcn.180123a60
mov rcx, qword [rsi + 0x368]
call fcn.180114db0
nop
jmp 0x1800231fc
mov qword [0x1801dd1b8], rsi
mov rdx, qword [rsp + 0xb8]
cmp rdx, 7
jbe 0x18002324f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023249
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023249
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180123a60
nop
mov rax, rsi
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.180123a40
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
mov r8, rbx
mov edx, eax
lea rcx, str.create_directory
call fcn.1800239b0
mov r8, rbx
lea rcx, str.status
call fcn.1800239b0
mov r8, rbx
mov edx, eax
lea rcx, str.remove
call fcn.1800239b0
mov r8, rbx
mov edx, eax
lea rcx, str.create_directory
call fcn.1800239b0
lea r8, [rsp + 0xa0]
lea rcx, str.status
call fcn.1800239b0
lea r8, [rsp + 0xa0]
mov edx, eax
lea rcx, str.remove
call fcn.1800239b0
lea r8, [rsp + 0xa0]
mov edx, eax
lea rcx, str.create_directory
call fcn.1800239b0
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, str.exists
call fcn.180032e10
lea r8, [rsp + 0xa0]
mov edx, eax
lea rcx, str.create_directory
call fcn.1800239b0
nop
mov r9, rdi
lea r8, [rsi + 0x118]
mov edx, eax
call fcn.18001e6f0
nop
lea r8, [rsi + 0x138]
lea rdx, [rsp + 0x20]
lea rcx, str.is_empty
call fcn.180032e10
nop
mov r9, rdi
lea r8, [rsi + 0x138]
mov edx, eax
call fcn.18001e6f0
nop
lea r8, [rsi + 0x118]
mov edx, eax
lea rcx, str.last_write_time
call fcn.1800239b0
lea r8, [rsi + 0x118]
lea rdx, [rsp + 0xe0]
lea rcx, str.exists
call fcn.180032e10
int3