Function at 0x414993
Capabilities:
Create directory

Disassembly:
push 0xf8
mov eax, 0x4399c9
call fcn.004368bd
mov dword [ebp - 0xd4], edx
mov esi, ecx
mov dword [ebp - 0xc4], esi
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x104]
call fcn.004187c6
xor ebx, ebx
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
inc eax
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], al
call fcn.00415184
test al, al
je 0x4149f0
xor eax, eax
inc eax
jmp 0x414d7f
xor edx, edx
mov ecx, esi
call fcn.00415132
test al, al
je 0x414a22
test edi, edi
je 0x414d7d
mov eax, dword [edi]
push 0x440ef8
push 0x3039
push str._IsFolder
push edi
call dword [eax + 8]
add esp, 0x10
jmp 0x414d7d
push esi
lea ecx, [ebp - 0xc0]
call fcn.00404232
push ecx
lea edx, [ebp - 0x104]
call fcn.00418fed
pop ecx
test al, al
jne 0x414a6c
test edi, edi
je 0x414d7d
push esi
lea ecx, [ebp - 0xc0]
call fcn.00404232
mov eax, ecx
push eax
push 0x3039
push str._GetPathType
mov ecx, edi
call fcn.004176f4
jmp 0x414d7d
cmp dword [ebp - 0x104], 3
jne 0x414ab1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xfc]
call fcn.004093fd
push 0x445124
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.00406688
pop ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.004040b2
lea ecx, [ebp - 0x40]
call fcn.00404129
lea ecx, [ebp - 0x58]
jmp 0x414b8e
cmp dword [ebp - 0x104], 4
jne 0x414d53
cmp dword [ebp - 0xf0], 0
je 0x414d31
cmp dword [ebp - 0xe8], 0
je 0x414d31
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xec]
call fcn.004093fd
mov esi, eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0xf4]
call fcn.004093fd
push eax
mov edx, 0x44513c
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb8]
call fcn.0040672e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa0]
mov edx, eax
mov dword [esp], 0x4450e4
call fcn.00406688
push esi
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.0040bc52
push 0x4450e4
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x58]
call fcn.00406688
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
call fcn.004040b2
lea ecx, [ebp - 0x58]
call fcn.00404129
lea ecx, [ebp - 0x40]
call fcn.00404129
lea ecx, [ebp - 0xa0]
call fcn.00404129
lea ecx, [ebp - 0xb8]
call fcn.00404129
lea ecx, [ebp - 0x70]
call fcn.00404129
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
call fcn.00404129
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
sub eax, ecx
sar eax, 3
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x414d87
lea eax, [ebp - 0x70]
push eax
call fcn.004093fd
push 0x4450e4
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x88]
call fcn.00406688
pop ecx
mov byte [ebp - 4], 9
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x414bf0
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x28]
call fcn.004041d4
lea ecx, [ebp - 0x88]
call fcn.00404129
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.00404129
lea ecx, [ebp - 0x28]
call fcn.00415184
test al, al
jne 0x414caf
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
cmovae ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.00419d1c
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
mov esi, eax
call fcn.00404129
test esi, esi
je 0x414c7b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x414caf
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00407fff
jmp 0x414caf
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x414c9a
mov ecx, dword [ebp - 0xc4]
call fcn.00415184
test al, al
je 0x414d81
jmp 0x414caf
cmp eax, 0xb7
jne 0x414d0b
xor edx, edx
lea ecx, [ebp - 0x28]
call fcn.00415132
test al, al
jne 0x414cdc
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
inc eax
add ecx, 8
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xcc], ecx
cmp eax, dword [ebp - 0xbc]
jb 0x414bc2
jmp 0x414d87
test edi, edi
je 0x414d81
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xc0]
call fcn.00404232
mov eax, ecx
push eax
push 0x3039
push str._IsAFolder
mov ecx, edi
call fcn.004176f4
jmp 0x414d81
test edi, edi
je 0x414d81
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xc0]
call fcn.00404232
mov eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateDirectory
jmp 0x414d02
test edi, edi
je 0x414d7d
push esi
lea ecx, [ebp - 0xc0]
call fcn.00404232
mov eax, ecx
push eax
push 0x3039
push str._GetUncShare
jmp 0x414a60
test edi, edi
je 0x414d7d
push esi
lea ecx, [ebp - 0xc0]
call fcn.00404232
mov eax, ecx
mov ecx, edi
push eax
push dword [ebp - 0x104]
push 0x303a
push str._GetPathType
call fcn.00417606
mov al, bl
mov bl, al
mov byte [ebp - 0xd0], bl
lea ecx, [ebp - 0x28]
call fcn.00404129
lea ecx, [ebp - 0xe4]
call fcn.0040bc30
mov al, byte [ebp - 0xd0]
call fcn.00436878
ret