Function at 0x1007ba90
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x1009ddcd
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100cd8ec]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov eax, dword [esp + 0x90]
xor edi, edi
mov esi, 0x10
or ebx, 0xffffffff
cmp dword [esp + 0xa4], esi
mov dword [esp + 0x68], 1
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
jae 0x1007bae8
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
push ecx
push eax
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x20]
push eax
push 0xfde9
call fcn.1007e450
add esp, 0x14
test eax, eax
je 0x1007bb24
lea ecx, [esp + 0x70]
mov byte [esp + 0x68], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x68], ebx
jmp 0x1007bcbf
mov ecx, dword [esp + 0x14]
push edi
push ecx
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test eax, eax
je 0x1007bb4f
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.MSVCR80.dll__wmkdir]
mov ebx, eax
add esp, 4
cmp ebx, edi
jne 0x1007bc96
cmp dword [esp + 0x88], esi
mov eax, dword [esp + 0x74]
jae 0x1007bb60
lea eax, [esp + 0x74]
push eax
call fcn.1007e620
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [esp + 0x18], esi
je 0x1007bc96
push esi
call fcn.1007e800
mov ebp, eax
add esp, 4
cmp ebp, edi
je 0x1007bc8d
lea ebx, [ebx]
mov edi, 0x100ad7b4
mov esi, ebp
mov ecx, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1007bc72
mov edi, 0x100a3d98
mov esi, ebp
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1007bc72
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x48]
call dword [sym.imp.MSVCP80.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 esi, eax
mov byte [esp + 0x68], 2
call fcn.1006a9b0
push eax
mov ecx, esi
call dword [sym.imp.MSVCP80.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__::append_char_const__]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call dword [sym.imp.MSVCP80.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__]
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0x88], 3
call dword [sym.imp.MSVCP80.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 esi, eax
push ebp
mov byte [esp + 0x88], 4
call fcn.1006a9b0
push eax
mov ecx, esi
call dword [sym.imp.MSVCP80.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__::append_char_const__]
mov ecx, eax
call dword [sym.imp.MSVCP80.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__::append_char_const__]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call dword [sym.imp.MSVCP80.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 byte [esp + 0xa0], 5
call fcn.1007bcf0
add esp, 0x38
lea ecx, [esp + 0x28]
mov ebx, eax
mov byte [esp + 0x68], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x44]
mov byte [esp + 0x68], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test ebx, ebx
jne 0x1007bc89
mov edx, dword [esp + 0x18]
push edx
call fcn.1007e800
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x1007bb90
mov esi, dword [esp + 0x18]
push esi
call fcn.1007e960
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1007bca8
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
lea ecx, [esp + 0x70]
mov byte [esp + 0x68], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x68], 0xffffffff
lea ecx, [esp + 0x8c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret