Function at 0x45d9f0
Capabilities:
Get common file path

Disassembly:
mov eax, 0x3674
call fcn.0049e650
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x3670], eax
push ebx
mov ebx, dword [esp + 0x3684]
push ebp
mov ebp, dword [esp + 0x368c]
push esi
mov esi, dword [esp + 0x3684]
push edi
mov edi, dword [esp + 0x368c]
test esi, esi
je 0x45da45
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45da31
sub eax, edx
cmp eax, 0x400
jae 0x45deeb
test edi, edi
je 0x45da5a
push edi
call fcn.0046d610
cmp eax, 0x400
jae 0x45deeb
push 1
push 0
push 0
push 0
push 0
push esi
mov ecx, 0x4e0c18
call fcn.004135e0
test al, al
jne 0x45da80
cmp byte [esp + 0x3698], al
jne 0x45deeb
push 0
push 1
push edi
push esi
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
je 0x45db07
mov ecx, dword [esp + 0x36a4]
cmp ecx, 1
jne 0x45dad6
test eax, eax
jne 0x45dade
push eax
push eax
push ecx
push eax
push eax
push esi
mov ecx, 0x4e0c18
call fcn.004135e0
test al, al
je 0x45deeb
push 0x1fc
call fcn.0045b8f0
push eax
push esi
call fcn.0048cce0
add esp, 8
jmp 0x45deeb
test ecx, ecx
je 0x45deeb
cmp eax, 0xffffffff
jne 0x45deeb
push 0
push esi
call fcn.0042f890
test al, al
je 0x45deeb
push esi
mov ecx, 0x4c9364
call fcn.004282c0
jmp 0x45deeb
cmp byte [esp + 0x36a0], 0
je 0x45db2e
lea eax, [esp + 0x10]
push eax
mov ecx, 0x4e0c18
call fcn.00413530
cmp byte [esp + 0xa6], 0
jne 0x45deeb
cmp byte [esp + 0x369c], 0
je 0x45dbc9
mov ecx, 0x4e0c18
call fcn.00413520
test eax, eax
je 0x45dbc9
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x1d90]
push ecx
push esi
mov ecx, 0x4e0c18
call fcn.004135e0
lea edx, [esp + 0x1d80]
push edx
push esi
call fcn.00464e20
test eax, eax
je 0x45db8e
push 0
lea eax, [esp + 0x1d84]
push eax
call fcn.0042f890
test al, al
jne 0x45deeb
push 0x4b1778
lea ecx, [esp + 0x1d84]
push ecx
call fcn.0044ef30
lea edx, [esp + 0x1d80]
push edx
push esi
call fcn.00464e20
test eax, eax
je 0x45dbc9
push 0
lea eax, [esp + 0x1d84]
push eax
call fcn.0042f890
test al, al
jne 0x45deeb
push 0xc30
lea ecx, [esp + 0xb4]
push 0
push ecx
call fcn.0049e680
add esp, 0xc
lea edx, [esp + 0xb0]
push edx
push esi
call fcn.0042f9c0
call fcn.0043c9b0
test eax, eax
je 0x45dc3a
test edi, edi
je 0x45dc01
cmp word [edi], 0
jne 0x45dc3a
lea eax, [esp + 0x2680]
push eax
push 0x800
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [esp + 0x2680]
push ecx
call fcn.00464de0
test al, al
jne 0x45dc3a
lea edi, [esp + 0x2e80]
push 0x1000000
mov edx, edi
push edx
push esi
call fcn.0046d330
lea eax, [esp + 0x4b0]
push eax
push edi
call fcn.00464b20
push eax
call fcn.0042fa50
mov ecx, dword [0x4e0e20]
mov dword [esp + 0xcdc], ecx
mov ecx, 0x4e0c18
call fcn.00413520
test eax, eax
je 0x45dc71
or dword [esp + 0xccc], 4
mov eax, ebx
test ebx, ebx
jne 0x45dc9e
lea ecx, [esp + 0xce0]
call fcn.00401140
push ebx
lea edx, [esp + 0xce4]
push edx
push edi
push esi
call fcn.00433200
test al, al
je 0x45dcd2
lea eax, [esp + 0xce0]
mov ecx, dword [eax + 0xc00]
mov edx, dword [eax + 0xc04]
mov dword [esp + 0xcb0], ecx
mov ecx, dword [eax + 0x1090]
mov dword [esp + 0xcb4], edx
mov edx, dword [eax + 0x1094]
mov dword [esp + 0xcc4], ecx
mov dword [esp + 0xcc8], edx
mov ecx, 0x4e0c18
call fcn.00413520
test eax, eax
je 0x45de8d
cmp dword [0x4e0e20], 0
jne 0x45de8d
lea edx, [esp + 0x1d80]
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45dd00
push edi
call fcn.00464b20
push eax
lea eax, [esp + 0x2684]
push eax
call fcn.0046d630
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x2290]
push ecx
push esi
mov ecx, 0x4e0c18
call fcn.004135e0
push 0
lea edx, [esp + 0x2284]
push edx
call fcn.0042f890
test al, al
je 0x45dd65
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x2280]
mov byte [esp + eax + 0x1d80], cl
inc eax
test cl, cl
jne 0x45dd50
jmp 0x45dda3
push 0x4b1778
lea ecx, [esp + 0x2284]
push ecx
call fcn.0044ef30
push 0
lea edx, [esp + 0x2284]
push edx
call fcn.0042f890
test al, al
je 0x45ddad
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x2280]
mov byte [esp + eax + 0x1d80], cl
inc eax
test cl, cl
jne 0x45dd90
xor eax, eax
mov word [esp + 0x2680], ax
lea ecx, [esp + 0x2680]
push ecx
lea edx, [esp + 0x1d84]
push edx
mov ecx, 0x4e0c18
call fcn.00413bf0
lea ecx, [esp + 0x18f4]
call fcn.00467be0
lea ecx, [esp + 0x1918]
call fcn.00467be0
lea ecx, [esp + 0x193c]
call fcn.00467be0
push 0
lea eax, [esp + 0xce4]
push eax
lea ecx, [esp + 0x2688]
push ecx
lea edx, [esp + 0x1d8c]
push edx
call fcn.00433200
test al, al
je 0x45de8d
mov edi, edi
mov eax, dword [esp + 0x18e0]
add dword [esp + 0xcb0], eax
mov ecx, dword [esp + 0x18e4]
lea edx, [esp + 0x2680]
adc dword [esp + 0xcb4], ecx
push edx
lea eax, [esp + 0x1d84]
push eax
mov ecx, 0x4e0c18
call fcn.00413bf0
lea ecx, [esp + 0x18f4]
call fcn.00467be0
lea ecx, [esp + 0x1918]
call fcn.00467be0
lea ecx, [esp + 0x193c]
call fcn.00467be0
push 0
lea ecx, [esp + 0xce4]
push ecx
lea edx, [esp + 0x2688]
push edx
lea eax, [esp + 0x1d8c]
push eax
call fcn.00433200
test al, al
jne 0x45de10
mov ecx, dword [esp + 0xcb0]
inc dword [0x4dbd4c]
add dword [0x4dbcb0], ecx
mov edx, dword [esp + 0xcb4]
lea eax, [esp + 0xb0]
adc dword [0x4dbcb4], edx
push eax
mov ecx, ebp
call fcn.0043cab0
inc eax
push eax
push 0x35c
call fcn.0045b8f0
push eax
lea ecx, [esp + 0x2188]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [esp + 0x2180]
push edx
mov ecx, 0x4dc1d0
call fcn.00464980
mov ecx, dword [esp + 0x3680]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049e0c6
add esp, 0x3674
ret 0x20