Function at 0xe20360
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov byte [ebp - 9], 0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0xe20390
jmp 0xe205cc
mov eax, dword [0xe28cb8]
add eax, 0x34
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x10]
lea edx, [ecx + eax + 0x10b]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
shl eax, 1
push eax
call fcn.00e23770
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0xe203d0
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0xe205cc
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, dword [ebp - 0x10]
jbe 0xe203f0
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0xe205cc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
push 0x77796a86
push 7
push 0xe24edc
call fcn.00e117f0
add esp, 0xc
push eax
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.00e16ec0
add esp, 0x10
mov edx, dword [ebp + 8]
movzx eax, word [edx]
cmp eax, 0x20
je 0xe20448
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x22
jne 0xe20453
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0xe20432
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x1c], 0
je 0xe20493
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
cmp eax, 0x5c
jne 0xe2047f
jmp 0xe20493
mov ecx, dword [ebp - 0x18]
sub ecx, 2
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 1
mov dword [ebp - 0x1c], edx
jmp 0xe2046c
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00e16a80
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0xe204b9
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0xe205cc
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00e22520
add esp, 8
test eax, eax
setne cl
mov byte [ebp - 9], cl
movzx edx, byte [ebp - 9]
test edx, edx
jne 0xe204de
jmp 0xe205cc
mov eax, dword [ebp - 0x14]
push eax
push 0
push 0xd2d61642
push 7
push 0xe24d48
call fcn.00e117f0
add esp, 0xc
push eax
call fcn.00e201f0
add esp, 0xc
mov byte [ebp - 9], al
movzx ecx, byte [ebp - 9]
test ecx, ecx
jne 0xe20511
jmp 0xe205cc
movzx edx, byte [0xe28a36]
test edx, edx
je 0xe20557
mov eax, dword [ebp - 0x14]
push eax
push 0x843cbace
push 0x20
push 0xe24d14
call fcn.00e117f0
add esp, 0xc
push eax
push 0xf1725e2c
push 0xb
push 0xe24d08
call fcn.00e117f0
add esp, 0xc
push eax
call fcn.00e201f0
add esp, 0xc
mov byte [ebp - 9], al
jmp 0xe2057d
mov ecx, dword [ebp - 0x14]
push ecx
push 0
push 0xcd299614
push 0xc
push 0xe24d38
call fcn.00e117f0
add esp, 0xc
push eax
call fcn.00e201f0
add esp, 0xc
mov byte [ebp - 9], al
movzx edx, byte [ebp - 9]
test edx, edx
jne 0xe20587
jmp 0xe205cc
cmp dword [ebp - 4], 0
jne 0xe2058f
jmp 0xe205cc
push 0xc8c8b15f
push 0xa
push 0xe24ee4
call fcn.00e117f0
add esp, 0xc
push eax
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.00e22850
add esp, 8
test eax, eax
setne dl
mov byte [ebp - 9], dl
xor eax, eax
jne 0xe20378
mov ecx, dword [ebp - 4]
push ecx
call fcn.00e23970
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.00e23970
add esp, 4
mov al, byte [ebp - 9]
mov esp, ebp
pop ebp
ret