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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x50a144]
sub esp, 0xe10
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x43be53
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x43bb81
je 0x43b638
cmp eax, 0xfffffe34
je 0x43b80d
cmp eax, 0xfffffe35
je 0x43b70a
cmp eax, 0xfffffe36
je 0x43b644
cmp eax, 0xfffffe39
je 0x43b55c
cmp eax, 0xfffffe3a
je 0x43b638
cmp eax, 0xfffffe3d
jne 0x43be53
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp eax, edi
je 0x43b546
mov ecx, dword [esi + 0x14]
push eax
push dword [ebp + 0xc]
mov dword [0x50aaa4], ecx
push 0x8001
push dword [0x50a13c]
mov dword [0x50aaa8], eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x50a144]
push 1
push edi
push edi
push ecx
mov dword [0x50a10c], edi
call dword [sym.imp.USER32.dll_SetScrollPos]
jmp 0x43be53
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x43b638
push eax
call fcn.00433f11
mov edi, eax
test edi, edi
je 0x43b638
cmp dword [0x5168ac], 4
mov ebx, dword [esi + 0xc]
jl 0x43b5c6
push dword [edi + 8]
push dword [0x50a144]
call fcn.0042ac63
lea ecx, [edi + 0xd0e]
cmp word [ecx], 0
jne 0x43b5a2
mov ecx, 0x452078
push dword [edi + 0x824]
push ecx
push eax
push dword [edi + 0x1004]
push ebx
call fcn.0044a729
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push 4
call fcn.0044d31e
add esp, 0x1c
xor esi, esi
inc esi
cmp ebx, 2
jne 0x43b5d6
mov dword [edi + 0x1004], esi
jmp 0x43b606
cmp ebx, esi
jne 0x43b5e3
and dword [edi + 0x1004], 0
jmp 0x43b606
cmp ebx, 3
jne 0x43b5fe
push dword [edi + 8]
push dword [0x50a144]
call fcn.0042ac63
mov dword [edi + 0x1004], eax
jmp 0x43b606
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.pTNI__bLastExpandManuallytrue
push 4
mov dword [edi + 0x1008], esi
call fcn.0044d31e
cmp dword [0x50c800], 0
pop ecx
pop ecx
jne 0x43b638
mov eax, dword [edi + 0x14]
cmp eax, 9
je 0x43b630
cmp eax, 0xa
jne 0x43b638
push esi
mov ecx, edi
call fcn.0040b6a5
and dword [0x50a10c], 0
jmp 0x43be53
mov esi, dword [esi + 0x14]
push 4
pop ebx
cmp dword [0x5168ac], ebx
jl 0x43b661
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push ebx
call fcn.0044d31e
add esp, 0xc
push esi
call fcn.00433f11
mov edi, eax
test edi, edi
je 0x43be53
cmp dword [0x5168ac], ebx
jl 0x43b6c4
lea eax, [edi + 0xd0e]
cmp word [eax], 0
jne 0x43b68a
mov eax, 0x452078
push eax
push dword [edi + 0x824]
push str.__s_at__s
push ebx
call fcn.0044d31e
add esp, 0x10
cmp dword [0x5168ac], ebx
jl 0x43b6c4
push dword [edi + 8]
push dword [0x50a144]
call fcn.00435254
push eax
push str._txt_s
push ebx
call fcn.0044d31e
add esp, 0xc
cmp esi, dword [0x50aaa8]
jne 0x43b6d3
and dword [0x50aaa8], 0
cmp edi, dword [0x50c814]
jne 0x43b6f9
lea eax, [edi + 0xc70]
mov ecx, dword [eax]
test ecx, ecx
je 0x43be53
and dword [eax], 0
push ecx
call fcn.0044786c
jmp 0x43bd46
mov ecx, dword [0x50c788]
push edi
call fcn.0040d9bd
jmp 0x43be53
push dword [esi + 0x10]
call fcn.00433f11
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x43b7e5
push dword [ebx + 0xfd0]
mov ecx, dword [0x50c78c]
call fcn.0040121c
test eax, eax
je 0x43b7e5
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push edi
push 0x110f
push dword [0x50a144]
call esi
push edi
push 0xfd
push 0xc5
push eax
mov dword [0x50a17c], eax
call esi
push 0x431e17
push 0xfffffffffffffffc
push dword [0x50a17c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x50a260], eax
mov eax, dword [ebx + 0xfd0]
lea ecx, [eax + 0x1638]
cmp word [ecx], di
jne 0x43b7b4
mov ecx, dword [0x4a1b24]
sub ecx, edi
je 0x43b7a3
dec ecx
je 0x43b7dc
dec ecx
jne 0x43b7c1
lea ecx, [ebx + 0xa6c]
cmp word [ecx], di
jne 0x43b7b4
lea ecx, [eax + 0x1738]
cmp word [ecx], di
jne 0x43b7b4
lea ecx, [eax + 0x1838]
push ecx
push dword [0x50a17c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x50b360
push dword [0x50a17c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x43be53
add ebx, 0x868
push ebx
jmp 0x43b7b5
push edi
xor esi, esi
inc esi
push esi
push 0x1116
push dword [0x50a144]
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 0x43be55
cmp dword [esi + 0x1c], 0
je 0x43be53
push str.lblendedit
push 0
push 0x7f02
call fcn.0043401d
push dword [esi + 0x10]
call fcn.00433f11
mov dword [ebp + 0x10], eax
test eax, eax
je 0x43bb64
mov ecx, dword [0x50c78c]
mov edi, eax
add edi, 0xfd0
push dword [edi]
call fcn.0040121c
test eax, eax
je 0x43bb64
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 0x4524d0
push eax
call ebx
mov eax, dword [esi + 0x1c]
add esp, 0x14
cmp word [eax], 0
mov edi, 0x80000002
jne 0x43b9f8
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004283e1
test eax, eax
je 0x43b98c
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.0040b6a5
cmp dword [0x4a1b24], 0
jne 0x43bb64
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4522dc
push eax
call ebx
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.004476fd
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.0042805e
cmp word [ebp - 0x210], 0
je 0x43b9cd
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004282ac
test eax, eax
je 0x43bb23
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.004283e1
jmp 0x43bb23
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x43b9ae
mov ecx, dword [ebp + 8]
xor eax, eax
xor esi, esi
mov word [ecx + 0x1638], ax
mov ecx, dword [ebp + 0x10]
inc esi
jmp 0x43b8c8
call fcn.0044a8c1
push eax
lea eax, [ebp - 0xa10]
push str.Error__S_writing_to_registry
push eax
call ebx
lea eax, [ebp - 0xa10]
jmp 0x43bb4e
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004283e1
test eax, eax
je 0x43bb23
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1738], ax
jmp 0x43bb23
push eax
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004282ac
test eax, eax
je 0x43bb34
push dword [esi + 0x1c]
mov eax, dword [ebp + 8]
add eax, 0x1638
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x4a1b24], 0
jne 0x43bb20
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4522dc
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.004476fd
xor eax, eax
push ebx
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.004476fd
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.0042805e
push 0x100
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.0042805e
cmp word [ebp - 0x210], 0
jne 0x43bae0
lea eax, [ebp - 0x210]
push eax
push ebx
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004282ac
push dword [esi + 0x1c]
lea eax, [ebp - 0x610]
push str.FriendlyName
push eax
push edi
call fcn.004282ac
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.0044d31e
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.0040b6a5
jmp 0x43bb64
call fcn.0044a8c1
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 [0x50a13c]
call fcn.0044e197
and dword [0x50a17c], 0
push str.lblendedit
push 0
push 0x7f00
call fcn.0043401d
jmp 0x43be53
cmp eax, 0xfffffe62
je 0x43bdf5
cmp eax, 0xfffffe64
je 0x43bda7
cmp eax, 0xfffffff4
je 0x43bc00
cmp eax, 0xfffffff8
je 0x43bbef
cmp eax, 0xfffffffb
jne 0x43be53
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 0x43be53
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 0x43be53
push dword [0x50aaa8]
push ecx
call fcn.00432c32
jmp 0x43be53
mov eax, dword [esi + 0xc]
dec eax
je 0x43bd4c
sub eax, 0x10000
jne 0x43be53
cmp dword [0x5168ac], 5
mov edi, dword [esi + 0x24]
jl 0x43bc3a
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.0044d31e
add esp, 0x18
test edi, edi
je 0x43bd2c
cmp dword [0x50a1ec], 0
jne 0x43bc5d
cmp edi, dword [0x50aaa8]
je 0x43bc5d
test byte [esi + 0x28], 0x11
je 0x43bd2c
push edi
call fcn.00433f11
mov edi, eax
push edi
mov dword [ebp + 0x10], edi
call fcn.0040778a
test eax, eax
je 0x43bd11
cmp dword [edi + 8], 0
je 0x43bd11
lea edi, [esi + 0x30]
push edi
lea ebx, [esi + 0x34]
push ebx
push dword [esi + 0x28]
push dword [ebp + 0x10]
call fcn.00437448
test eax, eax
je 0x43bcef
cmp dword [0x5168ac], 5
jl 0x43bcc9
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x824]
cmp word [eax], 0
jne 0x43bcb5
lea eax, [ecx + 0xd0e]
push dword [edi]
push dword [ebx]
push eax
push str.__s:_set_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.0044d31e
add esp, 0x14
cmp dword [0x509b18], 5
jne 0x43bcdd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x50a10c], eax
push 0
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x43bd9f
cmp dword [0x5168ac], 5
jl 0x43be53
push dword [edi]
push dword [ebx]
push str._unchanged_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.0044d31e
add esp, 0x10
jmp 0x43bd2c
cmp dword [0x5168ac], 5
jl 0x43be53
push str.no_need
push 5
call fcn.0044d31e
pop ecx
pop ecx
cmp dword [0x5168ac], 5
jl 0x43be53
push str._________CDDS_ITEMPREPAINT_________
push 5
call fcn.0044d31e
pop ecx
pop ecx
jmp 0x43be53
xor esi, esi
cmp dword [0x50a1ec], esi
jne 0x43bd7c
cmp dword [0x50a120], esi
jne 0x43bd7c
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [0x50a144]
jne 0x43bd7c
cmp dword [0x5168ac], 5
jl 0x43bd9f
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_no
jmp 0x43bd96
push 0x20
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
cmp dword [0x5168ac], 5
jl 0x43bd9f
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_yes
push 5
call fcn.0044d31e
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x43be55
cmp word [esi + 0xc], 0x71
jne 0x43be53
push dword [0x50aaa8]
call fcn.00433f11
test eax, eax
je 0x43be53
push dword [eax + 0xfd0]
mov ecx, dword [0x50c78c]
call fcn.0040121c
test eax, eax
je 0x43be53
push dword [0x50aaa8]
push 0
push 0x1141
push dword [0x50a144]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x43be53
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.00433f11
xor edi, edi
add esi, 0xc
cmp eax, edi
je 0x43be39
add eax, 0xc74
cmp byte [eax], 0
je 0x43be39
push eax
push dword [esi]
call fcn.0042e7b0
jmp 0x43be3b
mov dword [esi], edi
cmp dword [esi], edi
je 0x43be53
cmp dword [0x50a12c], edi
jne 0x43be53
push edi
push dword [0x50a13c]
call fcn.00428d35
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc