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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x50e684]
sub esp, 0xe10
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x43da2c
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x43d6e7
je 0x43d6db
cmp eax, 0xfffffe34
je 0x43d35d
cmp eax, 0xfffffe35
je 0x43d25a
cmp eax, 0xfffffe36
je 0x43d13d
cmp eax, 0xfffffe39
je 0x43d051
cmp eax, 0xfffffe3a
je 0x43d6db
cmp eax, 0xfffffe3d
jne 0x43da2c
mov edi, dword [esi + 0x3c]
xor ebx, ebx
mov dword [ebp + 8], edi
cmp edi, ebx
je 0x43cf19
mov eax, dword [esi + 0x14]
push edi
push dword [ebp + 0xc]
mov dword [0x50efe4], eax
push 0x8001
push dword [0x50e67c]
mov dword [0x50efe8], edi
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x50e684]
mov dword [0x50e64c], ebx
cmp edi, dword [0x50efe0]
jne 0x43cf35
push ebx
push 6
push 0x114
push ecx
jmp 0x43d9c4
mov eax, edi
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 1
push 0x1104
push ecx
call edi
test eax, eax
je 0x43da2c
push ebx
push ebx
push 0x1106
push dword [0x50e684]
call edi
mov esi, dword [ebp - 0x10]
sub esi, dword [0x50e620]
push ebx
push ebx
push 0x1106
push dword [0x50e684]
sub esi, eax
dec esi
call edi
cmp esi, ebx
jge 0x43cfc9
push ebx
push ebx
push 0x114
push dword [0x50e684]
call edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 1
push 0x1104
push dword [0x50e684]
call edi
push ebx
push ebx
push 0x1106
push dword [0x50e684]
call edi
mov esi, dword [ebp - 0x10]
sub esi, dword [0x50e620]
sub esi, eax
dec esi
js 0x43cf84
push dword [0x50e684]
call fcn.0042b7c6
mov ecx, dword [0x50e620]
imul ecx, ecx, 5
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
cmp eax, ecx
mov dword [ebp + 0x10], eax
jl 0x43d042
mov dword [ebp + 0x10], ecx
jmp 0x43d042
cmp esi, dword [0x50e620]
jle 0x43da2c
push ebx
push 1
push 0x114
push dword [0x50e684]
call edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 1
push 0x1104
push dword [0x50e684]
call edi
push ebx
push ebx
push 0x1106
push dword [0x50e684]
call edi
mov esi, dword [ebp - 0x10]
sub esi, dword [0x50e620]
sub esi, eax
dec esi
mov eax, dword [ebp + 0x10]
add eax, esi
cmp eax, dword [ebp + 0xc]
jg 0x43cff2
jmp 0x43da2c
mov eax, dword [esi + 0x3c]
xor ebx, ebx
cmp eax, ebx
je 0x43d132
push eax
call fcn.0043577c
mov edi, eax
cmp edi, ebx
je 0x43d132
cmp dword [0x51adac], 4
mov esi, dword [esi + 0xc]
jl 0x43d0bc
push dword [edi + 8]
push dword [0x50e684]
call fcn.0042bd51
lea ecx, [edi + 0xd90]
cmp word [ecx], bx
jne 0x43d098
mov ecx, 0x4550e0
push dword [edi + 0x828]
push ecx
push eax
push dword [edi + 0x11a0]
push esi
call fcn.0044cdc2
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push 4
call fcn.0044fe2e
add esp, 0x1c
cmp esi, 2
jne 0x43d0cd
mov dword [edi + 0x11a0], 1
jmp 0x43d0fc
cmp esi, 1
jne 0x43d0da
mov dword [edi + 0x11a0], ebx
jmp 0x43d0fc
cmp esi, 3
jne 0x43d0f5
push dword [edi + 8]
push dword [0x50e684]
call fcn.0042bd51
mov dword [edi + 0x11a0], eax
jmp 0x43d0fc
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.pTNI__bLastExpandManuallytrue
push 4
mov dword [edi + 0x11a4], 1
call fcn.0044fe2e
pop ecx
pop ecx
cmp dword [0x510cb8], ebx
jne 0x43d132
mov eax, dword [edi + 0x18]
cmp eax, 9
je 0x43d129
cmp eax, 0xa
jne 0x43d132
push 1
mov ecx, edi
call fcn.0040b963
mov dword [0x50e64c], ebx
jmp 0x43da2c
cmp dword [0x51adac], 4
mov esi, dword [esi + 0x14]
jl 0x43d159
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push 4
call fcn.0044fe2e
add esp, 0xc
push esi
call fcn.0043577c
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x43da2c
cmp dword [0x51adac], 4
mov eax, dword [edi + 0xde0]
mov dword [ebp + 8], eax
jl 0x43d1ca
lea eax, [edi + 0xd90]
cmp word [eax], bx
jne 0x43d18d
mov eax, 0x4550e0
push eax
push dword [edi + 0x828]
push str.__s_at__s
push 4
call fcn.0044fe2e
add esp, 0x10
cmp dword [0x51adac], 4
jl 0x43d1ca
push dword [edi + 8]
push dword [0x50e684]
call fcn.004369e0
push eax
push str._txt_s
push 4
call fcn.0044fe2e
add esp, 0xc
cmp esi, dword [0x50efe8]
jne 0x43d1d8
mov dword [0x50efe8], ebx
cmp edi, dword [0x510ccc]
jne 0x43d1f7
lea eax, [edi + 0xc74]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x43d203
push ecx
mov dword [eax], ebx
call fcn.00449e73
pop ecx
jmp 0x43d203
mov ecx, dword [0x510c40]
push edi
call fcn.0040e28d
cmp dword [0x50efd4], ebx
jne 0x43da2c
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x43da2c
cmp dword [0x50e73c], ebx
je 0x43da2c
push dword [eax + 8]
push 4
push 0x110a
push dword [0x50e684]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x43da2c
mov eax, dword [ebp + 8]
push dword [eax + 8]
push dword [0x50e684]
call fcn.0042f8ac
jmp 0x43da2c
push dword [esi + 0x10]
call fcn.0043577c
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x43d335
push dword [edi + 0x1154]
mov ecx, dword [0x510c44]
call fcn.0040121c
test eax, eax
je 0x43d335
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x110f
push dword [0x50e684]
call esi
push ebx
push 0xfd
push 0xc5
push eax
mov dword [0x50e6bc], eax
call esi
push 0x4334ea
push 0xfffffffffffffffc
push dword [0x50e6bc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x50e7a0], eax
mov eax, dword [edi + 0x1154]
lea ecx, [eax + 0x1638]
cmp word [ecx], bx
jne 0x43d304
mov ecx, dword [0x4a5b3c]
sub ecx, ebx
je 0x43d2f3
dec ecx
je 0x43d32c
dec ecx
jne 0x43d311
lea ecx, [edi + 0xa70]
cmp word [ecx], bx
jne 0x43d304
lea ecx, [eax + 0x1738]
cmp word [ecx], bx
jne 0x43d304
lea ecx, [eax + 0x1838]
push ecx
push dword [0x50e6bc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x50f818
push dword [0x50e6bc]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x43da2c
add edi, 0x86c
push edi
jmp 0x43d305
push ebx
push 1
push 0x1116
push dword [0x50e684]
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
inc eax
jmp 0x43da2e
xor ebx, ebx
cmp dword [esi + 0x1c], ebx
je 0x43da2c
push str.lblendedit
push ebx
push 0x7f02
call fcn.00435888
push dword [esi + 0x10]
call fcn.0043577c
mov dword [ebp + 0x10], eax
cmp eax, ebx
je 0x43d6c0
mov ecx, dword [0x510c44]
mov edi, eax
add edi, 0x1154
push dword [edi]
call fcn.0040121c
test eax, eax
je 0x43d6c0
mov eax, dword [edi]
mov dword [ebp + 8], eax
push str.Device_Parameters
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x455538
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esi + 0x1c]
add esp, 0x14
mov edi, 0x80000002
cmp word [eax], bx
jne 0x43d548
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004291f5
test eax, eax
je 0x43d4d9
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1638], ax
mov ecx, dword [ebp + 0x10]
inc eax
mov dword [ecx + 0xcf8], eax
push eax
call fcn.0040b963
cmp dword [0x4a5b3c], ebx
jne 0x43d6c0
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x455344
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
push 0x1fe
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push ebx
push eax
call fcn.00449c78
add esp, 0x1c
push 0x100
lea eax, [ebp - 0x210]
push eax
mov esi, str.FriendlyNameOrg
push esi
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428e72
cmp word [ebp - 0x210], bx
je 0x43d51d
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004290c0
test eax, eax
je 0x43d678
lea eax, [ebp - 0x210]
push eax
mov eax, dword [ebp + 8]
add eax, 0x1738
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push esi
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004291f5
jmp 0x43d678
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x43d4fa
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1638], ax
mov ecx, dword [ebp + 0x10]
push 1
jmp 0x43d414
call fcn.0044cf74
push eax
lea eax, [ebp - 0xa10]
push str.Error__S_writing_to_registry
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0xa10]
jmp 0x43d6aa
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004291f5
test eax, eax
je 0x43d678
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x1738], ax
jmp 0x43d678
push eax
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004290c0
test eax, eax
je 0x43d68c
push dword [esi + 0x1c]
mov eax, dword [ebp + 8]
add eax, 0x1638
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x4a5b3c], ebx
jne 0x43d678
mov eax, dword [ebp + 8]
add eax, 0xe38
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x455344
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
push 0x1fe
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push ebx
push eax
call fcn.00449c78
xor eax, eax
push 0x1fe
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push ebx
push eax
call fcn.00449c78
add esp, 0x28
push 0x100
lea eax, [ebp - 0x810]
push eax
push str.FriendlyNameOrg
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428e72
push 0x100
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00428e72
cmp word [ebp - 0x210], bx
jne 0x43d638
lea eax, [ebp - 0x210]
push eax
push str.FriendlyNameOrg
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004290c0
push dword [esi + 0x1c]
lea eax, [ebp - 0x610]
push str.FriendlyName
push eax
push edi
call fcn.004290c0
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.0044fe2e
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]
mov ecx, dword [ebp + 0x10]
xor eax, eax
inc eax
push eax
mov dword [ecx + 0xcf8], eax
call fcn.0040b963
jmp 0x43d6c0
call fcn.0044cf74
push eax
lea eax, [ebp - 0xe10]
push str.Error__S_writing_to_registry
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0xe10]
add esp, 0xc
push 0x30
push str.Set_name_failed
push eax
push dword [0x50e67c]
call fcn.00450cc3
push str.lblendedit
push ebx
push 0x7f00
mov dword [0x50e6bc], ebx
call fcn.00435888
jmp 0x43da2c
and dword [0x50e64c], 0
jmp 0x43da2c
cmp eax, 0xfffffe62
je 0x43d9cc
cmp eax, 0xfffffe64
je 0x43d971
cmp eax, 0xfffffff4
je 0x43d767
cmp eax, 0xfffffff8
je 0x43d756
cmp eax, 0xfffffffb
jne 0x43da2c
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor ebx, ebx
push ebx
push 8
push 0x110a
mov edi, 0x3e8
push edi
push dword [ebp + 8]
call esi
mov dword [ebp + 0x10], eax
cmp eax, ebx
je 0x43da2c
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 0x43da2c
push dword [0x50efe8]
push ecx
call fcn.004344b6
jmp 0x43da2c
mov edi, dword [esi + 0x24]
xor ebx, ebx
cmp dword [0x51adac], 5
mov dword [ebp + 0x10], edi
jl 0x43d7c9
push edi
push dword [esi + 0xc]
call fcn.0044b060
push eax
push str.NM_CUSTOMDRAW:_drwst_S__hti0x_08Ix
push 5
call fcn.0044fe2e
add esp, 0x10
cmp edi, ebx
je 0x43d7c9
push edi
call fcn.0043577c
mov edi, eax
push edi
call fcn.004079b7
test eax, eax
je 0x43d7c9
cmp dword [edi + 8], ebx
je 0x43d7c9
lea eax, [edi + 0xd90]
push eax
add edi, 0x428
push edi
push str._s___s
push 5
call fcn.0044fe2e
add esp, 0x10
mov eax, dword [esi + 0xc]
dec eax
je 0x43d925
sub eax, 0x10000
jne 0x43da2c
lea edi, [esi + 0x30]
push dword [edi]
lea eax, [esi + 0x34]
push dword [eax]
mov dword [ebp + 0xc], eax
push dword [esi + 0x28]
push dword [ebp + 0x10]
push str.NM_CUSTOMDRAW__CDDS_ITEMPREPAINT_hTreeItem0x_08Ix_pCustomDraw__nmcd.uItemState0x_02X_clrTextBk0x_06x_clrText0x_06x
push 0x40
call fcn.0044fe2e
add esp, 0x18
cmp dword [ebp + 0x10], ebx
je 0x43d905
cmp dword [0x50e724], ebx
jne 0x43d826
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x50efe8]
je 0x43d826
test byte [esi + 0x28], 0x11
je 0x43d905
push dword [ebp + 0x10]
call fcn.0043577c
push eax
mov dword [ebp + 0x10], eax
call fcn.004079b7
test eax, eax
je 0x43d8ea
mov eax, dword [ebp + 0x10]
cmp dword [eax + 8], ebx
je 0x43d8ea
test byte [0x51adac], 0x40
je 0x43d864
push eax
push str.calling_GetNodeColors___for_pTNI0x_08Ix
push 0x40
call fcn.0044fe2e
add esp, 0xc
push edi
push dword [ebp + 0xc]
push dword [esi + 0x28]
push dword [ebp + 0x10]
call fcn.00439018
test eax, eax
je 0x43d8c5
test byte [0x51adac], 0x40
je 0x43d8ab
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x828]
cmp word [eax], bx
jne 0x43d894
lea eax, [ecx + 0xd90]
push dword [edi]
mov ecx, dword [ebp + 0xc]
push dword [ecx]
push eax
push str.__s:_set_clrTextBk0x_06X__clrText0x_06X
push 0x40
call fcn.0044fe2e
add esp, 0x14
cmp dword [0x50e048], 5
jne 0x43d8bf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x50e64c], eax
push ebx
jmp 0x43d34b
test byte [0x51adac], 0x40
je 0x43da2c
push dword [edi]
mov eax, dword [ebp + 0xc]
push dword [eax]
push str._unchanged_clrTextBk0x_06X__clrText0x_06X
push 0x40
call fcn.0044fe2e
add esp, 0x10
jmp 0x43d905
test byte [0x51adac], 0x40
je 0x43da2c
push str.no_need
push 0x40
call fcn.0044fe2e
pop ecx
pop ecx
test byte [0x51adac], 0x40
je 0x43da2c
push str._________CDDS_ITEMPREPAINT_________
push 0x40
call fcn.0044fe2e
pop ecx
pop ecx
jmp 0x43da2c
cmp dword [0x50e72c], ebx
jne 0x43d95e
cmp dword [0x50e724], ebx
jne 0x43d94b
cmp dword [0x50e660], ebx
jne 0x43d94b
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [0x50e684]
je 0x43d95e
push 0x20
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_yes
jmp 0x43d963
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_no
push 5
call fcn.0044fe2e
pop ecx
pop ecx
jmp 0x43d355
cmp word [esi + 0xc], 0x71
jne 0x43da2c
push dword [0x50efe8]
call fcn.0043577c
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x43da2c
push dword [esi + 0x1154]
mov ecx, dword [0x510c44]
call fcn.0040121c
test eax, eax
je 0x43da2c
cmp dword [esi + 0x18], 8
je 0x43da2c
push dword [0x50efe8]
push ebx
push 0x1141
push dword [0x50e684]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x43da2c
mov eax, dword [esi + 0x14]
mov dword [ebp + 8], eax
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x10], ebx
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 ebx
push 0x1111
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp + 8]
call fcn.0043577c
add esi, 0xc
cmp eax, ebx
je 0x43da12
add eax, 0xc78
cmp byte [eax], bl
je 0x43da12
push eax
push dword [esi]
call fcn.0042fd0e
jmp 0x43da14
mov dword [esi], ebx
cmp dword [esi], ebx
je 0x43da2c
cmp dword [0x50e66c], ebx
jne 0x43da2c
push ebx
push dword [0x50e67c]
call fcn.00429b9a
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc