Function at 0x104e619
Capabilities:
Create directory
Get file attributes

Disassembly:
mov eax, 0x110579e
call fcn.01003440
sub esp, 0x24
push ebx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov eax, dword [sym.imp.mmcbase.DLL_unsigned_int_mmcerror::SC::s_CallDepth]
push esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
inc dword [eax]
push edi
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x1c], ebx
xor edi, edi
inc edi
push 0x104e7c8
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], edi
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::SetFunctionName_unsigned_short_int_const__]
push 0x80070057
push dword [ebp + 0xc]
lea eax, [ebp - 0x30]
push eax
call fcn.0102f887
mov esi, dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::operator_class_mmcerror::SC_const__]
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call esi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
cmp dword [ebp - 0x1c], ebx
jne 0x106363c
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 dword [eax]
mov ecx, dword [ebp + 0x10]
push ebx
call fcn.01041239
push 0x5c
push dword [ebp + 0xc]
call dword [sym.imp.msvcrt.dll_wcsrchr]
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x1063669
inc edi
inc edi
xor eax, eax
mov ax, word [edi]
cmp ax, bx
je 0x1063684
push eax
call dword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
pop ecx
jne 0x1063671
cmp word [edi], bx
je 0x1063684
push dword [ebp + 0x10]
lea eax, [ebp - 0x30]
push eax
call fcn.0104e45b
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
cmp dword [ebp - 0x1c], ebx
jne 0x106369a
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x10636b2
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x10636bc
cmp eax, 0xffffffff
je 0x10636bc
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
push edi
call esi
push dword [0x104e7c0]
mov dword [ebp + 0xc], eax
call esi
mov esi, dword [ebp + 0xc]
cmp esi, eax
pop ecx
pop ecx
jle 0x104e76b
sub esi, eax
lea eax, [edi + esi*2]
push eax
push dword [0x104e7c0]
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x104e76b
inc esi
mov dword [ebp + 0xc], esi
mov ecx, dword [ebp + 0x10]
push 0x5c
call fcn.01014543
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push edi
call fcn.01014560
lea eax, [ebp - 0x20]
mov ecx, dword [ebp + 8]
push eax
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], bl
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc
cmp al, bl
jne 0x104e781
jmp 0x104e70c
cmp dword [ebp - 0x20], 3
jne 0x106364a
cmp dword [ebp - 0x1c], ebx
setl al
jmp 0x106364c
mov al, 1
cmp al, bl
je 0x104e690
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
mov dword [ebp - 0x10], edi
jmp 0x104e795
mov edi, dword [ebp + 0xc]
jmp 0x104e6b9
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
je 0x104e6d7
jmp 0x104e6c7
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x1c], 0x80070057
lea eax, [ebp - 0x20]
jmp 0x104e784
cmp dword [ebp - 0x20], 3
jne 0x10636ab
cmp dword [ebp - 0x1c], ebx
setl al
jmp 0x104e7b5
mov al, 1
jmp 0x104e7b5
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]
jmp 0x104e71a
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x10636c8
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 ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x104e732
lea ecx, [ebp - 0x20]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::FromLastError_void_]
jmp 0x104e784