Function at 0x40dac4
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x7ac]
sub esp, 0x82c
mov eax, dword [0x4705d0]
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.004464f0
push esi
lea eax, [ebp + 0x49d]
push ebx
push eax
mov byte [ebp + 0x49c], bl
call fcn.004464f0
mov esi, 0x103
push esi
lea eax, [ebp + 0x6a5]
push ebx
push eax
mov byte [ebp + 0x6a4], bl
call fcn.004464f0
push esi
lea eax, [ebp + 0x191]
push ebx
push eax
mov byte [ebp + 0x190], bl
call fcn.004464f0
push esi
lea eax, [ebp - 0x77]
push ebx
push eax
mov byte [ebp - 0x78], bl
call fcn.004464f0
push esi
lea eax, [ebp + 0x8d]
push ebx
push eax
mov byte [ebp + 0x8c], bl
call fcn.004464f0
add esp, 0x48
cmp edi, ebx
je 0x40de09
mov eax, dword [ebp - 0x80]
mov byte [edi], bl
cmp eax, ebx
je 0x40de09
cmp byte [eax], bl
je 0x40de09
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call edi
inc eax
cmp eax, esi
jle 0x40dba4
mov eax, esi
jmp 0x40dbaa
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.0040c130
lea eax, [ebp + 0x294]
push eax
call edi
lea ecx, [ebp + 0x294]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40dc00
push ebx
lea eax, [ebp + 0x294]
push eax
call fcn.0040cd63
test eax, eax
je 0x40dc00
push 0x45a954
lea eax, [ebp + 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
test dword [ebp + 0x7bc], 0x100
je 0x40dcb0
lea eax, [ebp + 0x294]
push eax
call edi
inc eax
cmp eax, esi
jle 0x40dc22
mov eax, esi
jmp 0x40dc2c
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 0x45befc
push esi
call fcn.0043fbb2
push ebx
push 0x45af3c
push esi
call fcn.0043fbb2
push esi
call edi
push ebx
push dword [ebp - 0x7c]
mov esi, eax
jmp 0x40dc7b
cmp esi, ebx
jle 0x40dc85
mov eax, dword [ebp - 0x7c]
mov cl, byte [eax + esi]
cmp cl, bl
je 0x40dc88
cmp cl, 0x3a
je 0x40dc88
cmp cl, 0x5c
je 0x40dc88
push ebx
push eax
dec esi
call fcn.0040cd63
test eax, eax
je 0x40dc61
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 0x40de09
push 0x45a954
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x40de09
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.004486e5
add esp, 0x24
test byte [ebp + 0x7bc], 1
mov byte [ebp + 0x49c], bl
je 0x40dd61
push 0x45b334
push dword [ebp - 0x80]
call fcn.00445d80
pop ecx
pop ecx
test eax, eax
jne 0x40dd61
cmp byte [ebp + 0x6a4], bl
jne 0x40dd49
lea eax, [ebp + 0x6a4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x6a4]
push 0x45aff0
push eax
call fcn.00445d80
pop ecx
pop ecx
test eax, eax
je 0x40dd43
lea eax, [ebp + 0x6a4]
push 0x45aff0
push eax
call fcn.00445d80
pop ecx
pop ecx
mov byte [eax + 1], bl
jmp 0x40dd49
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 0x40dd67
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
test byte [ebp + 0x7bc], 2
je 0x40ddad
lea eax, [ebp + 0x49c]
push eax
call edi
lea ecx, [ebp + 0x49c]
dec ecx
cmp byte [eax + ecx], 0x3a
jne 0x40dd9d
cmp byte [ebp + 0x190], 0x5c
je 0x40dd9d
push 0x45a954
lea eax, [ebp + 0x49c]
push eax
call ebx
lea eax, [ebp + 0x190]
push eax
lea eax, [ebp + 0x49c]
push eax
call ebx
test byte [ebp + 0x7bc], 4
je 0x40ddc3
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x49c]
push eax
call ebx
test byte [ebp + 0x7bc], 8
je 0x40dddc
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 0x40ddee
mov eax, esi
jmp 0x40ddf8
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.004464bf
add ebp, 0x7ac
leave
ret 0xc