Function at 0x42fee0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cbcf1
mov eax, dword fs:[0]
push eax
sub esp, 0xcd4
mov eax, dword [0x4f6cdc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ebx, ecx
lea ecx, [ebp - 0xc38]
mov dword [ebp - 0xc20], edi
xor esi, esi
mov byte [ebp - 0xc11], 0
call fcn.00404370
mov dword [ebp - 4], esi
cmp dword [ebx + 4], esi
je 0x43050f
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov eax, dword [eax]
push esi
lea edx, [ebp - 0xc38]
push edx
push 0x4d2b18
push str.Configuration.icf
call eax
test eax, eax
jne 0x43050f
lea ecx, [ebp - 0xc38]
push ecx
mov ecx, ebx
call fcn.0042faa0
test al, al
je 0x43050f
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov byte [ebp - 0xc16], 0
call eax
test al, al
jne 0x42ffe4
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
test al, al
jne 0x42ffe4
push 0x3fe
lea edx, [ebp - 0x40e]
xor ecx, ecx
push esi
push edx
mov byte [ebp - 0xc16], 1
mov word [ebp - 0x410], cx
call fcn.0049eae0
add esp, 0xc
lea eax, [ebp - 0x410]
push eax
mov ecx, ebx
call fcn.0040a3b0
lea ecx, [ebp - 0x410]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x410]
push edx
call fcn.00430b20
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
mov byte [ebp - 0xc12], 0
call edx
test al, al
je 0x430024
mov eax, dword [ebx]
mov edx, dword [eax + 0xc]
lea ecx, [ebp - 0xc10]
push ecx
mov ecx, ebx
call edx
test al, al
je 0x430024
lea eax, [ebp - 0xc10]
push eax
mov ecx, ebx
call fcn.0042fcf0
test al, al
je 0x430024
mov byte [ebp - 0xc12], 1
push 0x3fe
lea edx, [ebp - 0x80e]
xor ecx, ecx
push esi
push edx
mov word [ebp - 0x810], cx
call fcn.0049eae0
lea edx, [ebp - 0x810]
add esp, 0xc
mov dword [ebp - 0xc1c], esi
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x430052
lea eax, [ebp - 0x810]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x430070
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x812], 0x5c
je 0x4300a6
lea edi, [ebp - 0x810]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x430093
mov eax, dword [0x4d3378]
mov dword [edi], eax
lea ecx, [ebp - 0xc1c]
push ecx
mov ecx, ebx
call fcn.0041c230
push eax
mov ecx, ebx
call fcn.00419be0
test al, al
je 0x43050f
mov eax, dword [ebp - 0xc1c]
cmp eax, esi
je 0x43050f
add eax, 0x1052
cmp eax, esi
je 0x43050f
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4300e1
lea edi, [ebp - 0x810]
sub eax, edx
add edi, 0xfffffffe
jmp 0x430100
mov cx, word [edi + 2]
add edi, 2
cmp cx, si
jne 0x430100
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x810]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x430125
mov edx, dword [0x4d3378]
mov dword [edi], edx
mov edx, dword [ebp - 0xc20]
lea eax, [ebp - 0x810]
mov ecx, eax
sub edx, ecx
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x430150
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x430172
lea edx, [ebp - 0x810]
push edx
call fcn.00430670
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x810]
push eax
call fcn.00430de0
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
test al, al
jne 0x4303ca
xor eax, eax
jmp 0x4301a0
movzx ecx, word [ebp + eax - 0x810]
mov word [ebp + eax - 0x410], cx
add eax, 2
test cx, cx
jne 0x4301a0
lea eax, [ebp - 0x410]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4301c1
mov ecx, dword [str.Packages_]
mov edx, dword [0x4d2ac4]
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [eax], ecx
mov ecx, dword [0x4d2ac8]
mov dword [eax + 4], edx
mov edx, dword [0x4d2acc]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d2ad0]
mov dword [eax + 0xc], edx
push 0
lea edx, [ebp - 0x410]
push edx
mov dword [eax + 0x10], ecx
call esi
xor eax, eax
lea esp, [esp]
movzx ecx, word [ebp + eax - 0x810]
mov word [ebp + eax - 0x410], cx
add eax, 2
test cx, cx
jne 0x430210
lea eax, [ebp - 0x410]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x430231
mov ecx, dword [0x4d2b18]
mov edx, dword [0x4d2b1c]
mov dword [eax], ecx
mov ecx, dword [0x4d2b20]
mov dword [eax + 4], edx
mov edx, dword [0x4d2b24]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d2b28]
mov dword [eax + 0xc], edx
mov dx, word [0x4d2b2c]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
push 0
lea eax, [ebp - 0x410]
push eax
call esi
xor eax, eax
jmp 0x430290
movzx ecx, word [ebp + eax - 0x810]
mov word [ebp + eax - 0x410], cx
add eax, 2
test cx, cx
jne 0x430290
lea edi, [ebp - 0x410]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4302b1
mov ecx, 9
mov esi, str.InstallerGraphic_
rep movsd dword es:[edi], dword [esi]
push 0
lea ecx, [ebp - 0x410]
push ecx
movsw word es:[edi], word [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor eax, eax
lea esp, [esp]
movzx ecx, word [ebp + eax - 0x810]
mov word [ebp + eax - 0x410], cx
add eax, 2
test cx, cx
jne 0x4302e0
lea edi, [ebp - 0x410]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x430301
push 0
lea edx, [ebp - 0x410]
mov ecx, 0xa
mov esi, str.InstallerLanguage_
push edx
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [ebp + eax - 0x810]
mov word [ebp + eax - 0x410], cx
add eax, 2
test cx, cx
jne 0x430330
lea edi, [ebp - 0x410]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x430351
push 0
lea eax, [ebp - 0x410]
mov ecx, 8
mov esi, str.InstallerEula_
push eax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [ebp + eax - 0x810]
mov word [ebp + eax - 0x410], cx
add eax, 2
test cx, cx
jne 0x430380
lea edi, [ebp - 0x410]
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4303a1
mov ecx, 0xf
mov esi, str.InstallerCommonCustomActions_
rep movsd dword es:[edi], dword [esi]
push 0
lea ecx, [ebp - 0x410]
push ecx
movsw word es:[edi], word [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov eax, dword [ebp - 0xc16]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov edx, dword [edx]
push eax
lea eax, [ebp - 0xc38]
push eax
push 0x4d2b18
push str.Configuration.icf
call edx
mov ecx, dword [ebx + 4]
test eax, eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
sete byte [ebp - 0xc11]
call edx
test al, al
jne 0x430416
mov ecx, dword [ebx + 4]
push 1
push 0x4d2b18
push str.Configuration.icf
call fcn.00430f40
cmp byte [ebp - 0xc16], 0
je 0x43048a
push 1
push 3
lea ecx, [ebp - 0xce0]
call fcn.004280f0
lea eax, [ebp - 0xcd0]
push eax
mov byte [ebp - 4], 1
call fcn.0041bfa0
push str.__These_are_automatically_generated_internal_settings.
push eax
call fcn.00419450
push eax
call fcn.0041bfa0
mov edx, dword [ebx]
mov edx, dword [edx + 0x30]
add esp, 0x10
lea eax, [ebp - 0xce0]
push eax
mov ecx, ebx
call edx
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xce0]
push eax
push 0x4d2b18
push str.Configuration.icf
call fcn.004336f0
lea ecx, [ebp - 0xce0]
mov byte [ebp - 4], 0
call fcn.00415c70
cmp byte [ebp - 0xc12], 0
je 0x43050f
push 1
push 3
lea ecx, [ebp - 0xce0]
call fcn.004280f0
lea ecx, [ebp - 0xcd0]
push str.__This_is_automatically_generated_configuration_file.
push ecx
mov byte [ebp - 4], 2
call fcn.00419450
push eax
call fcn.0041bfa0
lea edx, [ebp - 0xcd0]
push 0x4d44f8
push edx
call fcn.00419450
push eax
call fcn.0041bfa0
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
add esp, 0x18
lea ecx, [ebp - 0xce0]
push ecx
mov ecx, ebx
call edx
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0xce0]
push eax
push 0x4d2b18
push str.Configuration.icf
call fcn.00433470
lea ecx, [ebp - 0xce0]
mov byte [ebp - 4], 0
call fcn.00415c70
lea ecx, [ebp - 0xc38]
mov dword [ebp - 4], 0xffffffff
call fcn.00404390
mov al, byte [ebp - 0xc11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049f71b
mov esp, ebp
pop ebp
ret 4