Function at 0x434520
Capabilities:
Get common file path
Get disk size

Disassembly:
push ebp
sub esp, 0x210
lea ebp, [esp - 4]
mov eax, dword [0x664e94]
xor eax, ebp
mov dword [ebp + 0x210], eax
push 0x90
mov eax, 0x5bd11b
call fcn.0058f985
mov esi, ecx
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x20]
call fcn.0040141e
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x24]
call fcn.0040141e
mov byte [ebp - 4], 1
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x38]
call fcn.0040141e
mov byte [ebp - 4], 2
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x10]
call fcn.0040141e
mov byte [ebp - 4], 3
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040141e
mov byte [ebp - 4], 4
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x14]
call fcn.0040141e
mov byte [ebp - 4], 5
mov dword [ebp - 0x50], ebx
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x34]
call fcn.0040141e
fldz
fstp qword [ebp - 0x40]
mov byte [ebp - 4], 6
fld qword [0x5e7570]
mov dword [ebp - 0x30], ebx
fstp qword [ebp - 0x6c]
cmp dword [esi + 0x54], ebx
je 0x434cf6
cmp dword [esi + 0x158], ebx
je 0x434cf6
lea eax, [ebp]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x434674
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov dword [ebp - 0x50], eax
cmp eax, ebx
je 0x43465c
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
shrd eax, ecx, 0x14
shr ecx, 0x14
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
push ecx
push ecx
fild qword [ebp - 0x40]
lea eax, [ebp]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fstp qword [esp]
push eax
push str.Temp_Folder_Information_for:__s_size:__.2f
jmp 0x43466c
fldz
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp]
push eax
push str.Cannot_get_disk_space:__s_size:__.2f
call fcn.004437b6
add esp, 0x10
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x48], eax
cmp eax, ebx
je 0x434ac8
mov edi, 0x5d45c0
lea eax, [ebp - 0x48]
push eax
lea ecx, [esi + 0x48]
call fcn.00401b20
push eax
lea ecx, [ebp - 0x20]
call fcn.0040227d
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push str.Setup._s
push eax
call fcn.00401518
push dword [ebp - 0x20]
lea eax, [ebp - 0x38]
push str.InstallActions._s.Install
push eax
call fcn.00401518
mov eax, dword [esi + 0xd8]
mov ecx, dword [eax + 0x1f0]
add esp, 0x18
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x20]
call fcn.0041b076
test eax, eax
je 0x434abf
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x434abd
lea eax, [ebx + 0x14]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040227d
mov eax, dword [ebp - 0x2c]
cmp dword [eax - 0xc], 0
je 0x434740
and dword [ebp - 0x18], 0
lea edx, [ebp - 0x18]
push edx
lea ecx, [esi + 0x190]
push eax
call fcn.0041b076
push dword [ebp - 0x2c]
lea ecx, [esi + 0x190]
test eax, eax
je 0x434735
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
call fcn.00434340
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
jmp 0x434740
call fcn.00434340
mov dword [eax], 1
push edi
lea ecx, [ebp - 0x70]
call fcn.004039d7
push str.PackageName
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.004039d7
mov ecx, dword [esi + 0x158]
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 8
call fcn.004583d0
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
push dword [ebp - 0x14]
lea eax, [ebp - 0x80]
push eax
mov ecx, esi
call fcn.00426cdb
mov eax, dword [eax]
lea ecx, [ebx + 0x34]
push eax
mov byte [ebp - 4], 9
call fcn.00401287
mov ecx, dword [ebp - 0x80]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
push edi
lea ecx, [ebp - 0x74]
call fcn.004039d7
push str.Cost
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xa
call fcn.004039d7
mov ecx, dword [esi + 0x158]
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0xb
call fcn.004583d0
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
mov eax, dword [ebp - 0x34]
cmp dword [eax - 0xc], 0
je 0x434833
push eax
call fcn.00592c94
fcom qword [ebp - 0x6c]
pop ecx
fnstsw ax
test ah, 0x41
jne 0x434831
fstp qword [ebp - 0x6c]
jmp 0x434833
fstp st(0)
mov ecx, dword [esi + 0xdc]
call fcn.00401b92
push eax
lea ecx, [ebp - 0x10]
call fcn.00401287
cmp dword [esi + 0x10c], 0
je 0x434886
push 0x5d4dc0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.004021b5
add esp, 0xc
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0xc
call fcn.0040202a
mov ecx, dword [ebp - 0x78]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
mov eax, dword [ebx + 0x34]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.0040202a
push 4
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x10]
call fcn.00403ded
push str..msi
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00401bc4
mov ecx, dword [ebp - 0x84]
neg eax
sbb al, al
inc al
add ecx, 0xfffffff0
mov byte [ebp - 0x25], al
mov byte [ebp - 4], 6
call fcn.00401019
cmp byte [ebp - 0x25], 0
je 0x4349d9
push dword [ebp - 0x10]
lea ecx, [ebx + 0x3c]
call fcn.00401287
push edi
lea ecx, [ebp - 0x58]
call fcn.004039d7
push str.Transform
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xe
call fcn.004039d7
mov ecx, dword [esi + 0x158]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 0xf
call fcn.004583d0
mov ecx, dword [ebp - 0x4c]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x434abd
mov ecx, dword [esi + 0xdc]
call fcn.00401b92
push eax
lea ecx, [ebp - 0x10]
call fcn.00401287
cmp dword [esi + 0x10c], 0
je 0x434999
push 0x5d4dc0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004021b5
add esp, 0xc
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0x10
call fcn.0040202a
mov ecx, dword [ebp - 0x7c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
push dword [ebp - 0x14]
lea eax, [ebp + 0x208]
push eax
mov ecx, esi
call fcn.00426cdb
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
call fcn.00402301
mov ecx, dword [ebp + 0x208]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
push dword [ebp - 0x10]
lea ecx, [ebx + 0x48]
call fcn.00401287
jmp 0x434abd
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push str.Property._s
push eax
call fcn.00401518
add esp, 0xc
push edi
lea ecx, [ebp - 0x54]
call fcn.004039d7
push 0x5d831c
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.004039d7
mov ecx, dword [esi + 0x158]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 0x13
call fcn.004583d0
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
push dword [ebp - 0x14]
lea ecx, [ebx + 0x20]
call fcn.00401287
push 0x5e7444
lea ecx, [ebp - 0x5c]
call fcn.004039d7
push str.InstallCost
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x14
call fcn.004039d7
mov ecx, dword [esi + 0x158]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 0x15
call fcn.004583d0
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x5c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
mov eax, dword [ebx]
push dword [ebp - 0x14]
add eax, 0x24
mov dword [ebp - 0x18], eax
call fcn.00592c94
mov eax, dword [ebp - 0x18]
push ecx
mov ecx, ebx
fstp qword [esp]
call dword [eax]
xor ebx, ebx
cmp dword [ebp - 0x48], ebx
jne 0x434687
cmp dword [ebp - 0x50], ebx
je 0x434ca4
fld qword [ebp - 0x40]
fcomp qword [ebp - 0x6c]
fnstsw ax
test ah, 5
jp 0x434ca4
cmp byte [esi + 0x16d], 0
jne 0x434ca4
mov ecx, dword [esi + 0xdc]
call fcn.00401b44
cmp eax, 3
je 0x434ca4
mov ecx, dword [esi + 0xdc]
call fcn.00401b44
cmp eax, 2
je 0x434ca4
fld qword [ebp - 0x6c]
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp]
fld qword [ebp - 0x40]
fstp qword [esp]
push eax
push str.___Not_Enough_Temp__s:__.2f_For_Max_Product_cost__.2f
call fcn.004437b6
mov ecx, dword [esi + 0xdc]
add esp, 0x18
call fcn.00561a95
cmp eax, 8
je 0x434c97
mov ecx, dword [esi + 0xdc]
call fcn.00561a95
cmp eax, 7
je 0x434c97
mov ecx, dword [esi + 0xdc]
call fcn.00561a95
cmp eax, 5
je 0x434c97
mov ecx, dword [esi + 0xdc]
call fcn.00561a95
cmp eax, 6
je 0x434c97
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040141e
mov byte [ebp - 4], 0x16
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x30]
call fcn.0040141e
mov byte [ebp - 4], 0x17
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x18]
call fcn.0040141e
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
lea eax, [ebp + 0x208]
push eax
lea eax, [ebp]
push eax
mov byte [ebp - 4], 0x18
call fcn.00590065
add esp, 0x24
push 0x2bc5
lea ecx, [ebp - 0x1c]
call fcn.004014f8
lea eax, [ebp + 0x208]
push eax
push 0x5e73b0
lea ecx, [ebp - 0x1c]
call fcn.00405d13
fld qword [ebp - 0x6c]
push ecx
push ecx
fstp qword [esp]
mov edi, str._.2f
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.00401518
add esp, 0x10
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1c]
push str._COST_
call fcn.00405d13
fld qword [ebp - 0x40]
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.00401518
mov edi, dword [ebp - 0x18]
add esp, 0x10
push edi
push str._TEMPSPACE_
lea ecx, [ebp - 0x1c]
call fcn.00405d13
push 0x2b9f
lea ecx, [ebp - 0x30]
call fcn.004014f8
push 0x5dd3ac
lea ecx, [ebp - 0x1c]
call fcn.004022ca
push 0x10010
push dword [ebp - 0x30]
push dword [ebp - 0x1c]
push ebx
call fcn.00409adc
lea ecx, [edi - 0x10]
call fcn.00401019
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 6
call fcn.00401019
push ebx
push 0x94
mov ecx, esi
call fcn.0041b6aa
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401019
xor eax, eax
inc eax
jmp 0x434d45
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401019
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x210]
xor ecx, ebp
call fcn.0058f976
add ebp, 0x214
leave
ret