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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x508d2c]
sub esp, 0xe10
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x43b2bd
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x43afeb
je 0x43aaa2
cmp eax, 0xfffffe34
je 0x43ac77
cmp eax, 0xfffffe35
je 0x43ab74
cmp eax, 0xfffffe36
je 0x43aaae
cmp eax, 0xfffffe39
je 0x43a9c6
cmp eax, 0xfffffe3a
je 0x43aaa2
cmp eax, 0xfffffe3d
jne 0x43b2bd
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp eax, edi
je 0x43a9b0
mov ecx, dword [esi + 0x14]
push eax
push dword [ebp + 0xc]
mov dword [0x509688], ecx
push 0x8001
push dword [0x508d24]
mov dword [0x50968c], eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x508d2c]
push 1
push edi
push edi
push ecx
mov dword [0x508cf4], edi
call dword [sym.imp.USER32.dll_SetScrollPos]
jmp 0x43b2bd
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x43aaa2
push eax
call fcn.004335db
mov edi, eax
test edi, edi
je 0x43aaa2
cmp dword [0x515894], 4
mov ebx, dword [esi + 0xc]
jl 0x43aa30
push dword [edi + 8]
push dword [0x508d2c]
call fcn.0042a738
lea ecx, [edi + 0xd0e]
cmp word [ecx], 0
jne 0x43aa0c
mov ecx, 0x451068
push dword [edi + 0x824]
push ecx
push eax
push dword [edi + 0x1000]
push ebx
call fcn.00449bba
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push 4
call fcn.0044c79b
add esp, 0x1c
xor esi, esi
inc esi
cmp ebx, 2
jne 0x43aa40
mov dword [edi + 0x1000], esi
jmp 0x43aa70
cmp ebx, esi
jne 0x43aa4d
and dword [edi + 0x1000], 0
jmp 0x43aa70
cmp ebx, 3
jne 0x43aa68
push dword [edi + 8]
push dword [0x508d2c]
call fcn.0042a738
mov dword [edi + 0x1000], eax
jmp 0x43aa70
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.pTNI__bLastExpandManuallytrue
push 4
mov dword [edi + 0x1004], esi
call fcn.0044c79b
cmp dword [0x50b3e4], 0
pop ecx
pop ecx
jne 0x43aaa2
mov eax, dword [edi + 0x14]
cmp eax, 9
je 0x43aa9a
cmp eax, 0xa
jne 0x43aaa2
push esi
mov ecx, edi
call fcn.0040b3b9
and dword [0x508cf4], 0
jmp 0x43b2bd
mov esi, dword [esi + 0x14]
push 4
pop ebx
cmp dword [0x515894], ebx
jl 0x43aacb
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push ebx
call fcn.0044c79b
add esp, 0xc
push esi
call fcn.004335db
mov edi, eax
test edi, edi
je 0x43b2bd
cmp dword [0x515894], ebx
jl 0x43ab2e
lea eax, [edi + 0xd0e]
cmp word [eax], 0
jne 0x43aaf4
mov eax, 0x451068
push eax
push dword [edi + 0x824]
push str.__s_at__s
push ebx
call fcn.0044c79b
add esp, 0x10
cmp dword [0x515894], ebx
jl 0x43ab2e
push dword [edi + 8]
push dword [0x508d2c]
call fcn.00434833
push eax
push str._txt_s
push ebx
call fcn.0044c79b
add esp, 0xc
cmp esi, dword [0x50968c]
jne 0x43ab3d
and dword [0x50968c], 0
cmp edi, dword [0x50b3f8]
jne 0x43ab63
lea eax, [edi + 0xc70]
mov ecx, dword [eax]
test ecx, ecx
je 0x43b2bd
and dword [eax], 0
push ecx
call fcn.00446ce1
jmp 0x43b1b0
mov ecx, dword [0x50b36c]
push edi
call fcn.0040d6cf
jmp 0x43b2bd
push dword [esi + 0x10]
call fcn.004335db
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x43ac4f
push dword [ebx + 0xfd0]
mov ecx, dword [0x50b370]
call fcn.0040121c
test eax, eax
je 0x43ac4f
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push edi
push 0x110f
push dword [0x508d2c]
call esi
push edi
push 0xfd
push 0xc5
push eax
mov dword [0x508d64], eax
call esi
push 0x431507
push 0xfffffffffffffffc
push dword [0x508d64]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x508e44], eax
mov eax, dword [ebx + 0xfd0]
lea ecx, [eax + 0x1638]
cmp word [ecx], di
jne 0x43ac1e
mov ecx, dword [0x4a0b1c]
sub ecx, edi
je 0x43ac0d
dec ecx
je 0x43ac46
dec ecx
jne 0x43ac2b
lea ecx, [ebx + 0xa6c]
cmp word [ecx], di
jne 0x43ac1e
lea ecx, [eax + 0x1738]
cmp word [ecx], di
jne 0x43ac1e
lea ecx, [eax + 0x1838]
push ecx
push dword [0x508d64]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x509f48
push dword [0x508d64]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x43b2bd
add ebx, 0x868
push ebx
jmp 0x43ac1f
push edi
xor esi, esi
inc esi
push esi
push 0x1116
push dword [0x508d2c]
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 0x43b2bf
cmp dword [esi + 0x1c], 0
je 0x43b2bd
push str.lblendedit
push 0
push 0x7f02
call fcn.004336e7
push dword [esi + 0x10]
call fcn.004335db
mov dword [ebp + 0x10], eax
test eax, eax
je 0x43afce
mov ecx, dword [0x50b370]
mov edi, eax
add edi, 0xfd0
push dword [edi]
call fcn.0040121c
test eax, eax
je 0x43afce
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 0x4514a8
push eax
call ebx
mov eax, dword [esi + 0x1c]
add esp, 0x14
cmp word [eax], 0
mov edi, 0x80000002
jne 0x43ae62
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00427ff8
test eax, eax
je 0x43adf6
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.0040b3b9
cmp dword [0x4a0b1c], 0
jne 0x43afce
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4512b4
push eax
call ebx
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00446b72
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.00427c75
cmp word [ebp - 0x210], 0
je 0x43ae37
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00427ec3
test eax, eax
je 0x43af8d
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.00427ff8
jmp 0x43af8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x43ae18
mov ecx, dword [ebp + 8]
xor eax, eax
xor esi, esi
mov word [ecx + 0x1638], ax
mov ecx, dword [ebp + 0x10]
inc esi
jmp 0x43ad32
call fcn.00449d52
push eax
lea eax, [ebp - 0xa10]
push str.Error__S_writing_to_registry
push eax
call ebx
lea eax, [ebp - 0xa10]
jmp 0x43afb8
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00427ff8
test eax, eax
je 0x43af8d
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1738], ax
jmp 0x43af8d
push eax
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00427ec3
test eax, eax
je 0x43af9e
push dword [esi + 0x1c]
mov eax, dword [ebp + 8]
add eax, 0x1638
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x4a0b1c], 0
jne 0x43af8a
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x4512b4
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.00446b72
xor eax, eax
push ebx
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00446b72
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.00427c75
push 0x100
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00427c75
cmp word [ebp - 0x210], 0
jne 0x43af4a
lea eax, [ebp - 0x210]
push eax
push ebx
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00427ec3
push dword [esi + 0x1c]
lea eax, [ebp - 0x610]
push str.FriendlyName
push eax
push edi
call fcn.00427ec3
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.0044c79b
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.0040b3b9
jmp 0x43afce
call fcn.00449d52
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 [0x508d24]
call fcn.0044d616
and dword [0x508d64], 0
push str.lblendedit
push 0
push 0x7f00
call fcn.004336e7
jmp 0x43b2bd
cmp eax, 0xfffffe62
je 0x43b25f
cmp eax, 0xfffffe64
je 0x43b211
cmp eax, 0xfffffff4
je 0x43b06a
cmp eax, 0xfffffff8
je 0x43b059
cmp eax, 0xfffffffb
jne 0x43b2bd
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 0x43b2bd
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 0x43b2bd
push dword [0x50968c]
push ecx
call fcn.00432334
jmp 0x43b2bd
mov eax, dword [esi + 0xc]
dec eax
je 0x43b1b6
sub eax, 0x10000
jne 0x43b2bd
cmp dword [0x515894], 5
mov edi, dword [esi + 0x24]
jl 0x43b0a4
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.0044c79b
add esp, 0x18
test edi, edi
je 0x43b196
cmp dword [0x508dd0], 0
jne 0x43b0c7
cmp edi, dword [0x50968c]
je 0x43b0c7
test byte [esi + 0x28], 0x11
je 0x43b196
push edi
call fcn.004335db
mov edi, eax
push edi
mov dword [ebp + 0x10], edi
call fcn.00407684
test eax, eax
je 0x43b17b
cmp dword [edi + 8], 0
je 0x43b17b
lea edi, [esi + 0x30]
push edi
lea ebx, [esi + 0x34]
push ebx
push dword [esi + 0x28]
push dword [ebp + 0x10]
call fcn.004369d8
test eax, eax
je 0x43b159
cmp dword [0x515894], 5
jl 0x43b133
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x824]
cmp word [eax], 0
jne 0x43b11f
lea eax, [ecx + 0xd0e]
push dword [edi]
push dword [ebx]
push eax
push str.__s:_set_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.0044c79b
add esp, 0x14
cmp dword [0x508708], 5
jne 0x43b147
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x508cf4], eax
push 0
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x43b209
cmp dword [0x515894], 5
jl 0x43b2bd
push dword [edi]
push dword [ebx]
push str._unchanged_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.0044c79b
add esp, 0x10
jmp 0x43b196
cmp dword [0x515894], 5
jl 0x43b2bd
push str.no_need
push 5
call fcn.0044c79b
pop ecx
pop ecx
cmp dword [0x515894], 5
jl 0x43b2bd
push str._________CDDS_ITEMPREPAINT_________
push 5
call fcn.0044c79b
pop ecx
pop ecx
jmp 0x43b2bd
xor esi, esi
cmp dword [0x508dd0], esi
jne 0x43b1e6
cmp dword [0x508d08], esi
jne 0x43b1e6
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [0x508d2c]
jne 0x43b1e6
cmp dword [0x515894], 5
jl 0x43b209
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_no
jmp 0x43b200
push 0x20
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
cmp dword [0x515894], 5
jl 0x43b209
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_yes
push 5
call fcn.0044c79b
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x43b2bf
cmp word [esi + 0xc], 0x71
jne 0x43b2bd
push dword [0x50968c]
call fcn.004335db
test eax, eax
je 0x43b2bd
push dword [eax + 0xfd0]
mov ecx, dword [0x50b370]
call fcn.0040121c
test eax, eax
je 0x43b2bd
push dword [0x50968c]
push 0
push 0x1141
push dword [0x508d2c]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x43b2bd
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.004335db
xor edi, edi
add esi, 0xc
cmp eax, edi
je 0x43b2a3
add eax, 0xc74
cmp byte [eax], 0
je 0x43b2a3
push eax
push dword [esi]
call fcn.0042e01c
jmp 0x43b2a5
mov dword [esi], edi
cmp dword [esi], edi
je 0x43b2bd
cmp dword [0x508d14], edi
jne 0x43b2bd
push edi
push dword [0x508d24]
call fcn.0042894c
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc