Function at 0xa60360
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 0xa60390
jmp 0xa605cc
mov eax, dword [0xa68cb8]
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.00a63770
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0xa603d0
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0xa605cc
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 0xa603f0
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0xa605cc
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 0xa64edc
call fcn.00a517f0
add esp, 0xc
push eax
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.00a56ec0
add esp, 0x10
mov edx, dword [ebp + 8]
movzx eax, word [edx]
cmp eax, 0x20
je 0xa60448
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x22
jne 0xa60453
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0xa60432
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 0xa60493
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
cmp eax, 0x5c
jne 0xa6047f
jmp 0xa60493
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 0xa6046c
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00a56a80
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0xa604b9
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0xa605cc
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00a62520
add esp, 8
test eax, eax
setne cl
mov byte [ebp - 9], cl
movzx edx, byte [ebp - 9]
test edx, edx
jne 0xa604de
jmp 0xa605cc
mov eax, dword [ebp - 0x14]
push eax
push 0
push 0xd2d61642
push 7
push 0xa64d48
call fcn.00a517f0
add esp, 0xc
push eax
call fcn.00a601f0
add esp, 0xc
mov byte [ebp - 9], al
movzx ecx, byte [ebp - 9]
test ecx, ecx
jne 0xa60511
jmp 0xa605cc
movzx edx, byte [0xa68a36]
test edx, edx
je 0xa60557
mov eax, dword [ebp - 0x14]
push eax
push 0x843cbace
push 0x20
push 0xa64d14
call fcn.00a517f0
add esp, 0xc
push eax
push 0xf1725e2c
push 0xb
push 0xa64d08
call fcn.00a517f0
add esp, 0xc
push eax
call fcn.00a601f0
add esp, 0xc
mov byte [ebp - 9], al
jmp 0xa6057d
mov ecx, dword [ebp - 0x14]
push ecx
push 0
push 0xcd299614
push 0xc
push 0xa64d38
call fcn.00a517f0
add esp, 0xc
push eax
call fcn.00a601f0
add esp, 0xc
mov byte [ebp - 9], al
movzx edx, byte [ebp - 9]
test edx, edx
jne 0xa60587
jmp 0xa605cc
cmp dword [ebp - 4], 0
jne 0xa6058f
jmp 0xa605cc
push 0xc8c8b15f
push 0xa
push 0xa64ee4
call fcn.00a517f0
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.00a62850
add esp, 8
test eax, eax
setne dl
mov byte [ebp - 9], dl
xor eax, eax
jne 0xa60378
mov ecx, dword [ebp - 4]
push ecx
call fcn.00a63970
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.00a63970
add esp, 4
mov al, byte [ebp - 9]
mov esp, ebp
pop ebp
ret