Function at 0x45cff0
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
mov eax, dword [0x54c384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x24
mov dword [ebp - 0x160], ecx
lea ecx, [ebp - 0x38]
push str.http:__s.360.cn_360huabao_update.htm
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
call fcn.00404000
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov edi, dword [ebp - 0x28]
sub eax, edi
push 5
push str._ver
cmp eax, 5
jb 0x45d066
cmp ecx, 0x10
lea esi, [ebp - 0x38]
lea eax, [edi + 5]
cmovae esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 5], 0
jmp 0x45d077
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 5
call fcn.004053e0
xor eax, eax
mov dword [ebp - 0x94], 0
mov word [ebp - 0xa4], ax
mov edx, str.Software360360huabao
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x90], 7
push eax
push str.Version
mov ecx, SysReAllocString
call fcn.0040ffe0
sub esp, 0x10
lea eax, [ebp - 0xa4]
mov ecx, esp
push eax
call fcn.00402f60
lea ecx, [ebp - 0x15c]
call fcn.004022e0
add esp, 0x18
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x45d0d8
mov ecx, dword [eax]
mov edi, dword [eax + 0x10]
mov esi, dword [ebp - 0x24]
mov eax, esi
mov edx, dword [ebp - 0x28]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d10d
lea eax, [edi + edx]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x45d11d
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push edi
call fcn.004053e0
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x45d157
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45d14d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df52
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov edi, dword [ebp - 0x28]
sub eax, edi
push 4
push str.to
cmp eax, 4
jb 0x45d190
cmp ecx, 0x10
lea esi, [ebp - 0x38]
lea eax, [edi + 4]
cmovae esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 4], 0
jmp 0x45d1a1
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 4
call fcn.004053e0
push 2
push 0x510240
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.00404000
call fcn.00417100
test al, al
mov edx, 0x5074e0
mov ecx, 0x50d898
cmove ecx, edx
push ecx
lea ecx, [ebp - 0x54]
call fcn.004030c0
mov ecx, dword [ebp - 0x40]
mov eax, ecx
mov edi, dword [ebp - 0x44]
sub eax, edi
push 2
push 0x50d9a0
cmp eax, 2
jb 0x45d218
cmp ecx, 0x10
lea esi, [ebp - 0x54]
lea eax, [edi + 2]
cmovae esi, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 2], 0
jmp 0x45d229
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x54]
push dword [ebp - 0x20]
push 2
call fcn.004053e0
call fcn.004104e0
add eax, 0xfffffffb
cmp eax, 4
ja case.0x45d236.6
jmp dword [eax*4 + 0x45df70]
push 2
push 0x50d9a4
jmp 0x45d25f
push 2
push 0x510250
jmp 0x45d25f
push 2
push 0x51024c
jmp 0x45d25f
push 2
push 0x51025c
mov ecx, dword [ebp - 0x40]
mov eax, ecx
mov edi, dword [ebp - 0x44]
sub eax, edi
cmp eax, 2
jb 0x45d291
cmp ecx, 0x10
lea esi, [ebp - 0x54]
lea eax, [edi + 2]
cmovae esi, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 2], 0
jmp case.0x45d236.6
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x54]
push dword [ebp - 0x20]
push 2
call fcn.004053e0
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x54]
mov esi, dword [ebp - 0x24]
mov eax, esi
cmovae ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x28]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d2e2
lea eax, [edi + edx]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x45d2f2
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push edi
call fcn.004053e0
lea ecx, [ebp - 0xbc]
call fcn.00460660
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov edi, dword [ebp - 0x28]
sub eax, edi
push 5
push str.pid
cmp eax, 5
jb 0x45d336
cmp ecx, 0x10
lea esi, [ebp - 0x38]
lea eax, [edi + 5]
cmovae esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 5], 0
jmp 0x45d347
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 5
call fcn.004053e0
sub esp, 0x18
lea eax, [ebp - 0xbc]
mov ecx, esp
push eax
call fcn.00402f60
lea ecx, [ebp - 0x15c]
call fcn.004022e0
add esp, 0x18
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x45d370
mov ecx, dword [eax]
mov edi, dword [eax + 0x10]
mov esi, dword [ebp - 0x24]
mov eax, esi
mov edx, dword [ebp - 0x28]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d3a5
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x45d3b5
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push edi
call fcn.004053e0
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x45d3ef
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45d3e5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df57
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov edi, dword [ebp - 0x28]
sub eax, edi
push 5
push 0x50d848
cmp eax, 5
jb 0x45d428
cmp ecx, 0x10
lea esi, [ebp - 0x38]
lea eax, [edi + 5]
cmovae esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 5], 0
jmp 0x45d439
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 5
call fcn.004053e0
sub esp, 0x18
mov ecx, esp
call fcn.00412820
lea ecx, [ebp - 0x15c]
call fcn.004022e0
add esp, 0x18
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x45d45b
mov ecx, dword [eax]
mov edi, dword [eax + 0x10]
mov esi, dword [ebp - 0x24]
mov eax, esi
mov edx, dword [ebp - 0x28]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d490
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x45d4a0
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push edi
call fcn.004053e0
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x45d4da
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45d4d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df5c
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov edi, dword [ebp - 0x28]
sub eax, edi
push 6
push str.guid
cmp eax, 6
jb 0x45d513
cmp ecx, 0x10
lea esi, [ebp - 0x38]
lea eax, [edi + 6]
cmovae esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 6], 0
jmp 0x45d524
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 6
call fcn.004053e0
sub esp, 0x18
mov ecx, esp
call fcn.00412820
lea ecx, [ebp - 0x15c]
call fcn.004022e0
add esp, 0x18
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x45d546
mov ecx, dword [eax]
mov edi, dword [eax + 0x10]
mov esi, dword [ebp - 0x24]
mov eax, esi
mov edx, dword [ebp - 0x28]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d57b
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x45d58b
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push edi
call fcn.004053e0
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x45d5c5
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45d5bb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df61
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov edi, dword [ebp - 0x28]
sub eax, edi
push 4
push str.m2
cmp eax, 4
jb 0x45d5fe
cmp ecx, 0x10
lea esi, [ebp - 0x38]
lea eax, [edi + 4]
cmovae esi, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
lea eax, [esi + edi]
push eax
call fcn.004c0040
add esp, 0xc
mov byte [esi + edi + 4], 0
jmp 0x45d60f
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 4
call fcn.004053e0
sub esp, 0x18
mov ecx, esp
push 0x553010
call fcn.00402f60
lea ecx, [ebp - 0x15c]
call fcn.004022e0
add esp, 0x18
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x45d636
mov ecx, dword [eax]
mov edi, dword [eax + 0x10]
mov esi, dword [ebp - 0x24]
mov eax, esi
mov edx, dword [ebp - 0x28]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d66b
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x45d67b
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push edi
call fcn.004053e0
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x45d6b5
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45d6ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df66
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x24]
mov eax, edx
mov ecx, dword [ebp - 0x28]
sub eax, ecx
push 3
push 0x51029c
cmp eax, 3
jb 0x45d6ec
cmp edx, 0x10
lea esi, [ebp - 0x38]
lea eax, [ecx + 3]
cmovae esi, dword [ebp - 0x38]
add esi, ecx
mov dword [ebp - 0x28], eax
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + 3], 0
jmp 0x45d6fd
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x20]
push 3
call fcn.004053e0
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x20], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x58], 4
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x5c], 4
push eax
push str.statistic.shellmode
push str.Software360360se6Chrome
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
xor ebx, ebx
test eax, eax
jne 0x45d740
cmp dword [ebp - 0x20], 1
sete bl
lea esi, [ebp - 7]
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x45d743
xor edi, edi
mov byte [ebp - 0x15c], dl
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], edi
mov eax, 0xf
mov dword [ebp - 0x148], eax
cmp esi, ecx
je 0x45d7a3
mov eax, ecx
lea ecx, [ebp - 0x15c]
sub eax, esi
push eax
push esi
call fcn.00404000
mov edi, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x15c]
mov ebx, dword [ebp - 0x15c]
cmp eax, 0x10
mov edx, dword [ebp - 0x28]
mov eax, esi
cmovae ecx, ebx
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d7e7
lea eax, [edi + edx]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x45d7fd
mov byte [ebp - 0x3c], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x3c]
push edi
call fcn.004053e0
mov ebx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x148]
cmp eax, 0x10
jb 0x45d833
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x45d829
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df6b
push ecx
push ebx
call fcn.004bdd39
add esp, 8
cmp dword [0x557b04], 0
jne 0x45d84b
push 1
call fcn.004bdd09
add esp, 4
mov dword [0x557b04], eax
call fcn.0043aaf0
mov esi, dword [ebp - 0x24]
mov ebx, eax
mov edx, dword [ebp - 0x28]
mov ecx, esi
sub ecx, edx
push 4
push str.ss
cmp ecx, 4
jb 0x45d88a
cmp esi, 0x10
lea eax, [ebp - 0x38]
lea ecx, [edx + 4]
cmovae eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], ecx
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [esi + 4], 0
jmp 0x45d89b
mov byte [ebp - 0x3c], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x3c]
push 4
call fcn.004053e0
lea esi, [ebp - 7]
test ebx, ebx
jns 0x45d8d0
neg ebx
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x45d8a4
dec esi
mov byte [esi], 0x2d
jmp 0x45d8f3
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x45d8d0
xor edi, edi
mov byte [ebp - 0x15c], 0
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], edi
mov eax, 0xf
mov dword [ebp - 0x148], eax
cmp esi, ecx
je 0x45d931
mov eax, ecx
lea ecx, [ebp - 0x15c]
sub eax, esi
push eax
push esi
call fcn.00404000
mov edi, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x15c]
mov ebx, dword [ebp - 0x15c]
cmp eax, 0x10
mov edx, dword [ebp - 0x28]
mov eax, esi
cmovae ecx, ebx
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x45d975
lea eax, [edi + edx]
cmp esi, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
lea esi, [eax + edx]
push esi
call fcn.004c0040
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x45d98b
mov byte [ebp - 0x3c], 0
lea ecx, [ebp - 0x38]
push dword [ebp - 0x3c]
push edi
call fcn.004053e0
mov ebx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x148]
cmp eax, 0x10
jb 0x45d9c1
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x45d9b7
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45df6b
push ecx
push ebx
call fcn.004bdd39
add esp, 8
push str.w64
lea ecx, [ebp - 0x38]
call fcn.004030c0
call fcn.00410850
lea ecx, [ebp - 7]
test eax, eax
jns 0x45d9ec
neg eax
mov edx, eax
call fcn.00450400
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x45d9f5
mov edx, eax
call fcn.00450400
mov ecx, eax
lea eax, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp ecx, eax
je 0x45da26
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
push str.wb
lea ecx, [ebp - 0x38]
call fcn.004030c0
call fcn.004171c0
movzx edx, al
lea ecx, [ebp - 7]
call fcn.00450400
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp eax, ecx
je 0x45da8e
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
lea ecx, [ebp - 0x8c]
xor bl, bl
call fcn.004176c0
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x8c]
push eax
push 0x207
push str.UpgradeMgr::SendUpdateReport
push str.__s__d__strDeskTopRestPath:_s
call fcn.0041f720
add esp, 0x10
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
cmovae eax, dword [ebp - 0x8c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45db0c
call fcn.00417c60
test eax, eax
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
push str.ach
lea ecx, [ebp - 0x38]
call fcn.004030c0
xor eax, eax
mov dword [ebp - 0x64], 0
push eax
push 0x5010a0
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 7
mov word [ebp - 0x15c], ax
call fcn.00403e30
call fcn.00411740
test eax, eax
mov ecx, 0x5074e0
mov eax, 0x50d898
cmove eax, ecx
lea ecx, [ebp - 0x74]
push eax
call fcn.004030c0
lea ecx, [ebp - 0x15c]
call fcn.00402e70
call fcn.00417a50
mov esi, 0x50d9a4
test al, al
mov ecx, esi
mov edi, 0x50d9a0
cmove ecx, edi
push ecx
lea ecx, [ebp - 0x74]
call fcn.004030c0
test bl, bl
lea ecx, [ebp - 0x74]
cmove esi, edi
push esi
call fcn.004030c0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
call fcn.00460220
push str.wscore
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.004030c0
mov edx, esi
lea ecx, [ebp - 7]
call fcn.00450400
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp eax, ecx
je 0x45dc09
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
call fcn.00460370
push str.des
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.004030c0
mov edx, esi
lea ecx, [ebp - 7]
call fcn.00450400
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp eax, ecx
je 0x45dc72
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
call fcn.00460520
push str.pic
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.004030c0
mov edx, esi
lea ecx, [ebp - 7]
call fcn.00450400
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp eax, ecx
je 0x45dcdb
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
call fcn.00460600
push str.unpic
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.004030c0
mov edx, esi
lea ecx, [ebp - 7]
call fcn.00450400
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp eax, ecx
je 0x45dd44
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x144], 0
push eax
lea eax, [ebp - 0x144]
mov dword [ebp - 0x58], 4
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x3c], 4
push eax
push str.install_model
push str.Software360360huabao
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
push str.im
lea ecx, [ebp - 0x38]
call fcn.004030c0
mov edx, dword [ebp - 0x144]
lea ecx, [ebp - 7]
call fcn.00450400
lea ecx, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp eax, ecx
je 0x45dde6
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
push 0x50f99c
lea ecx, [ebp - 0x38]
call fcn.004030c0
call fcn.004183e0
lea ecx, [ebp - 7]
test eax, eax
jns 0x45de2b
neg eax
mov edx, eax
call fcn.00450400
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x45de34
mov edx, eax
call fcn.00450400
mov ecx, eax
lea eax, [ebp - 7]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
cmp ecx, eax
je 0x45de65
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x15c]
call fcn.00404000
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00403130
lea ecx, [ebp - 0x15c]
call fcn.004031a0
push 0x7c
lea eax, [ebp - 0x140]
push 0
push eax
call fcn.004c05c0
add esp, 0xc
lea ecx, [ebp - 0x140]
call fcn.00435ce0
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.004032f0
lea ecx, [ebp - 0x15c]
call fcn.00402070
add esp, 0x18
cmp dword [eax + 0x14], 8
jb 0x45dec1
mov eax, dword [eax]
test eax, eax
jne 0x45dec9
xor esi, esi
jmp 0x45dee2
push dword [ebp - 0x160]
lea ecx, [ebp - 0x140]
push 0x446d30
push eax
call fcn.00435fc0
mov esi, eax
lea ecx, [ebp - 0x15c]
call fcn.00402e70
test esi, esi
je 0x45defd
lea eax, [ebp - 0x140]
push eax
call fcn.004364b0
lea ecx, [ebp - 0x140]
call fcn.00435df0
lea ecx, [ebp - 0x74]
call fcn.004031a0
lea ecx, [ebp - 0x8c]
call fcn.00402e70
lea ecx, [ebp - 0xbc]
call fcn.00402e70
lea ecx, [ebp - 0x54]
call fcn.004031a0
lea ecx, [ebp - 0xa4]
call fcn.00402e70
lea ecx, [ebp - 0x38]
call fcn.004031a0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bdaf8
mov esp, ebp
pop ebp
ret
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
cmp eax, 0xa20045d2
rol byte [ebp], cl
inc esi
rol byte [ebp], cl
dec edi
rol byte [ebp], cl
pop eax
rol byte [ebp], cl
int3