Function at 0x4102c1
Capabilities:
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x209c
call fcn.0041f330
push ebx
push esi
mov ebx, ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
xor edi, edi
push dword [ebx + 0xc]
push edi
push str.IsSave
push str.AddUnstall
call esi
test eax, eax
jne 0x41062f
mov eax, dword [ebx + 4]
cmp dword [eax + 8], edi
jne 0x41062f
mov word [ebp - 0x1054], di
mov ecx, 0x411
xor eax, eax
lea edi, [ebp - 0x1052]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
lea eax, [ebp - 8]
pop edi
mov dword [ebp - 8], 0x824
push eax
lea eax, [ebp - 0x1054]
push eax
lea eax, [ebp - 0xc]
push eax
push str.Start_Page
push str.SoftwareMicrosoftInternet_ExplorerMain
push SysReAllocStringLen
mov dword [ebp - 0xc], edi
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov eax, dword [0x425504]
mov ecx, ebx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.00411802
mov ecx, dword [ebp - 4]
xor eax, eax
cmp dword [ecx - 8], eax
je 0x410378
cmp dword [0x42c4ec], eax
jne 0x410375
cmp dword [0x42c4f4], eax
je 0x410378
mov dword [ebx + 0x70], edi
cmp dword [ebx + 0x70], eax
jne 0x4104cf
cmp word [ebp - 0x1054], ax
je 0x4103a2
lea eax, [ebp - 0x1054]
push str.about:blank
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
pop ecx
test eax, eax
pop ecx
jne 0x4103cc
mov esi, str.http:__hao.360.cn_
lea edi, [ebx + 0x64]
mov eax, esi
test eax, eax
je 0x4103b7
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push eax
mov ecx, edi
call fcn.0040608d
mov dword [ebx + 0x5c], 3
jmp 0x4105d0
xor eax, eax
cmp dword [ebx + 0x70], eax
jne 0x4104cf
lea ecx, [ebp - 0x1054]
lea esi, [ebx + 0x68]
test ecx, ecx
jne 0x4103ec
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x4103fb
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x1054]
push eax
call edi
lea ecx, [ebp - 0x1054]
push ecx
push eax
mov ecx, esi
call fcn.0040608d
lea eax, [ebp - 0x1054]
mov ecx, ebx
push eax
call fcn.0041002c
test eax, eax
jne 0x4103c0
mov esi, str.http:__hao.360.cn_
lea eax, [ebp - 0x1054]
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x410452
mov eax, esi
test eax, eax
je 0x41043c
push esi
call edi
push esi
push eax
lea ecx, [ebx + 0x64]
call fcn.0040608d
mov dword [ebx + 0x5c], 4
jmp 0x4105d0
xor eax, eax
mov ecx, esi
cmp dword [ebx + 0x20], eax
jne 0x41046e
test ecx, ecx
je 0x410462
push esi
call edi
push esi
push eax
lea ecx, [ebx + 0x64]
call fcn.0040608d
jmp 0x4104c3
test ecx, ecx
je 0x410475
push esi
call edi
push esi
push eax
lea ecx, [ebx + 0x64]
call fcn.0040608d
mov edi, 0x429d7c
mov eax, edi
test eax, eax
je 0x410491
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [ebx + 0x64]
push edi
push eax
mov ecx, esi
call fcn.0040897e
lea eax, [ebp - 0x1054]
test eax, eax
je 0x4104b4
lea eax, [ebp - 0x1054]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [ebp - 0x1054]
push ecx
push eax
mov ecx, esi
call fcn.0040897e
mov dword [ebx + 0x5c], 1
jmp 0x4105d0
lea ecx, [ebp - 0x1054]
lea esi, [ebx + 0x68]
test ecx, ecx
je 0x4104e9
lea eax, [ebp - 0x1054]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [ebp - 0x1054]
push ecx
push eax
mov ecx, esi
call fcn.0040608d
mov edi, 0x429d7c
mov eax, edi
test eax, eax
je 0x41050a
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
push eax
mov ecx, esi
call fcn.0040897e
mov eax, dword [ebp - 4]
mov ecx, esi
push eax
push dword [eax - 8]
call fcn.0040897e
mov esi, str.http:__hao.360.cn_
lea eax, [ebp - 0x1054]
push esi
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x4105dd
push eax
push esi
lea ecx, [ebp - 4]
call fcn.0040743b
cmp eax, 0xffffffff
jne 0x4105dd
mov eax, esi
test eax, eax
je 0x41055c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push eax
lea ecx, [ebx + 0x64]
call fcn.0040608d
mov eax, edi
test eax, eax
je 0x410573
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [ebx + 0x64]
push edi
push eax
mov ecx, esi
call fcn.0040897e
lea eax, [ebp - 0x1054]
test eax, eax
je 0x410596
lea eax, [ebp - 0x1054]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [ebp - 0x1054]
push ecx
push eax
mov ecx, esi
call fcn.0040897e
mov eax, edi
test eax, eax
je 0x4105b2
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
push eax
mov ecx, esi
call fcn.0040897e
mov eax, dword [ebp - 4]
mov ecx, esi
push eax
push dword [eax - 8]
call fcn.0040897e
mov dword [ebx + 0x5c], 5
lea ecx, [ebp - 4]
call fcn.00403e55
jmp 0x410770
lea eax, [ebp - 0x1054]
lea esi, [ebx + 0x64]
test eax, eax
je 0x4105f7
lea eax, [ebp - 0x1054]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [ebp - 0x1054]
push ecx
push eax
mov ecx, esi
call fcn.0040608d
mov eax, edi
test eax, eax
je 0x410613
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
push eax
mov ecx, esi
call fcn.0040897e
mov eax, dword [ebp - 4]
mov ecx, esi
push eax
push dword [eax - 8]
call fcn.0040897e
jmp 0x410446
mov word [ebp - 0x209c], di
mov ecx, 0x823
xor eax, eax
lea edi, [ebp - 0x209a]
push dword [ebx + 0xc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x209c]
push 0x1047
push eax
push 0x42c4b4
mov edi, str.option
push str.HomePage
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [ebx + 0xc]
push 0
push str.IE6Mode
push edi
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 4], eax
mov esi, str.http:__hao.360.cn_
lea eax, [ebp - 0x209c]
push esi
push eax
call edi
test eax, eax
jne 0x410720
lea eax, [ebp - 0x209c]
push str.hao.360.cn
push eax
call edi
test eax, eax
jne 0x410720
push 1
lea edi, [ebx + 0x64]
pop eax
cmp dword [ebp - 4], eax
mov dword [ebx + 0x5c], eax
mov eax, esi
je 0x41075c
test eax, eax
je 0x4106ca
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push eax
mov ecx, edi
call fcn.0040608d
mov edi, 0x429d7c
mov eax, edi
test eax, eax
je 0x4106e5
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [ebx + 0x64]
push edi
push eax
mov ecx, esi
call fcn.0040897e
lea eax, [ebp - 0x209c]
test eax, eax
je 0x410708
lea eax, [ebp - 0x209c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [ebp - 0x209c]
push ecx
push eax
mov ecx, esi
call fcn.0040897e
mov dword [ebx + 0x5c], 5
jmp 0x410770
mov edi, dword [sym.imp.MSVCRT.dll__wcsicmp]
lea eax, [ebp - 0x209c]
push esi
push eax
mov dword [ebx + 0x5c], 2
call edi
pop ecx
test eax, eax
pop ecx
jne 0x410751
lea eax, [ebp - 0x209c]
push str.hao.360.cn
push eax
call edi
pop ecx
test eax, eax
pop ecx
je 0x410770
cmp dword [ebp - 4], 1
jne 0x410770
lea edi, [ebx + 0x64]
mov eax, esi
test eax, eax
je 0x410767
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push eax
mov ecx, edi
call fcn.0040608d
pop edi
pop esi
pop ebx
leave
ret