Function at 0x44dbf0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5edf8c
mov eax, dword fs:[0]
push eax
mov eax, 0x10a4
call fcn.0041ead0
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1084], ecx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x84]
xorps xmm0, xmm0
mov dword [ebp - 0x1078], edi
mov dword [ebp - 0x10b0], str.HKCRShell
mov dword [ebp - 0x10ac], str.HKCRShellExContextMenuHandlers
mov esi, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [ebp - 0x106c], esi
mov dword [ebp - 0x1070], ebx
mov dword [ebp - 0x10a8], str.HKCRAllFilesystemObjectsShell
mov dword [ebp - 0x10a4], str.HKCRAllFilesystemObjectsShellExContextMenuHandlers
mov dword [ebp - 0x10a0], str.HKCRFolderShell
mov dword [ebp - 0x109c], str.HKCRFolderShellExContextMenuHandlers
mov dword [ebp - 0x1098], str.HKCRDirectoryShell
mov dword [ebp - 0x1094], str.HKCRDirectoryShellExContextMenuHandlers
mov dword [ebp - 0x1090], str.HKCRDirectoryBackgroundShell
mov dword [ebp - 0x108c], str.HKCRDirectoryBackgroundShellExContextMenuHandlers
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], 0
call fcn.005dc5e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x68]
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
movq qword [ebp - 0x68], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x78]
movq qword [ebp - 0x78], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
lea ecx, [ebp - 0x90]
movq qword [ebp - 0x90], xmm0
call fcn.005dc5e0
push fcn.005dc430
push fcn.005dc5e0
push 6
push 0xc
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 3
push eax
call fcn.0041e804
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
call fcn.005d6aa0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
call fcn.005d6aa0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1064]
xorps xmm0, xmm0
mov dword [ebp - 0x105c], 0
movq qword [ebp - 0x1064], xmm0
call fcn.005d6ac0
push 0xfc8
lea eax, [ebp - 0x1058]
push 0
push eax
call fcn.00420090
add esp, 0xc
lea ecx, [ebp - 0x1058]
call fcn.005e9a70
mov byte [ebp - 4], 8
call fcn.005d8790
xor edx, edx
mov eax, 8
comisd xmm0, xmmword [0x6edab8]
cmovae edx, eax
mov dword [ebp - 0x1088], edx
xor ecx, ecx
mov dword [ebp - 0x1074], ecx
test ecx, ecx
jne 0x44dde2
mov edi, dword [ebp + 0xc]
push ecx
inc edi
mov ecx, esi
push edx
push edi
mov edx, str.Global_file_context_menu___HKCR____HKCRAllFilesystemObjects_
mov dword [ebp + 0xc], edi
call fcn.005ca9c0
mov edi, dword [ebp - 0x1078]
jmp 0x44ddfd
cmp ecx, 4
jne 0x44de03
mov eax, dword [ebp + 0xc]
push ecx
inc eax
mov ecx, esi
push edx
push eax
mov edx, str.Global_folder_context_menu___HKCRFolder____HKCRDirectory_
mov dword [ebp + 0xc], eax
call fcn.005ca9c0
mov ecx, dword [ebp - 0x1074]
mov eax, dword [ebp + ecx*4 - 0x10b0]
push ecx
push 0x20019
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x107c], eax
call fcn.005d6a30
test al, al
je 0x44e099
lea eax, [ebp - 0x1064]
mov dword [ebp - 0x1080], 0
push eax
push 0
lea ecx, [ebp - 0x6c]
call fcn.005d6380
test al, al
je 0x44e099
nop word [eax + eax]
cmp byte [edi + 0xc], 0
jne 0x44e0bb
lea esi, [ebp - 0x58]
mov edi, 6
mov ecx, esi
call fcn.005dc400
add esi, 0xc
sub edi, 1
jne 0x44de62
test byte [ebp - 0x1074], 1
mov byte [ebp - 0x1065], 0
jne 0x44e156
lea ecx, [ebp - 0x84]
call fcn.005dc400
mov esi, dword [ebp - 0x1064]
lea ecx, [ebp - 0x68]
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
mov edi, dword [ebp - 0x107c]
push 0x627384
push esi
push 0x624284
push edi
call fcn.005dc200
lea eax, [ebp - 0x4c]
push eax
push 0x62439c
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
test al, al
jne 0x44e022
lea eax, [ebp - 0x1c]
push eax
push str.DelegateExecute
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
test al, al
je 0x44df68
lea ecx, [ebp - 0x1c]
call fcn.005d4600
test al, al
je 0x44df68
sub esp, 0xc
lea ecx, [ebp - 0x1c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.HKCRCLSID_
call fcn.005da510
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.InProcServer32
lea ecx, [ebp - 0x1c]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x68]
call fcn.005dc200
lea eax, [ebp - 0x4c]
push eax
push 0x62439c
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
lea ecx, [ebp - 0x4c]
call fcn.005dc3a0
test eax, eax
jne 0x44e022
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push str.DropTarget
push esi
push 0x624284
push edi
lea ecx, [ebp - 0x68]
call fcn.005dc200
lea eax, [ebp - 0x1c]
push eax
push 0x6451c0
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
test al, al
je 0x44e022
lea ecx, [ebp - 0x1c]
call fcn.005d4600
test al, al
je 0x44e022
sub esp, 0xc
lea ecx, [ebp - 0x1c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.HKCRCLSID_
call fcn.005da510
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.InProcServer32
lea ecx, [ebp - 0x1c]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x68]
call fcn.005dc200
lea eax, [ebp - 0x4c]
push eax
push 0x62439c
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
mov edx, dword [ebp - 0x1084]
lea ecx, [ebp - 0x4c]
push 3
lea edx, [edx + 0x1c]
call fcn.005e88c0
test al, al
je 0x44e269
test bl, 1
je 0x44e21c
lea ecx, [ebp - 0x4c]
and bl, 8
call fcn.005dc190
mov dl, bl
mov ecx, eax
call fcn.005e33a0
mov ebx, dword [ebp - 0x1070]
test al, al
je 0x44e269
mov esi, dword [ebp - 0x106c]
mov edi, dword [ebp - 0x1080]
lea eax, [ebp - 0x1064]
inc edi
lea ecx, [ebp - 0x6c]
push eax
push edi
mov dword [ebp - 0x1080], edi
call fcn.005d6380
mov edi, dword [ebp - 0x1078]
test al, al
jne 0x44de50
mov ecx, dword [ebp - 0x1074]
mov edi, dword [ebp - 0x1078]
inc ecx
mov edx, dword [ebp - 0x1088]
mov dword [ebp - 0x1074], ecx
cmp ecx, 0xa
jl 0x44ddc0
lea ecx, [ebp - 0x9c]
call fcn.005dc430
lea ecx, [ebp - 0xa8]
call fcn.005dc430
lea ecx, [ebp - 0xb4]
call fcn.005dc430
lea ecx, [ebp - 0x1064]
call fcn.005d6ab0
lea ecx, [ebp - 0x5c]
call fcn.005d69e0
lea ecx, [ebp - 0x6c]
call fcn.005d69e0
push fcn.005dc430
push 6
push 0xc
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 3
push eax
call fcn.0041e45b
lea ecx, [ebp - 0x90]
call fcn.005dc430
lea ecx, [ebp - 0x78]
call fcn.005dc430
lea ecx, [ebp - 0x68]
call fcn.005dc430
lea ecx, [ebp - 0x84]
call fcn.005dc430
mov eax, 2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret 8
mov esi, dword [ebp - 0x1064]
mov ecx, esi
call fcn.005d45b0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
test al, al
je 0x44e191
push 0
push esi
push str.HKCRCLSID_
lea ecx, [ebp - 0x1c]
call fcn.005dc200
mov edi, dword [ebp - 0x107c]
jmp 0x44e1f0
mov edi, dword [ebp - 0x107c]
lea ecx, [ebp - 0x68]
push esi
push 0x624284
push edi
call fcn.005dc200
lea eax, [ebp - 0x1c]
push eax
push 0x62439c
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
test al, al
je 0x44e1f0
lea ecx, [ebp - 0x1c]
call fcn.005d4600
test al, al
je 0x44e1f0
sub esp, 0xc
lea ecx, [ebp - 0x1c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.HKCRCLSID_
call fcn.005da510
ret
sbb byte [eax], al
lea ecx, [ebp - 0x1c]
call fcn.005dc3a0
test eax, eax
jne 0x44dfde
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push esi
push str.CLSID_not_found:
lea ecx, [ebp - 0x4c]
call fcn.005dc200
mov bl, 1
jmp 0x44e284
test bl, 2
je 0x44e245
lea ecx, [ebp - 0x4c]
and bl, 8
call fcn.005dc190
mov dl, bl
mov ecx, eax
call fcn.005e3270
mov ebx, dword [ebp - 0x1070]
test al, al
jne 0x44e068
jmp 0x44e269
test bl, 4
je 0x44e269
push 0
lea ecx, [ebp - 0x4c]
call fcn.005dc190
lea edx, [ebp - 0x78]
mov ecx, eax
call fcn.005e65a0
add esp, 4
test eax, eax
je 0x44e068
test bl, 8
je 0x44e27e
mov eax, dword [ebp - 0x1078]
cmp byte [eax + 0xc], 0
jne 0x44e0bb
mov bl, byte [ebp - 0x1065]
lea ecx, [ebp - 0x1c]
call fcn.005dc3a0
cmp eax, 0x1e
jle 0x44e2ab
lea eax, [ebp - 0x40]
push eax
push 0x62439c
lea ecx, [ebp - 0x1c]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
mov ecx, esi
call fcn.005d45b0
test al, al
je 0x44e319
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push 0x624284
push edi
lea ecx, [ebp - 0x68]
call fcn.005dc200
lea eax, [ebp - 0x58]
push eax
push 0x62439c
lea ecx, [ebp - 0x68]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x5c]
call fcn.005d65d0
test al, al
je 0x44e302
lea ecx, [ebp - 0x58]
call fcn.005dc3a0
cmp eax, 2
jg 0x44e322
lea ecx, [ebp - 0x40]
call fcn.005dc3a0
test eax, eax
je 0x44e319
lea ecx, [ebp - 0x40]
call fcn.005dc190
push eax
jmp 0x44e31a
push esi
lea ecx, [ebp - 0x58]
call fcn.005dc510
lea ecx, [ebp - 0x40]
call fcn.005dc3a0
test eax, eax
jne 0x44e37e
test bl, bl
jne 0x44e371
lea ecx, [ebp - 0x4c]
call fcn.005dc190
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x44e371
lea ecx, [ebp - 0x4c]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x1058]
call fcn.005e9660
push str.No_description
push 0x62e020
lea ecx, [ebp - 0x1058]
call fcn.005e98f0
push eax
jmp 0x44e376
push str.No_description
lea ecx, [ebp - 0x40]
call fcn.005dc510
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push 0x624284
push edi
lea ecx, [ebp - 0x28]
call fcn.005da780
push 0xffffffffffffffff
push dword [ebp + 0xc]
lea ecx, [ebp - 0x58]
call fcn.005dc190
mov ecx, dword [ebp - 0x106c]
mov edx, 0x186a0
push eax
call fcn.005caa40
mov ebx, eax
lea edi, [ebp - 0x4c]
mov esi, 1
mov ecx, edi
call fcn.005dc190
mov ecx, dword [ebp - 0x106c]
mov edx, ebx
push eax
push esi
call fcn.005ca650
inc esi
add edi, 0xc
cmp esi, 6
jl 0x44e3c7
push 0
lea ecx, [ebp - 0x4c]
call fcn.005dc190
mov esi, dword [ebp - 0x106c]
mov edx, ebx
push eax
mov ecx, esi
call fcn.005ca7a0
mov ebx, dword [ebp - 0x1070]
jmp 0x44e06e