Function at 0x4200d0
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.0044a950
lea ecx, [ebp - 0x86c]
push ecx
lea edx, [ebp - 0x868]
push edx
push 0x82
push 0x511dd4
call fcn.004324d0
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.0044bca0
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.0044a990
add esp, 0xc
mov dword [ebp - 0x870], 0
jmp 0x420210
mov eax, dword [ebp - 0x870]
add eax, 1
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
cmp ecx, dword [ebp - 0x874]
jge 0x4202fa
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.0044a990
add esp, 0xc
push 0x40
push 0
lea edx, [ebp - 0x844]
push edx
call fcn.0044a990
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.0044b240
add esp, 0x20
lea ecx, [ebp - 0x864]
push ecx
push 0x40
lea edx, [ebp - 0x844]
push edx
call fcn.0041ee90
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.0044a420
add esp, 0xc
jmp 0x420201
cmp dword [ebp - 0x868], 0
je 0x420330
mov eax, dword [ebp - 0x868]
push eax
call fcn.0044c720
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.00432590
add esp, 0x10
lea edx, [ebp - 0x8a0]
push edx
call fcn.00420060
add esp, 4
lea eax, [ebp - 0x8a0]
push eax
push 0x5066c4
lea ecx, [ebp - 0x400]
push ecx
push str._s_s_s
lea edx, [ebp - 0x804]
push edx
call fcn.0044b240
add esp, 0x14
push 0x50640c
lea eax, [ebp - 0x804]
push eax
call fcn.0044b220
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.0044b8c0
add esp, 0x10
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.0044b7e0
add esp, 4
cmp dword [ebp - 0x868], 0
je 0x4203f4
mov edx, dword [ebp - 0x868]
push edx
call fcn.0044c720
add esp, 4
mov dword [ebp - 0x868], 0
cmp dword [ebp - 0x87c], 0
je 0x420416
mov eax, dword [ebp - 0x87c]
push eax
call fcn.0044c720
add esp, 4
mov dword [ebp - 0x87c], 0
pop edi
pop esi
pop ebx
add esp, 0x8e0
cmp ebp, esp
call fcn.0044a950
mov esp, ebp
pop ebp
ret