Function at 0x442740
Capabilities:
Get common file path

Disassembly:
sub esp, 0xc0c
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0xc08], eax
push ebp
push esi
mov esi, dword [esp + 0xc1c]
push edi
mov edi, dword [esp + 0xc1c]
mov ebp, ecx
mov dword [esp + 0x10], esi
mov ecx, 0x4b1a5c
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x442792
test dl, dl
je 0x44278e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x442792
add eax, 2
add ecx, 2
test dl, dl
jne 0x442772
xor eax, eax
jmp 0x442797
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
cmp byte [ebp + 0xc1e], 0
mov byte [esp + 0xf], al
je 0x44280a
xor esi, esi
test al, al
je 0x4427b4
mov esi, 1
mov ecx, 0x4b17bc
mov eax, edi
jmp 0x4427c0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4427e0
test dl, dl
je 0x4427dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4427e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4427c0
xor eax, eax
jmp 0x4427e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4427ef
mov esi, dword [ebp + 0xd20]
test esi, esi
je 0x442806
push 0
push esi
mov ecx, ebp
call fcn.0043e640
push 0
push 0
jmp 0x442a17
mov esi, dword [esp + 0x10]
mov byte [ebp + 0xc1e], 0
cmp dword [0x4dbc5c], 0
je 0x442929
push 0
push str.FlatView
push str.FileList
call fcn.00456400
test eax, eax
je 0x44283e
cmp byte [esp + 0xf], 0
je 0x442a1e
push 0
lea eax, [esp + 0x818]
push eax
mov ecx, 0x4e0c18
call fcn.004134a0
mov ecx, 0x4b17bc
mov eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x442880
test dl, dl
je 0x44287c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x442880
add eax, 2
add ecx, 2
test dl, dl
jne 0x442860
xor eax, eax
jmp 0x442885
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4428c9
push esi
push edi
mov ecx, 0x4e0c18
call fcn.004132e0
test eax, eax
je 0x4428c9
cmp byte [esp + 0xf], 0
je 0x4428ba
lea ecx, [esp + 0x814]
push ecx
call fcn.0044d530
push eax
mov ecx, ebp
call fcn.004418e0
jmp 0x442a1e
xor eax, eax
push eax
mov ecx, ebp
call fcn.004418e0
jmp 0x442a1e
push 0
lea edx, [esp + 0x418]
push edx
mov ecx, 0x4e0c18
call fcn.004134e0
xor eax, eax
nop
mov cl, byte [esp + eax + 0x414]
mov byte [esp + eax + 0x14], cl
inc eax
test cl, cl
jne 0x4428e0
lea eax, [esp + 0x14]
push eax
call fcn.0044da70
push 0
lea ecx, [esp + 0x18]
push ecx
call fcn.0047efc0
mov ecx, ebp
call fcn.004409b0
test al, al
je 0x442a1e
push 0
lea edx, [esp + 0x418]
push edx
call fcn.0044d530
jmp 0x442a16
lea eax, [esp + 0x14]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [esp + 0xf], 0
je 0x4429f8
xor eax, eax
jmp 0x442950
mov cl, byte [esp + eax + 0x14]
mov byte [esp + eax + 0x814], cl
inc eax
test cl, cl
jne 0x442950
lea ecx, [esp + 0x414]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.0044d450
lea eax, [esp + 0x814]
push eax
call fcn.0044d9b0
lea ecx, [esp + 0x414]
push ecx
call fcn.0044d9b0
lea edx, [esp + 0x414]
push edx
lea eax, [esp + 0x818]
push eax
call fcn.00464e20
test eax, eax
jne 0x4429f8
cmp dword [ebp + 0xd20], eax
jle 0x4429b8
push eax
mov byte [ebp + 0xc1e], 1
push eax
jmp 0x442a17
mov edx, dword [ebp]
lea ecx, [esp + 0x10]
push ecx
push 0x11
push edx
mov dword [esp + 0x1c], 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov eax, dword [esp + 0x10]
push eax
mov ecx, 0x4dfef0
call fcn.0043f3b0
mov eax, dword [0x4f8164]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
push 0
push 0
jmp 0x442a17
push esi
push edi
call fcn.0047efc0
cmp byte [esp + 0xf], 0
je 0x442a12
lea ecx, [esp + 0x14]
push ecx
call fcn.0044d530
jmp 0x442a14
xor eax, eax
push 0
push eax
mov ecx, ebp
call fcn.00440f30
mov ecx, dword [esp + 0xc14]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0049e0c6
add esp, 0xc0c
ret 8