Function at 0x428af0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa9d3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x638
push ebx
push esi
push edi
lea eax, [ebp - 0x144]
mov dword [ebp - 0x10], esp
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.004ab6e0
add esp, 4
lea ecx, [ebp - 0x7c]
push ecx
call fcn.00401350
add esp, 4
lea edx, [ebp - 0x644]
push 0x100
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x644]
push eax
call fcn.004fa6c0
push eax
lea ecx, [ebp - 0x544]
push str._sWin.ini
push ecx
call fcn.004f175f
add esp, 0x10
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x14], ebx
push 1
call fcn.004f0653
push 1
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 1
call fcn.004f0653
mov edx, dword [0x4fe4e8]
lea eax, [ebp - 0x544]
push edx
push 1
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.004f0727
mov ecx, dword [0x4fe4e8]
push ecx
push 8
push str.c:endpcacheprocess_log.txt
lea ecx, [ebp - 0xc4]
call fcn.004f0727
mov esi, dword [ebp - 0x58]
push 0xa
lea edx, [ebp - 0x444]
inc esi
push 0x100
push edx
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x58], esi
call fcn.004f0ae9
lea edi, [ebp - 0x444]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x428da5
lea eax, [ebp - 0x444]
push 0x515e8c
push eax
call fcn.004f2d80
lea ecx, [ebp - 0x444]
push 0x515e88
push ecx
mov esi, eax
call fcn.004f2d80
add esp, 0x10
test esi, esi
jne 0x428c23
test eax, eax
je 0x428da5
lea edx, [ebp - 0x444]
push edx
call fcn.0040e3f0
add esp, 4
mov esi, eax
push 0x5147b4
push esi
call fcn.004f2d80
push 0x5144fc
push esi
mov edi, eax
call fcn.004f2d80
add esp, 0x10
test edi, edi
jne 0x428d39
test eax, eax
jne 0x428d39
push esi
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x444]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x144]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x244]
push 0x51790c
push eax
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x18
test eax, eax
jne 0x428cfe
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x244]
test eax, eax
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x428ce1
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x428cf8
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov ecx, dword [0xe56d68]
inc ecx
mov dword [0xe56d68], ecx
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov ebx, 1
jmp 0x428da2
push esi
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x444]
push eax
lea eax, [ebp - 0x7c]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x144]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x244]
push eax
push 0x5178e4
push edx
call fcn.004f175f
add esp, 0x18
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0xb8]
push eax
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
test byte [ebp + edx - 0x54], 1
je 0x428bba
lea ecx, [ebp - 0x5c]
call fcn.004f076e
lea ecx, [ebp - 0xc4]
call fcn.004f076e
lea eax, [ebp - 0x644]
push 0x100
push eax
mov byte [ebp - 0x544], 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x644]
push ecx
call fcn.004fa6c0
push eax
lea edx, [ebp - 0x544]
push str._sSystem.ini
push edx
call fcn.004f175f
mov eax, dword [0x4fe4e8]
add esp, 0x10
lea ecx, [ebp - 0x544]
push eax
push 1
push ecx
lea ecx, [ebp - 0x5c]
call fcn.004f0727
mov edx, dword [0x4fe4e8]
lea ecx, [ebp - 0xc4]
push edx
push 8
push str.c:endpcacheprocess_log.txt
call fcn.004f0727
mov edi, dword [ebp - 0x58]
push 0xa
lea eax, [ebp - 0x444]
inc edi
push 0x100
push eax
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x58], edi
call fcn.004f0ae9
lea edi, [ebp - 0x444]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x429002
lea ecx, [ebp - 0x444]
push 0x515e8c
push ecx
call fcn.004f2d80
lea edx, [ebp - 0x444]
push 0x515e88
push edx
mov esi, eax
call fcn.004f2d80
add esp, 0x10
test esi, esi
jne 0x428e9c
test eax, eax
je 0x429002
lea eax, [ebp - 0x444]
push eax
call fcn.0040e3f0
add esp, 4
mov esi, eax
push 0x5147b4
push esi
call fcn.004f2d80
push 0x5144fc
push esi
mov edi, eax
call fcn.004f2d80
add esp, 0x10
test edi, edi
jne 0x428f8d
test eax, eax
jne 0x428f8d
push esi
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x444]
lea edx, [ebp - 0x7c]
push eax
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x244]
push eax
push 0x5178a4
push ecx
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x18
test eax, eax
jne 0x428f77
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b0]
test eax, eax
mov eax, dword [ebp + 0x1b4]
lea edx, [ebp - 0x244]
push edx
push eax
push ecx
jne 0x428f5a
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x428f71
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov ecx, dword [0xe56d68]
lea edx, [ebp - 0x244]
inc ecx
push edx
mov dword [0xe56d68], ecx
jmp 0x428fd6
push esi
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x444]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x144]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x244]
push 0x517878
push eax
call fcn.004f175f
add esp, 0x18
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov eax, dword [ebp - 0x14]
mov ebx, 1
inc eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 4]
test byte [ebp + eax - 0x54], 1
je 0x428e33
lea ecx, [ebp - 0x5c]
call fcn.004f076e
test ebx, ebx
jne 0x429077
lea ecx, [ebp - 0x7c]
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x144]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp + 0xb0]
push 0x517854
push eax
call fcn.004f175f
add esp, 0x10
lea ecx, [ebp + 0xb0]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
lea ecx, [ebp - 0xc4]
call fcn.004f076e
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 1
call fcn.004f0714
lea ecx, [ebp - 0xb0]
call fcn.004f05fb
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0
call fcn.004f0714
lea ecx, [ebp - 0x48]
call fcn.004f05fb
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov ax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret