Function at 0x18004b860
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 0x18004c18f
mov ebx, 0x4000
test word [rbp - 0x42], bx
je 0x18004c18f
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 0x18004b8ed
test word [rbp - 0x42], bx
jne 0x18004b8fa
lea rcx, [0x180084fc8]
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, [0x180085138]
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 rax, [rbp - 8]
mov qword [rbp - 0x78], rax
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]
nop
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 [0x180090d90]
mov qword [rbp + 0x6c], rax
mov qword [rbp + 0x60], r15
mov r8, r14
lea rdx, str.C:Pegasuscfg_
lea rcx, [rsp + 0x68]
call fcn.18004def0
nop
cmp qword [rax + 0x18], 0x10
jb 0x18004b9ca
mov rax, qword [rax]
mov r8d, 2
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.18004dd90
xor r8d, r8d
test rax, rax
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x10]
je 0x18004b9fd
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 0x18004ba0c
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 0x18004ba4b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ba46
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004ba46
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005c764
lea rdx, [rbp + 0x1d0]
call fcn.18004c6c0
nop
lea rdx, [rbp + 0x100]
call fcn.18004c460
nop
mov rdi, r15
lea rbx, [rbp + 0x1f4]
lea r13, str.true
movabs r12, 0x7fffffffffffffff
movss xmm6, dword [0x180085c88]
nop dword [rax + rax]
cmp qword [rbp + 0x78], 0
je 0x18004be3c
lea rdx, [rbx - 0x24]
lea rcx, [rbp - 0x48]
call fcn.180041770
movss xmm0, dword [rbx - 4]
movss dword [rbp - 0x28], xmm0
movzx eax, byte [rbx]
mov byte [rbp - 0x24], al
ucomiss xmm0, xmm6
jp 0x18004bca0
jne 0x18004bca0
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 0x18004baf0
lea rcx, [rbp - 0x68]
call fcn.180042350
nop
mov rax, r12
mov rcx, qword [rbp - 0x38]
sub rax, rcx
cmp rax, 2
jb 0x18004c225
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
mov qword [rsp + 0x30], 2
lea rax, [0x180085004]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.18004e6e0
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.180041890
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.18004ea10
lea rdx, [0x18004e050]
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 0x18004bc0b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bc06
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c150
call fcn.18005c764
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004bc5b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bc55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c157
call fcn.18005c764
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x18004be01
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bdfb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004bdfb
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.18004ae60
or esi, 4
mov rax, r12
mov rcx, qword [rbp - 0x38]
sub rax, rcx
cmp rax, 2
jb 0x18004c22b
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
mov qword [rsp + 0x30], 2
lea rax, [0x180085004]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.18004e6e0
or esi, 8
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x68]
lea rcx, [rbp - 0x68]
call fcn.18004e4f0
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.18004ea10
lea rdx, [0x18004e050]
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 0x18004bd76
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bd71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c15e
call fcn.18005c764
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004bdc3
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bdbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c165
call fcn.18005c764
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18004be01
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bdfb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c16c
call fcn.18005c764
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18004be3c
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004be37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c188
call fcn.18005c764
inc rdi
add rbx, 0x28
cmp rdi, 0x12
jl 0x18004ba90
mov rdi, r15
lea rbx, [rbp + 0x124]
nop word [rax + rax]
cmp qword [rbp + 0x78], 0
je 0x18004c092
lea rdx, [rbx - 0x24]
lea rcx, [rbp - 0x48]
call fcn.180041770
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 0x18004beb0
lea rcx, [rbp - 0x68]
call fcn.180042350
nop
mov rax, r12
mov rcx, qword [rbp - 0x38]
sub rax, rcx
cmp rax, 2
jb 0x18004c21f
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
mov qword [rsp + 0x30], 2
lea rax, [0x180085004]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.18004e6e0
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.180041890
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.18004ea10
lea rdx, [0x18004e050]
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 0x18004bfcb
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004bfc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c173
call fcn.18005c764
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18004c01b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c015
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c17a
call fcn.18005c764
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x18004c057
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c051
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c181
call fcn.18005c764
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18004c092
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c08d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c188
call fcn.18005c764
inc rdi
add rbx, 0x28
cmp rdi, 5
jl 0x18004be60
lea rcx, [rbp - 8]
call fcn.18004dce0
test rax, rax
jne 0x18004c0ce
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.180031ac0]
mov edx, 0x28
lea r8d, [rdx - 0x23]
lea rcx, [rbp + 0x100]
call fcn.18005c694
nop
lea r9, [fcn.180031ac0]
mov edx, 0x28
lea r8d, [rdx - 0x16]
lea rcx, [rbp + 0x1d0]
call fcn.18005c694
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.18004d800
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 0x18004c19d
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 0x18004c1d3
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x18004c1ce
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c218
mov rcx, r8
call fcn.18005c764
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
mov rcx, qword [rbp + 0x4a0]
xor rcx, rsp
call fcn.18005c260
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.1800305d0
nop
call fcn.1800305d0
nop
call fcn.1800305d0
int3