Function at 0x4196f4
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88c
mov eax, dword [0x5065d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp + 0x1c]
xor ebx, ebx
push 0x13c
mov dword [ebp - 0x88c], eax
lea eax, [ebp - 0x87c]
push ebx
push eax
mov dword [ebp - 0x880], ebx
call fcn.004ab5d0
add esp, 0xc
mov esi, 0x103
push esi
lea eax, [ebp - 0x31f]
push ebx
push eax
mov byte [ebp - 0x320], bl
call fcn.004ab5d0
add esp, 0xc
push esi
lea eax, [ebp - 0x217]
push ebx
push eax
mov byte [ebp - 0x218], bl
call fcn.004ab5d0
add esp, 0xc
push esi
lea eax, [ebp - 0x10f]
push ebx
push eax
mov byte [ebp - 0x110], bl
call fcn.004ab5d0
add esp, 0xc
mov edx, edi
call fcn.00476b3a
test eax, eax
je 0x419799
or eax, 0xffffffff
jmp 0x419b34
push edi
mov edi, 0x104
mov ecx, edi
lea eax, [ebp - 0x110]
call fcn.00476b6c
pop ecx
mov esi, eax
call fcn.004776b8
mov eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push ebx
push eax
call esi
lea eax, [ebp - 0x110]
push eax
call fcn.0041a6da
test eax, eax
pop ecx
jne 0x4197dd
push ebx
lea eax, [ebp - 0x110]
push eax
call esi
jmp 0x419791
push dword [ebp - 0x888]
mov ecx, edi
lea eax, [ebp - 0x218]
call fcn.00476b6c
pop ecx
mov esi, 0x4c9428
push esi
push dword [ebp - 0x888]
call fcn.004aa910
test eax, eax
pop ecx
pop ecx
jne 0x419825
push dword [ebp - 0x888]
call fcn.0041a6da
test eax, eax
pop ecx
je 0x419825
mov ecx, esi
lea ebx, [ebp - 0x218]
call fcn.004772f1
mov esi, 0x400001
lea eax, [ebp - 0x880]
push esi
push eax
lea ecx, [ebp - 0x218]
call fcn.0041b1e8
cmp eax, 0xffffffff
pop ecx
pop ecx
mov dword [ebp - 0x888], eax
je 0x419791
mov edi, 0x4c942c
lea ebx, [ebp - 0x218]
call fcn.00476cd3
mov edi, eax
neg edi
sbb edi, edi
neg edi
xor ebx, ebx
mov dword [ebp - 0x884], ebx
test byte [ebp - 0x880], 0x10
jne 0x419920
lea eax, [ebp - 0x854]
push eax
mov ecx, 0x104
lea eax, [ebp - 0x320]
call fcn.00476b6c
pop ecx
lea edx, [ebp - 0x110]
mov ecx, eax
call fcn.004770f6
mov ecx, dword [ebp - 0x888]
lea eax, [ebp - 0x880]
call fcn.0041b5ba
push dword [ebp + 0x10]
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x854]
call fcn.0041c30c
cmp eax, ebx
pop ecx
pop ecx
jne 0x4198d4
cmp dword [ebp + 0x14], ebx
je 0x4198d4
xor eax, eax
inc eax
cmp dword [ebp - 0x88c], ebx
je 0x4198fb
cmp eax, ebx
lea eax, [ebp - 0x320]
jle 0x4198f7
push ebx
push eax
lea eax, [ebp - 0x854]
push eax
call dword [ebp - 0x88c]
jmp 0x419913
push 1
jmp 0x4198e7
cmp eax, ebx
jle 0x419920
push ebx
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x854]
push eax
call fcn.00419fc7
add esp, 0xc
test eax, eax
je 0x419920
inc dword [ebp - 0x884]
lea eax, [ebp - 0x880]
push eax
mov eax, dword [ebp - 0x888]
call fcn.0041b539
test eax, eax
pop ecx
jne 0x41986e
cmp dword [ebp + 0x18], ebx
je 0x419b21
cmp edi, ebx
jne 0x419b21
mov edi, 0x103
push edi
lea eax, [ebp - 0x52f]
push ebx
push eax
mov byte [ebp - 0x530], bl
call fcn.004ab5d0
add esp, 0xc
push edi
lea eax, [ebp - 0x637]
push ebx
push eax
mov byte [ebp - 0x638], bl
call fcn.004ab5d0
add esp, 0xc
push edi
lea eax, [ebp - 0x73f]
push ebx
push eax
mov byte [ebp - 0x740], bl
call fcn.004ab5d0
add esp, 0xc
push edi
lea eax, [ebp - 0x427]
push ebx
push eax
mov byte [ebp - 0x428], bl
call fcn.004ab5d0
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
inc edi
mov ecx, edi
lea eax, [ebp - 0x530]
call fcn.00476b6c
pop ecx
call fcn.00476eac
mov ecx, 0x4c9428
mov ebx, eax
call fcn.004772f1
mov eax, dword [ebp - 0x888]
call fcn.0041b606
lea eax, [ebp - 0x880]
push esi
push eax
mov ecx, ebx
call fcn.0041b1e8
mov esi, eax
or eax, 0xffffffff
cmp esi, eax
pop ecx
pop ecx
je 0x419b34
test byte [ebp - 0x880], 0x10
je 0x419b08
lea eax, [ebp - 0x854]
push 0x4c9390
push eax
call fcn.004abab0
test eax, eax
pop ecx
pop ecx
je 0x419b08
lea eax, [ebp - 0x854]
push 0x4ce750
push eax
call fcn.004abab0
test eax, eax
pop ecx
pop ecx
je 0x419b08
lea eax, [ebp - 0x218]
push eax
mov ecx, edi
lea eax, [ebp - 0x638]
call fcn.00476b6c
pop ecx
lea eax, [ebp - 0x854]
push eax
lea ecx, [ebp - 0x638]
call fcn.00476fdf
pop ecx
lea eax, [ebp - 0x638]
push eax
mov ecx, edi
lea eax, [ebp - 0x428]
call fcn.00476b6c
pop ecx
call fcn.00476eac
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x428]
push eax
call fcn.004ab3bf
test eax, eax
pop ecx
pop ecx
je 0x419b08
lea eax, [ebp - 0x428]
call fcn.004772bc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x428]
push eax
call fcn.004ab3bf
test eax, eax
pop ecx
pop ecx
je 0x419b08
lea eax, [ebp - 0x110]
push eax
mov ecx, edi
lea eax, [ebp - 0x740]
call fcn.00476b6c
pop ecx
lea ecx, [ebp - 0x854]
mov ebx, eax
call fcn.004772f1
push dword [ebp - 0x88c]
mov eax, ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x638]
push eax
call fcn.004196f4
add esp, 0x18
add dword [ebp - 0x884], eax
lea eax, [ebp - 0x880]
push eax
mov eax, esi
call fcn.0041b539
test eax, eax
pop ecx
jne 0x4199fd
jmp 0x419b27
mov esi, dword [ebp - 0x888]
mov eax, esi
call fcn.0041b606
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aaeb5
leave
ret