Function at 0x40fb00
Capabilities:
Create directory
Delete directory

Disassembly:
jmp 0x40fb00
mov eax, 0x18c0
call fcn.0041be90
mov eax, dword [0x44e1b4]
xor eax, esp
mov dword [esp + 0x18bc], eax
push esi
mov esi, dword [esp + 0x18c8]
test esi, esi
mov dword [esp + 4], esi
je 0x40fc3c
push 0x410
lea eax, [esp + 0x474]
push 0
push eax
mov dword [esp + 0x14], 0
call fcn.0041be10
xor eax, eax
push 0x410
push eax
lea ecx, [esp + 0x894]
push ecx
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], eax
call fcn.0041be10
push 0x208
lea edx, [esp + 0x284]
push 0
push edx
call fcn.0041be10
push 0x410
lea eax, [esp + 0x10c8]
push 0
push eax
call fcn.0041be10
push 0x410
lea ecx, [esp + 0xcc4]
push 0
push ecx
call fcn.0041be10
push 0x250
lea edx, [esp + 0x50]
push 0
push edx
call fcn.0041be10
add esp, 0x48
push 0x104
lea eax, [esp + 0x474]
push eax
push 0x3f6
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
lea ecx, [esp + 0x470]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, dword [0x478bf4]
mov dword [esp + 0xc], eax
jle 0x40fc54
mov eax, dword [0x486304]
push 0x100
lea edx, [esp + 0x10a4]
push edx
push 0x45c
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [0x478bf4]
push ecx
lea edx, [esp + 0x10a4]
push edx
lea eax, [esp + 0xc98]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push 0
lea ecx, [esp + 0xca0]
push ecx
push esi
call fcn.004010be
add esp, 0x18
xor eax, eax
pop esi
mov ecx, dword [esp + 0x18bc]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x18c0
ret
push ebx
push ebp
push edi
push 4
lea edx, [esp + 0x480]
push edx
lea eax, [esp + 0x274]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea ecx, [esp + 0x26c]
push ecx
call dword [sym.imp.USER32.dll_CharUpperW]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0x146
push 0x3f7
push esi
call edi
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call ebx
mov ebp, eax
xor esi, esi
test ebp, ebp
jbe 0x40fda1
lea esp, [esp]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x274]
push edx
push esi
push 0x148
push 0x3f7
push eax
call edi
push eax
call ebx
lea ecx, [esp + 0x274]
push ecx
lea edx, [esp + 0x270]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40fcf3
add esi, 1
cmp esi, ebp
jb 0x40fcb0
jmp 0x40fda1
mov eax, dword [esp + 0x18]
cmp eax, 3
jne 0x40fd09
lea ecx, [esp + 0x47c]
push ecx
jmp 0x40ffef
cmp word [esp + eax*2 + 0x47a], 0x5c
lea esi, [esp + eax*2 + 0x47a]
jne 0x40fd35
lea edx, [esp + 0x47c]
push esi
push edx
call fcn.00401113
add esp, 8
test eax, eax
je 0x40fd35
mov word [esi], 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x480]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x40fdbc
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea edx, [esp + 0x47c]
push edx
push 0x45e730
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x410
lea eax, [esp + 0x14c0]
push 0
push eax
call fcn.0041be10
add esp, 0xc
push 0x104
lea ecx, [esp + 0x14c0]
push ecx
lea edx, [esp + 0x484]
push edx
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x40fffa
mov eax, dword [esp + 0x10]
push 0x461
push 0
push eax
call fcn.004010be
add esp, 0xc
xor eax, eax
jmp 0x40ffff
mov edx, dword [0x486304]
push 0x100
lea ecx, [esp + 0x10b0]
push ecx
push 0x45d
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [esp + 0x47c]
push eax
lea ecx, [esp + 0x10b0]
push ecx
lea edx, [esp + 0xca4]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ebx, dword [esp + 0x1c]
add esp, 0xc
push 0x124
push 0x44f200
lea eax, [esp + 0xca4]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x41005b
push 0x435bfc
lea ecx, [esp + 0x480]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0
push 0
push 0
push 0
push 0x208
lea edx, [esp + 0x8a0]
push edx
push 4
lea eax, [esp + 0x288]
push eax
lea ecx, [esp + 0x49c]
push ecx
call fcn.0041c92d
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [esp + 0x8b2]
add esp, 0x24
mov edx, esi
push edx
call edi
mov eax, esi
push 0x5c
push eax
call fcn.00401262
mov ecx, eax
mov edx, esi
sub ecx, edx
sar ecx, 1
mov ebp, 1
add esp, 8
cmp ecx, ebp
jb 0x40febd
cmp word [esi], 0x2e
je 0x40febd
add dword [esp + 0x14], ebp
cmp word [eax + 2], 0
lea esi, [eax + 2]
je 0x40fed4
push 0x5c
push esi
call fcn.00401262
mov ecx, eax
sub ecx, esi
sar ecx, 1
add esp, 8
cmp ecx, ebp
jae 0x40fe94
push 0x461
push 0
push ebx
call fcn.004010be
add esp, 0xc
xor eax, eax
jmp 0x40ffff
mov esi, dword [esp + 0x14]
imul esi, esi, 0x208
push esi
call fcn.0041cc92
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x41005b
push esi
push 0
push ebp
call fcn.0041be10
lea esi, [esp + 0x89a]
add esp, 0xc
mov edx, esi
push edx
call edi
xor ebx, ebx
mov edi, ebp
lea ecx, [ecx]
push 0x5c
push esi
call fcn.00401262
push 0x208
mov esi, eax
lea eax, [esp + 0x280]
push 0
push eax
call fcn.0041be10
lea edx, [esp + 0x8a0]
mov ecx, esi
sub ecx, edx
sar ecx, 1
add esp, 0x14
add ecx, 3
push ecx
lea eax, [esp + 0x480]
push eax
lea ecx, [esp + 0x27c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x278]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x40ffb2
push 0
lea ecx, [esp + 0x278]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x410018
lea edx, [esp + 0x274]
push edx
call fcn.004012c1
add esp, 4
lea eax, [esp + 0x274]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
add ebx, 1
add edi, 0x208
jmp 0x40ffb9
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
add esi, 2
cmp word [esi], 0
jne 0x40ff10
push ebp
call fcn.0041cb40
add esp, 4
lea edx, [esp + 0x47c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [esp + eax*2 + 0x47a], 0
lea eax, [esp + 0x47c]
push eax
push 0x45e730
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, 1
mov ecx, dword [esp + 0x18cc]
pop edi
pop ebp
pop ebx
pop esi
xor ecx, esp
call fcn.0041bdf4
add esp, 0x18c0
ret
mov ecx, dword [esp + 0x10]
push 0x461
push 0
push ecx
call fcn.004010be
add esp, 0xc
test ebx, ebx
mov edi, ebx
jbe 0x410052
imul ebx, ebx, 0x208
add ebx, ebp
mov esi, ebx
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push esi
call ebx
sub edi, 1
sub esi, 0x208
test edi, edi
ja 0x410042
push ebp
call fcn.0041cb40
add esp, 4
xor eax, eax
jmp 0x40ffff