Function at 0x180090e70
Capabilities:
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x3f0
mov rax, qword [0x1802940c0]
xor rax, rsp
mov qword [rsp + 0x3e0], rax
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_AllocConsole]
xor ecx, ecx
call fcn.18010ebac
mov r8, rax
lea rdx, str.rgba
lea rcx, str.CONIN_
call fcn.18010ffe8
mov r14d, 1
mov ecx, r14d
call fcn.18010ebac
mov r8, rax
lea rdx, [0x1801caaf8]
lea rcx, str.CONOUT_
call fcn.18010ffe8
lea ecx, [r12 + 2]
call fcn.18010ebac
mov r8, rax
lea rdx, [0x1801caaf8]
lea rcx, str.CONOUT_
call fcn.18010ffe8
lea rcx, str.This_fucking_smoking_menu
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
lea edx, [r14 + 0x7f]
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
lea ecx, [r12 + 0x50]
call fcn.180101438
mov rbx, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r14d
mov dword [rax + 0xc], r14d
lea rax, vtable.std::_Ref_count_obj2_class_spdlog::sinks::wincolor_stdout_sink_struct_spdlog::details::console_mutex__.0
mov qword [rbx], rax
lea rdi, [rbx + 0x10]
mov rcx, rdi
call fcn.18009ca60
nop
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x100], xmm0
lea r8, [rsp + 0x68]
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.18009b980
nop
mov rcx, qword [rsp + 0x70]
lea esi, [r12 - 1]
test rcx, rcx
je 0x180090fdb
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, r14d
jne 0x180090fdb
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, r14d
jne 0x180090fdb
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov ecx, 0x1a8
call fcn.180101438
mov rdi, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r14d
mov dword [rax + 0xc], r14d
lea rax, vtable.std::_Ref_count_obj2_class_spdlog::sinks::basic_file_sink_class_std::mutex__.0
mov qword [rdi], rax
lea r15, [rdi + 0x10]
mov qword [rsp + 0x2e8], r12
mov qword [rsp + 0x328], r12
mov qword [rsp + 0x368], r12
mov qword [rsp + 0x3a8], r12
lea r9, [rsp + 0x2b0]
mov rcx, r15
call fcn.18009cbd0
nop
mov rcx, qword [rsp + 0x3a8]
test rcx, rcx
je 0x18009105b
mov rax, qword [rcx]
lea rdx, [rsp + 0x370]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x368]
test rcx, rcx
je 0x18009107c
mov rax, qword [rcx]
lea rdx, [rsp + 0x330]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x328]
test rcx, rcx
je 0x18009109d
mov rax, qword [rcx]
lea rdx, [rsp + 0x2f0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x2e8]
test rcx, rcx
je 0x1800910bf
mov rax, qword [rcx]
lea rdx, [rsp + 0x2b0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
nop
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x110], xmm0
mov rbx, qword [rsp + 0x48]
cmp rbx, qword [rsp + 0x50]
je 0x1800910fb
mov qword [rbx], r15
mov qword [rbx + 8], rdi
mov rcx, r12
mov qword [rsp + 0x60], rcx
add rbx, 0x10
mov qword [rsp + 0x48], rbx
jmp 0x180091117
lea r8, [rsp + 0x58]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.18009b980
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x180091151
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18009114c
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18009114c
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x48]
mov ecx, 0x128
call fcn.180101438
mov rdi, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r14d
mov dword [rax + 0xc], r14d
lea rax, vtable.std::_Ref_count_obj2_class_spdlog::logger_.0
mov qword [rdi], rax
lea r15, [rdi + 0x10]
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 6
mov qword [rsp + 0xa8], 0xf
mov eax, dword [str.logger]
mov dword [rsp + 0x90], eax
movzx eax, word [0x1801cab28]
mov word [rsp + 0x94], ax
mov byte [rsp + 0x96], 0
mov r9, rbx
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.18009cd80
nop
mov qword [0x1802b6fa8], r15
mov rbx, qword [0x1802b6fb0]
mov qword [0x1802b6fb0], rdi
test rbx, rbx
je 0x18009121f
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18009121f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18009121f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [0x1802b6fa8]
mov eax, r12d
xchg dword [rcx + 0x40], eax
mov rbx, qword [0x1802b6fa8]
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], 0xf
mov ecx, 0x20
call fcn.180101438
mov rdx, rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xc0], 0x1c
mov qword [rsp + 0xc8], 0x1f
movups xmm0, xmmword [str.__H:_M:_S_____l_s:______v]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1801cab40]
movsd qword [rax + 0x10], xmm0
mov eax, dword [0x1801cab48]
mov dword [rdx + 0x18], eax
mov byte [rdx + 0x1c], 0
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.180090540
mov rax, qword [0x1802b6fa8]
xchg dword [rax + 0x44], r14d
lea rcx, [rsp + 0x40]
call fcn.180091bc0
nop
jmp 0x1800912d0
lea rdx, str.This_fucking_smoking_menu_Initialize
lea rcx, [0x1802b1fc0]
call fcn.18007d500
lea rdx, str.1.0.0
mov rcx, rax
call fcn.18007d500
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.180079f10
movzx edx, al
mov rcx, rbx
call fcn.18007dcc0
mov rcx, rbx
call fcn.18007add0
lea rax, [0x1802b6bc8]
cmp qword [0x1802b6be0], 0xf
cmova rax, qword [0x1802b6bc8]
mov qword [rsp + 0x20], rax
mov rax, qword [0x1802b6bd8]
mov qword [rsp + 0x28], rax
call fcn.1800ffa78
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xe0]
mov edx, eax
lea rcx, [rsp + 0x250]
call fcn.18007b7f0
nop
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x20]
call fcn.180080220
test eax, eax
jne 0x180091594
lea rcx, [rsp + 0x250]
call fcn.18007d240
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1800913af
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x28]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x80], xmm0
test rdi, rdi
je 0x1800913cb
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x28]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xf0], xmm1
test rdi, rdi
je 0x180091416
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180091411
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180091411
mov rdi, qword [rsp + 0x28]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
jmp 0x180091416
mov rdi, qword [rsp + 0x28]
movabs r15, 0xd6bf94d5e57a42bd
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1800914eb
lea r14, [rax + 0x20]
lea rdx, [rsp + 0x270]
mov rcx, r14
call fcn.180081410
cmp qword [rax + 0x18], 0xf
jbe 0x18009144f
mov rax, qword [rax]
lea rdx, [rsp + 0x3b0]
mov rcx, rax
call fcn.18010e988
mov ebx, eax
lea rcx, [rsp + 0x270]
call fcn.180079a20
test ebx, ebx
jne 0x1800914d1
call fcn.180100500
mov rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub rdx, qword [rsp + 0x3d0]
cmp rdx, 0x15180
jle 0x1800914d1
lea rdx, [rsp + 0x290]
mov rcx, r14
call fcn.180081410
cmp qword [rax + 0x18], 0xf
jbe 0x1800914bc
mov rax, qword [rax]
mov rcx, rax
call fcn.180110340
lea rcx, [rsp + 0x290]
call fcn.180079a20
lea rcx, [rsp + 0x80]
call fcn.18007ed30
test eax, eax
jne 0x1800915ab
jmp 0x180091420
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x180091533
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18009152e
mov rbx, qword [rsp + 0x88]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18009152e
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x180091566
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180091566
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x180091566
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x3e0]
xor rcx, rsp
call fcn.180101410
lea r11, [rsp + 0x3f0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
ret
lea r8, [rsp + 0x250]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.18007eb60
nop
mov edx, eax
call fcn.18008bce0
int3