Function at 0x411eca
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x7ac]
sub esp, 0x82c
mov eax, dword [0x47e5d0]
xor eax, ebp
mov dword [ebp + 0x7a8], eax
mov eax, dword [ebp + 0x7b4]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x7b8]
mov esi, 0x207
xor ebx, ebx
push esi
mov dword [ebp - 0x80], eax
lea eax, [ebp + 0x295]
push ebx
push eax
mov dword [ebp - 0x7c], edi
mov byte [ebp + 0x294], bl
call fcn.00452e00
push esi
lea eax, [ebp + 0x49d]
push ebx
push eax
mov byte [ebp + 0x49c], bl
call fcn.00452e00
mov esi, 0x103
push esi
lea eax, [ebp + 0x6a5]
push ebx
push eax
mov byte [ebp + 0x6a4], bl
call fcn.00452e00
push esi
lea eax, [ebp + 0x191]
push ebx
push eax
mov byte [ebp + 0x190], bl
call fcn.00452e00
push esi
lea eax, [ebp - 0x77]
push ebx
push eax
mov byte [ebp - 0x78], bl
call fcn.00452e00
push esi
lea eax, [ebp + 0x8d]
push ebx
push eax
mov byte [ebp + 0x8c], bl
call fcn.00452e00
add esp, 0x48
cmp edi, ebx
je 0x41220c
mov eax, dword [ebp - 0x80]
mov byte [edi], bl
cmp eax, ebx
je 0x41220c
cmp byte [eax], bl
je 0x41220c
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call edi
inc eax
cmp eax, esi
jle 0x411faa
mov eax, esi
jmp 0x411fb0
push dword [ebp - 0x80]
call edi
inc eax
push eax
push dword [ebp - 0x80]
lea eax, [ebp + 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp + 0x294]
push eax
call fcn.00410517
lea eax, [ebp + 0x294]
push eax
call edi
lea ecx, [ebp + 0x294]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x412006
push ebx
lea eax, [ebp + 0x294]
push eax
call fcn.00411143
test eax, eax
je 0x412006
push 0x4648e0
lea eax, [ebp + 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
test dword [ebp + 0x7bc], 0x100
je 0x4120b7
lea eax, [ebp + 0x294]
push eax
call edi
inc eax
cmp eax, esi
jle 0x412028
mov eax, esi
jmp 0x412032
lea eax, [ebp + 0x294]
push eax
call edi
inc eax
mov esi, dword [ebp - 0x7c]
push eax
lea eax, [ebp + 0x294]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push ebx
push 0x46741c
push esi
call fcn.0044937b
push ebx
push 0x467418
push esi
call fcn.0044937b
push esi
call edi
push ebx
push dword [ebp - 0x7c]
lea esi, [eax - 1]
jmp 0x412083
cmp esi, ebx
jle 0x41208c
mov eax, dword [ebp - 0x7c]
mov cl, byte [eax + esi]
cmp cl, bl
je 0x41208f
cmp cl, 0x3a
je 0x41208f
cmp cl, 0x5c
je 0x41208f
push ebx
dec esi
push eax
call fcn.00411143
test eax, eax
je 0x412068
mov eax, dword [ebp - 0x7c]
push eax
mov byte [eax + esi + 1], bl
call edi
mov ecx, eax
mov eax, dword [ebp - 0x7c]
cmp byte [ecx + eax - 1], 0x5c
je 0x41220c
push 0x4648e0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x41220c
push esi
lea eax, [ebp + 0x8c]
push eax
push esi
lea eax, [ebp - 0x78]
push eax
push esi
lea eax, [ebp + 0x190]
push eax
push esi
lea eax, [ebp + 0x6a4]
push eax
lea eax, [ebp + 0x294]
push eax
call fcn.00454ed5
add esp, 0x24
test byte [ebp + 0x7bc], 1
mov byte [ebp + 0x49c], bl
je 0x412168
push 0x466844
push dword [ebp - 0x80]
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x412168
cmp byte [ebp + 0x6a4], bl
jne 0x412150
lea eax, [ebp + 0x6a4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x6a4]
push 0x466500
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
je 0x41214a
lea eax, [ebp + 0x6a4]
push 0x466500
push eax
call fcn.004526d0
pop ecx
pop ecx
mov byte [eax + 1], bl
jmp 0x412150
mov byte [ebp + 0x6a4], bl
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x6a4]
push eax
lea eax, [ebp + 0x49c]
push eax
call ebx
jmp 0x41216e
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
test byte [ebp + 0x7bc], 2
je 0x4121b0
lea eax, [ebp + 0x49c]
push eax
call edi
lea ecx, [ebp + 0x49c]
cmp byte [eax + ecx - 1], 0x3a
jne 0x4121a0
cmp byte [ebp + 0x190], 0x5c
je 0x4121a0
push 0x4648e0
mov eax, ecx
push eax
call ebx
lea eax, [ebp + 0x190]
push eax
lea eax, [ebp + 0x49c]
push eax
call ebx
test byte [ebp + 0x7bc], 4
je 0x4121c6
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x49c]
push eax
call ebx
test byte [ebp + 0x7bc], 8
je 0x4121df
lea eax, [ebp + 0x8c]
push eax
lea eax, [ebp + 0x49c]
push eax
call ebx
lea eax, [ebp + 0x49c]
push eax
call edi
inc eax
cmp eax, esi
jle 0x4121f1
mov eax, esi
jmp 0x4121fb
lea eax, [ebp + 0x49c]
push eax
call edi
inc eax
push eax
lea eax, [ebp + 0x49c]
push eax
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov ecx, dword [ebp + 0x7a8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0x7ac
leave
ret 0xc