Function at 0x419460
Capabilities:
Check if file exists
Read .ini file
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x4881c4
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x4b47a8]
xor eax, esp
mov dword [esp + 0x174], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4b47a8]
xor eax, esp
push eax
lea eax, [esp + 0x18c]
mov dword fs:[0], eax
push 0x105
xor ebx, ebx
lea eax, [esp + 0x84]
push ebx
push eax
call fcn.0046c870
add esp, 0xc
call fcn.0044d630
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4194cd
push 0x80004005
call fcn.00401db0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x20], esi
push str.param.ini
lea ecx, [esp + 0x1c]
push 0x4b90c8
push ecx
mov dword [esp + 0x1a0], ebx
call fcn.00406070
add esp, 0xc
mov byte [esp + 0x194], 1
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x419559
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x419547
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x419547
push eax
call fcn.00406990
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x41953e
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea esi, [ebp + 0x10]
mov dword [esp + 0x20], esi
jmp 0x419559
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.004068a0
mov esi, dword [esp + 0x20]
mov byte [esp + 0x194], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419581
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [0x4b8f38], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push esi
je 0x419593
push ebx
jmp 0x419595
push 1
push str.Auto
push str.PARAM
call edi
cmp eax, ebx
jne 0x4195ad
mov dword [0x4b90b4], ebx
jmp 0x4195bc
mov dword [0x4b90b4], 1
call fcn.00421060
push esi
push 1
push str.ShowHtml
push str.PARAM
call edi
push esi
neg eax
push 1
sbb eax, eax
push str.ETimes
neg eax
push str.PARAM
mov dword [0x4b90bc], eax
call edi
push str.hjjm.dat
lea ecx, [esp + 0x1c]
push 0x4b9120
push ecx
mov dword [0x4b9098], eax
call fcn.00406070
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.Default
push str.PARAM
call edi
mov ebp, eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419633
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ecx, ecx
cmp ebp, 1
setne cl
cmp dword [0x4b8f40], ebx
mov dword [0x4b90a0], ecx
je 0x419697
push str.param.ini
lea edx, [esp + 0x1c]
push 0x4b90c8
push edx
call fcn.00406070
mov eax, dword [eax]
add esp, 0xc
push eax
push ebx
push str.HomePage
push str.PARAM
call edi
mov dword [0x4b90b8], eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4196ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4196ad
push ebx
push str.HomePage
push 0x49593c
call dword [sym.imp.KERNEL32.dll_GetProfileIntA]
mov dword [0x4b90b8], eax
push esi
push ebx
push str.SysTray
push str.PARAM
call edi
sub eax, 1
push esi
neg eax
push ebx
sbb eax, eax
push str.HotKey
add eax, 1
push str.PARAM
mov dword [0x4b909c], eax
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
xor ecx, ecx
push 0x104
cmp eax, 1
lea edx, [esp + 0x88]
push edx
sete cl
push 0x494704
push str.IconName
push str.PARAM
mov dword [0x4b9040], ecx
call ebp
lea eax, [esp + 0x80]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x419715
sub eax, ecx
push eax
lea eax, [esp + 0x84]
push eax
mov ecx, 0x4b92a4
call fcn.004068a0
mov ecx, dword [0x4b92a4]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
jg 0x4197d0
push str.icon888888.ico
lea ecx, [esp + 0x18]
call fcn.00406500
push eax
lea edx, [esp + 0x1c]
push 0x4b90c8
push edx
mov byte [esp + 0x1a0], 2
call fcn.00405fb0
add esp, 0xc
push eax
mov ecx, 0x4b92a4
mov byte [esp + 0x198], 3
call fcn.00406820
mov byte [esp + 0x194], 2
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4197a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x194], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4197d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [0x4b92a4]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x419871
push str.888.ico
lea ecx, [esp + 0x18]
call fcn.00406500
push eax
lea edx, [esp + 0x1c]
push 0x4b90c8
push edx
mov byte [esp + 0x1a0], 4
call fcn.00405fb0
add esp, 0xc
push eax
mov ecx, 0x4b92a4
mov byte [esp + 0x198], 5
call fcn.00406820
mov byte [esp + 0x194], 4
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419849
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x194], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419871
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push esi
push 0x1e
push str.RefreshTimes
push str.PARAM
call edi
mov ebx, 0x4a
mov dword [0x4b903c], eax
mov dword [0x4b9038], ebx
mov dword [0x4b9034], 2
call fcn.0044d630
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4198b4
push 0x80004005
call fcn.00401db0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x194], 6
call fcn.0044d630
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4198e6
push 0x80004005
call fcn.00401db0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push esi
push 0xff
lea ecx, [esp + 0x88]
push ecx
push 0x494704
push 0x499648
push str.HOTKEY
mov byte [esp + 0x1ac], 7
call ebp
lea eax, [esp + 0x80]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x419927
sub eax, ecx
push eax
lea edx, [esp + 0x84]
push edx
lea ecx, [esp + 0x24]
call fcn.004068a0
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp - 0xc]
test eax, eax
jle 0x419a37
push 0x2c
push ebp
call fcn.0046b659
add esp, 8
test eax, eax
je 0x419a37
sub eax, ebp
mov ebp, eax
cmp ebp, 0xffffffff
je 0x419a37
push ebp
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.0040a080
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x198], 8
call fcn.00406820
mov byte [esp + 0x194], 7
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4199bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
add eax, 0xffffffff
cmp ebp, eax
jge 0x419a16
add ebp, 1
push ebp
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x24]
call fcn.00405f00
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x198], 9
call fcn.00406820
mov byte [esp + 0x194], 7
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419a16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00469252
mov edx, dword [esp + 0x20]
push edx
mov dword [0x4b9034], eax
call fcn.00469252
add esp, 8
mov dword [0x4b9038], eax
push esi
push 1
push str.Default
push str.HOTKEY
call edi
cmp eax, 1
jne 0x419c48
mov dword [0x4b9030], eax
mov dword [0x4b9038], ebx
mov dword [0x4b9034], 2
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0x104
lea eax, [esp + 0x88]
push eax
push 0x497cd0
push str.ExplorerTips1
push str.PARAM
mov dword [0x4b8f5c], 5
call ebx
lea eax, [esp + 0x80]
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x419aa0
sub eax, ecx
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, 0x4b92b4
call fcn.004068a0
push esi
push 0x104
lea edx, [esp + 0x88]
push edx
push 0x497d00
push str.ExplorerTips2
push str.PARAM
call ebx
lea eax, [esp + 0x80]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x419ae7
sub eax, ecx
push eax
lea eax, [esp + 0x84]
push eax
mov ecx, 0x4b92b8
call fcn.004068a0
push esi
push 1
push str.SuperHide
push str.NORMAL
call edi
test eax, eax
mov dword [0x4b8f44], eax
je 0x419bab
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x18]
push edx
push 0
push 0x2001f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
push reloc.WS2_32.dll_accept
mov dword [esp + 0x38], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x419b82
mov ebp, dword [esp + 0x14]
push 4
lea eax, [esp + 0x28]
push eax
push 4
push 0
push str.SuperHidden
push ebp
mov dword [esp + 0x3c], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test ebp, ebp
je 0x419b82
push ebp
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
push 0
push str.SuperHideTips
push str.NORMAL
call edi
test eax, eax
jne 0x419bab
push esi
push 0x495f2c
push str.SuperHideTips
push str.NORMAL
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push esi
push 0
push str.NoCopyLnk
push str.PARAM
call edi
push esi
xor ecx, ecx
push 0xff
test eax, eax
lea edx, [esp + 0x88]
push edx
setne cl
push str.http:__www.dt189.com
push str.szHomeUrl
push str.PARAM
mov dword [0x4b8f3c], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x80]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x419bf4
sub eax, edx
push eax
lea eax, [esp + 0x84]
push eax
mov ecx, 0x4b92bc
call fcn.004068a0
mov ecx, dword [0x4b92bc]
push str.http:__www.dt189.com
push ecx
call fcn.00469941
add esp, 8
test eax, eax
je 0x419cbc
call fcn.0044d630
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x419c57
push 0x80004005
call fcn.00401db0
mov dword [0x4b9030], 0
jmp 0x419a64
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x2c]
call fcn.00444a70
lea ecx, [esp + 0x14]
push ecx
mov edx, eax
push edx
mov byte [esp + 0x19c], 0xb
call fcn.00444cd0
lea eax, [esp + 0x14]
push eax
mov ecx, 0x4b92bc
call fcn.00406820
mov byte [esp + 0x194], 7
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419cbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [0x4b92bc]
cmp dword [ecx - 0xc], 8
jl 0x419cd1
call fcn.00424b30
test eax, eax
jne 0x419ce2
push 0x14
push str.http:__www.dt189.com
mov ecx, 0x4b92bc
call fcn.004068a0
call fcn.00419d90
call fcn.00419f20
call fcn.0041a0b0
mov byte [esp + 0x194], 6
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419d19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x194], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419d41
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov dword [esp + 0x194], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419d68
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x174]
xor ecx, esp
call fcn.00468ce5
add esp, 0x184
ret