Function at 0x41a2a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48d323
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
push edi
push dword [ebp + 8]
mov edi, ecx
lea ecx, [ebp - 0x6c]
call fcn.004049f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x54]
push 1
xor eax, eax
mov dword [ebp - 0x44], 0
push 0x4a2f98
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.00404ab0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
push 1
xor eax, eax
mov dword [ebp - 0x2c], 0
push 0x4a30fc
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
call fcn.00404ab0
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00432e80
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x28]
cmp edx, 8
jb 0x41a373
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a369
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a59e
push edx
push ecx
call fcn.0044d7ec
add esp, 8
xor eax, eax
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp edx, 8
jb 0x41a3c4
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a3ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a59e
push edx
push ecx
call fcn.0044d7ec
add esp, 8
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00432860
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x41a50d
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x24]
cmp edx, 8
push esi
mov esi, dword [ebp - 0x24]
cmovae eax, esi
cmp word [eax + ecx*2 - 2], 0x5c
jne 0x41a414
dec ecx
lea eax, [ebp - 0x24]
cmp edx, 8
mov dword [ebp - 0x14], ecx
cmovae eax, esi
xor edx, edx
mov word [eax + ecx*2], dx
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x24]
cmp edx, 8
lea eax, [ebp - 0x24]
push 0
cmovae eax, esi
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov esi, eax
test esi, esi
je 0x41a50c
cmp esi, 0xb7
je 0x41a50c
push 1
push 3
lea ecx, [ebp - 0x11c]
call fcn.0041af50
mov edx, str.Error_2050___Unable_to_create_directory_path_
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10c]
call fcn.0041f7f0
cmp dword [ebp - 0x10], 8
lea ecx, [ebp - 0x24]
push dword [ebp - 0x14]
cmovae ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.00421160
add esp, 0xc
mov edx, str._error_code_
mov ecx, eax
push esi
call fcn.0041f7f0
mov ecx, eax
call fcn.0041b380
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0041aea0
push 1
push 0x3af
push eax
push 0xffffffffffffffff
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.0040c5f0
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x41a4eb
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a4e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a5a3
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov eax, dword [edi + 0x4e4]
mov ecx, 3
cmp eax, ecx
cmovl eax, ecx
lea ecx, [ebp - 0x11c]
mov dword [edi + 0x4e4], eax
call fcn.0040adc0
pop esi
mov edx, dword [ebp - 0x10]
pop edi
cmp edx, 8
jb 0x41a544
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a53a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a5a8
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov edx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 7
mov word [ebp - 0x24], ax
cmp edx, 8
jb 0x41a58e
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41a584
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a5a8
push edx
push ecx
call fcn.0044d7ec
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
call fcn.00468a1a
call fcn.00468a1a
call fcn.00468a1a
int3