Function at 0x429f40
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8e0
push ebx
push esi
push edi
lea edi, [ebp - 0x8e0]
mov ecx, 0x238
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov byte [ebp - 0x400], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x3ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x804], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x803]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x844], 0
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x843]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x87c], 0
mov byte [ebp - 0x8a0], 0
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x89f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, esp
push 0x400
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp esi, esp
call fcn.00444710
lea ecx, [ebp - 0x86c]
push ecx
lea edx, [ebp - 0x868]
push edx
push 0x82
push 0x4de0ac
call fcn.00435020
add esp, 0x10
mov eax, dword [ebp - 0x86c]
xor edx, edx
mov ecx, 6
div ecx
mov dword [ebp - 0x874], eax
mov edx, dword [ebp - 0x874]
shl edx, 5
add edx, 0x10
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x880]
push eax
call fcn.00445a60
add esp, 4
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x880]
push ecx
push 0
mov edx, dword [ebp - 0x87c]
push edx
call fcn.00444750
add esp, 0xc
mov dword [ebp - 0x870], 0
jmp 0x42a080
mov eax, dword [ebp - 0x870]
add eax, 1
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
cmp ecx, dword [ebp - 0x874]
jge 0x42a16a
mov edx, dword [ebp - 0x870]
imul edx, edx, 6
mov eax, dword [ebp - 0x868]
add eax, edx
mov dword [ebp - 0x878], eax
push 0x20
push 0
lea ecx, [ebp - 0x864]
push ecx
call fcn.00444750
add esp, 0xc
push 0x40
push 0
lea edx, [ebp - 0x844]
push edx
call fcn.00444750
add esp, 0xc
mov eax, dword [ebp - 0x878]
xor ecx, ecx
mov cl, byte [eax + 5]
push ecx
mov edx, dword [ebp - 0x878]
xor eax, eax
mov al, byte [edx + 4]
push eax
mov ecx, dword [ebp - 0x878]
xor edx, edx
mov dl, byte [ecx + 3]
push edx
mov eax, dword [ebp - 0x878]
xor ecx, ecx
mov cl, byte [eax + 2]
push ecx
mov edx, dword [ebp - 0x878]
xor eax, eax
mov al, byte [edx + 1]
push eax
mov ecx, dword [ebp - 0x878]
xor edx, edx
mov dl, byte [ecx]
push edx
push str._02X_02X_02X_02X_02X_02X
lea eax, [ebp - 0x864]
push eax
call fcn.00445000
add esp, 0x20
lea ecx, [ebp - 0x864]
push ecx
push 0x40
lea edx, [ebp - 0x844]
push edx
call fcn.00428d00
add esp, 0xc
push 0x20
lea eax, [ebp - 0x844]
push eax
mov ecx, dword [ebp - 0x870]
shl ecx, 5
mov edx, dword [ebp - 0x87c]
add edx, ecx
push edx
call fcn.00444210
add esp, 0xc
jmp 0x42a071
cmp dword [ebp - 0x868], 0
je 0x42a1a0
mov eax, dword [ebp - 0x868]
push eax
call fcn.004464e0
add esp, 4
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x86c], 0
lea ecx, [ebp - 0x86c]
push ecx
lea edx, [ebp - 0x868]
push edx
mov eax, dword [ebp - 0x880]
push eax
mov ecx, dword [ebp - 0x87c]
push ecx
call fcn.004350e0
add esp, 0x10
lea edx, [ebp - 0x8a0]
push edx
call fcn.00429ed0
add esp, 4
lea eax, [ebp - 0x8a0]
push eax
push 0x4d2bd0
lea ecx, [ebp - 0x400]
push ecx
push str._s_s_s
lea edx, [ebp - 0x804]
push edx
call fcn.00445000
add esp, 0x14
push 0x4d20b0
lea eax, [ebp - 0x804]
push eax
call fcn.00444fe0
add esp, 8
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
push ecx
mov edx, dword [ebp - 0x86c]
push edx
push 1
mov eax, dword [ebp - 0x868]
push eax
call fcn.00445680
add esp, 0x10
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.004455a0
add esp, 4
cmp dword [ebp - 0x868], 0
je 0x42a264
mov edx, dword [ebp - 0x868]
push edx
call fcn.004464e0
add esp, 4
mov dword [ebp - 0x868], 0
cmp dword [ebp - 0x87c], 0
je 0x42a286
mov eax, dword [ebp - 0x87c]
push eax
call fcn.004464e0
add esp, 4
mov dword [ebp - 0x87c], 0
pop edi
pop esi
pop ebx
add esp, 0x8e0
cmp ebp, esp
call fcn.00444710
mov esp, ebp
pop ebp
ret