Function at 0x45dec0
Capabilities:
Get common file path

Disassembly:
mov eax, 0x3674
call fcn.0049e430
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 0x45df15
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45df01
sub eax, edx
cmp eax, 0x400
jae 0x45e3bb
test edi, edi
je 0x45df2a
push edi
call fcn.0046dac0
cmp eax, 0x400
jae 0x45e3bb
push 1
push 0
push 0
push 0
push 0
push esi
mov ecx, 0x4e0c08
call fcn.00413790
test al, al
jne 0x45df50
cmp byte [esp + 0x3698], al
jne 0x45e3bb
push 0
push 1
push edi
push esi
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
je 0x45dfd7
mov ecx, dword [esp + 0x36a4]
cmp ecx, 1
jne 0x45dfa6
test eax, eax
jne 0x45dfae
push eax
push eax
push ecx
push eax
push eax
push esi
mov ecx, 0x4e0c08
call fcn.00413790
test al, al
je 0x45e3bb
push 0x1fc
call fcn.0045bde0
push eax
push esi
call fcn.00445390
add esp, 8
jmp 0x45e3bb
test ecx, ecx
je 0x45e3bb
cmp eax, 0xffffffff
jne 0x45e3bb
push 0
push esi
call fcn.0042f950
test al, al
je 0x45e3bb
push esi
mov ecx, 0x4c9364
call fcn.00428390
jmp 0x45e3bb
cmp byte [esp + 0x36a0], 0
je 0x45dffe
lea eax, [esp + 0x10]
push eax
mov ecx, 0x4e0c08
call fcn.004136e0
cmp byte [esp + 0xa6], 0
jne 0x45e3bb
cmp byte [esp + 0x369c], 0
je 0x45e099
mov ecx, 0x4e0c08
call fcn.004136d0
test eax, eax
je 0x45e099
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x1d90]
push ecx
push esi
mov ecx, 0x4e0c08
call fcn.00413790
lea edx, [esp + 0x1d80]
push edx
push esi
call fcn.004652e0
test eax, eax
je 0x45e05e
push 0
lea eax, [esp + 0x1d84]
push eax
call fcn.0042f950
test al, al
jne 0x45e3bb
push 0x4b1778
lea ecx, [esp + 0x1d84]
push ecx
call fcn.0044f530
lea edx, [esp + 0x1d80]
push edx
push esi
call fcn.004652e0
test eax, eax
je 0x45e099
push 0
lea eax, [esp + 0x1d84]
push eax
call fcn.0042f950
test al, al
jne 0x45e3bb
push 0xc30
lea ecx, [esp + 0xb4]
push 0
push ecx
call fcn.0049e460
add esp, 0xc
lea edx, [esp + 0xb0]
push edx
push esi
call fcn.0042fa70
call fcn.0043ca60
test eax, eax
je 0x45e10a
test edi, edi
je 0x45e0d1
cmp word [edi], 0
jne 0x45e10a
lea eax, [esp + 0x2680]
push eax
push 0x800
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [esp + 0x2680]
push ecx
call fcn.004652a0
test al, al
jne 0x45e10a
lea edi, [esp + 0x2e80]
push 0x1000000
mov edx, edi
push edx
push esi
call fcn.0046d7e0
lea eax, [esp + 0x4b0]
push eax
push edi
call fcn.00464fe0
push eax
call fcn.0042fb00
mov ecx, dword [0x4e0e10]
mov dword [esp + 0xcdc], ecx
mov ecx, 0x4e0c08
call fcn.004136d0
test eax, eax
je 0x45e141
or dword [esp + 0xccc], 4
mov eax, ebx
test ebx, ebx
jne 0x45e16e
lea ecx, [esp + 0xce0]
call fcn.00401140
push ebx
lea edx, [esp + 0xce4]
push edx
push edi
push esi
call fcn.004332b0
test al, al
je 0x45e1a2
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, 0x4e0c08
call fcn.004136d0
test eax, eax
je 0x45e35d
cmp dword [0x4e0e10], 0
jne 0x45e35d
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 0x45e1d0
push edi
call fcn.00464fe0
push eax
lea eax, [esp + 0x2684]
push eax
call fcn.0046dae0
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x2290]
push ecx
push esi
mov ecx, 0x4e0c08
call fcn.00413790
push 0
lea edx, [esp + 0x2284]
push edx
call fcn.0042f950
test al, al
je 0x45e235
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x2280]
mov byte [esp + eax + 0x1d80], cl
inc eax
test cl, cl
jne 0x45e220
jmp 0x45e273
push 0x4b1778
lea ecx, [esp + 0x2284]
push ecx
call fcn.0044f530
push 0
lea edx, [esp + 0x2284]
push edx
call fcn.0042f950
test al, al
je 0x45e27d
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x2280]
mov byte [esp + eax + 0x1d80], cl
inc eax
test cl, cl
jne 0x45e260
xor eax, eax
mov word [esp + 0x2680], ax
lea ecx, [esp + 0x2680]
push ecx
lea edx, [esp + 0x1d84]
push edx
mov ecx, 0x4e0c08
call fcn.00413da0
lea ecx, [esp + 0x18f4]
call fcn.004680a0
lea ecx, [esp + 0x1918]
call fcn.004680a0
lea ecx, [esp + 0x193c]
call fcn.004680a0
push 0
lea eax, [esp + 0xce4]
push eax
lea ecx, [esp + 0x2688]
push ecx
lea edx, [esp + 0x1d8c]
push edx
call fcn.004332b0
test al, al
je 0x45e35d
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, 0x4e0c08
call fcn.00413da0
lea ecx, [esp + 0x18f4]
call fcn.004680a0
lea ecx, [esp + 0x1918]
call fcn.004680a0
lea ecx, [esp + 0x193c]
call fcn.004680a0
push 0
lea ecx, [esp + 0xce4]
push ecx
lea edx, [esp + 0x2688]
push edx
lea eax, [esp + 0x1d8c]
push eax
call fcn.004332b0
test al, al
jne 0x45e2e0
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.0043cb60
inc eax
push eax
push 0x35c
call fcn.0045bde0
push eax
lea ecx, [esp + 0x2188]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [esp + 0x2180]
push edx
mov ecx, 0x4dc1d0
call fcn.00464e40
mov ecx, dword [esp + 0x3680]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049dea6
add esp, 0x3674
ret 0x20