Function at 0x40b830
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41833a
mov eax, dword fs:[0]
push eax
sub esp, 0x43c
mov eax, dword [0x42a018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [sym.imp.opennurbs.dll_public:_wchar_t_const____thiscall_ON_wString::operator_wchar_t_const__void_const]
push 0
mov ebx, ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebx + 0x828]
call edi
push eax
call dword [sym.imp.MSVCR80.dll__wsplitpath]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x18]
push edx
lea esi, [ebx + 0x874]
push 0x41ad78
push esi
call dword [sym.imp.opennurbs.dll_public:_void___cdecl_ON_wString::Format_wchar_t_const__]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebx + 0x878]
push 0x41b75c
push ecx
call dword [sym.imp.opennurbs.dll_public:_void___cdecl_ON_wString::Format_wchar_t_const__]
add esp, 0x34
push 0
mov ecx, esi
call edi
push eax
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test eax, eax
je 0x40b8fa
mov ecx, esi
call edi
push eax
call dword [sym.imp.MSVCR80.dll__wmkdir]
add esp, 4
test eax, eax
jne 0x40ba92
mov byte [ebx + 0x871], 1
push 6
mov ecx, esi
call edi
push eax
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test eax, eax
jne 0x40ba92
mov dword [ebp - 0x420], eax
mov ecx, esi
mov dword [ebp - 4], eax
call edi
push eax
lea edx, [ebp - 0x420]
push edx
call fcn.00402a20
mov ecx, dword [ebp - 0x420]
test ecx, ecx
mov eax, dword [ebx + 0x664]
je 0x40b940
mov ecx, dword [ecx]
jmp 0x40b942
xor ecx, ecx
mov edx, dword [eax]
push 0
push ecx
push eax
mov eax, dword [edx + 0x2c]
call eax
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x428], eax
call sub.MFC80U.DLL_Ordinal_386
push str..
lea ecx, [ebp - 0x424]
push ecx
mov ecx, esi
mov byte [ebp - 4], 1
call dword [sym.imp.opennurbs.dll_public:_class_ON_wString___thiscall_ON_wString::operator_wchar_t_const__]
push 0
mov ecx, eax
mov byte [ebp - 4], 2
call edi
push eax
lea ecx, [ebp - 0x444]
call sub.MFC80U.DLL_Ordinal_2271
lea ecx, [ebp - 0x424]
mov esi, eax
mov byte [ebp - 4], 1
call dword [sym.imp.opennurbs.dll_public:_void___thiscall_ON_wString::destructor_void_]
lea ecx, [ebp - 0x41c]
call dword [sym.imp.opennurbs.dll_public:_void___thiscall_ON_wString::constructor_void_]
test esi, esi
mov byte [ebp - 4], 3
je 0x40ba5b
mov esi, dword [reloc.opennurbs.dll___4ON_wString__QAEABV0_PB_W_Z]
lea esp, [esp]
lea ecx, [ebp - 0x444]
call sub.MFC80U.DLL_Ordinal_2279
cmp byte [ebx + 0x870], 1
mov dword [ebp - 0x42c], eax
jne 0x40ba4e
lea edx, [ebp - 0x424]
push edx
lea ecx, [ebp - 0x444]
call sub.MFC80U.DLL_Ordinal_2745
mov byte [ebp - 4], 4
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x41c]
call esi
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 3
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [ebp - 0x41c]
call dword [sym.imp.opennurbs.dll_public:_int___thiscall_ON_wString::Length_void_const]
sub eax, 1
push eax
lea ecx, [ebp - 0x41c]
call dword [sym.imp.opennurbs.dll_public:_wchar_t____thiscall_ON_wString::operator___int_]
cmp word [eax], 0x2e
je 0x40ba4e
lea ecx, [ebp - 0x41c]
call edi
push eax
push ebx
call fcn.00401a10
lea ecx, [ebp - 0x41c]
call edi
push eax
call dword [sym.imp.MSVCR80.dll__wunlink]
add esp, 4
cmp dword [ebp - 0x42c], 0
jne 0x40b9c0
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 1
call dword [sym.imp.opennurbs.dll_public:_void___thiscall_ON_wString::destructor_void_]
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0
call sub.MFC80U.DLL_Ordinal_631
lea ebx, [ebp - 0x420]
call fcn.00402be0
cmp dword [ebp - 0x428], 0
jne 0x40ba92
mov al, 1
jmp 0x40ba94
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041620c
mov esp, ebp
pop ebp
ret