Function at 0x45a597
Capabilities:
Get common file path

Disassembly:
mov eax, 0x1810
call fcn.004b63b0
mov eax, dword [0x78e580]
xor eax, esp
mov dword [esp + 0x180c], eax
push ebx
mov ebx, dword [esp + 0x1818]
push ebp
push esi
push edi
xor esi, esi
xor ebp, ebp
and dword [esp + 0x14], esi
and dword [esp + 0x10], esi
push ebx
call fcn.0044a304
pop ecx
test eax, eax
jne 0x45a85d
push 0x5c
push ebx
call fcn.004b8700
pop ecx
pop ecx
test eax, eax
jne 0x45a85d
push 0x2f
push ebx
call fcn.004b8700
pop ecx
pop ecx
test eax, eax
jne 0x45a85d
push str.PATH
call fcn.0044d740
mov edi, eax
mov dword [esp], 0x400
lea eax, [esp + 0x20]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
dec eax
cmp eax, 0x3fe
ja 0x45a636
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x28]
push 0xffffffffffffffff
push eax
call fcn.0044b6eb
add esp, 0x14
mov esi, eax
push 0x400
lea eax, [esp + 0x820]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
dec eax
cmp eax, 0x3fe
ja 0x45a66a
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x828]
push 0xffffffffffffffff
push eax
call fcn.0044b6eb
add esp, 0x14
mov ebp, eax
push 0x400
lea eax, [esp + 0x1020]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
dec eax
cmp eax, 0x3fe
ja 0x45a6a0
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x1028]
push 0xffffffffffffffff
push eax
call fcn.0044b6eb
add esp, 0x14
mov dword [esp + 0x10], eax
test esi, esi
je 0x45a6b6
push esi
call fcn.0044a1b6
push esi
mov dword [esp + 0x1c], eax
call fcn.00441dce
pop ecx
pop ecx
push edi
call fcn.00447c7a
mov edi, eax
mov eax, dword [esp + 0x14]
pop ecx
test eax, eax
je 0x45a6ec
push 0
push edi
push 0x501a20
push eax
mov esi, edi
call fcn.00447c0a
push esi
mov edi, eax
call fcn.00441dce
mov eax, dword [esp + 0x24]
push eax
call fcn.00441dce
add esp, 0x18
test ebp, ebp
je 0x45a711
push 0
push edi
push 0x501a20
push ebp
mov esi, edi
call fcn.00447c0a
push esi
mov edi, eax
call fcn.00441dce
push ebp
call fcn.00441dce
add esp, 0x18
push 0
push edi
push 0x52c7f4
call fcn.00447c0a
push edi
mov ebp, eax
call fcn.00441dce
mov edi, dword [esp + 0x24]
add esp, 0x10
test edi, edi
je 0x45a752
push 0
push ebp
push 0x501a20
push edi
mov esi, ebp
call fcn.00447c0a
push esi
mov ebp, eax
call fcn.00441dce
push edi
call fcn.00441dce
add esp, 0x18
push ebx
call fcn.004bb480
push ebp
lea edi, [eax + 1]
call fcn.004bb480
mov esi, eax
lea ecx, [edi + 1]
add ecx, esi
push ecx
call fcn.00441ddc
add esi, eax
mov dword [esp + 0x20], eax
push edi
push ebx
mov dword [esp + 0x2c], esi
lea eax, [esi + 1]
push eax
mov dword [esp + 0x28], eax
call fcn.004b8970
mov ebx, dword [esp + 0x28]
add esp, 0x18
mov byte [esi], 0x5c
mov ecx, ebp
mov al, byte [ecx]
mov esi, ecx
test al, al
je 0x45a7c5
cmp al, 0x3b
je 0x45a7a6
inc esi
mov al, byte [esi]
test al, al
jne 0x45a79b
cmp esi, ecx
je 0x45a7c5
mov eax, esi
sub eax, ecx
push eax
mov eax, dword [esp + 0x1c]
sub eax, esi
push ecx
add eax, ecx
push eax
call fcn.004b8970
add esp, 0xc
mov edi, eax
jmp 0x45a7c7
mov edi, ebx
push 8
push edi
call fcn.00449dc5
pop ecx
pop ecx
test eax, eax
je 0x45a7e3
push 4
push edi
call fcn.00449dc5
pop ecx
pop ecx
test eax, eax
je 0x45a817
cmp byte [esi], 0
lea ecx, [esi + 1]
jne 0x45a793
push dword [esp + 0x14]
call fcn.00441dce
push ebp
call fcn.00441dce
pop ecx
pop ecx
xor eax, eax
mov ecx, dword [esp + 0x181c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b5ec4
add esp, 0x1810
ret
push edi
call fcn.0044a304
pop ecx
test eax, eax
je 0x45a82d
push edi
call fcn.00447c7a
pop ecx
mov edi, eax
jmp 0x45a848
call fcn.00449f3a
push 0
mov esi, eax
push edi
push esi
call fcn.0044954e
push esi
mov edi, eax
call fcn.00441dce
add esp, 0x10
push dword [esp + 0x14]
call fcn.00441dce
push ebp
call fcn.00441dce
pop ecx
pop ecx
mov eax, edi
jmp 0x45a7fe
push 8
push ebx
call fcn.00449dc5
pop ecx
pop ecx
test eax, eax
je 0x45a7fc
push 4
push ebx
call fcn.00449dc5
pop ecx
pop ecx
test eax, eax
jne 0x45a7fc
push ebx
call fcn.0044a304
pop ecx
test eax, eax
je 0x45a890
push ebx
call fcn.00447c7a
pop ecx
jmp 0x45a7fe
call fcn.00449f3a
push 0
mov edi, eax
push ebx
push edi
call fcn.0044954e
push edi
mov esi, eax
call fcn.00441dce
add esp, 0x10
mov eax, esi
jmp 0x45a7fe