Function at 0x4427d0
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 0x442822
test dl, dl
je 0x44281e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x442822
add eax, 2
add ecx, 2
test dl, dl
jne 0x442802
xor eax, eax
jmp 0x442827
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
cmp byte [ebp + 0xc1e], 0
mov byte [esp + 0xf], al
je 0x44289a
xor esi, esi
test al, al
je 0x442844
mov esi, 1
mov ecx, 0x4b17bc
mov eax, edi
jmp 0x442850
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x442870
test dl, dl
je 0x44286c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x442870
add eax, 2
add ecx, 2
test dl, dl
jne 0x442850
xor eax, eax
jmp 0x442875
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x44287f
mov esi, dword [ebp + 0xd20]
test esi, esi
je 0x442896
push 0
push esi
mov ecx, ebp
call fcn.0043e6d0
push 0
push 0
jmp 0x442aa7
mov esi, dword [esp + 0x10]
mov byte [ebp + 0xc1e], 0
cmp dword [0x4dbc5c], 0
je 0x4429b9
push 0
push str.FlatView
push str.FileList
call fcn.00456960
test eax, eax
je 0x4428ce
cmp byte [esp + 0xf], 0
je 0x442aae
push 0
lea eax, [esp + 0x818]
push eax
mov ecx, 0x4e0c08
call fcn.00413650
mov ecx, 0x4b17bc
mov eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x442910
test dl, dl
je 0x44290c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x442910
add eax, 2
add ecx, 2
test dl, dl
jne 0x4428f0
xor eax, eax
jmp 0x442915
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x442959
push esi
push edi
mov ecx, 0x4e0c08
call fcn.00413490
test eax, eax
je 0x442959
cmp byte [esp + 0xf], 0
je 0x44294a
lea ecx, [esp + 0x814]
push ecx
call fcn.0044db30
push eax
mov ecx, ebp
call fcn.00441970
jmp 0x442aae
xor eax, eax
push eax
mov ecx, ebp
call fcn.00441970
jmp 0x442aae
push 0
lea edx, [esp + 0x418]
push edx
mov ecx, 0x4e0c08
call fcn.00413690
xor eax, eax
nop
mov cl, byte [esp + eax + 0x414]
mov byte [esp + eax + 0x14], cl
inc eax
test cl, cl
jne 0x442970
lea eax, [esp + 0x14]
push eax
call fcn.0044e070
push 0
lea ecx, [esp + 0x18]
push ecx
call fcn.0047f460
mov ecx, ebp
call fcn.00440a40
test al, al
je 0x442aae
push 0
lea edx, [esp + 0x418]
push edx
call fcn.0044db30
jmp 0x442aa6
lea eax, [esp + 0x14]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [esp + 0xf], 0
je 0x442a88
xor eax, eax
jmp 0x4429e0
mov cl, byte [esp + eax + 0x14]
mov byte [esp + eax + 0x814], cl
inc eax
test cl, cl
jne 0x4429e0
lea ecx, [esp + 0x414]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.0044da50
lea eax, [esp + 0x814]
push eax
call fcn.0044dfb0
lea ecx, [esp + 0x414]
push ecx
call fcn.0044dfb0
lea edx, [esp + 0x414]
push edx
lea eax, [esp + 0x818]
push eax
call fcn.004652e0
test eax, eax
jne 0x442a88
cmp dword [ebp + 0xd20], eax
jle 0x442a48
push eax
mov byte [ebp + 0xc1e], 1
push eax
jmp 0x442aa7
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, 0x4dfee0
call fcn.0043f440
mov eax, dword [0x4f8534]
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 0x442aa7
push esi
push edi
call fcn.0047f460
cmp byte [esp + 0xf], 0
je 0x442aa2
lea ecx, [esp + 0x14]
push ecx
call fcn.0044db30
jmp 0x442aa4
xor eax, eax
push 0
push eax
mov ecx, ebp
call fcn.00440fc0
mov ecx, dword [esp + 0xc14]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0049dea6
add esp, 0xc0c
ret 8