Function at 0x411790
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x42a493
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x224
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x18], ecx
mov ebp, dword [esp + 0x248]
xor esi, esi
lea ecx, [esp + 0x244]
mov dword [esp + 0x23c], esi
mov dword [ebp], esi
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x244]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x244]
cmp dword [eax - 8], esi
jne 0x41180b
lea ecx, [esp + 0x244]
mov dword [esp + 0x23c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffffe
jmp 0x411a40
lea ecx, [esp + 0x14]
push 1
push ecx
lea ecx, [esp + 0x24c]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x435084
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x411852
push 0x435084
lea ecx, [esp + 0x248]
call fcn.0042851c
push 0x5c
lea ecx, [esp + 0x248]
call sub.MFC42.DLL_CString::ReverseFind
cmp eax, esi
jge 0x411885
lea ecx, [esp + 0x244]
mov dword [esp + 0x23c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffffd
jmp 0x411a40
lea edx, [esp + 0x14]
push eax
push edx
lea ecx, [esp + 0x24c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x248]
mov byte [esp + 0x240], 1
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x14]
mov byte [esp + 0x23c], 0
call sub.MFC42.DLL_CString::CString
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x25]
mov byte [esp + 0x24], 0
rep stosd dword es:[edi], eax
push esi
lea ecx, [esp + 0x248]
xor ebx, ebx
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [esp + 0x28]
push 0x435020
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x13], al
test ecx, ecx
mov dword [esp + 0x1c], ecx
jle 0x4119c0
cmp byte [esp + esi + 0x24], 0x5c
jne 0x4119b3
mov al, byte [esp + 0x13]
test al, al
jne 0x41192d
mov byte [esp + 0x13], 1
jmp 0x4119b3
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x12c]
push esi
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x28]
lea edx, [esp + 0x130]
push ecx
push edx
stosb byte es:[edi], al
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
test ebx, ebx
jne 0x41198a
push ebp
push ecx
lea eax, [esp + 0x134]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.004284f2
mov ecx, dword [esp + 0x20]
call fcn.004115a0
test eax, eax
jne 0x4119ae
cmp dword [ebp], 0xb7
jne 0x411a08
jmp 0x4119ae
lea ecx, [esp + 0x12c]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x4119ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
mov dword [ebp], eax
jne 0x411a08
mov ecx, dword [esp + 0x1c]
inc ebx
inc esi
cmp esi, ecx
jl 0x411910
test ebx, ebx
jne 0x4119e7
push ebp
push ecx
lea edx, [esp + 0x24c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x20]
call fcn.004115a0
test eax, eax
jne 0x411a24
mov eax, dword [ebp]
jmp 0x411a01
lea eax, [esp + 0x24]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x411a24
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp], eax
cmp eax, 0xb7
je 0x411a24
lea ecx, [esp + 0x244]
mov dword [esp + 0x23c], 0xffffffff
call sub.MFC42.DLL_CString::CString
or eax, 0xffffffff
jmp 0x411a40
lea ecx, [esp + 0x244]
mov dword [esp + 0x23c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x234]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x230
ret 8