Function at 0x1085605
Capabilities:
Create directory
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
push edi
neg eax
sbb eax, eax
push 3
pop ecx
and eax, 0x7ff8ffa9
mov edi, 0x80070057
add eax, edi
mov dword [ebp - 8], ecx
lea ecx, [ebp - 8]
mov dword [ebp - 4], eax
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
je 0x108564a
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov dword [eax + 4], ecx
jmp 0x1085780
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push dword [eax]
mov ecx, ebx
push 0
call fcn.0102156a
push 0x5c
push dword [ebp + 0xc]
call dword [sym.imp.msvcrt.dll_wcsrchr]
mov esi, eax
test esi, esi
pop ecx
pop ecx
jne 0x1085677
mov esi, dword [ebp + 0xc]
jmp 0x1085679
inc esi
inc esi
xor eax, eax
mov ax, word [esi]
test ax, ax
je 0x108569f
push eax
call dword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
pop ecx
je 0x1085699
inc esi
inc esi
mov ax, word [esi]
test ax, ax
jne 0x1085683
cmp word [esi], 0
jne 0x10856b1
mov eax, dword [ebp + 8]
push 3
pop ecx
mov edx, edi
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x108577e
push ebx
lea eax, [ebp - 0x10]
push eax
call fcn.0108553b
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
mov eax, dword [eax + 4]
lea ecx, [ebp - 8]
mov dword [ebp - 4], eax
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
jne 0x1085770
mov eax, dword [ebx + 4]
test eax, eax
jne 0x10856e3
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x10856f3
cmp eax, 0xffffffff
jne 0x1085726
mov eax, dword [ebx + 4]
test eax, eax
jne 0x10856ff
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1085726
lea ecx, [ebp - 8]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::FromLastError_void_]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, ecx
jmp 0x108577e
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
push esi
call edi
push dword [0x100c0cc]
mov ebx, eax
call edi
cmp ebx, eax
pop ecx
pop ecx
jle 0x108575c
mov edi, ebx
sub edi, eax
lea eax, [esi + edi*2]
push eax
push dword [0x100c0cc]
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x108575c
lea ebx, [edi + 1]
mov ecx, dword [ebp + 0x10]
push 0x5c
call fcn.01083c62
mov ecx, dword [ebp + 0x10]
push ebx
push esi
call fcn.01083c7f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov dword [eax + 4], ecx
pop esi
pop ebx
pop edi
leave
ret 0xc