Function at 0x429af2
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
mov eax, dword [0x4a02f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x104], ebx
cmp dword [esi + 0x10], ebx
jbe 0x429b55
cmp dword [esi + 0x14], 8
jb 0x429b27
mov eax, dword [esi]
jmp 0x429b29
mov eax, esi
push ebx
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
cmp eax, ebx
je 0x429b47
cmp eax, 0x50
je 0x429b47
cmp eax, 0xb7
je 0x429b47
cmp eax, 5
jne 0x429b55
push esi
call fcn.00440379
pop ecx
mov al, 1
jmp 0x429ed7
push edi
push 7
pop esi
xor eax, eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb8], ebx
mov word [ebp - 0xc8], ax
call fcn.00417fc0
lea ecx, [ebp - 0x100]
call fcn.00417fc0
lea eax, [ebp - 0xe4]
push eax
push 5
call fcn.00413d60
pop ecx
pop ecx
mov edi, str.installer_tdsetup_setup_main.cc
test al, al
je 0x42a08a
lea eax, [ebp - 0x100]
push eax
push 4
call fcn.00413d60
pop ecx
pop ecx
test al, al
je 0x42a08a
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xe4]
call fcn.00401c50
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x100]
call fcn.00401c50
call fcn.0040ab90
test eax, eax
jg 0x429c24
push ebx
push 0x3f9
push edi
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x104], 1
call fcn.0040add0
add eax, 8
push str.FILE_EXE
push eax
call fcn.00403540
cmp dword [ebp - 0x28], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3c]
jae 0x429c1b
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
test byte [ebp - 0x104], 1
je 0x429c3f
and dword [ebp - 0x104], 0xfffffffe
lea ecx, [ebp - 0x1bc]
call fcn.0040ae20
call fcn.0040ab90
test eax, eax
jg 0x429c8c
or dword [ebp - 0x104], 2
push ebx
push 0x3fa
push edi
lea ecx, [ebp - 0x1bc]
call fcn.0040add0
add eax, 8
push str.DIR_TEMP
push eax
call fcn.00403540
cmp dword [ebp - 0x7c], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x90]
jae 0x429c83
lea ecx, [ebp - 0x90]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
test byte [ebp - 0x104], 2
je 0x429ca7
and dword [ebp - 0x104], 0xfffffffd
lea ecx, [ebp - 0x1bc]
call fcn.0040ae20
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xc8]
call fcn.00402710
cmp dword [ebp - 0x7c], 8
mov eax, dword [ebp - 0x90]
jae 0x429ccb
lea eax, [ebp - 0x90]
push dword [ebp - 0x80]
lea ecx, [ebp - 0x3c]
push ebx
push eax
call fcn.00410ed0
cmp eax, 0xffffffff
jne 0x42a071
xor eax, eax
push 0xffffffffffffffff
mov word [ebp - 0x58], ax
push ebx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x48], ebx
call fcn.00402710
lea eax, [ebp - 0x58]
push eax
call fcn.00420c10
pop ecx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00403920
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00402b70
xor eax, eax
push str.installer_setup.exe
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x9c], ebx
mov word [ebp - 0xac], ax
call fcn.00401fb0
push ebx
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004120e0
add esp, 0xc
test al, al
je 0x42a063
xor eax, eax
push 0x49b4f8
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x20], ax
call fcn.00401fb0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x3c]
push ebx
push eax
call fcn.00412100
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x20]
call fcn.00402b70
push 1
push 0xffffffffffffffff
push 0x49b76c
lea ecx, [ebp - 0x3c]
call fcn.00402130
cmp eax, 0xffffffff
jne 0x429e00
call fcn.0040ab90
test eax, eax
jg 0x429df7
or dword [ebp - 0x104], 4
push ebx
push 0x40a
push edi
lea ecx, [ebp - 0x1bc]
call fcn.0040add0
add eax, 8
push str.Error_path
push eax
call fcn.00403540
cmp dword [ebp - 0x28], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3c]
jae 0x429dee
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
test byte [ebp - 0x104], 4
jmp 0x429e7d
push eax
xor ecx, ecx
push ebx
lea eax, [ebp - 0x3c]
mov word [ebp - 0x20], cx
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ebx
call fcn.00402710
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00403920
push ebx
push 1
lea ecx, [ebp - 0x20]
call fcn.00402b70
call fcn.00448048
mov dword [ebp - 0x10c], eax
cmp eax, ebx
jne 0x429ee5
call fcn.0040ab90
test eax, eax
jg 0x429e76
or dword [ebp - 0x104], 8
push ebx
push 0x413
push edi
lea ecx, [ebp - 0x1bc]
call fcn.0040add0
add eax, 8
push str.Error__Distribution_is_empty
push eax
call fcn.00403540
pop ecx
pop ecx
test byte [ebp - 0x104], 8
je 0x429e8a
lea ecx, [ebp - 0x1bc]
call fcn.0040ae20
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0xac]
call fcn.00402b70
push ebx
push esi
lea ecx, [ebp - 0x90]
call fcn.00402b70
push ebx
push esi
lea ecx, [ebp - 0x3c]
call fcn.00402b70
lea ecx, [ebp - 0x100]
call fcn.00401f80
lea ecx, [ebp - 0xe4]
call fcn.00401f80
push ebx
push esi
lea ecx, [ebp - 0xc8]
call fcn.00402b70
xor al, al
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0046e0cd
leave
ret
xor eax, eax
push 0xffffffffffffffff
mov word [ebp - 0x58], ax
push ebx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x48], ebx
call fcn.00402710
xor eax, eax
mov edi, 0x49b76c
push edi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], ebx
mov word [ebp - 0x74], ax
call fcn.00401fb0
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
call dword [eax + 0x1c]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x74]
call fcn.00402600
push ebx
push 1
lea ecx, [ebp - 0x20]
call fcn.00402b70
push edi
lea ecx, [ebp - 0x74]
call fcn.00406d00
push str.Application
lea ecx, [ebp - 0x74]
call fcn.00406d00
xor eax, eax
push 0xffffffffffffffff
mov word [ebp - 0x20], ax
push ebx
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ebx
call fcn.00402710
lea eax, [ebp - 0x20]
push eax
call fcn.00420c10
pop ecx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x74]
call fcn.00403920
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x20]
call fcn.00402b70
push ebx
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004120e0
add esp, 0xc
test al, al
jne 0x42a015
mov byte [ebp - 0x105], bl
push ebx
push edi
lea ecx, [ebp - 0x74]
call fcn.00402b70
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.00402b70
push ebx
push edi
lea ecx, [ebp - 0xac]
call fcn.00402b70
push ebx
push edi
lea ecx, [ebp - 0x90]
call fcn.00402b70
push ebx
push edi
lea ecx, [ebp - 0x3c]
call fcn.00402b70
lea ecx, [ebp - 0x100]
call fcn.00401f80
lea ecx, [ebp - 0xe4]
call fcn.00401f80
push ebx
push edi
lea ecx, [ebp - 0xc8]
call fcn.00402b70
mov al, byte [ebp - 0x105]
jmp 0x429ed6
xor eax, eax
push 0x49b4f8
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x20], ax
call fcn.00401fb0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x58]
push ebx
push eax
call fcn.00412100
add esp, 0x10
push ebx
push edi
lea ecx, [ebp - 0x20]
call fcn.00402b70
lea eax, [ebp - 0x58]
push eax
call fcn.00440379
pop ecx
mov byte [ebp - 0x105], 1
jmp 0x429faf
push ebx
push 1
lea ecx, [ebp - 0xac]
call fcn.00402b70
push ebx
push 1
lea ecx, [ebp - 0x90]
call fcn.00402b70
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.00402b70
call fcn.0040ab90
cmp eax, 2
jg 0x42a104
or dword [ebp - 0x104], 0x10
push 2
push 0x42c
push edi
lea ecx, [ebp - 0x1bc]
call fcn.0040add0
push str._base_path:
add eax, 8
push str.Get_directory_failed._n
push eax
call fcn.00403540
pop ecx
pop ecx
push eax
call fcn.00403540
cmp dword [ebp - 0xb4], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
jae 0x42a0e0
lea ecx, [ebp - 0xc8]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
push dword [ebp - 0x10c]
push str._dirctroy:
push eax
call fcn.00403540
pop ecx
pop ecx
push eax
call fcn.00404340
pop ecx
pop ecx
test byte [ebp - 0x104], 0x10
je 0x42a118
lea ecx, [ebp - 0x1bc]
call fcn.0040ae20
xor edi, edi
mov byte [ebp - 0x105], bl
inc edi
jmp 0x429fe7