Function at 0x43bc77
Capabilities:
Check if file exists
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x50b230]
sub esp, 0xe10
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x43c61a
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x43c352
je 0x43be09
cmp eax, 0xfffffe34
je 0x43bfde
cmp eax, 0xfffffe35
je 0x43bedb
cmp eax, 0xfffffe36
je 0x43be15
cmp eax, 0xfffffe39
je 0x43bd2d
cmp eax, 0xfffffe3a
je 0x43be09
cmp eax, 0xfffffe3d
jne 0x43c61a
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp eax, edi
je 0x43bd1a
mov ecx, dword [esi + 0x14]
push eax
push dword [ebp + 0xc]
mov dword [0x50bb8c], ecx
push 0x8001
push dword [0x50b228]
mov dword [0x50bb90], eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x50b230]
push edi
push edi
push ecx
mov dword [0x50b1f8], edi
call fcn.00428ad6
jmp 0x43c61a
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x43be09
push eax
call fcn.004345eb
mov edi, eax
test edi, edi
je 0x43be09
cmp dword [0x517934], 4
mov ebx, dword [esi + 0xc]
jl 0x43bd97
push dword [edi + 8]
push dword [0x50b230]
call fcn.0042af96
lea ecx, [edi + 0xd0e]
cmp word [ecx], 0
jne 0x43bd73
mov ecx, 0x453078
push dword [edi + 0x824]
push ecx
push eax
push dword [edi + 0x1004]
push ebx
call fcn.0044b2f3
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push 4
call fcn.0044def7
add esp, 0x1c
xor esi, esi
inc esi
cmp ebx, 2
jne 0x43bda7
mov dword [edi + 0x1004], esi
jmp 0x43bdd7
cmp ebx, esi
jne 0x43bdb4
and dword [edi + 0x1004], 0
jmp 0x43bdd7
cmp ebx, 3
jne 0x43bdcf
push dword [edi + 8]
push dword [0x50b230]
call fcn.0042af96
mov dword [edi + 0x1004], eax
jmp 0x43bdd7
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.pTNI__bLastExpandManuallytrue
push 4
mov dword [edi + 0x1008], esi
call fcn.0044def7
cmp dword [0x50d860], 0
pop ecx
pop ecx
jne 0x43be09
mov eax, dword [edi + 0x14]
cmp eax, 9
je 0x43be01
cmp eax, 0xa
jne 0x43be09
push esi
mov ecx, edi
call fcn.0040b812
and dword [0x50b1f8], 0
jmp 0x43c61a
mov esi, dword [esi + 0x14]
push 4
pop ebx
cmp dword [0x517934], ebx
jl 0x43be32
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push ebx
call fcn.0044def7
add esp, 0xc
push esi
call fcn.004345eb
mov edi, eax
test edi, edi
je 0x43c61a
cmp dword [0x517934], ebx
jl 0x43be95
lea eax, [edi + 0xd0e]
cmp word [eax], 0
jne 0x43be5b
mov eax, 0x453078
push eax
push dword [edi + 0x824]
push str.__s_at__s
push ebx
call fcn.0044def7
add esp, 0x10
cmp dword [0x517934], ebx
jl 0x43be95
push dword [edi + 8]
push dword [0x50b230]
call fcn.00435935
push eax
push str._txt_s
push ebx
call fcn.0044def7
add esp, 0xc
cmp esi, dword [0x50bb90]
jne 0x43bea4
and dword [0x50bb90], 0
cmp edi, dword [0x50d874]
jne 0x43beca
lea eax, [edi + 0xc70]
mov ecx, dword [eax]
test ecx, ecx
je 0x43c61a
and dword [eax], 0
push ecx
call fcn.00448411
jmp 0x43c517
mov ecx, dword [0x50d7e8]
push edi
call fcn.0040dba4
jmp 0x43c61a
push dword [esi + 0x10]
call fcn.004345eb
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x43bfb6
push dword [ebx + 0xfd0]
mov ecx, dword [0x50d7ec]
call fcn.0040121c
test eax, eax
je 0x43bfb6
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push edi
push 0x110f
push dword [0x50b230]
call esi
push edi
push 0xfd
push 0xc5
push eax
mov dword [0x50b268], eax
call esi
push 0x432400
push 0xfffffffffffffffc
push dword [0x50b268]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x50b348], eax
mov eax, dword [ebx + 0xfd0]
lea ecx, [eax + 0x1638]
cmp word [ecx], di
jne 0x43bf85
mov ecx, dword [0x4a2b24]
sub ecx, edi
je 0x43bf74
dec ecx
je 0x43bfad
dec ecx
jne 0x43bf92
lea ecx, [ebx + 0xa6c]
cmp word [ecx], di
jne 0x43bf85
lea ecx, [eax + 0x1738]
cmp word [ecx], di
jne 0x43bf85
lea ecx, [eax + 0x1838]
push ecx
push dword [0x50b268]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x50c3c0
push dword [0x50b268]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x43c61a
add ebx, 0x868
push ebx
jmp 0x43bf86
push edi
xor esi, esi
inc esi
push esi
push 0x1116
push dword [0x50b230]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push edi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, esi
jmp 0x43c61c
cmp dword [esi + 0x1c], 0
je 0x43c61a
push str.lblendedit
push 0
push 0x7f02
call fcn.004346f7
push dword [esi + 0x10]
call fcn.004345eb
mov dword [ebp + 0x10], eax
test eax, eax
je 0x43c335
mov ecx, dword [0x50d7ec]
mov edi, eax
add edi, 0xfd0
push dword [edi]
call fcn.0040121c
test eax, eax
je 0x43c335
mov eax, dword [edi]
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
mov dword [ebp + 8], eax
push str.Device_Parameters
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4534d0
push eax
call ebx
mov eax, dword [esi + 0x1c]
add esp, 0x14
cmp word [eax], 0
mov edi, 0x80000002
jne 0x43c1c9
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004285c9
test eax, eax
je 0x43c15d
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1638], ax
mov ecx, dword [ebp + 0x10]
xor esi, esi
inc esi
mov dword [ecx + 0xcf4], esi
push esi
call fcn.0040b812
cmp dword [0x4a2b24], 0
jne 0x43c335
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4532dc
push eax
call ebx
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00448216
add esp, 0x1c
push 0x100
lea eax, [ebp - 0x210]
push eax
mov ebx, str.FriendlyNameOrg
push ebx
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428246
cmp word [ebp - 0x210], 0
je 0x43c19e
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428494
test eax, eax
je 0x43c2f4
lea eax, [ebp - 0x210]
push eax
mov eax, dword [ebp + 8]
add eax, 0x1738
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push ebx
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004285c9
jmp 0x43c2f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x43c17f
mov ecx, dword [ebp + 8]
xor eax, eax
xor esi, esi
mov word [ecx + 0x1638], ax
mov ecx, dword [ebp + 0x10]
inc esi
jmp 0x43c099
call fcn.0044b48b
push eax
lea eax, [ebp - 0xa10]
push str.Error__S_writing_to_registry
push eax
call ebx
lea eax, [ebp - 0xa10]
jmp 0x43c31f
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004285c9
test eax, eax
je 0x43c2f4
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1738], ax
jmp 0x43c2f4
push eax
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428494
test eax, eax
je 0x43c305
push dword [esi + 0x1c]
mov eax, dword [ebp + 8]
add eax, 0x1638
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x4a2b24], 0
jne 0x43c2f1
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4532dc
push eax
call ebx
xor eax, eax
mov ebx, 0x1fe
push ebx
push eax
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push eax
call fcn.00448216
xor eax, eax
push ebx
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00448216
add esp, 0x28
push 0x100
lea eax, [ebp - 0x810]
push eax
mov ebx, str.FriendlyNameOrg
push ebx
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428246
push 0x100
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428246
cmp word [ebp - 0x210], 0
jne 0x43c2b1
lea eax, [ebp - 0x210]
push eax
push ebx
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428494
push dword [esi + 0x1c]
lea eax, [ebp - 0x610]
push str.FriendlyName
push eax
push edi
call fcn.00428494
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.0044def7
mov eax, dword [ebp + 8]
add esp, 0xc
push dword [esi + 0x1c]
add eax, 0x1738
push eax
mov dword [esi + 0xc], 0x11
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor esi, esi
inc esi
mov ecx, dword [ebp + 0x10]
push esi
mov dword [ecx + 0xcf4], esi
call fcn.0040b812
jmp 0x43c335
call fcn.0044b48b
push eax
lea eax, [ebp - 0xe10]
push str.Error__S_writing_to_registry
push eax
call ebx
lea eax, [ebp - 0xe10]
add esp, 0xc
push 0x30
push str.Set_name_failed
push eax
push dword [0x50b228]
call fcn.0044ed70
and dword [0x50b268], 0
push str.lblendedit
push 0
push 0x7f00
call fcn.004346f7
jmp 0x43c61a
cmp eax, 0xfffffe62
je 0x43c5bc
cmp eax, 0xfffffe64
je 0x43c56e
cmp eax, 0xfffffff4
je 0x43c3d1
cmp eax, 0xfffffff8
je 0x43c3c0
cmp eax, 0xfffffffb
jne 0x43c61a
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 8
push 0x110a
mov edi, 0x3e8
push edi
push dword [ebp + 8]
call esi
mov dword [ebp + 0x10], eax
test eax, eax
je 0x43c61a
push eax
push 9
mov ebx, 0x110b
push ebx
push edi
push dword [ebp + 8]
call esi
push dword [ebp + 0x10]
push 8
push ebx
push edi
push dword [ebp + 8]
call esi
jmp 0x43c61a
push dword [0x50bb90]
push ecx
call fcn.00433374
jmp 0x43c61a
mov eax, dword [esi + 0xc]
dec eax
je 0x43c51d
sub eax, 0x10000
jne 0x43c61a
cmp dword [0x517934], 5
mov edi, dword [esi + 0x24]
jl 0x43c40b
push dword [esi + 0x30]
push dword [esi + 0x34]
push dword [esi + 0x28]
push edi
push str.NM_CUSTOMDRAW__CDDS_ITEMPREPAINT_hTreeItem0x_08Ix_pCustomDraw__nmcd.uItemState0x_02X_clrTextBk0x_06x_clrText0x_06x
push 5
call fcn.0044def7
add esp, 0x18
test edi, edi
je 0x43c4fd
cmp dword [0x50b2d0], 0
jne 0x43c42e
cmp edi, dword [0x50bb90]
je 0x43c42e
test byte [esi + 0x28], 0x11
je 0x43c4fd
push edi
call fcn.004345eb
mov edi, eax
push edi
mov dword [ebp + 0x10], edi
call fcn.004077a1
test eax, eax
je 0x43c4e2
cmp dword [edi + 8], 0
je 0x43c4e2
lea edi, [esi + 0x30]
push edi
lea ebx, [esi + 0x34]
push ebx
push dword [esi + 0x28]
push dword [ebp + 0x10]
call fcn.00437b9e
test eax, eax
je 0x43c4c0
cmp dword [0x517934], 5
jl 0x43c49a
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x824]
cmp word [eax], 0
jne 0x43c486
lea eax, [ecx + 0xd0e]
push dword [edi]
push dword [ebx]
push eax
push str.__s:_set_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.0044def7
add esp, 0x14
cmp dword [0x50abf8], 5
jne 0x43c4ae
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x50b1f8], eax
push 0
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x43c566
cmp dword [0x517934], 5
jl 0x43c61a
push dword [edi]
push dword [ebx]
push str._unchanged_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.0044def7
add esp, 0x10
jmp 0x43c4fd
cmp dword [0x517934], 5
jl 0x43c61a
push str.no_need
push 5
call fcn.0044def7
pop ecx
pop ecx
cmp dword [0x517934], 5
jl 0x43c61a
push str._________CDDS_ITEMPREPAINT_________
push 5
call fcn.0044def7
pop ecx
pop ecx
jmp 0x43c61a
xor esi, esi
cmp dword [0x50b2d8], esi
jne 0x43c558
cmp dword [0x50b2d0], esi
jne 0x43c545
cmp dword [0x50b20c], esi
jne 0x43c545
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [0x50b230]
je 0x43c558
push 0x20
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_yes
jmp 0x43c55d
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_no
push 5
call fcn.0044def7
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x43c61c
cmp word [esi + 0xc], 0x71
jne 0x43c61a
push dword [0x50bb90]
call fcn.004345eb
test eax, eax
je 0x43c61a
push dword [eax + 0xfd0]
mov ecx, dword [0x50d7ec]
call fcn.0040121c
test eax, eax
je 0x43c61a
push dword [0x50bb90]
push 0
push 0x1141
push dword [0x50b230]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x43c61a
and dword [ebp - 0x10], 0
mov ebx, dword [esi + 0x14]
xor eax, eax
lea edi, [ebp - 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0x1111
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call fcn.004345eb
xor edi, edi
add esi, 0xc
cmp eax, edi
je 0x43c600
add eax, 0xc74
cmp byte [eax], 0
je 0x43c600
push eax
push dword [esi]
call fcn.0042ecab
jmp 0x43c602
mov dword [esi], edi
cmp dword [esi], edi
je 0x43c61a
cmp dword [0x50b218], edi
jne 0x43c61a
push edi
push dword [0x50b228]
call fcn.00428f92
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc