Function at 0x42a700
Capabilities:
Get common file path
Get file system object information

Disassembly:
push 0xffffffffffffffff
push 0x53ae68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push esi
push edi
mov ecx, 0x58
xor eax, eax
lea edi, [esp + 0x14]
mov dword [esp + 0x17c], 0
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x184]
mov esi, str.My_Computer
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a76c
test cl, cl
je 0x42a768
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a76c
add eax, 2
add esi, 2
test cl, cl
jne 0x42a744
xor eax, eax
jmp 0x42a771
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a801
mov eax, 0x11
lea edx, [esp + 0x10]
push edx
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov ecx, dword [esp + 0x10]
push 0x108
lea eax, [esp + 0x18]
push 0x160
push eax
push 0
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
lea edx, [esp + 0xc]
push edx
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x184]
mov dword [esp + 0x17c], 0xffffffff
call fcn.005128e4
mov ecx, dword [esp + 0x174]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x174
ret
mov esi, str.Desktop
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a830
test cl, cl
je 0x42a82c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a830
add eax, 2
add esi, 2
test cl, cl
jne 0x42a808
xor eax, eax
jmp 0x42a835
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42a77e
mov esi, str.Internet_Explorer
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a86c
test cl, cl
je 0x42a868
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a86c
add eax, 2
add esi, 2
test cl, cl
jne 0x42a844
xor eax, eax
jmp 0x42a871
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a87f
mov eax, 1
jmp 0x42a77e
mov esi, str.Programs
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a8ae
test cl, cl
je 0x42a8aa
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a8ae
add eax, 2
add esi, 2
test cl, cl
jne 0x42a886
xor eax, eax
jmp 0x42a8b3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a8c1
mov eax, 2
jmp 0x42a77e
mov esi, str.History
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a8f0
test cl, cl
je 0x42a8ec
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a8f0
add eax, 2
add esi, 2
test cl, cl
jne 0x42a8c8
xor eax, eax
jmp 0x42a8f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a903
mov eax, 0x22
jmp 0x42a77e
mov esi, str.Cookies
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a932
test cl, cl
je 0x42a92e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a932
add eax, 2
add esi, 2
test cl, cl
jne 0x42a90a
xor eax, eax
jmp 0x42a937
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a945
mov eax, 0x21
jmp 0x42a77e
mov esi, str.Start_Menu
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a974
test cl, cl
je 0x42a970
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a974
add eax, 2
add esi, 2
test cl, cl
jne 0x42a94c
xor eax, eax
jmp 0x42a979
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a987
mov eax, 0xb
jmp 0x42a77e
mov esi, str.Fonts
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a9b6
test cl, cl
je 0x42a9b2
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a9b6
add eax, 2
add esi, 2
test cl, cl
jne 0x42a98e
xor eax, eax
jmp 0x42a9bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a9c9
mov eax, 0x14
jmp 0x42a77e
mov esi, str.Favorites
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42a9f8
test cl, cl
je 0x42a9f4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42a9f8
add eax, 2
add esi, 2
test cl, cl
jne 0x42a9d0
xor eax, eax
jmp 0x42a9fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42aa0b
mov eax, 6
jmp 0x42a77e
mov esi, str.Startup
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42aa3a
test cl, cl
je 0x42aa36
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42aa3a
add eax, 2
add esi, 2
test cl, cl
jne 0x42aa12
xor eax, eax
jmp 0x42aa3f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42aa4d
mov eax, 7
jmp 0x42a77e
mov esi, str.My_Documents
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42aa7c
test cl, cl
je 0x42aa78
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42aa7c
add eax, 2
add esi, 2
test cl, cl
jne 0x42aa54
xor eax, eax
jmp 0x42aa81
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42aa8f
mov eax, 5
jmp 0x42a77e
mov esi, str.SendTo
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42aabe
test cl, cl
je 0x42aaba
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42aabe
add eax, 2
add esi, 2
test cl, cl
jne 0x42aa96
xor eax, eax
jmp 0x42aac3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42aad1
mov eax, 9
jmp 0x42a77e
mov esi, str.Recent
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42ab00
test cl, cl
je 0x42aafc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42ab00
add eax, 2
add esi, 2
test cl, cl
jne 0x42aad8
xor eax, eax
jmp 0x42ab05
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ab13
mov eax, 8
jmp 0x42a77e
mov esi, str.Templates
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42ab42
test cl, cl
je 0x42ab3e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42ab42
add eax, 2
add esi, 2
test cl, cl
jne 0x42ab1a
xor eax, eax
jmp 0x42ab47
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ab55
mov eax, 0x15
jmp 0x42a77e
mov esi, str.Control_Panel
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42ab84
test cl, cl
je 0x42ab80
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42ab84
add eax, 2
add esi, 2
test cl, cl
jne 0x42ab5c
xor eax, eax
jmp 0x42ab89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ab97
mov eax, 3
jmp 0x42a77e
mov ecx, dword [esp + 0x188]
push 0x110
lea eax, [esp + 0x18]
push 0x160
push eax
push ecx
push edi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
jmp 0x42a7cc