Function at 0x40b180
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47481e
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x496694]
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.00401130
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.00401290
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.00401290
mov byte [ebp - 4], 2
cmp dword [0x4995e4], esi
jne 0x40b2a1
push 0x208
lea ecx, [ebp - 0x218]
push esi
push ecx
call fcn.0041a050
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 0x40b280
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
mov ecx, 0x4995d4
call fcn.00401290
cmp dword [0x499600], esi
jne 0x40b311
push 0x208
lea ecx, [ebp - 0x218]
push esi
push ecx
call fcn.0041a050
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.00410030
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 0x40b2f0
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x218]
push edx
mov ecx, 0x4995f0
call fcn.00401290
cmp dword [ebp - 0x258], 8
mov eax, dword [ebp - 0x26c]
jae 0x40b326
lea eax, [ebp - 0x26c]
mov ebx, dword [ebp - 0x25c]
push ebx
push eax
push edi
xor eax, eax
call fcn.00401f30
cmp eax, 0xffffffff
je 0x40b345
push 0xffffffffffffffff
push esi
push 0x4995f0
jmp 0x40b377
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x40b35a
lea eax, [ebp - 0x234]
mov ebx, dword [ebp - 0x224]
push ebx
push eax
push edi
xor eax, eax
call fcn.00401f30
cmp eax, 0xffffffff
je 0x40b380
push 0xffffffffffffffff
push esi
push 0x4995d4
push ebx
push eax
mov ecx, edi
call fcn.00402fc0
push 1
xor eax, eax
mov ebx, 7
push 0x48961c
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x278], esi
mov word [ebp - 0x288], ax
call fcn.00401290
mov byte [ebp - 4], 3
xor ecx, ecx
push 1
mov word [ebp - 0x250], cx
push 0x489620
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x240], esi
call fcn.00401290
lea edx, [ebp - 0x288]
push edx
lea ebx, [ebp - 0x250]
mov byte [ebp - 4], 4
call fcn.0040b4b0
mov ebx, 8
add esp, 4
cmp dword [ebp - 0x23c], ebx
jb 0x40b40c
mov eax, dword [ebp - 0x250]
push eax
call fcn.0040fc81
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 0x40b43c
mov edx, dword [ebp - 0x288]
push edx
call fcn.0040fc81
add esp, 4
cmp dword [ebp - 0x220], ebx
jb 0x40b453
mov eax, dword [ebp - 0x234]
push eax
call fcn.0040fc81
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 0x40b483
mov edx, dword [ebp - 0x26c]
push edx
call fcn.0040fc81
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.0040f787
mov esp, ebp
pop ebp
ret