Function at 0x402a08
Capabilities:
Get common file path

Disassembly:
push ebx
push esi
push edi
mov ebx, str.Jerusalem
add esp, 0xfffffdf8
lea eax, [ebx + 0x7992]
lea edx, [ebx + 0x7985]
lea ecx, [ebx + 0x7981]
lea esi, [esp + 0x104]
push eax
push edx
push ecx
call fcn.00402888
push 0x104
lea eax, [esp + 4]
push eax
call sub.KERNEL32.DLL_GetWindowsDirectoryA
test eax, eax
je 0x402c62
push esp
call fcn.0042bda0
pop ecx
movsx edx, byte [esp + eax - 1]
cmp edx, 0x5c
je 0x402a73
lea ecx, [ebx + 0x799e]
push ecx
lea eax, [esp + 4]
push eax
call fcn.0042bd64
add esp, 8
push esi
xor eax, eax
lea edi, [esp + 4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebx + 0x79aa]
and ecx, 3
lea edx, [ebx + 0x79a0]
rep movsb byte es:[edi], byte [esi]
pop esi
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x79be]
lea eax, [ebx + 0x79b6]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x79dd]
lea ecx, [ebx + 0x79d2]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x79f5]
lea edx, [ebx + 0x79e9]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7a0c]
lea eax, [ebx + 0x7a01]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7a23]
lea ecx, [ebx + 0x7a18]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7a3a]
lea edx, [ebx + 0x7a2f]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7a51]
lea eax, [ebx + 0x7a46]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7a68]
lea ecx, [ebx + 0x7a5d]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7a7f]
lea edx, [ebx + 0x7a74]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7a95]
lea eax, [ebx + 0x7a8b]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7ab0]
lea ecx, [ebx + 0x7aa4]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7acb]
lea edx, [ebx + 0x7abf]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7ae5]
lea eax, [ebx + 0x7ada]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7afe]
lea ecx, [ebx + 0x7af2]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7b14]
lea edx, [ebx + 0x7b0a]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7b2e]
lea eax, [ebx + 0x7b22]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7b40]
lea ecx, [ebx + 0x7b3a]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7b57]
lea edx, [ebx + 0x7b4f]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7b6c]
lea eax, [ebx + 0x7b64]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7b86]
lea ecx, [ebx + 0x7b79]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7ba0]
lea edx, [ebx + 0x7b92]
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7bba]
lea eax, [ebx + 0x7bad]
push ecx
push eax
push esi
call fcn.00402888
push 0x104
lea edx, [esp + 4]
push edx
call sub.KERNEL32.DLL_GetSystemDirectoryA
test eax, eax
je 0x402d11
push esp
call fcn.0042bda0
pop ecx
movsx ecx, byte [esp + eax - 1]
cmp ecx, 0x5c
je 0x402c9e
lea eax, [ebx + 0x7bc7]
push eax
lea edx, [esp + 4]
push edx
call fcn.0042bd64
add esp, 8
push esi
xor eax, eax
lea edi, [esp + 4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebx + 0x7bd3]
and ecx, 3
lea edx, [ebx + 0x7bc9]
rep movsb byte es:[edi], byte [esi]
pop esi
push eax
push edx
push esi
call fcn.00402888
lea ecx, [ebx + 0x7be7]
lea eax, [ebx + 0x7bdf]
push ecx
push eax
push esi
call fcn.00402888
lea edx, [ebx + 0x7c07]
lea ecx, [ebx + 0x7bfb]
push edx
push ecx
push esi
call fcn.00402888
lea eax, [ebx + 0x7c22]
lea edx, [ebx + 0x7c15]
push eax
push edx
push esi
call fcn.00402888
mov eax, 1
add esp, 0x208
pop edi
pop esi
pop ebx
ret