Function at 0x40805f
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449f44
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3e4
mov ecx, dword [ebp + 8]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::empty_void_const]
and eax, 0xff
test eax, eax
je 0x408096
xor al, al
jmp 0x4084d7
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
sub eax, 1
push eax
mov ecx, dword [ebp + 8]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_const]
movsx ecx, byte [eax]
cmp ecx, 0x5c
je 0x40811c
lea edx, [ebp - 0x368]
push edx
push 0x4533f0
lea ecx, [ebp - 0x364]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x3d0]
push ecx
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x364]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x320]
push ecx
lea edx, [ebp - 0x344]
push edx
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
add esp, 0x14
lea eax, [ebp - 0x37c]
push eax
push 0x4533f4
lea ecx, [ebp - 0x378]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d8], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x3d8]
push edx
lea eax, [ebp - 0x390]
push eax
lea ecx, [ebp - 0x344]
push ecx
lea ecx, [ebp - 0x38c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov dword [ebp - 0x3dc], eax
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3e0], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x3e0]
push eax
lea ecx, [ebp - 0x330]
push ecx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x38c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x378]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea edx, [ebp - 0x394]
push edx
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x330]
push ecx
call fcn.00407efd
add esp, 4
and eax, 0xff
test eax, eax
jne 0x408264
mov byte [ebp - 0x398], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0x398]
jmp 0x4084d7
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::empty_void_const]
and eax, 0xff
test eax, eax
je 0x4082be
mov byte [ebp - 0x39c], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0x39c]
jmp 0x4084d7
push 0
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx edx, byte [eax]
cmp edx, 0x5c
jne 0x4082ed
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
push eax
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::erase_char__]
push 0
push 0x4533f8
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_first_of_char_const___unsigned_int_const]
mov dword [ebp - 0x120], eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [eax]
je 0x408497
mov edx, dword [ebp - 0x120]
push edx
push 0
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x120]
add ecx, 1
push ecx
push 0
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::erase_unsigned_int__unsigned_int_]
lea edx, [ebp - 0x3b0]
push edx
push 0x4533fc
lea ecx, [ebp - 0x3ac]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e8], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x3e8]
push ecx
lea edx, [ebp - 0x354]
push edx
lea eax, [ebp - 0x3c0]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f0], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x3f0]
push edx
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x3ac]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [ebp - 0x330]
push eax
call fcn.00407efd
add esp, 4
and eax, 0xff
test eax, eax
jne 0x408469
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
test eax, eax
je 0x408469
mov byte [ebp - 0x3c4], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x354]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0x3c4]
jmp 0x4084d7
push 0
push 0x453400
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_first_of_char_const___unsigned_int_const]
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x354]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x408306
mov byte [ebp - 0x3c8], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x330]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x340]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [ebp - 0x3c8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret