Function at 0x45df20
Capabilities:
Get common file path

Disassembly:
mov eax, 0x3674
call fcn.0049ebb0
mov eax, dword [0x4c03a0]
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 0x45df75
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45df61
sub eax, edx
cmp eax, 0x400
jae 0x45e41b
test edi, edi
je 0x45df8a
push edi
call fcn.0046db10
cmp eax, 0x400
jae 0x45e41b
push 1
push 0
push 0
push 0
push 0
push esi
mov ecx, 0x4e0c60
call fcn.00413620
test al, al
jne 0x45dfb0
cmp byte [esp + 0x3698], al
jne 0x45e41b
push 0
push 1
push edi
push esi
mov ecx, 0x4e0c60
call fcn.00414490
cmp eax, 1
je 0x45e037
mov ecx, dword [esp + 0x36a4]
cmp ecx, 1
jne 0x45e006
test eax, eax
jne 0x45e00e
push eax
push eax
push ecx
push eax
push eax
push esi
mov ecx, 0x4e0c60
call fcn.00413620
test al, al
je 0x45e41b
push 0x1fc
call fcn.0045be10
push eax
push esi
call fcn.0048d240
add esp, 8
jmp 0x45e41b
test ecx, ecx
je 0x45e41b
cmp eax, 0xffffffff
jne 0x45e41b
push 0
push esi
call fcn.0042fc80
test al, al
je 0x45e41b
push esi
mov ecx, 0x4c93ac
call fcn.004286a0
jmp 0x45e41b
cmp byte [esp + 0x36a0], 0
je 0x45e05e
lea eax, [esp + 0x10]
push eax
mov ecx, 0x4e0c60
call fcn.00413570
cmp byte [esp + 0xa6], 0
jne 0x45e41b
cmp byte [esp + 0x369c], 0
je 0x45e0f9
mov ecx, 0x4e0c60
call fcn.00413560
test eax, eax
je 0x45e0f9
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x1d90]
push ecx
push esi
mov ecx, 0x4e0c60
call fcn.00413620
lea edx, [esp + 0x1d80]
push edx
push esi
call fcn.00465330
test eax, eax
je 0x45e0be
push 0
lea eax, [esp + 0x1d84]
push eax
call fcn.0042fc80
test al, al
jne 0x45e41b
push 0x4b1778
lea ecx, [esp + 0x1d84]
push ecx
call fcn.0044f4f0
lea edx, [esp + 0x1d80]
push edx
push esi
call fcn.00465330
test eax, eax
je 0x45e0f9
push 0
lea eax, [esp + 0x1d84]
push eax
call fcn.0042fc80
test al, al
jne 0x45e41b
push 0xc30
lea ecx, [esp + 0xb4]
push 0
push ecx
call fcn.0049ebe0
add esp, 0xc
lea edx, [esp + 0xb0]
push edx
push esi
call fcn.0042fda0
call fcn.0043cdb0
test eax, eax
je 0x45e16a
test edi, edi
je 0x45e131
cmp word [edi], 0
jne 0x45e16a
lea eax, [esp + 0x2680]
push eax
push 0x800
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [esp + 0x2680]
push ecx
call fcn.004652f0
test al, al
jne 0x45e16a
lea edi, [esp + 0x2e80]
push 0x1000000
mov edx, edi
push edx
push esi
call fcn.0046d830
lea eax, [esp + 0x4b0]
push eax
push edi
call fcn.00465030
push eax
call fcn.0042fe30
mov ecx, dword [0x4e0e68]
mov dword [esp + 0xcdc], ecx
mov ecx, 0x4e0c60
call fcn.00413560
test eax, eax
je 0x45e1a1
or dword [esp + 0xccc], 4
mov eax, ebx
test ebx, ebx
jne 0x45e1ce
lea ecx, [esp + 0xce0]
call fcn.00401140
push ebx
lea edx, [esp + 0xce4]
push edx
push edi
push esi
call fcn.004335f0
test al, al
je 0x45e202
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, 0x4e0c60
call fcn.00413560
test eax, eax
je 0x45e3bd
cmp dword [0x4e0e68], 0
jne 0x45e3bd
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 0x45e230
push edi
call fcn.00465030
push eax
lea eax, [esp + 0x2684]
push eax
call fcn.0046db30
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x2290]
push ecx
push esi
mov ecx, 0x4e0c60
call fcn.00413620
push 0
lea edx, [esp + 0x2284]
push edx
call fcn.0042fc80
test al, al
je 0x45e295
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x2280]
mov byte [esp + eax + 0x1d80], cl
inc eax
test cl, cl
jne 0x45e280
jmp 0x45e2d3
push 0x4b1778
lea ecx, [esp + 0x2284]
push ecx
call fcn.0044f4f0
push 0
lea edx, [esp + 0x2284]
push edx
call fcn.0042fc80
test al, al
je 0x45e2dd
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x2280]
mov byte [esp + eax + 0x1d80], cl
inc eax
test cl, cl
jne 0x45e2c0
xor eax, eax
mov word [esp + 0x2680], ax
lea ecx, [esp + 0x2680]
push ecx
lea edx, [esp + 0x1d84]
push edx
mov ecx, 0x4e0c60
call fcn.00413c30
lea ecx, [esp + 0x18f4]
call fcn.004680f0
lea ecx, [esp + 0x1918]
call fcn.004680f0
lea ecx, [esp + 0x193c]
call fcn.004680f0
push 0
lea eax, [esp + 0xce4]
push eax
lea ecx, [esp + 0x2688]
push ecx
lea edx, [esp + 0x1d8c]
push edx
call fcn.004335f0
test al, al
je 0x45e3bd
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, 0x4e0c60
call fcn.00413c30
lea ecx, [esp + 0x18f4]
call fcn.004680f0
lea ecx, [esp + 0x1918]
call fcn.004680f0
lea ecx, [esp + 0x193c]
call fcn.004680f0
push 0
lea ecx, [esp + 0xce4]
push ecx
lea edx, [esp + 0x2688]
push edx
lea eax, [esp + 0x1d8c]
push eax
call fcn.004335f0
test al, al
jne 0x45e340
mov ecx, dword [esp + 0xcb0]
inc dword [0x4dbd04]
add dword [0x4dbcf8], ecx
mov edx, dword [esp + 0xcb4]
lea eax, [esp + 0xb0]
adc dword [0x4dbcfc], edx
push eax
mov ecx, ebp
call fcn.0043ceb0
inc eax
push eax
push 0x35c
call fcn.0045be10
push eax
lea ecx, [esp + 0x2188]
push ecx
call fcn.0049e635
add esp, 0xc
lea edx, [esp + 0x2180]
push edx
mov ecx, 0x4dc218
call fcn.00464e90
mov ecx, dword [esp + 0x3680]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049e626
add esp, 0x3674
ret 0x20