Function at 0x40a8b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48037e
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x4a26b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x28c], esi
push 0xffffffffffffffff
xor ecx, ecx
mov ebx, 7
mov dword [edi + 0x14], ebx
mov dword [edi + 0x10], esi
push esi
mov word [edi], cx
push eax
mov ecx, edi
mov dword [ebp - 0x290], edi
call fcn.004015e0
mov dword [ebp - 4], esi
push 5
xor edx, edx
push str.app
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x28c], 1
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x25c], esi
mov word [ebp - 0x26c], dx
call fcn.00401740
mov dword [ebp - 4], 1
push 5
xor eax, eax
push str.sys
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x224], esi
mov word [ebp - 0x234], ax
call fcn.00401740
mov byte [ebp - 4], 2
cmp dword [0x4a55a4], esi
jne 0x40a9d1
push 0x208
lea ecx, [ebp - 0x218]
push esi
push ecx
call fcn.00426240
add esp, 0xc
push 0x104
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x40a9b0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
mov ecx, 0x4a5594
call fcn.00401740
cmp dword [0x4a55c0], esi
jne 0x40aa41
push 0x208
lea ecx, [ebp - 0x218]
push esi
push ecx
call fcn.00426240
add esp, 0xc
push 0x104
lea edx, [ebp - 0x218]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.0041c0f0
add esp, 8
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x40aa20
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x218]
push edx
mov ecx, 0x4a55b0
call fcn.00401740
cmp dword [ebp - 0x258], 8
mov eax, dword [ebp - 0x26c]
jae 0x40aa56
lea eax, [ebp - 0x26c]
mov ebx, dword [ebp - 0x25c]
push ebx
push eax
push edi
xor eax, eax
call fcn.00402310
cmp eax, 0xffffffff
je 0x40aa75
push 0xffffffffffffffff
push esi
push 0x4a5570
jmp 0x40aaa7
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x40aa8a
lea eax, [ebp - 0x234]
mov ebx, dword [ebp - 0x224]
push ebx
push eax
push edi
xor eax, eax
call fcn.00402310
cmp eax, 0xffffffff
je 0x40aab0
push 0xffffffffffffffff
push esi
push 0x4a5594
push ebx
push eax
mov ecx, edi
call fcn.00402cb0
push 1
xor eax, eax
mov ebx, 7
push 0x4945ac
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x278], esi
mov word [ebp - 0x288], ax
call fcn.00401740
mov byte [ebp - 4], 3
xor ecx, ecx
push 1
mov word [ebp - 0x250], cx
push 0x4945b0
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x240], esi
call fcn.00401740
lea edx, [ebp - 0x288]
push edx
lea ebx, [ebp - 0x250]
mov byte [ebp - 4], 4
call fcn.0040abe0
mov ebx, 8
add esp, 4
cmp dword [ebp - 0x23c], ebx
jb 0x40ab3c
mov eax, dword [ebp - 0x250]
push eax
call fcn.0041bd41
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x23c], 7
mov dword [ebp - 0x240], esi
mov word [ebp - 0x250], cx
cmp dword [ebp - 0x274], ebx
jb 0x40ab6c
mov edx, dword [ebp - 0x288]
push edx
call fcn.0041bd41
add esp, 4
cmp dword [ebp - 0x220], ebx
jb 0x40ab83
mov eax, dword [ebp - 0x234]
push eax
call fcn.0041bd41
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], esi
mov word [ebp - 0x234], cx
cmp dword [ebp - 0x258], ebx
jb 0x40abb3
mov edx, dword [ebp - 0x26c]
push edx
call fcn.0041bd41
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041b847
mov esp, ebp
pop ebp
ret