Function at 0x438ef0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
mov eax, dword [0x5402b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x210]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ebx, eax
cmp ebx, 0x104
ja 0x439118
test ebx, ebx
je 0x439118
xor ecx, ecx
mov edi, 7
push 0xc
mov eax, str.rootsupd.exe
lea esi, [ebp - 0x284]
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], cx
call fcn.004017f0
xor edx, edx
push ebx
lea eax, [ebp - 0x210]
lea esi, [ebp - 0x268]
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x254], 0
mov word [ebp - 0x264], dx
call fcn.004017f0
lea eax, [ebp - 0x284]
push eax
mov ecx, esi
lea edi, [ebp - 0x248]
call fcn.0040e410
add esp, 4
cmp dword [ebp - 0x250], 8
jb 0x438fb8
mov ecx, dword [ebp - 0x264]
push ecx
call fcn.004c097a
add esp, 4
xor esi, esi
xor edx, edx
cmp dword [ebp - 0x26c], 8
mov edi, 7
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x254], esi
mov word [ebp - 0x264], dx
jb 0x438fec
mov eax, dword [ebp - 0x280]
push eax
call fcn.004c097a
add esp, 4
mov dword [ebp - 0x270], esi
xor ecx, ecx
push 0xc
mov eax, str.rootsupd.cab
lea esi, [ebp - 0x284]
mov dword [ebp - 0x26c], edi
mov word [ebp - 0x280], cx
call fcn.004017f0
xor edx, edx
push ebx
lea eax, [ebp - 0x210]
lea esi, [ebp - 0x268]
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x254], 0
mov word [ebp - 0x264], dx
call fcn.004017f0
lea eax, [ebp - 0x284]
push eax
mov ecx, esi
lea edi, [ebp - 0x22c]
call fcn.0040e410
mov edi, 8
add esp, 4
cmp dword [ebp - 0x250], edi
jb 0x439071
mov ecx, dword [ebp - 0x264]
push ecx
call fcn.004c097a
add esp, 4
xor esi, esi
xor edx, edx
mov dword [ebp - 0x250], 7
mov dword [ebp - 0x254], esi
mov word [ebp - 0x264], dx
cmp dword [ebp - 0x26c], edi
jb 0x4390a3
mov eax, dword [ebp - 0x280]
push eax
call fcn.004c097a
add esp, 4
mov ecx, dword [ebp - 0x228]
mov byte [ebp - 0x249], 0
cmp dword [ebp - 0x214], edi
jae 0x4390be
lea ecx, [ebp - 0x228]
lea edx, [ebp - 0x249]
push edx
call fcn.0046a020
add esp, 4
test al, al
jne 0x43912b
cmp dword [ebp - 0x214], edi
jb 0x4390e8
mov eax, dword [ebp - 0x228]
push eax
call fcn.004c097a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x214], 7
mov dword [ebp - 0x218], esi
mov word [ebp - 0x228], cx
cmp dword [ebp - 0x230], edi
jb 0x439118
mov edx, dword [ebp - 0x244]
push edx
call fcn.004c097a
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c0985
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x228]
cmp dword [ebp - 0x214], edi
jae 0x43913f
lea esi, [ebp - 0x228]
call fcn.00473400
test al, al
jne 0x439171
lea esi, [ebp - 0x22c]
call fcn.0040f420
lea esi, [ebp - 0x248]
call fcn.0040f420
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c0985
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x210]
push eax
mov ecx, ebx
lea eax, [ebp - 0x284]
call fcn.0040a9e0
cmp dword [eax + 0x18], edi
jb 0x43918f
mov eax, dword [eax + 4]
jmp 0x439192
add eax, 4
mov ecx, dword [ebp - 0x228]
cmp dword [ebp - 0x214], edi
jae 0x4391a6
lea ecx, [ebp - 0x228]
push eax
push 0x439200
push 0
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupIterateCabinetW]
test eax, eax
lea esi, [ebp - 0x284]
sete bl
call fcn.0040f420
lea esi, [ebp - 0x22c]
call fcn.0040f420
lea esi, [ebp - 0x248]
call fcn.0040f420
test bl, bl
jne 0x439118
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov al, 1
pop ebx
call fcn.004c0985
mov esp, ebp
pop ebp
ret