Function at 0x411af2
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x50cc
call fcn.0043f800
mov eax, dword [0x45b1d4]
xor eax, esp
mov dword [esp + 0x50c8], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [esp + 0x54], eax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x3c], ebx
lea edi, [esp + 0x40]
stosd dword es:[edi], eax
push 0x4018
stosd dword es:[edi], eax
lea eax, [esp + 0xb8]
push ebx
push eax
mov esi, ecx
mov dword [esp + 0xbc], ebx
call fcn.0042d8b0
add esp, 0xc
push 0x4c
lea eax, [esp + 0x68]
push ebx
push eax
mov dword [esp + 0x6c], ebx
call fcn.0042d8b0
or dword [esp + 0x64], 0xffffffff
xor eax, eax
lea edi, [esp + 0x2c]
stosd dword es:[edi], eax
add esp, 0xc
lea edi, [esp + 0x4c]
stosd dword es:[edi], eax
lea eax, [esp + 0x44]
push esi
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x24], fcn.004120a5
mov dword [esp + 0x28], 0x4120ba
mov dword [esp + 0x50], fcn.004120a5
mov dword [esp + 0x54], 0x4120ba
call fcn.00411f72
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x411e26
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0x41206a
mov dword [esp + 0x40], 0x41208b
mov dword [esp + 0xb0], 0x413dbf
mov dword [esp + 0xb4], 0x413e0e
mov dword [esp + 0xb8], 0x413e1c
mov dword [esp + 0xbc], 0x413e68
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xc4], ebx
call fcn.00415672
lea eax, [esp + 0x60]
call fcn.00412215
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0xb8]
lea ecx, [esp + 0x68]
call fcn.004138ca
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x411c4e
lea esi, [esp + 0x1c]
lea eax, [esp + 0x60]
call fcn.00412244
cmp edi, ebx
mov dword [esp + 0x10], edi
jne 0x411e26
cmp dword [esp + 0x7c], ebx
mov dword [esp + 0x14], ebx
jbe 0x411e17
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea edi, [ecx + eax]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx*4]
mov esi, dword [eax + 4]
sub esi, dword [eax]
mov dword [esp + 0x38], ebx
cmp esi, dword [esp + 0x34]
mov dword [esp + 0x30], ebx
jbe 0x411cbe
push dword [esp + 0x18]
call fcn.0042ff21
pop ecx
lea eax, [esi + esi]
push eax
push ebx
mov dword [esp + 0x3c], esi
call fcn.004120a5
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x18], eax
je 0x411e0f
push dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x64]
call fcn.00413217
pop ecx
push dword [esp + 0x18]
lea eax, [esp + 0x40d4]
push dword [esp + 0x54]
push str._s_s
push 0x800
push eax
call fcn.0042d92a
add esp, 0x14
mov word [esp + 0x50ce], bx
cmp byte [edi + 0x19], bl
jne 0x411d49
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x84]
call fcn.00413b8d
add esp, 0x24
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x411e17
cmp word [esp + 0x40d0], bx
mov dword [esp + 0x2c], ebx
je 0x411d98
lea esi, [esp + 0x40d0]
movzx eax, word [esi]
cmp ax, 0x2f
je 0x411d6d
cmp ax, 0x5c
jne 0x411d84
push ebx
lea eax, [esp + 0x40d4]
push eax
mov word [esi], bx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov word [esi], 0x5c
inc dword [esp + 0x2c]
mov esi, dword [esp + 0x2c]
lea esi, [esp + esi*2 + 0x40d0]
cmp word [esi], bx
jne 0x411d5e
cmp byte [edi + 0x19], bl
je 0x411dae
push ebx
lea eax, [esp + 0x40d4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x411df0
push dword [esp + 0x54]
lea ecx, [esp + 0x40d4]
call fcn.004118cd
movzx eax, byte [edi + 0x1c]
pop ecx
mov ecx, dword [esp + 0x24]
push edi
push eax
push dword [edi + 0x14]
movzx eax, byte [edi + 0x1d]
mov edi, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x48]
add eax, ecx
push eax
lea eax, [esp + 0x40e4]
push eax
call fcn.00411a59
add esp, 0x18
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
jne 0x411e17
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x28], 0x20
cmp eax, dword [esp + 0x7c]
jb 0x411c6c
jmp 0x411e17
mov dword [esp + 0x10], 1
push dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
call dword [esp + 0x28]
pop ecx
pop ecx
lea esi, [esp + 0x1c]
lea eax, [esp + 0x60]
call fcn.00412244
push dword [esp + 0x18]
call fcn.0042ff21
cmp dword [esp + 0x48], 0xffffffff
pop ecx
je 0x411e58
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x411e58
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x50d4]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0042d4ab
mov esp, ebp
pop ebp
ret