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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x5106a4]
sub esp, 0xe10
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x43e795
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x43e450
je 0x43e444
cmp eax, 0xfffffe34
je 0x43e0d4
cmp eax, 0xfffffe35
je 0x43dfd1
cmp eax, 0xfffffe36
je 0x43deb4
cmp eax, 0xfffffe39
je 0x43ddc9
cmp eax, 0xfffffe3a
je 0x43e444
cmp eax, 0xfffffe3d
jne 0x43e795
mov edi, dword [esi + 0x3c]
xor ebx, ebx
mov dword [ebp + 8], edi
cmp edi, ebx
je 0x43dc91
mov eax, dword [esi + 0x14]
push edi
push dword [ebp + 0xc]
mov dword [0x511004], eax
push 0x8001
push dword [0x51069c]
mov dword [0x511008], edi
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x5106a4]
mov dword [0x51066c], ebx
cmp edi, dword [0x511000]
jne 0x43dcad
push ebx
push 6
push 0x114
push ecx
jmp 0x43e72d
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 0x43e795
push ebx
push ebx
push 0x1106
push dword [0x5106a4]
call edi
mov esi, dword [ebp - 0x10]
sub esi, dword [0x510640]
push ebx
push ebx
push 0x1106
push dword [0x5106a4]
sub esi, eax
dec esi
call edi
cmp esi, ebx
jge 0x43dd41
push ebx
push ebx
push 0x114
push dword [0x5106a4]
call edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 1
push 0x1104
push dword [0x5106a4]
call edi
push ebx
push ebx
push 0x1106
push dword [0x5106a4]
call edi
mov esi, dword [ebp - 0x10]
sub esi, dword [0x510640]
sub esi, eax
dec esi
js 0x43dcfc
push dword [0x5106a4]
call fcn.0042c045
mov ecx, dword [0x510640]
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 0x43ddba
mov dword [ebp + 0x10], ecx
jmp 0x43ddba
cmp esi, dword [0x510640]
jle 0x43e795
push ebx
push 1
push 0x114
push dword [0x5106a4]
call edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 1
push 0x1104
push dword [0x5106a4]
call edi
push ebx
push ebx
push 0x1106
push dword [0x5106a4]
call edi
mov esi, dword [ebp - 0x10]
sub esi, dword [0x510640]
sub esi, eax
dec esi
mov eax, dword [ebp + 0x10]
add eax, esi
cmp eax, dword [ebp + 0xc]
jg 0x43dd6a
jmp 0x43e795
mov eax, dword [esi + 0x3c]
xor ebx, ebx
cmp eax, ebx
je 0x43dea9
push eax
call fcn.00436535
mov edi, eax
cmp edi, ebx
je 0x43dea9
cmp dword [0x51cdd4], 4
mov esi, dword [esi + 0xc]
jl 0x43de34
push dword [edi + 8]
push dword [0x5106a4]
call fcn.0042c5d0
lea ecx, [edi + 0xd90]
cmp word [ecx], bx
jne 0x43de10
mov ecx, 0x456110
push dword [edi + 0x828]
push ecx
push eax
push dword [edi + 0x11a0]
push esi
call fcn.0044e2c7
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push 4
call fcn.00451479
add esp, 0x1c
cmp esi, 2
jne 0x43de45
mov dword [edi + 0x11a0], 1
jmp 0x43de74
cmp esi, 1
jne 0x43de52
mov dword [edi + 0x11a0], ebx
jmp 0x43de74
cmp esi, 3
jne 0x43de6d
push dword [edi + 8]
push dword [0x5106a4]
call fcn.0042c5d0
mov dword [edi + 0x11a0], eax
jmp 0x43de74
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.pTNI__bLastExpandManuallytrue
push 4
mov dword [edi + 0x11a4], 1
call fcn.00451479
pop ecx
pop ecx
cmp dword [0x512cd8], ebx
jne 0x43dea9
mov eax, dword [edi + 0x18]
cmp eax, 9
je 0x43dea1
cmp eax, 0xa
jne 0x43dea9
push ebx
mov ecx, edi
call fcn.0040bce8
mov dword [0x51066c], ebx
jmp 0x43e795
cmp dword [0x51cdd4], 4
mov esi, dword [esi + 0x14]
jl 0x43ded0
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push 4
call fcn.00451479
add esp, 0xc
push esi
call fcn.00436535
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x43e795
cmp dword [0x51cdd4], 4
mov eax, dword [edi + 0xde0]
mov dword [ebp + 8], eax
jl 0x43df41
lea eax, [edi + 0xd90]
cmp word [eax], bx
jne 0x43df04
mov eax, 0x456110
push eax
push dword [edi + 0x828]
push str.__s_at__s
push 4
call fcn.00451479
add esp, 0x10
cmp dword [0x51cdd4], 4
jl 0x43df41
push dword [edi + 8]
push dword [0x5106a4]
call fcn.00437863
push eax
push str._txt_s
push 4
call fcn.00451479
add esp, 0xc
cmp esi, dword [0x511008]
jne 0x43df4f
mov dword [0x511008], ebx
cmp edi, dword [0x512cec]
jne 0x43df6e
lea eax, [edi + 0xc74]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x43df7a
push ecx
mov dword [eax], ebx
call fcn.0044b359
pop ecx
jmp 0x43df7a
mov ecx, dword [0x512c60]
push edi
call fcn.0040e726
cmp dword [0x510ff4], ebx
jne 0x43e795
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x43e795
cmp dword [0x51075c], ebx
je 0x43e795
push dword [eax + 8]
push 4
push 0x110a
push dword [0x5106a4]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x43e795
mov eax, dword [ebp + 8]
push dword [eax + 8]
push dword [0x5106a4]
call fcn.004307cd
jmp 0x43e795
push dword [esi + 0x10]
call fcn.00436535
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x43e0ac
push dword [edi + 0x1154]
mov ecx, dword [0x512c64]
call fcn.0040121c
test eax, eax
je 0x43e0ac
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x110f
push dword [0x5106a4]
call esi
push ebx
push 0xfd
push 0xc5
push eax
mov dword [0x5106dc], eax
call esi
push 0x434329
push 0xfffffffffffffffc
push dword [0x5106dc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x5107c0], eax
mov eax, dword [edi + 0x1154]
lea ecx, [eax + 0x163c]
cmp word [ecx], bx
jne 0x43e07b
mov ecx, dword [0x4a7b44]
sub ecx, ebx
je 0x43e06a
dec ecx
je 0x43e0a3
dec ecx
jne 0x43e088
lea ecx, [edi + 0xa70]
cmp word [ecx], bx
jne 0x43e07b
lea ecx, [eax + 0x173c]
cmp word [ecx], bx
jne 0x43e07b
lea ecx, [eax + 0x183c]
push ecx
push dword [0x5106dc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x511838
push dword [0x5106dc]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x43e795
add edi, 0x86c
push edi
jmp 0x43e07c
push ebx
push 1
push 0x1116
push dword [0x5106a4]
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 0x43e797
xor ebx, ebx
cmp dword [esi + 0x1c], ebx
je 0x43e795
push str.lblendedit
push ebx
push 0x7f02
call fcn.00436641
push dword [esi + 0x10]
call fcn.00436535
mov dword [ebp + 0x10], eax
cmp eax, ebx
je 0x43e429
mov ecx, dword [0x512c64]
mov edi, eax
add edi, 0x1154
push dword [edi]
call fcn.0040121c
test eax, eax
je 0x43e429
mov eax, dword [edi]
mov dword [ebp + 8], eax
push str.Device_Parameters
add eax, 0xe3c
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x456568
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 0x43e2ba
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00429a67
test eax, eax
je 0x43e260
mov ecx, dword [ebp + 8]
xor eax, eax
mov word [ecx + 0x163c], ax
mov ecx, dword [ebp + 0x10]
inc eax
push eax
mov dword [ecx + 0xcf8], eax
call fcn.0040bce8
cmp dword [0x4a7b44], ebx
jne 0x43e429
mov esi, dword [ebp + 8]
lea eax, [esi + 0xe3c]
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x456374
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.0044b15e
add esp, 0x1c
push 0x100
lea eax, [ebp - 0x210]
push eax
push str.FriendlyNameOrg
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004296c8
cmp word [ebp - 0x210], bx
je 0x43e292
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00429932
test eax, eax
je 0x43e3e1
push ebx
lea eax, [ebp + 8]
push eax
lea eax, [esi + 0x173c]
push eax
lea eax, [ebp + 0xc]
push eax
push 0xd
push dword [esi + 0x14]
mov dword [ebp + 8], 0x100
call dword [sym.imp.CFGMGR32.dll_CM_Get_DevNode_Registry_PropertyW]
push str.FriendlyNameOrg
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00429a67
jmp 0x43e3e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x43e174
call fcn.0044e479
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 0x43e413
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00429a67
test eax, eax
je 0x43e3e1
xor eax, eax
mov word [esi + 0x173c], ax
jmp 0x43e3e1
push eax
push str.CustomName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00429932
test eax, eax
je 0x43e3f5
push dword [esi + 0x1c]
mov eax, dword [ebp + 8]
add eax, 0x163c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x4a7b44], ebx
jne 0x43e3e1
mov eax, dword [ebp + 8]
add eax, 0xe3c
push eax
push str.SystemCurrentControlSetEnum
lea eax, [ebp - 0x610]
push 0x456374
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.0044b15e
xor eax, eax
push 0x1fe
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push ebx
push eax
call fcn.0044b15e
add esp, 0x28
push 0x100
lea eax, [ebp - 0x810]
push eax
push str.FriendlyNameOrg
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004296c8
push 0x100
lea eax, [ebp - 0x210]
push eax
push str.FriendlyName
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.004296c8
lea eax, [ebp - 0x210]
push eax
push str.FriendlyNameOrg
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.00429932
push dword [esi + 0x1c]
lea eax, [ebp - 0x610]
push str.FriendlyName
push eax
push edi
call fcn.00429932
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.00451479
mov eax, dword [ebp + 8]
add esp, 0xc
push dword [esi + 0x1c]
add eax, 0x173c
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.0040bce8
jmp 0x43e429
call fcn.0044e479
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 [0x51069c]
call fcn.00452317
push str.lblendedit
push ebx
push 0x7f00
mov dword [0x5106dc], ebx
call fcn.00436641
jmp 0x43e795
and dword [0x51066c], 0
jmp 0x43e795
cmp eax, 0xfffffe62
je 0x43e735
cmp eax, 0xfffffe64
je 0x43e6da
cmp eax, 0xfffffff4
je 0x43e4d0
cmp eax, 0xfffffff8
je 0x43e4bf
cmp eax, 0xfffffffb
jne 0x43e795
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 0x43e795
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 0x43e795
push dword [0x511008]
push ecx
call fcn.004352f5
jmp 0x43e795
mov edi, dword [esi + 0x24]
xor ebx, ebx
cmp dword [0x51cdd4], 5
mov dword [ebp + 0x10], edi
jl 0x43e532
push edi
push dword [esi + 0xc]
call fcn.0044c562
push eax
push str.NM_CUSTOMDRAW:_drwst_S__hti0x_08Ix
push 5
call fcn.00451479
add esp, 0x10
cmp edi, ebx
je 0x43e532
push edi
call fcn.00436535
mov edi, eax
push edi
call fcn.00407b01
test eax, eax
je 0x43e532
cmp dword [edi + 8], ebx
je 0x43e532
lea eax, [edi + 0xd90]
push eax
add edi, 0x428
push edi
push str._s___s
push 5
call fcn.00451479
add esp, 0x10
mov eax, dword [esi + 0xc]
dec eax
je 0x43e68e
sub eax, 0x10000
jne 0x43e795
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.00451479
add esp, 0x18
cmp dword [ebp + 0x10], ebx
je 0x43e66e
cmp dword [0x510744], ebx
jne 0x43e58f
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x511008]
je 0x43e58f
test byte [esi + 0x28], 0x11
je 0x43e66e
push dword [ebp + 0x10]
call fcn.00436535
push eax
mov dword [ebp + 0x10], eax
call fcn.00407b01
test eax, eax
je 0x43e653
mov eax, dword [ebp + 0x10]
cmp dword [eax + 8], ebx
je 0x43e653
test byte [0x51cdd4], 0x40
je 0x43e5cd
push eax
push str.calling_GetNodeColors___for_pTNI0x_08Ix
push 0x40
call fcn.00451479
add esp, 0xc
push edi
push dword [ebp + 0xc]
push dword [esi + 0x28]
push dword [ebp + 0x10]
call fcn.0043a266
test eax, eax
je 0x43e62e
test byte [0x51cdd4], 0x40
je 0x43e614
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x828]
cmp word [eax], bx
jne 0x43e5fd
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.00451479
add esp, 0x14
cmp dword [0x510068], 5
jne 0x43e628
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x51066c], eax
push ebx
jmp 0x43e0c2
test byte [0x51cdd4], 0x40
je 0x43e795
push dword [edi]
mov eax, dword [ebp + 0xc]
push dword [eax]
push str._unchanged_clrTextBk0x_06X__clrText0x_06X
push 0x40
call fcn.00451479
add esp, 0x10
jmp 0x43e66e
test byte [0x51cdd4], 0x40
je 0x43e795
push str.no_need
push 0x40
call fcn.00451479
pop ecx
pop ecx
test byte [0x51cdd4], 0x40
je 0x43e795
push str._________CDDS_ITEMPREPAINT_________
push 0x40
call fcn.00451479
pop ecx
pop ecx
jmp 0x43e795
cmp dword [0x51074c], ebx
jne 0x43e6c7
cmp dword [0x510744], ebx
jne 0x43e6b4
cmp dword [0x510680], ebx
jne 0x43e6b4
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [0x5106a4]
je 0x43e6c7
push 0x20
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_yes
jmp 0x43e6cc
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_no
push 5
call fcn.00451479
pop ecx
pop ecx
jmp 0x43e0cc
cmp word [esi + 0xc], 0x71
jne 0x43e795
push dword [0x511008]
call fcn.00436535
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x43e795
push dword [esi + 0x1154]
mov ecx, dword [0x512c64]
call fcn.0040121c
test eax, eax
je 0x43e795
cmp dword [esi + 0x18], 8
je 0x43e795
push dword [0x511008]
push ebx
push 0x1141
push dword [0x5106a4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x43e795
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.00436535
add esi, 0xc
cmp eax, ebx
je 0x43e77b
add eax, 0xc78
cmp byte [eax], bl
je 0x43e77b
push eax
push dword [esi]
call fcn.00430c2f
jmp 0x43e77d
mov dword [esi], ebx
cmp dword [esi], ebx
je 0x43e795
cmp dword [0x51068c], ebx
jne 0x43e795
push ebx
push dword [0x51069c]
call fcn.0042a40c
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc