Function at 0x40f720
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48d3ab
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
push ebx
push esi
push edi
mov eax, dword [0x4bf454]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x1c]
call fcn.0044cc70
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1c]
mov eax, dword [edi + 0xec]
push ecx
lea ecx, [edi + 0xec]
call dword [eax + 0x18]
lea ecx, [ebp - 0x1c]
call fcn.0044d220
test al, al
je 0x40f790
push 0x30
push 0x4ab2c0
push str.Its_not_allowed_to_create_new_folder_here.
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [edi + 0xc]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00412bb0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x40f97d
mov eax, dword [ebp - 0x98]
mov byte [ebp - 0x94], 1
test eax, eax
je 0x40f7c7
mov eax, dword [eax + 4]
jmp 0x40f7c9
xor eax, eax
cmp dword [ebp - 0xa8], 0
movzx ecx, word [ebp - 0xa8]
jne 0x40f7df
mov ecx, dword [ebp - 0xac]
lea edx, [ebp - 0xb0]
push edx
push 0x426a20
push eax
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 1
jne 0x40f992
lea ecx, [ebp - 0x5c]
call fcn.0044cc70
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x5c]
call fcn.0044cd60
push 0x5c
lea ecx, [ebp - 0x1c]
call fcn.0044cf90
test al, al
jne 0x40f838
push 0x4ab224
lea ecx, [ebp - 0x1c]
call fcn.0044ced0
lea ecx, [ebp - 0x5c]
call fcn.00426960
push eax
lea ecx, [ebp - 0x1c]
call fcn.0044ced0
lea ecx, [ebp - 0x2c]
call fcn.0044cc70
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.00426960
push eax
lea eax, [ebp - 0x2c]
push str.Creating_local_folder__s
push eax
call fcn.0044d0b0
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00426960
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0
push 0x14a
push dword [edi + 0xe4]
call esi
push 0
push 0
push 0x14e
push dword [edi + 0xe4]
call esi
lea ecx, [ebp - 0x1c]
call fcn.00426960
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.0044cc70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
push esi
call dword [eax + 4]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.0044d220
test al, al
jne 0x40f8e3
push 0
lea ecx, [ebp - 0x3c]
call fcn.00426960
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x40f92c
lea ecx, [ebp - 0x1c]
call fcn.00426960
push eax
lea eax, [ebp - 0x2c]
push str.Error:_failed_to_create_local_folder__s
push eax
call fcn.0044d0b0
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00426960
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0
push 0x14a
push dword [edi + 0xe4]
call esi
push 0
push 0
push 0x14e
push dword [edi + 0xe4]
call esi
lea ecx, [ebp - 0x4c]
call fcn.0044cc70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4c]
mov eax, dword [edi + 0xec]
push ecx
lea ecx, [edi + 0xec]
call dword [eax + 0x18]
lea ecx, [ebp - 0x4c]
call fcn.00426960
push eax
mov ecx, edi
call fcn.00410ff0
lea ecx, [ebp - 0x4c]
call fcn.0044cd00
lea ecx, [ebp - 0x3c]
call fcn.0044cd00
lea ecx, [ebp - 0x2c]
call fcn.0044cd00
lea ecx, [ebp - 0x5c]
call fcn.0044cd00
jmp 0x40f992
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 0xa0]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0xb0], vtable.NewFolderDialog.0
call fcn.0044cd00
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x80], vtable.Control.0
mov dword [ebp - 0x8c], vtable.Control.0
mov dword [ebp - 0xb0], vtable.BaseDialog.0
test eax, eax
je 0x40f9d0
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x40f9e3
push eax
call fcn.004712ea
add esp, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xa4], vtable.Control.0
call fcn.0044cd00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret