Function at 0x42d8fc
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4890bc
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x4bb760]
xor eax, esp
mov dword [esp + 0x260], eax
push ebx
push esi
push edi
mov eax, dword [0x4bb760]
xor eax, esp
push eax
lea eax, [esp + 0x278]
mov dword fs:[0], eax
mov ebx, edx
mov esi, ecx
xor ecx, ecx
mov dword [esp + 0x28], 7
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], ecx
mov word [esp + 0x14], ax
mov dword [esp + 0x280], ecx
lea edi, [esp + 0x5c]
mov ecx, 0x82
mov edx, str.DESKTOP
rep stosd dword es:[edi], eax
mov ecx, ebx
stosw word es:[edi], ax
call fcn.00414a29
test al, al
je 0x42d9aa
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x10
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
mov byte [esp + 0x280], 1
jmp 0x42ddaa
mov edx, str.DOWNLOADS
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42da0c
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x28
pop edx
call fcn.0042dfed
lea eax, [esp + 0x68]
push eax
call fcn.0040c2ec
add esp, 0x10
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.0040d798
mov edi, 0x4a5568
push edi
call fcn.0040c2ec
pop ecx
push eax
push edi
lea ecx, [esp + 0x1c]
call fcn.0040d662
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.0042df81
jmp 0x42ddc2
mov edx, str.USERPROFILE
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42da49
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x28
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
mov byte [esp + 0x280], 2
jmp 0x42ddaa
mov edx, str.LOCALAPPDATA
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42da86
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x1c
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
mov byte [esp + 0x280], 3
jmp 0x42ddaa
mov edx, str.APPDATA
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42dac3
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x1a
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
mov byte [esp + 0x280], 4
jmp 0x42ddaa
mov edx, str.ProgramFiles_x86_
mov ecx, ebx
call fcn.00414a29
test al, al
jne 0x42dd6c
mov edx, str.ProgramFiles__x86_
mov ecx, ebx
call fcn.00414a29
test al, al
jne 0x42dd6c
mov edx, str.WINDOWS
mov ecx, ebx
call fcn.00414a29
test al, al
jne 0x42dd42
mov edx, str.WINDIR
mov ecx, ebx
call fcn.00414a29
test al, al
jne 0x42dd42
mov edx, str.ProgramFiles
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42dbfe
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x26
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
lea edx, [esp + 0x2c]
mov byte [esp + 0x280], 7
lea ecx, [esp + 0x44]
call fcn.0042df81
lea ecx, [esp + 0x14]
mov byte [esp + 0x280], 8
xor ebx, ebx
cmp ecx, eax
je 0x42db77
push 0xffffffffffffffff
push ebx
push eax
call fcn.0040d705
push ebx
push 1
lea ecx, [esp + 0x4c]
call fcn.0040d2b7
push ebx
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], bl
call fcn.0040d2b7
mov edi, 0x4a0910
push edi
call fcn.0040c2ec
pop ecx
push eax
push ebx
push edi
lea ecx, [esp + 0x20]
call fcn.00413eff
inc eax
lea ecx, [esp + 0x14]
push eax
push ebx
lea eax, [esp + 0x4c]
push eax
call fcn.0040d0d6
push eax
lea ecx, [esp + 0x18]
call fcn.0040d0a7
push ebx
push 1
lea ecx, [esp + 0x4c]
call fcn.0040d2b7
mov edi, str.Program_Files
push edi
call fcn.0040c2ec
pop ecx
push eax
push edi
lea ecx, [esp + 0x1c]
call fcn.0040d662
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.0040d082
push ebx
jmp 0x42ddc4
mov edx, str.TEMP
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42dd08
lea eax, [esp + 0x5c]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x42dc6f
dec eax
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.0040d798
lea edx, [esp + 0x14]
lea ecx, [esp + 0x44]
call fcn.0042df81
lea ecx, [esp + 0x14]
mov byte [esp + 0x280], 9
cmp ecx, eax
je 0x42dc5d
push 0xffffffffffffffff
push 0
push eax
call fcn.0040d705
push 0
push 1
lea ecx, [esp + 0x4c]
call fcn.0040d2b7
jmp 0x42dcf7
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x1c
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
lea edx, [esp + 0x2c]
mov byte [esp + 0x280], 0xa
lea ecx, [esp + 0x44]
call fcn.0042df81
lea ecx, [esp + 0x14]
mov byte [esp + 0x280], 0xb
cmp ecx, eax
je 0x42dcbe
push 0xffffffffffffffff
push 0
push eax
call fcn.0040d705
push 0
push 1
lea ecx, [esp + 0x4c]
call fcn.0040d2b7
push 0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0
call fcn.0040d2b7
mov edi, str.Temp
push edi
call fcn.0040c2ec
pop ecx
push eax
push edi
lea ecx, [esp + 0x1c]
call fcn.0040d662
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.0040d082
jmp 0x42ddc2
mov edx, str.STARTUP
mov ecx, ebx
call fcn.00414a29
test al, al
je 0x42dcf7
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 7
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
mov byte [esp + 0x280], 0xc
jmp 0x42ddaa
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x24
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x2c]
push eax
call fcn.0040d051
mov byte [esp + 0x280], 6
jmp 0x42ddaa
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x2a
pop edx
call fcn.0042dfed
add esp, 0xc
test eax, eax
je 0x42dd94
lea eax, [esp + 0x5c]
push eax
push ecx
push ecx
push 0x26
pop edx
call fcn.0042dfed
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x30]
call fcn.0040d051
mov byte [esp + 0x280], 5
lea edx, [esp + 0x2c]
mov ecx, esi
call fcn.0042df81
push 0
push 1
lea ecx, [esp + 0x34]
call fcn.0040d2b7
push 0
push 1
lea ecx, [esp + 0x1c]
call fcn.0040d2b7
mov eax, esi
mov ecx, dword [esp + 0x278]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.00465956
mov esp, ebp
pop ebp
ret