Function at 0x1000fb44
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc5c
push ebx
push edi
xor ebx, ebx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0xa17]
mov byte [ebp - 0xa18], bl
push 0x40
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
pop edx
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x103]
mov byte [ebp - 0x104], bl
mov byte [ebp - 0x618], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x617]
mov byte [ebp - 0x208], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x207]
mov byte [ebp - 0xb1c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0xb1b]
mov byte [ebp - 0x410], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x40f]
push ebx
rep stosd dword es:[edi], eax
push 2
push 0x100937f8
push dword [ebp + 8]
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.100038ee
add esp, 0x10
mov edi, 0x104
lea eax, [ebp - 0x618]
push edi
push eax
push dword [section.xdoors_d]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1000fc15
push 0x10094d30
call fcn.10003592
pop ecx
jmp 0x1000ff54
lea eax, [ebp - 0x618]
push esi
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
push eax
lea eax, [ebp - 0xa18]
push 0x10095a5c
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0xa18]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0xa18]
push eax
push dword [ebp + 8]
call fcn.100038ee
lea eax, [ebp - 0x618]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 0x18
cmp eax, ebx
je 0x1000fc6b
inc eax
jmp 0x1000fc71
lea eax, [ebp - 0x618]
push eax
lea eax, [ebp - 0x208]
push 0x10093664
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0xa18]
push 0x10095a44
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0xa18]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0xa18]
push eax
push dword [ebp + 8]
call fcn.100038ee
add esp, 0x10
lea eax, [ebp - 0x410]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x410]
push 0x10094a48
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x410]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x410]
push 0x10094cfc
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x18
lea eax, [ebp - 0x104]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.10003c0d
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0xa18]
push 0x10095a2c
push eax
call esi
add esp, 0x18
lea eax, [ebp - 0xa18]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0xa18]
push eax
push dword [ebp + 8]
call fcn.100038ee
lea eax, [ebp - 0x104]
push 0x10094468
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0x18
test eax, eax
jne 0x1000fe04
lea eax, [ebp - 0x208]
push eax
call fcn.100053f9
push eax
lea eax, [ebp - 0xb1c]
push 0x10093664
push eax
call esi
lea eax, [ebp - 0xb1c]
push eax
lea eax, [ebp - 0xa18]
push 0x10095a14
push eax
call esi
add esp, 0x1c
lea eax, [ebp - 0xa18]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0xa18]
push eax
push dword [ebp + 8]
call fcn.100038ee
add esp, 0x10
lea eax, [ebp - 0xc5c]
push eax
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x1000fdfa
lea eax, [ebp - 0x208]
push 0x10094cf4
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
test eax, eax
pop ecx
jne 0x1000fdfa
push 0x100959f0
jmp 0x1000ff20
push 0x100959c0
jmp 0x1000ff20
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x513]
mov byte [ebp - 0x514], bl
push 0x2e
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.MSVCRT.dll_strchr]
mov edx, eax
pop ecx
cmp edx, ebx
pop ecx
je 0x1000fea2
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x30b]
mov byte [ebp - 0x30c], bl
push edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call sub.MSVCRT.dll_strlen
mov edi, eax
lea eax, [ebp - 0x104]
push eax
call sub.MSVCRT.dll_strlen
sub eax, edi
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x30c]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
lea eax, [ebp - 0x30c]
push eax
call dword [sym.imp.MSVCRT.dll__strrev]
push eax
lea eax, [ebp - 0x514]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x514]
push 0x10095808
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x28
jmp 0x1000fef9
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x30b]
mov byte [ebp - 0x30c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x30c]
push eax
call sub.MSVCRT.dll_strcpy
lea eax, [ebp - 0x30c]
push eax
call dword [sym.imp.MSVCRT.dll__strrev]
push eax
lea eax, [ebp - 0x514]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x514]
push 0x10095808
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x1c
lea eax, [ebp - 0xc5c]
push eax
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x1000ff1b
push 0x1009599c
jmp 0x1000ff20
push 0x10095978
lea eax, [ebp - 0xa18]
push eax
call esi
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0xa18]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0xa18]
push eax
push dword [ebp + 8]
call fcn.100038ee
add esp, 0x10
pop esi
pop edi
pop ebx
leave
ret