Function at 0x44c29d
Capabilities:
Create directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x47c144]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x218], eax
xor eax, eax
mov ebx, 0x208
push ebx
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
mov dword [ebp - 0x21c], esi
call fcn.004433d0
mov edi, 0x104
push edi
push dword [ebp - 0x218]
lea eax, [ebp - 0x210]
push eax
call fcn.0044c145
add esp, 0x18
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push dword [ebp - 0x218]
lea eax, [ebp - 0x210]
push eax
call fcn.0043fefd
pop ecx
pop ecx
test eax, eax
je 0x44c336
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043dff7
leave
ret 8
push 0x40ee44
push esi
call fcn.0043f2df
pop ecx
pop ecx
test eax, eax
je 0x44c35b
lea eax, [esi + 2]
push 0x40ee44
push eax
call fcn.0043f2df
pop ecx
pop ecx
test eax, eax
jne 0x44c323
cmp dword [ebp - 0x218], 0
je 0x44c323
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x44c369
sub eax, edx
sar eax, 1
lea esi, [eax + 1]
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebp - 0x220], esi
neg ecx
or ecx, eax
push ecx
call fcn.0043e603
pop ecx
mov dword [ebp - 0x214], eax
test eax, eax
je 0x44c323
lea ecx, [esi + esi]
push ecx
push 0
push eax
call fcn.004433d0
lea eax, [esi - 1]
push eax
push dword [ebp - 0x21c]
push esi
push dword [ebp - 0x214]
call fcn.0043ff95
add esp, 0x1c
push dword [ebp - 0x214]
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
test eax, eax
jne 0x44c3e7
push dword [ebp - 0x214]
call fcn.0043e687
pop ecx
jmp 0x44c323
push ebx
call fcn.0043e603
mov esi, eax
pop ecx
mov dword [ebp - 0x21c], esi
test esi, esi
je 0x44c3d6
push ebx
push 0
push esi
call fcn.004433d0
add esp, 0xc
push esi
mov esi, dword [0x47e0a4]
push edi
call esi
mov ebx, eax
cmp ebx, edi
jl 0x44c45a
push dword [ebp - 0x21c]
call fcn.0043e687
xor ecx, ecx
push 2
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043e603
mov dword [ebp - 0x21c], eax
lea eax, [ebx + ebx]
push eax
push 0
push dword [ebp - 0x21c]
call fcn.004433d0
add esp, 0x14
push dword [ebp - 0x21c]
push ebx
call esi
push dword [ebp - 0x214]
call dword [0x47e0dc]
test eax, eax
jne 0x44c486
push dword [ebp - 0x21c]
call fcn.0043e687
push dword [ebp - 0x214]
call fcn.0043e687
pop ecx
jmp 0x44c3e1
mov esi, dword [ebp - 0x218]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x44c491
sub eax, edx
push 2
sar eax, 1
xor ecx, ecx
pop edi
inc eax
mov edx, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043e603
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x44c4de
push dword [ebp - 0x21c]
call fcn.0043e687
xor esi, esi
pop ecx
push dword [ebp - 0x214]
call fcn.0043e687
pop ecx
mov eax, esi
jmp 0x44c325
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, edi
test cx, cx
jne 0x44c4e3
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push 0
push ebx
call fcn.004433d0
mov eax, esi
add esp, 0xc
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, edi
test dx, dx
jne 0x44c506
sub eax, ecx
sar eax, 1
push esi
inc eax
push eax
push ebx
call fcn.0043e613
mov eax, ebx
add esp, 0xc
and dword [ebp - 0x218], 0
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, edi
test dx, dx
jne 0x44c52c
sub eax, ecx
sar eax, 1
lea esi, [ebx + eax*2]
xor edi, edi
push ebx
push dword [ebp - 0x220]
xor eax, eax
push dword [ebp - 0x214]
mov word [esi], ax
call fcn.0043e613
add esp, 0xc
push dword [ebp - 0x214]
call dword [0x47e0dc]
mov word [esi], di
test eax, eax
je 0x44c585
mov dword [ebp - 0x218], 1
test di, di
je 0x44c58b
inc esi
inc esi
jmp 0x44c58b
cmp word [esi], 0x5c
je 0x44c58b
dec esi
dec esi
cmp esi, ebx
ja 0x44c57f
cmp dword [ebp - 0x218], 0
push 0x5c
pop edi
je 0x44c53f
cmp word [esi], 0
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x218], 1
je 0x44c66b
xor eax, eax
cmp dword [ebp - 0x218], eax
je 0x44c629
jmp 0x44c5c5
cmp word [esi], 0x5c
je 0x44c5ca
inc esi
inc esi
cmp word [esi], ax
jne 0x44c5bd
movzx edi, word [esi]
push ebx
push dword [ebp - 0x220]
xor eax, eax
push dword [ebp - 0x214]
mov word [esi], ax
call fcn.0043e613
add esp, 0xc
push 0
push dword [ebp - 0x214]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov word [esi], di
test eax, eax
je 0x44c622
test di, di
je 0x44c61a
inc esi
inc esi
movzx eax, word [esi]
test ax, ax
je 0x44c611
cmp ax, 0x5c
jne 0x44c61a
and dword [ebp - 0x218], 0
dec esi
dec esi
cmp word [esi], 0
jne 0x44c5b1
jmp 0x44c629
and dword [ebp - 0x218], 0
mov edi, dword [ebp - 0x224]
jmp 0x44c667
push ebx
push dword [ebp - 0x220]
xor eax, eax
push dword [ebp - 0x214]
mov word [esi], ax
call fcn.0043e613
add esp, 0xc
push dword [ebp - 0x214]
call dword [0x47e0d8]
cmp esi, edi
jbe 0x44c66b
cmp word [esi], 0x5c
je 0x44c667
dec esi
dec esi
cmp esi, edi
ja 0x44c65b
cmp esi, edi
ja 0x44c631
push dword [ebp - 0x21c]
call dword [0x47e0dc]
push dword [ebp - 0x21c]
call fcn.0043e687
push ebx
call fcn.0043e687
mov esi, dword [ebp - 0x218]
pop ecx
jmp 0x44c4ca