Function at 0x10008110
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
call fcn.10008f30
mov eax, dword [ebp - 4]
mov dword [eax], fcn.10008f59
mov eax, dword [ebp - 4]
mov byte [eax + 8], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 0xffffffff
mov eax, dword [ebp - 4]
mov byte [eax + 0x10], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 4]
call fcn.10008f59
xor ecx, ecx
mov cl, al
test ecx, ecx
je 0x10008165
jmp 0x100083c2
call fcn.10008d51
xor ecx, ecx
mov cl, al
test ecx, ecx
jne 0x10008183
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
xor eax, eax
mov al, byte [ebp + 0xc]
mov dword [ebp - 8], eax
jmp 0x10008259
push 0x100
mov eax, dword [ebp - 4]
add eax, 0x11
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x100081c6
push 0
push str.FileLock::FileLock___Get_Windows_Directory_Failed_r_n
call fcn.100090ba
add esp, 8
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
mov eax, dword [ebp - 4]
add eax, 0x11
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
mov ecx, dword [ebp - 4]
movsx eax, byte [eax + ecx + 0x10]
cmp eax, 0x5c
je 0x1000822e
mov eax, dword [ebp - 4]
add eax, 0x11
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
cmp eax, 0x100
jb 0x1000821c
push 0
push 0x10010074
call fcn.100090ba
add esp, 8
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
push 0x100100a4
mov eax, dword [ebp - 4]
add eax, 0x11
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x10008272
push 0
push str.FileLock::FileLock___Invalid_inDirFlag_r_n
call fcn.100090ba
add esp, 8
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
cmp dword [ebp - 8], 1
je 0x10008190
cmp dword [ebp - 8], 2
je 0x10008272
jmp 0x10008238
mov eax, dword [ebp - 4]
add eax, 0x11
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [ebp + 8]
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
add ebx, eax
cmp ebx, 0x100
jb 0x100082b9
push 0
push str.FileLock::FileLock___pathAndFile_String_Limit_r_n
call fcn.100090ba
add esp, 8
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
add eax, 0x11
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
xor eax, eax
mov al, byte [ebp + 0x10]
mov dword [ebp - 0xc], eax
jmp 0x10008395
jmp 0x100083bd
mov ecx, dword [ebp - 4]
call fcn.100087aa
xor ecx, ecx
mov cl, al
test ecx, ecx
jne 0x100082fd
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
jmp 0x100083bd
mov ecx, dword [ebp - 4]
call fcn.100087d4
xor ecx, ecx
mov cl, al
test ecx, ecx
jne 0x10008323
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
jmp 0x100083bd
mov ecx, dword [ebp - 4]
call fcn.10008756
xor ecx, ecx
mov cl, al
test ecx, ecx
jne 0x10008349
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
jmp 0x100083bd
mov ecx, dword [ebp - 4]
call fcn.10008780
xor ecx, ecx
mov cl, al
test ecx, ecx
jne 0x1000836f
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
jmp 0x100083bd
push 0
push str.FileLock::FileLock___Invalid_inOpenFlag_r_n
call fcn.100090ba
add esp, 8
mov ecx, dword [ebp - 4]
call fcn.10008f75
jmp 0x100083c2
cmp dword [ebp - 0xc], 4
ja case.default.0x100083a2
mov eax, dword [ebp - 0xc]
jmp dword [eax*4 + 0x100083a9]
jmp 0x100083c2
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc