Function at 0x18004b3c0
Capabilities:
Create directory

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4e8]
sub rsp, 0x5c0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x180090010]
xor rax, rsp
mov qword [rbp + 0x4a0], rax
mov r14, rdx
mov qword [rbp - 0x70], rdx
xor r15d, r15d
mov dword [rsp + 0x60], r15d
lea rdx, [rbp - 0x48]
lea rcx, str.C:Pegasus
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
test eax, eax
jne 0x18004bcdf
mov ebx, 0x4000
test word [rbp - 0x42], bx
je 0x18004bcdf
lea rdx, [rbp - 0x48]
lea rcx, str.C:Pegasuscfg
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
test eax, eax
jne 0x18004b44d
test word [rbp - 0x42], bx
jne 0x18004b45a
lea rcx, [0x180084fa0]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wmkdir]
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x180085110]
mov qword [rbp - 0x10], rax
lea rcx, [rbp + 0x98]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov esi, 0x80
mov dword [rsp + 0x60], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x10], rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x14], edx
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 8], rax
mov byte [rbp + 0x74], 0
mov byte [rbp + 0x69], 0
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x78], r15
mov rax, qword [0x180090dd8]
mov qword [rbp + 0x6c], rax
mov qword [rbp + 0x60], r15
mov r8, r14
lea rdx, str.C:Pegasuscfg_
lea rcx, [rsp + 0x68]
call fcn.18004d9d0
nop
cmp qword [rax + 0x18], 0x10
jb 0x18004b521
mov rax, qword [rax]
mov r8d, 2
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.18004d870
xor r8d, r8d
test rax, rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x10]
je 0x18004b554
add rcx, rax
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 0x18004b563
add rcx, rax
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]
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004b5a2
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b59d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004b59d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005c3a4
lea rdx, [rbp + 0x1d0]
call fcn.18004c210
nop
lea rdx, [rbp + 0x100]
call fcn.18004bfb0
nop
mov rdi, r15
lea rbx, [rbp + 0x1f4]
lea r13, str.true
movabs r12, 0x7fffffffffffffff
movss xmm6, dword [0x180085b18]
nop
cmp qword [rbp + 0x78], 0
je 0x18004b98c
lea rdx, [rbx - 0x24]
lea rcx, [rbp - 0x48]
call fcn.1800413a0
movss xmm0, dword [rbx - 4]
movss dword [rbp - 0x28], xmm0
movzx eax, byte [rbx]
mov byte [rbp - 0x24], al
ucomiss xmm0, xmm6
jp 0x18004b7f0
jne 0x18004b7f0
lea rdx, str.false
test al, al
cmovne rdx, r13
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], r15
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18004b640
lea rcx, [rbp - 0x68]
call fcn.180041f80
nop
mov rax, r12
mov rcx, qword [rbp - 0x38]
sub rax, rcx
cmp rax, 2
jb 0x18004bd75
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
mov qword [rsp + 0x30], 2
lea rax, [0x180084fdc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.18004e1c0
or esi, 0x20
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
lea rcx, [rsp + 0x68]
call fcn.1800414c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or esi, 0x40
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [rbp - 0x10]
call fcn.18004e4f0
lea rdx, [0x18004db30]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18004b75b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b756
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bca0
call fcn.18005c3a4
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004b7ab
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b7a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bca7
call fcn.18005c3a4
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x18004b951
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b94b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004b94b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cvtps2pd xmm1, xmm0
lea rcx, [rsp + 0x40]
call fcn.18004a9b0
or esi, 4
mov rax, r12
mov rcx, qword [rbp - 0x38]
sub rax, rcx
cmp rax, 2
jb 0x18004bd7b
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
mov qword [rsp + 0x30], 2
lea rax, [0x180084fdc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.18004e1c0
or esi, 8
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x68]
lea rcx, [rbp - 0x68]
call fcn.18004dfd0
or esi, 0x10
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
lea rcx, [rbp - 0x10]
call fcn.18004e4f0
lea rdx, [0x18004db30]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x18004b8c6
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b8c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcae
call fcn.18005c3a4
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004b913
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b90d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcb5
call fcn.18005c3a4
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18004b951
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b94b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcbc
call fcn.18005c3a4
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18004b98c
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004b987
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcd8
call fcn.18005c3a4
inc rdi
add rbx, 0x28
cmp rdi, 0x12
jl 0x18004b5e0
mov rdi, r15
lea rbx, [rbp + 0x124]
nop word [rax + rax]
cmp qword [rbp + 0x78], 0
je 0x18004bbe2
lea rdx, [rbx - 0x24]
lea rcx, [rbp - 0x48]
call fcn.1800413a0
movss xmm0, dword [rbx - 4]
movss dword [rbp - 0x28], xmm0
movzx eax, byte [rbx]
mov byte [rbp - 0x24], al
lea rdx, str.false
test al, al
cmovne rdx, r13
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], r15
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18004ba00
lea rcx, [rbp - 0x68]
call fcn.180041f80
nop
mov rax, r12
mov rcx, qword [rbp - 0x38]
sub rax, rcx
cmp rax, 2
jb 0x18004bd6f
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
mov qword [rsp + 0x30], 2
lea rax, [0x180084fdc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.18004e1c0
or esi, 2
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
lea rcx, [rsp + 0x68]
call fcn.1800414c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or esi, 1
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [rbp - 0x10]
call fcn.18004e4f0
lea rdx, [0x18004db30]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18004bb1b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bb16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcc3
call fcn.18005c3a4
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004bb6b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bb65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcca
call fcn.18005c3a4
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x18004bba7
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bba1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcd1
call fcn.18005c3a4
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18004bbe2
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bbdd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004bcd8
call fcn.18005c3a4
inc rdi
add rbx, 0x28
cmp rdi, 5
jl 0x18004b9b0
lea rcx, [rbp - 8]
call fcn.18004d7c0
test rax, rax
jne 0x18004bc1e
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x10]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
lea r9, [fcn.1800313d0]
mov edx, 0x28
lea r8d, [rdx - 0x23]
lea rcx, [rbp + 0x100]
call fcn.18005c2d4
nop
lea r9, [fcn.1800313d0]
mov edx, 0x28
lea r8d, [rdx - 0x16]
lea rcx, [rbp + 0x1d0]
call fcn.18005c2d4
nop
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x10], rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x14], edx
lea rcx, [rbp - 8]
call fcn.18004d360
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x98]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x18004bced
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, str.C:Pegasus_
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wmkdir]
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x18004bd23
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x18004bd1e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004bd68
mov rcx, r8
call fcn.18005c3a4
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
mov rcx, qword [rbp + 0x4a0]
xor rcx, rsp
call fcn.18005bea0
lea r11, [rsp + 0x5c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.18002ff30
nop
call fcn.18002ff30
nop
call fcn.18002ff30
int3