Function at 0x43bfb0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45009f
mov eax, dword fs:[0]
push eax
sub esp, 0xdb0
mov eax, dword [0x46b008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x66c], 0
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x96c], ecx
mov edx, dword [ebp - 0x96c]
mov dword [ebp - 0x970], edx
mov eax, dword [ebp - 0x970]
push eax
call fcn.00448cc8
add esp, 4
mov dword [ebp - 0x6dc], eax
cmp dword [ebp - 0x6dc], 0
je 0x43c039
mov ecx, dword [ebp - 0x6dc]
push ecx
call fcn.00448cd4
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043be30
lea edx, [ebp - 0x638]
push edx
push 0x109
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000002
call dword [0x451008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x43c0db
push 0x40b640
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_open_the_key
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x974], ecx
mov edx, dword [ebp - 0x974]
mov dword [ebp - 0x97c], edx
mov eax, dword [ebp - 0x97c]
push eax
call fcn.00448cce
add esp, 4
jmp 0x43f5bd
mov dword [ebp - 0x6e0], 0x100
mov dword [ebp - 0x630], 0
jmp 0x43c100
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0xfffffffe
je 0x43cd30
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x6e0]
push edx
mov eax, 2
imul ecx, eax, 0
lea edx, [ebp + ecx - 0x298]
push edx
mov eax, dword [ebp - 0x630]
push eax
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x451010]
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x6e0], 0x100
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x6e4], edx
cmp dword [ebp - 0x6e4], 0
je 0x43c17a
cmp dword [ebp - 0x6e4], 0x103
je 0x43ccb0
jmp 0x43cce7
mov eax, dword [ebp - 0x638]
push eax
lea ecx, [ebp - 0x298]
push ecx
mov ecx, dword [ebp - 0x62c]
call fcn.00439e30
mov dword [ebp - 0x640], eax
push 0
lea ecx, [ebp - 0x7f4]
call fcn.004486c8
mov byte [ebp - 4], 1
movzx edx, byte [ebp - 0x6c1]
push edx
lea ecx, [ebp - 0x340]
call fcn.00407e10
lea ecx, [ebp - 0x340]
call fcn.0040fd00
mov byte [ebp - 4], 2
movzx eax, byte [ebp - 0x6b5]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.00407e10
lea ecx, [ebp - 0x3e8]
call fcn.0040fd00
mov byte [ebp - 4], 3
movzx ecx, byte [ebp - 0x6b6]
push ecx
lea ecx, [ebp - 0x388]
call fcn.00407e10
lea ecx, [ebp - 0x388]
call fcn.0040fd00
mov byte [ebp - 4], 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa30], esp
lea edx, [ebp - 0x298]
push edx
call fcn.00401b90
mov dword [ebp - 0xaa4], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x2f8]
push eax
call fcn.0040d3a0
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.004119e0
mov dword [ebp - 0xaa8], eax
mov byte [ebp - 4], 6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xaac], esp
lea edx, [ebp - 0x2f8]
push edx
call fcn.00404a90
mov dword [ebp - 0xab0], eax
mov byte [ebp - 4], 7
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x3e8]
push ecx
lea edx, [ebp - 0x340]
push edx
mov eax, dword [ebp - 0x640]
add eax, 0x90
mov dword [ebp - 0x6e8], eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xab4], esp
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6e8]
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x840]
mov dword [ebp - 0xab8], eax
lea ecx, [ebp - 0x6b7]
push ecx
movzx edx, byte [ebp - 0x6b8]
push edx
mov ecx, dword [ebp - 0x6ec]
call fcn.00421d40
mov byte [ebp - 4], 8
mov dword [ebp - 0xabc], 0x454aa6
mov eax, dword [ebp - 0x6e8]
push eax
mov ecx, dword [ebp - 0x6ec]
call fcn.00405630
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x640]
push ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x62c]
call fcn.004388e0
mov edx, dword [ebp - 0x640]
add edx, 0xd8
mov dword [ebp - 0x6f0], edx
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x844], eax
mov ecx, dword [ebp - 0x6f0]
cmp ecx, dword [ebp - 0x844]
je 0x43c364
xor edx, edx
mov byte [ebp - 0x668], dl
movzx eax, byte [ebp - 0x668]
push eax
lea ecx, [ebp - 0x2f8]
push ecx
mov ecx, dword [ebp - 0x6f0]
call fcn.004057a0
push 0x451d38
mov ecx, dword [ebp - 0x640]
call fcn.00418620
movzx edx, al
test edx, edx
je 0x43c3d4
mov eax, dword [ebp - 0x640]
add eax, 0xd8
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov dword [ebp - 0x848], edx
mov eax, dword [ebp - 0x6f8]
cmp eax, dword [ebp - 0x848]
je 0x43c3d4
xor ecx, ecx
mov byte [ebp - 0x64d], cl
movzx edx, byte [ebp - 0x64d]
push edx
mov eax, dword [ebp - 0x6f4]
push eax
mov ecx, dword [ebp - 0x6f8]
call fcn.004057a0
mov ecx, dword [ebp - 0x640]
add ecx, 0x78
mov dword [ebp - 0x6fc], ecx
lea edx, [ebp - 0x340]
mov dword [ebp - 0x84c], edx
mov eax, dword [ebp - 0x6fc]
cmp eax, dword [ebp - 0x84c]
je 0x43c41f
xor ecx, ecx
mov byte [ebp - 0x64e], cl
movzx edx, byte [ebp - 0x64e]
push edx
lea eax, [ebp - 0x340]
push eax
mov ecx, dword [ebp - 0x6fc]
call fcn.004057a0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x850]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [eax]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x700]
push edx
mov eax, dword [ebp - 0x854]
push eax
lea ecx, [ebp - 0x858]
call fcn.00423f50
lea ecx, [ebp - 0x858]
mov dword [ebp - 0x868], ecx
mov edx, dword [ebp - 0x62c]
add edx, 0x30
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x704]
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x860], ecx
lea edx, [ebp - 0x2f8]
push edx
mov ecx, dword [ebp - 0x704]
call fcn.00422a80
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x864]
push ecx
lea ecx, [ebp - 0x86c]
call fcn.00423f50
mov edx, dword [ebp - 0x868]
mov eax, dword [ebp - 0x86c]
cmp eax, dword [edx]
jne 0x43c4e1
mov dword [ebp - 0x708], 1
jmp 0x43c4eb
mov dword [ebp - 0x708], 0
mov cl, byte [ebp - 0x708]
mov byte [ebp - 0x64f], cl
movzx edx, byte [ebp - 0x64f]
test edx, edx
jne 0x43c50e
mov dword [ebp - 0x70c], 1
jmp 0x43c518
mov dword [ebp - 0x70c], 0
mov al, byte [ebp - 0x70c]
mov byte [ebp - 0x650], al
movzx ecx, byte [ebp - 0x650]
test ecx, ecx
je 0x43c5e5
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x6a8], edx
cmp dword [ebp - 0x6a8], 0
je 0x43c58b
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 0x6a8]
call fcn.00438570
mov ecx, 1
and ecx, 1
je 0x43c57d
push 0xf8
mov edx, dword [ebp - 0x6a8]
push edx
call fcn.004491c0
add esp, 8
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - 0x710], eax
jmp 0x43c595
mov dword [ebp - 0x710], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f8]
call fcn.00403100
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x388]
call fcn.00403100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3e8]
call fcn.00403100
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x340]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7f4]
call fcn.004486ce
jmp 0x43c0f1
push str.FyStore
mov ecx, dword [ebp - 0x640]
add ecx, 0xd8
call fcn.00418620
movzx ecx, al
test ecx, ecx
je 0x43c6c2
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x6ac], edx
cmp dword [ebp - 0x6ac], 0
je 0x43c65e
mov eax, dword [ebp - 0xac4]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x6ac]
call fcn.00438570
mov ecx, 1
and ecx, 1
je 0x43c650
push 0xf8
mov edx, dword [ebp - 0x6ac]
push edx
call fcn.004491c0
add esp, 8
mov eax, dword [ebp - 0x6ac]
mov dword [ebp - 0x714], eax
jmp 0x43c668
mov dword [ebp - 0x714], 0
mov dword [ebp - 0x640], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f8]
call fcn.00403100
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x388]
call fcn.00403100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3e8]
call fcn.00403100
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x340]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7f4]
call fcn.004486ce
jmp 0x43c0f1
lea ecx, [ebp - 0x2f8]
push ecx
lea edx, [ebp - 0xb24]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov eax, dword [eax]
mov ecx, dword [ebp - 0x640]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x870], edx
cmp dword [ebp - 0x870], 9
jbe 0x43c864
lea eax, [ebp - 0x340]
mov dword [ebp - 0xac8], eax
lea ecx, [ebp - 0x6b9]
mov dword [ebp - 0x874], ecx
mov edx, dword [ebp - 0x874]
push edx
push 9
push 1
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x430]
call fcn.00417cb0
mov ecx, dword [ebp - 0x66c]
or ecx, 1
mov dword [ebp - 0x66c], ecx
lea edx, [ebp - 0x430]
mov dword [ebp - 0x878], edx
push str.:windows
mov ecx, dword [ebp - 0x878]
call fcn.00418620
mov byte [ebp - 0x651], al
lea ecx, [ebp - 0x430]
call fcn.00403100
movzx eax, byte [ebp - 0x651]
test eax, eax
je 0x43c864
lea ecx, [ebp - 0x2f8]
push ecx
lea edx, [ebp - 0xb2c]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov eax, dword [eax]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x6b0], ecx
cmp dword [ebp - 0x6b0], 0
je 0x43c7f5
mov edx, dword [ebp - 0xacc]
mov dword [ebp - 0x718], edx
mov ecx, dword [ebp - 0x6b0]
call fcn.00438570
mov eax, 1
and eax, 1
je 0x43c7e7
push 0xf8
mov ecx, dword [ebp - 0x6b0]
push ecx
call fcn.004491c0
add esp, 8
mov edx, dword [ebp - 0x6b0]
mov dword [ebp - 0x718], edx
jmp 0x43c7ff
mov dword [ebp - 0x718], 0
lea eax, [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f8]
call fcn.00403100
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x388]
call fcn.00403100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3e8]
call fcn.00403100
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x340]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7f4]
call fcn.004486ce
jmp 0x43c0f1
push 0x451d38
lea ecx, [ebp - 0x388]
call fcn.00418620
movzx ecx, al
test ecx, ecx
je 0x43c961
lea edx, [ebp - 0x2f8]
push edx
lea eax, [ebp - 0xb34]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x6b4], edx
cmp dword [ebp - 0x6b4], 0
je 0x43c8f2
mov eax, dword [ebp - 0xad0]
mov dword [ebp - 0x71c], eax
mov ecx, dword [ebp - 0x6b4]
call fcn.00438570
mov ecx, 1
and ecx, 1
je 0x43c8e4
push 0xf8
mov edx, dword [ebp - 0x6b4]
push edx
call fcn.004491c0
add esp, 8
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x71c], eax
jmp 0x43c8fc
mov dword [ebp - 0x71c], 0
lea ecx, [ebp - 0x2f8]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f8]
call fcn.00403100
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x388]
call fcn.00403100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3e8]
call fcn.00403100
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x340]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7f4]
call fcn.004486ce
jmp 0x43c0f1
xorps xmm0, xmm0
movlpd qword [ebp - 0xa0c], xmm0
mov dword [ebp - 0xad4], 0
push 0x451d1c
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x538]
push ecx
call fcn.00403b60
add esp, 0xc
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov byte [ebp - 4], 9
lea eax, [ebp - 0x388]
push eax
mov ecx, dword [ebp - 0x880]
push ecx
lea edx, [ebp - 0x550]
push edx
call fcn.00403b20
add esp, 0xc
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x6c8]
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x6c8]
cmp dword [edx + 0x14], 0x10
jb 0x43c9fa
mov dword [ebp - 0x720], 1
jmp 0x43ca04
mov dword [ebp - 0x720], 0
mov al, byte [ebp - 0x720]
mov byte [ebp - 0x652], al
movzx ecx, byte [ebp - 0x652]
test ecx, ecx
je 0x43ca35
mov edx, dword [ebp - 0x6c8]
mov eax, dword [edx]
mov dword [ebp - 0x9f4], eax
mov ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x724]
mov dword [ebp - 0x9f0], edx
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x9ec], eax
lea ecx, [ebp - 0x598]
push ecx
mov edx, dword [ebp - 0x9ec]
push edx
call dword [0x4516bc]
add esp, 8
mov dword [ebp - 0xad8], eax
lea ecx, [ebp - 0x550]
call fcn.00403100
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x538]
call fcn.00403100
lea eax, [ebp - 0x570]
push eax
call dword [0x451804]
add esp, 4
mov dword [ebp - 0x9e8], eax
mov ecx, dword [ebp - 0x9e8]
push ecx
push str._Y__m__d
push 0x20
lea edx, [ebp - 0x90]
push edx
call dword [0x451808]
add esp, 0x10
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0xc0c]
call fcn.004486da
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc0c]
push ecx
push str.uninstallId
lea ecx, [ebp - 0x7f4]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc0c]
call fcn.004486ce
lea edx, [ebp - 0x3e8]
push edx
lea ecx, [ebp - 0xc24]
call fcn.004486da
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xc24]
push eax
push str.icon
lea ecx, [ebp - 0x7f4]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc24]
call fcn.004486ce
mov ecx, dword [ebp - 0x640]
push ecx
lea ecx, [ebp - 0xce4]
call fcn.004486da
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0xce4]
push edx
push str.softName
lea ecx, [ebp - 0x7f4]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xce4]
call fcn.004486ce
mov eax, dword [ebp - 0x640]
add eax, 0x60
push eax
lea ecx, [ebp - 0xd74]
call fcn.004486da
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xd74]
push ecx
push str.company
lea ecx, [ebp - 0x7f4]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd74]
call fcn.004486ce
mov edx, dword [ebp - 0xa08]
push edx
mov eax, dword [ebp - 0xa0c]
push eax
lea ecx, [ebp - 0xbf4]
call fcn.00448788
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xbf4]
push ecx
push str.fileSize
lea ecx, [ebp - 0x7f4]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xbf4]
call fcn.004486ce
lea edx, [ebp - 0x90]
push edx
lea ecx, [ebp - 0xdbc]
call fcn.004486d4
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0xdbc]
push eax
push str.update
lea ecx, [ebp - 0x7f4]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xdbc]
call fcn.004486ce
lea ecx, [ebp - 0x7f4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00448752
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f8]
call fcn.00403100
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x388]
call fcn.00403100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3e8]
call fcn.00403100
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x340]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7f4]
call fcn.004486ce
jmp 0x43cd2b
push 0x40b640
push str.Finish_enumerate_softwares
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x451260]
mov edx, dword [ebp - 0x638]
push edx
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43cd2b
push 0x40b640
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_enumerate_software
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43c0f1
lea edx, [ebp - 0x638]
push edx
push 9
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000002
call dword [0x451008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x43cdba
push 0x40b640
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_open_the_key
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x9e4], ecx
mov edx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x9e0]
push eax
call fcn.00448cce
add esp, 4
jmp 0x43f5bd
mov dword [ebp - 0x630], 0
jmp 0x43cdd5
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0xfffffffe
je 0x43d9eb
push 0x208
mov edx, 2
imul eax, edx, 0
lea ecx, [ebp + eax - 0x298]
push ecx
mov edx, dword [ebp - 0x630]
push edx
mov eax, dword [ebp - 0x638]
push eax
call dword [0x451014]
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x728], ecx
cmp dword [ebp - 0x728], 0
je 0x43ce3b
cmp dword [ebp - 0x728], 0x103
je 0x43d96b
jmp 0x43d9a2
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x62c]
call fcn.00439e30
mov dword [ebp - 0x644], eax
push 0
lea ecx, [ebp - 0x80c]
call fcn.004486c8
mov byte [ebp - 4], 0x10
movzx ecx, byte [ebp - 0x6ba]
push ecx
lea ecx, [ebp - 0x328]
call fcn.00407e10
lea ecx, [ebp - 0x328]
call fcn.0040fd00
mov byte [ebp - 4], 0x11
movzx edx, byte [ebp - 0x6bb]
push edx
lea ecx, [ebp - 0x3d0]
call fcn.00407e10
lea ecx, [ebp - 0x3d0]
call fcn.0040fd00
mov byte [ebp - 4], 0x12
movzx eax, byte [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x3a0]
call fcn.00407e10
lea ecx, [ebp - 0x3a0]
call fcn.0040fd00
mov byte [ebp - 4], 0x13
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xadc], esp
lea edx, [ebp - 0x298]
push edx
call fcn.00401b90
mov dword [ebp - 0xae0], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x2e0]
push eax
call fcn.0040d3a0
mov byte [ebp - 4], 0x13
mov ecx, eax
call fcn.004119e0
mov dword [ebp - 0xae4], eax
mov byte [ebp - 4], 0x15
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xae8], esp
lea edx, [ebp - 0x2e0]
push edx
call fcn.00404a90
mov dword [ebp - 0xaec], eax
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x3d0]
push ecx
lea edx, [ebp - 0x328]
push edx
mov eax, dword [ebp - 0x644]
add eax, 0x90
mov dword [ebp - 0x72c], eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xaf0], esp
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - 0xaf4], eax
lea ecx, [ebp - 0x6bd]
push ecx
movzx edx, byte [ebp - 0x6be]
push edx
mov ecx, dword [ebp - 0x730]
call fcn.00421d40
mov byte [ebp - 4], 0x17
mov dword [ebp - 0xafc], 0x454aa6
mov eax, dword [ebp - 0x72c]
push eax
mov ecx, dword [ebp - 0x730]
call fcn.00405630
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x644]
push ecx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x62c]
call fcn.004388e0
mov edx, dword [ebp - 0x644]
add edx, 0xd8
mov dword [ebp - 0x734], edx
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x9d8], eax
mov ecx, dword [ebp - 0x734]
cmp ecx, dword [ebp - 0x9d8]
je 0x43d025
xor edx, edx
mov byte [ebp - 0x653], dl
movzx eax, byte [ebp - 0x653]
push eax
lea ecx, [ebp - 0x2e0]
push ecx
mov ecx, dword [ebp - 0x734]
call fcn.004057a0
push 0x451d38
mov ecx, dword [ebp - 0x644]
call fcn.00418620
movzx edx, al
test edx, edx
je 0x43d095
mov eax, dword [ebp - 0x644]
add eax, 0xd8
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x73c], ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x73c]
cmp eax, dword [ebp - 0x9d4]
je 0x43d095
xor ecx, ecx
mov byte [ebp - 0x654], cl
movzx edx, byte [ebp - 0x654]
push edx
mov eax, dword [ebp - 0x738]
push eax
mov ecx, dword [ebp - 0x73c]
call fcn.004057a0
mov ecx, dword [ebp - 0x644]
add ecx, 0x78
mov dword [ebp - 0x740], ecx
lea edx, [ebp - 0x328]
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x740]
cmp eax, dword [ebp - 0x9d0]
je 0x43d0e0
xor ecx, ecx
mov byte [ebp - 0x655], cl
movzx edx, byte [ebp - 0x655]
push edx
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x740]
call fcn.004057a0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9cc]
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x744]
mov ecx, dword [eax]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x744]
push edx
mov eax, dword [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0x9c4]
call fcn.00423f50
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x62c]
add edx, 0x30
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x9c0], eax
mov ecx, dword [ebp - 0x9c0]
mov dword [ebp - 0x9bc], ecx
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x748]
call fcn.00422a80
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9bc]
push eax
mov ecx, dword [ebp - 0x9b8]
push ecx
lea ecx, [ebp - 0x9b0]
call fcn.00423f50
mov edx, dword [ebp - 0x9b4]
mov eax, dword [ebp - 0x9b0]
cmp eax, dword [edx]
jne 0x43d1a2
mov dword [ebp - 0x74c], 1
jmp 0x43d1ac
mov dword [ebp - 0x74c], 0
mov cl, byte [ebp - 0x74c]
mov byte [ebp - 0x656], cl
movzx edx, byte [ebp - 0x656]
test edx, edx
jne 0x43d1cf
mov dword [ebp - 0x750], 1
jmp 0x43d1d9
mov dword [ebp - 0x750], 0
mov al, byte [ebp - 0x750]
mov byte [ebp - 0x657], al
movzx ecx, byte [ebp - 0x657]
test ecx, ecx
je 0x43d2a6
mov edx, dword [ebp - 0x644]
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x674], 0
je 0x43d24c
mov eax, dword [ebp - 0xb00]
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x674]
call fcn.00438570
mov ecx, 1
and ecx, 1
je 0x43d23e
push 0xf8
mov edx, dword [ebp - 0x674]
push edx
call fcn.004491c0
add esp, 8
mov eax, dword [ebp - 0x674]
mov dword [ebp - 0x754], eax
jmp 0x43d256
mov dword [ebp - 0x754], 0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2e0]
call fcn.00403100
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a0]
call fcn.00403100
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3d0]
call fcn.00403100
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x328]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80c]
call fcn.004486ce
jmp 0x43cdc6
push str.FyStore
mov ecx, dword [ebp - 0x644]
add ecx, 0xd8
call fcn.00418620
movzx ecx, al
test ecx, ecx
je 0x43d383
mov edx, dword [ebp - 0x644]
mov dword [ebp - 0x678], edx
cmp dword [ebp - 0x678], 0
je 0x43d31f
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x678]
call fcn.00438570
mov ecx, 1
and ecx, 1
je 0x43d311
push 0xf8
mov edx, dword [ebp - 0x678]
push edx
call fcn.004491c0
add esp, 8
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x758], eax
jmp 0x43d329
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x644], 0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2e0]
call fcn.00403100
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a0]
call fcn.00403100
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3d0]
call fcn.00403100
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x328]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80c]
call fcn.004486ce
jmp 0x43cdc6
lea ecx, [ebp - 0x2e0]
push ecx
lea edx, [ebp - 0xb3c]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov eax, dword [eax]
mov ecx, dword [ebp - 0x644]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp - 0x318]
mov dword [ebp - 0x9ac], edx
cmp dword [ebp - 0x9ac], 9
jbe 0x43d525
lea eax, [ebp - 0x328]
mov dword [ebp - 0xb0c], eax
lea ecx, [ebp - 0x6bf]
mov dword [ebp - 0x9a8], ecx
mov edx, dword [ebp - 0x9a8]
push edx
push 9
push 1
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x460]
call fcn.00417cb0
mov ecx, dword [ebp - 0x66c]
or ecx, 8
mov dword [ebp - 0x66c], ecx
lea edx, [ebp - 0x460]
mov dword [ebp - 0x9a4], edx
push str.:windows
mov ecx, dword [ebp - 0x9a4]
call fcn.00418620
mov byte [ebp - 0x658], al
lea ecx, [ebp - 0x460]
call fcn.00403100
movzx eax, byte [ebp - 0x658]
test eax, eax
je 0x43d525
lea ecx, [ebp - 0x2e0]
push ecx
lea edx, [ebp - 0xb44]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov eax, dword [eax]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x67c], ecx
cmp dword [ebp - 0x67c], 0
je 0x43d4b6
mov edx, dword [ebp - 0xb10]
mov dword [ebp - 0x75c], edx
mov ecx, dword [ebp - 0x67c]
call fcn.00438570
mov eax, 1
and eax, 1
je 0x43d4a8
push 0xf8
mov ecx, dword [ebp - 0x67c]
push ecx
call fcn.004491c0
add esp, 8
mov edx, dword [ebp - 0x67c]
mov dword [ebp - 0x75c], edx
jmp 0x43d4c0
mov dword [ebp - 0x75c], 0
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2e0]
call fcn.00403100
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a0]
call fcn.00403100
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3d0]
call fcn.00403100
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x328]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80c]
call fcn.004486ce
jmp 0x43cdc6
push 0x451d38
lea ecx, [ebp - 0x3a0]
call fcn.00418620
movzx ecx, al
test ecx, ecx
je 0x43d622
lea edx, [ebp - 0x2e0]
push edx
lea eax, [ebp - 0xb4c]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x680], edx
cmp dword [ebp - 0x680], 0
je 0x43d5b3
mov eax, dword [ebp - 0xb14]
mov dword [ebp - 0x760], eax
mov ecx, dword [ebp - 0x680]
call fcn.00438570
mov ecx, 1
and ecx, 1
je 0x43d5a5
push 0xf8
mov edx, dword [ebp - 0x680]
push edx
call fcn.004491c0
add esp, 8
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0x760], eax
jmp 0x43d5bd
mov dword [ebp - 0x760], 0
lea ecx, [ebp - 0x2e0]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2e0]
call fcn.00403100
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a0]
call fcn.00403100
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3d0]
call fcn.00403100
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x328]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80c]
call fcn.004486ce
jmp 0x43cdc6
xorps xmm0, xmm0
movlpd qword [ebp - 0xa14], xmm0
mov dword [ebp - 0xb18], 0
push 0x451d1c
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x508]
push ecx
call fcn.00403b60
add esp, 0xc
mov dword [ebp - 0x9a0], eax
mov edx, dword [ebp - 0x9a0]
mov dword [ebp - 0x99c], edx
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x99c]
push ecx
lea edx, [ebp - 0x520]
push edx
call fcn.00403b20
add esp, 0xc
mov dword [ebp - 0x998], eax
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x6cc]
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x6cc]
cmp dword [edx + 0x14], 0x10
jb 0x43d6bb
mov dword [ebp - 0x764], 1
jmp 0x43d6c5
mov dword [ebp - 0x764], 0
mov al, byte [ebp - 0x764]
mov byte [ebp - 0x659], al
movzx ecx, byte [ebp - 0x659]
test ecx, ecx
je 0x43d6f6
mov edx, dword [ebp - 0x6cc]
mov eax, dword [edx]
mov dword [ebp - 0x990], eax
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x768]
mov dword [ebp - 0x98c], edx
mov eax, dword [ebp - 0x98c]
mov dword [ebp - 0x988], eax
lea ecx, [ebp - 0x628]
push ecx
mov edx, dword [ebp - 0x988]
push edx
call dword [0x4516bc]
add esp, 8
mov dword [ebp - 0xb1c], eax
lea ecx, [ebp - 0x520]
call fcn.00403100
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x508]
call fcn.00403100
lea eax, [ebp - 0x600]
push eax
call dword [0x451804]
add esp, 4
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x984]
push ecx
push str._Y__m__d
push 0x20
lea edx, [ebp - 0x30]
push edx
call dword [0x451808]
add esp, 0x10
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0xc3c]
call fcn.004486da
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xc3c]
push ecx
push str.uninstallId
lea ecx, [ebp - 0x80c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xc3c]
call fcn.004486ce
lea edx, [ebp - 0x3d0]
push edx
lea ecx, [ebp - 0xc54]
call fcn.004486da
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0xc54]
push eax
push str.icon
lea ecx, [ebp - 0x80c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xc54]
call fcn.004486ce
mov ecx, dword [ebp - 0x644]
push ecx
lea ecx, [ebp - 0xc6c]
call fcn.004486da
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0xc6c]
push edx
push str.softName
lea ecx, [ebp - 0x80c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xc6c]
call fcn.004486ce
mov eax, dword [ebp - 0x644]
add eax, 0x60
push eax
lea ecx, [ebp - 0xc9c]
call fcn.004486da
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xc9c]
push ecx
push str.company
lea ecx, [ebp - 0x80c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xc9c]
call fcn.004486ce
mov edx, dword [ebp - 0xa10]
push edx
mov eax, dword [ebp - 0xa14]
push eax
lea ecx, [ebp - 0xcb4]
call fcn.00448788
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xcb4]
push ecx
push str.fileSize
lea ecx, [ebp - 0x80c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xcb4]
call fcn.004486ce
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp - 0xccc]
call fcn.004486d4
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0xccc]
push eax
push str.update
lea ecx, [ebp - 0x80c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xccc]
call fcn.004486ce
lea ecx, [ebp - 0x80c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00448752
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2e0]
call fcn.00403100
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a0]
call fcn.00403100
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3d0]
call fcn.00403100
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x328]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80c]
call fcn.004486ce
jmp 0x43d9e6
push 0x40b640
push str.Finish_enumerate_softwares
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x451260]
mov edx, dword [ebp - 0x638]
push edx
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43d9e6
push 0x40b640
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_enumerate_software
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43cdc6
lea edx, [ebp - 0x638]
push edx
push 0x109
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000001
call dword [0x451008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x43da78
push 0x40b640
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_open_the_key
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x980], ecx
mov edx, dword [ebp - 0x980]
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x978]
push eax
call fcn.00448cce
add esp, 4
jmp 0x43f5bd
mov dword [ebp - 0x630], 0
jmp 0x43da93
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0xfffffffe
je 0x43e64c
push 0x208
mov edx, 2
imul eax, edx, 0
lea ecx, [ebp + eax - 0x298]
push ecx
mov edx, dword [ebp - 0x630]
push edx
mov eax, dword [ebp - 0x638]
push eax
call dword [0x451014]
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x76c], ecx
cmp dword [ebp - 0x76c], 0
je 0x43daf9
cmp dword [ebp - 0x76c], 0x103
je 0x43e5cc
jmp 0x43e603
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x62c]
call fcn.00439e30
mov dword [ebp - 0x648], eax
push 0
lea ecx, [ebp - 0x824]
call fcn.004486c8
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x968], ecx
mov ecx, dword [ebp - 0x968]
call fcn.0040b6e0
lea ecx, [ebp - 0x310]
call fcn.0040fd00
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x418]
mov dword [ebp - 0x964], edx
mov ecx, dword [ebp - 0x964]
call fcn.0040b6e0
lea ecx, [ebp - 0x418]
call fcn.0040fd00
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0x960], eax
mov ecx, dword [ebp - 0x960]
call fcn.0040b6e0
lea ecx, [ebp - 0x3b8]
call fcn.0040fd00
mov byte [ebp - 4], 0x22
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xb04], esp
lea edx, [ebp - 0x298]
push edx
call fcn.00401b90
mov dword [ebp - 0xa74], eax
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x2c8]
push eax
call fcn.0040d3a0
mov byte [ebp - 4], 0x22
mov ecx, eax
call fcn.004119e0
mov dword [ebp - 0xa78], eax
mov byte [ebp - 4], 0x24
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa7c], esp
lea edx, [ebp - 0x2c8]
push edx
call fcn.00404a90
mov dword [ebp - 0xa80], eax
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x310]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa84], esp
mov eax, dword [ebp - 0x648]
add eax, 0x90
push eax
call fcn.00404a90
mov ecx, dword [ebp - 0x648]
push ecx
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x62c]
call fcn.004388e0
mov edx, dword [ebp - 0x648]
add edx, 0xd8
mov dword [ebp - 0x770], edx
lea eax, [ebp - 0x2c8]
mov dword [ebp - 0x95c], eax
mov ecx, dword [ebp - 0x770]
cmp ecx, dword [ebp - 0x95c]
je 0x43dc93
xor edx, edx
mov byte [ebp - 0x65a], dl
movzx eax, byte [ebp - 0x65a]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, dword [ebp - 0x770]
call fcn.004057a0
push 0x451d38
mov ecx, dword [ebp - 0x648]
call fcn.00418620
movzx edx, al
test edx, edx
je 0x43dd03
mov eax, dword [ebp - 0x648]
add eax, 0xd8
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x778], ecx
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x958], edx
mov eax, dword [ebp - 0x778]
cmp eax, dword [ebp - 0x958]
je 0x43dd03
xor ecx, ecx
mov byte [ebp - 0x65b], cl
movzx edx, byte [ebp - 0x65b]
push edx
mov eax, dword [ebp - 0x774]
push eax
mov ecx, dword [ebp - 0x778]
call fcn.004057a0
mov ecx, dword [ebp - 0x648]
add ecx, 0x78
mov dword [ebp - 0x77c], ecx
lea edx, [ebp - 0x310]
mov dword [ebp - 0x954], edx
mov eax, dword [ebp - 0x77c]
cmp eax, dword [ebp - 0x954]
je 0x43dd4e
xor ecx, ecx
mov byte [ebp - 0x65c], cl
movzx edx, byte [ebp - 0x65c]
push edx
lea eax, [ebp - 0x310]
push eax
mov ecx, dword [ebp - 0x77c]
call fcn.004057a0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x950]
mov dword [ebp - 0x94c], edx
mov eax, dword [ebp - 0x94c]
mov ecx, dword [eax]
mov dword [ebp - 0x994], ecx
mov edx, dword [ebp - 0x994]
mov dword [ebp - 0x888], edx
lea eax, [ebp - 0x888]
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x780], ecx
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x890], eax
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, dword [ebp - 0x780]
call fcn.00422a80
mov dword [ebp - 0x894], eax
mov edx, dword [ebp - 0x890]
push edx
mov eax, dword [ebp - 0x894]
push eax
lea ecx, [ebp - 0x89c]
call fcn.00423f50
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x89c]
cmp edx, dword [ecx]
jne 0x43de03
mov dword [ebp - 0x784], 1
jmp 0x43de0d
mov dword [ebp - 0x784], 0
mov al, byte [ebp - 0x784]
mov byte [ebp - 0x65d], al
movzx ecx, byte [ebp - 0x65d]
test ecx, ecx
jne 0x43de30
mov dword [ebp - 0x788], 1
jmp 0x43de3a
mov dword [ebp - 0x788], 0
mov dl, byte [ebp - 0x788]
mov byte [ebp - 0x65e], dl
movzx eax, byte [ebp - 0x65e]
test eax, eax
je 0x43df07
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x684], ecx
cmp dword [ebp - 0x684], 0
je 0x43dead
mov edx, dword [ebp - 0xa88]
mov dword [ebp - 0x78c], edx
mov ecx, dword [ebp - 0x684]
call fcn.00438570
mov eax, 1
and eax, 1
je 0x43de9f
push 0xf8
mov ecx, dword [ebp - 0x684]
push ecx
call fcn.004491c0
add esp, 8
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0x78c], edx
jmp 0x43deb7
mov dword [ebp - 0x78c], 0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c8]
call fcn.00403100
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3b8]
call fcn.00403100
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x418]
call fcn.00403100
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x310]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004486ce
jmp 0x43da84
push str.FyStore
mov ecx, dword [ebp - 0x648]
add ecx, 0xd8
call fcn.00418620
movzx eax, al
test eax, eax
je 0x43dfe4
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x688], ecx
cmp dword [ebp - 0x688], 0
je 0x43df80
mov edx, dword [ebp - 0xa8c]
mov dword [ebp - 0x790], edx
mov ecx, dword [ebp - 0x688]
call fcn.00438570
mov eax, 1
and eax, 1
je 0x43df72
push 0xf8
mov ecx, dword [ebp - 0x688]
push ecx
call fcn.004491c0
add esp, 8
mov edx, dword [ebp - 0x688]
mov dword [ebp - 0x790], edx
jmp 0x43df8a
mov dword [ebp - 0x790], 0
mov dword [ebp - 0x648], 0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c8]
call fcn.00403100
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3b8]
call fcn.00403100
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x418]
call fcn.00403100
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x310]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004486ce
jmp 0x43da84
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0xb54]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov edx, dword [eax]
mov eax, dword [ebp - 0x648]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x8a0], ecx
cmp dword [ebp - 0x8a0], 9
jbe 0x43e186
lea edx, [ebp - 0x310]
mov dword [ebp - 0xa90], edx
lea eax, [ebp - 0x6c0]
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x8a4]
push ecx
push 9
push 1
lea edx, [ebp - 0x310]
push edx
lea ecx, [ebp - 0x448]
call fcn.00417cb0
mov eax, dword [ebp - 0x66c]
or eax, 0x40
mov dword [ebp - 0x66c], eax
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x8a8], ecx
push str.:windows
mov ecx, dword [ebp - 0x8a8]
call fcn.00418620
mov byte [ebp - 0x65f], al
lea ecx, [ebp - 0x448]
call fcn.00403100
movzx edx, byte [ebp - 0x65f]
test edx, edx
je 0x43e186
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0xb5c]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 0
je 0x43e117
mov ecx, dword [ebp - 0xa94]
mov dword [ebp - 0x794], ecx
mov ecx, dword [ebp - 0x68c]
call fcn.00438570
mov edx, 1
and edx, 1
je 0x43e109
push 0xf8
mov eax, dword [ebp - 0x68c]
push eax
call fcn.004491c0
add esp, 8
mov ecx, dword [ebp - 0x68c]
mov dword [ebp - 0x794], ecx
jmp 0x43e121
mov dword [ebp - 0x794], 0
lea edx, [ebp - 0x2c8]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c8]
call fcn.00403100
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3b8]
call fcn.00403100
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x418]
call fcn.00403100
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x310]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004486ce
jmp 0x43da84
push 0x451d38
lea ecx, [ebp - 0x3b8]
call fcn.00418620
movzx eax, al
test eax, eax
je 0x43e283
lea ecx, [ebp - 0x2c8]
push ecx
lea edx, [ebp - 0xb64]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov eax, dword [eax]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x6a4], ecx
cmp dword [ebp - 0x6a4], 0
je 0x43e214
mov edx, dword [ebp - 0xa98]
mov dword [ebp - 0x798], edx
mov ecx, dword [ebp - 0x6a4]
call fcn.00438570
mov eax, 1
and eax, 1
je 0x43e206
push 0xf8
mov ecx, dword [ebp - 0x6a4]
push ecx
call fcn.004491c0
add esp, 8
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0x798], edx
jmp 0x43e21e
mov dword [ebp - 0x798], 0
lea eax, [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c8]
call fcn.00403100
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3b8]
call fcn.00403100
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x418]
call fcn.00403100
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x310]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004486ce
jmp 0x43da84
mov dword [ebp - 0xa9c], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0xa04], xmm0
push 0x451d1c
lea edx, [ebp - 0x310]
push edx
lea eax, [ebp - 0x568]
push eax
call fcn.00403b60
add esp, 0xc
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b0], ecx
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0x3b8]
push edx
mov eax, dword [ebp - 0x8b0]
push eax
lea ecx, [ebp - 0x4f0]
push ecx
call fcn.00403b20
add esp, 0xc
mov dword [ebp - 0x8b4], eax
mov edx, dword [ebp - 0x8b4]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x6d0]
cmp dword [ecx + 0x14], 0x10
jb 0x43e31c
mov dword [ebp - 0x79c], 1
jmp 0x43e326
mov dword [ebp - 0x79c], 0
mov dl, byte [ebp - 0x79c]
mov byte [ebp - 0x660], dl
movzx eax, byte [ebp - 0x660]
test eax, eax
je 0x43e357
mov ecx, dword [ebp - 0x6d0]
mov edx, dword [ecx]
mov dword [ebp - 0x8b8], edx
mov eax, dword [ebp - 0x8b8]
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x8bc], ecx
mov edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x8c0], edx
lea eax, [ebp - 0x5f8]
push eax
mov ecx, dword [ebp - 0x8c0]
push ecx
call dword [0x4516bc]
add esp, 8
mov dword [ebp - 0xaa0], eax
lea ecx, [ebp - 0x4f0]
call fcn.00403100
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x568]
call fcn.00403100
lea edx, [ebp - 0x5d0]
push edx
call dword [0x451804]
add esp, 4
mov dword [ebp - 0x8c4], eax
mov eax, dword [ebp - 0x8c4]
push eax
push str._Y__m__d
push 0x20
lea ecx, [ebp - 0x70]
push ecx
call dword [0x451808]
add esp, 0x10
lea edx, [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0xcfc]
call fcn.004486da
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0xcfc]
push eax
push str.uninstallId
lea ecx, [ebp - 0x824]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xcfc]
call fcn.004486ce
lea ecx, [ebp - 0x418]
push ecx
lea ecx, [ebp - 0xd14]
call fcn.004486da
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0xd14]
push edx
push str.icon
lea ecx, [ebp - 0x824]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xd14]
call fcn.004486ce
mov eax, dword [ebp - 0x648]
push eax
lea ecx, [ebp - 0xd2c]
call fcn.004486da
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd2c]
push ecx
push str.softName
lea ecx, [ebp - 0x824]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xd2c]
call fcn.004486ce
mov edx, dword [ebp - 0x648]
add edx, 0x60
push edx
lea ecx, [ebp - 0xd44]
call fcn.004486da
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0xd44]
push eax
push str.company
lea ecx, [ebp - 0x824]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xd44]
call fcn.004486ce
mov ecx, dword [ebp - 0xa00]
push ecx
mov edx, dword [ebp - 0xa04]
push edx
lea ecx, [ebp - 0xd5c]
call fcn.00448788
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0xd5c]
push eax
push str.fileSize
lea ecx, [ebp - 0x824]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xd5c]
call fcn.004486ce
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xc84]
call fcn.004486d4
mov byte [ebp - 4], 0x2c
lea edx, [ebp - 0xc84]
push edx
push str.update
lea ecx, [ebp - 0x824]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xc84]
call fcn.004486ce
lea eax, [ebp - 0x824]
push eax
mov ecx, dword [ebp + 8]
call fcn.00448752
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c8]
call fcn.00403100
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3b8]
call fcn.00403100
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x418]
call fcn.00403100
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x310]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004486ce
jmp 0x43e647
push 0x40b640
push str.Finish_enumerate_softwares
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x451260]
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43e647
push 0x40b640
mov edx, dword [ebp - 0x634]
push edx
push str.Cannot_enumerate_software
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov eax, dword [ebp - 0x638]
push eax
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43da84
lea ecx, [ebp - 0x638]
push ecx
push 9
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000001
call dword [0x451008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x43e6d6
push 0x40b640
mov edx, dword [ebp - 0x634]
push edx
push str.Cannot_open_the_key
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x8c8], eax
mov ecx, dword [ebp - 0x8c8]
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x8cc]
push edx
call fcn.00448cce
add esp, 4
jmp 0x43f5bd
mov dword [ebp - 0x630], 0
jmp 0x43e6f1
mov eax, dword [ebp - 0x630]
add eax, 1
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x630], 0xfffffffe
je 0x43f274
push 0x208
mov ecx, 2
imul edx, ecx, 0
lea eax, [ebp + edx - 0x298]
push eax
mov ecx, dword [ebp - 0x630]
push ecx
mov edx, dword [ebp - 0x638]
push edx
call dword [0x451014]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x7a4], eax
cmp dword [ebp - 0x7a4], 0
je 0x43e757
cmp dword [ebp - 0x7a4], 0x103
je 0x43f1f4
jmp 0x43f22b
mov ecx, dword [ebp - 0x638]
push ecx
lea edx, [ebp - 0x298]
push edx
mov ecx, dword [ebp - 0x62c]
call fcn.00439e30
mov dword [ebp - 0x63c], eax
push 0
lea ecx, [ebp - 0x83c]
call fcn.004486c8
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x358]
mov dword [ebp - 0x8d0], eax
mov ecx, dword [ebp - 0x8d0]
call fcn.0040b6e0
lea ecx, [ebp - 0x358]
call fcn.0040fd00
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x8d4], ecx
mov ecx, dword [ebp - 0x8d4]
call fcn.0040b6e0
lea ecx, [ebp - 0x400]
call fcn.0040fd00
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x370]
mov dword [ebp - 0x8d8], edx
mov ecx, dword [ebp - 0x8d8]
call fcn.0040b6e0
lea ecx, [ebp - 0x370]
call fcn.0040fd00
mov byte [ebp - 4], 0x30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa48], esp
lea eax, [ebp - 0x298]
push eax
call fcn.00401b90
mov dword [ebp - 0xa18], eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2b0]
push ecx
call fcn.0040d3a0
mov byte [ebp - 4], 0x30
mov ecx, eax
call fcn.004119e0
mov dword [ebp - 0xa1c], eax
mov byte [ebp - 4], 0x32
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa20], esp
lea edx, [ebp - 0x2b0]
push edx
call fcn.00404a90
mov dword [ebp - 0xa24], eax
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x400]
push ecx
lea edx, [ebp - 0x358]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa28], esp
mov eax, dword [ebp - 0x63c]
add eax, 0x90
push eax
call fcn.00404a90
mov ecx, dword [ebp - 0x63c]
push ecx
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x62c]
call fcn.004388e0
mov edx, dword [ebp - 0x63c]
add edx, 0xd8
mov dword [ebp - 0x7a8], edx
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x8dc], eax
mov ecx, dword [ebp - 0x7a8]
cmp ecx, dword [ebp - 0x8dc]
je 0x43e8f1
xor edx, edx
mov byte [ebp - 0x661], dl
movzx eax, byte [ebp - 0x661]
push eax
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x7a8]
call fcn.004057a0
push 0x451d38
mov ecx, dword [ebp - 0x63c]
call fcn.00418620
movzx edx, al
test edx, edx
je 0x43e961
mov eax, dword [ebp - 0x63c]
add eax, 0xd8
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x63c]
mov dword [ebp - 0x7b0], ecx
mov edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x8e0], edx
mov eax, dword [ebp - 0x7b0]
cmp eax, dword [ebp - 0x8e0]
je 0x43e961
xor ecx, ecx
mov byte [ebp - 0x662], cl
movzx edx, byte [ebp - 0x662]
push edx
mov eax, dword [ebp - 0x7ac]
push eax
mov ecx, dword [ebp - 0x7b0]
call fcn.004057a0
mov ecx, dword [ebp - 0x63c]
add ecx, 0x78
mov dword [ebp - 0x7b4], ecx
lea edx, [ebp - 0x358]
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x7b4]
cmp eax, dword [ebp - 0x8e4]
je 0x43e9ac
xor ecx, ecx
mov byte [ebp - 0x663], cl
movzx edx, byte [ebp - 0x663]
push edx
lea eax, [ebp - 0x358]
push eax
mov ecx, dword [ebp - 0x7b4]
call fcn.004057a0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x8e8], ecx
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x8ec], edx
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [eax]
mov dword [ebp - 0x8f0], ecx
mov edx, dword [ebp - 0x8f0]
mov dword [ebp - 0x8f4], edx
lea eax, [ebp - 0x8f4]
mov dword [ebp - 0x900], eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7b8]
mov dword [ebp - 0x8f8], edx
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0xa2c], eax
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x7b8]
call fcn.00422a80
mov dword [ebp - 0x8fc], eax
mov edx, dword [ebp - 0x8fc]
mov dword [ebp - 0x904], edx
mov eax, dword [ebp - 0x900]
mov ecx, dword [ebp - 0x904]
cmp ecx, dword [eax]
jne 0x43ea54
mov dword [ebp - 0x7bc], 1
jmp 0x43ea5e
mov dword [ebp - 0x7bc], 0
mov dl, byte [ebp - 0x7bc]
mov byte [ebp - 0x664], dl
movzx eax, byte [ebp - 0x664]
test eax, eax
jne 0x43ea81
mov dword [ebp - 0x7c0], 1
jmp 0x43ea8b
mov dword [ebp - 0x7c0], 0
mov cl, byte [ebp - 0x7c0]
mov byte [ebp - 0x665], cl
movzx edx, byte [ebp - 0x665]
test edx, edx
je 0x43eb58
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x690], eax
cmp dword [ebp - 0x690], 0
je 0x43eafe
mov ecx, dword [ebp - 0xaf8]
mov dword [ebp - 0x7c4], ecx
mov ecx, dword [ebp - 0x690]
call fcn.00438570
mov edx, 1
and edx, 1
je 0x43eaf0
push 0xf8
mov eax, dword [ebp - 0x690]
push eax
call fcn.004491c0
add esp, 8
mov ecx, dword [ebp - 0x690]
mov dword [ebp - 0x7c4], ecx
jmp 0x43eb08
mov dword [ebp - 0x7c4], 0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2b0]
call fcn.00403100
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x370]
call fcn.00403100
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x400]
call fcn.00403100
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x358]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x83c]
call fcn.004486ce
jmp 0x43e6e2
push str.FyStore
mov ecx, dword [ebp - 0x63c]
add ecx, 0xd8
call fcn.00418620
movzx edx, al
test edx, edx
je 0x43ec35
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x694], eax
cmp dword [ebp - 0x694], 0
je 0x43ebd1
mov ecx, dword [ebp - 0xa34]
mov dword [ebp - 0x7c8], ecx
mov ecx, dword [ebp - 0x694]
call fcn.00438570
mov edx, 1
and edx, 1
je 0x43ebc3
push 0xf8
mov eax, dword [ebp - 0x694]
push eax
call fcn.004491c0
add esp, 8
mov ecx, dword [ebp - 0x694]
mov dword [ebp - 0x7c8], ecx
jmp 0x43ebdb
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x63c], 0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2b0]
call fcn.00403100
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x370]
call fcn.00403100
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x400]
call fcn.00403100
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x358]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x83c]
call fcn.004486ce
jmp 0x43e6e2
lea edx, [ebp - 0x2b0]
push edx
lea eax, [ebp - 0xb6c]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov ecx, dword [eax]
mov edx, dword [ebp - 0x63c]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x908], eax
cmp dword [ebp - 0x908], 9
jbe 0x43eda3
push 9
push 1
lea ecx, [ebp - 0x4d8]
push ecx
lea ecx, [ebp - 0x358]
call fcn.00436930
mov dword [ebp - 0x90c], eax
push str.:windows
mov ecx, dword [ebp - 0x90c]
call fcn.00418620
mov byte [ebp - 0x666], al
lea ecx, [ebp - 0x4d8]
call fcn.00403100
movzx edx, byte [ebp - 0x666]
test edx, edx
je 0x43eda3
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0xb74]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x698], eax
cmp dword [ebp - 0x698], 0
je 0x43ed34
mov ecx, dword [ebp - 0xa38]
mov dword [ebp - 0x7cc], ecx
mov ecx, dword [ebp - 0x698]
call fcn.00438570
mov edx, 1
and edx, 1
je 0x43ed26
push 0xf8
mov eax, dword [ebp - 0x698]
push eax
call fcn.004491c0
add esp, 8
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x7cc], ecx
jmp 0x43ed3e
mov dword [ebp - 0x7cc], 0
lea edx, [ebp - 0x2b0]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2b0]
call fcn.00403100
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x370]
call fcn.00403100
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x400]
call fcn.00403100
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x358]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x83c]
call fcn.004486ce
jmp 0x43e6e2
push 0x451d38
lea ecx, [ebp - 0x370]
call fcn.00418620
movzx eax, al
test eax, eax
je 0x43eea0
lea ecx, [ebp - 0x2b0]
push ecx
lea edx, [ebp - 0xb7c]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00437a00
mov eax, dword [eax]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x69c], ecx
cmp dword [ebp - 0x69c], 0
je 0x43ee31
mov edx, dword [ebp - 0xa3c]
mov dword [ebp - 0x7d0], edx
mov ecx, dword [ebp - 0x69c]
call fcn.00438570
mov eax, 1
and eax, 1
je 0x43ee23
push 0xf8
mov ecx, dword [ebp - 0x69c]
push ecx
call fcn.004491c0
add esp, 8
mov edx, dword [ebp - 0x69c]
mov dword [ebp - 0x7d0], edx
jmp 0x43ee3b
mov dword [ebp - 0x7d0], 0
lea eax, [ebp - 0x2b0]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0043bf10
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2b0]
call fcn.00403100
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x370]
call fcn.00403100
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x400]
call fcn.00403100
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x358]
call fcn.00403100
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x83c]
call fcn.004486ce
jmp 0x43e6e2
mov dword [ebp - 0xa40], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x9fc], xmm0
push 0x451d1c
lea edx, [ebp - 0x358]
push edx
lea eax, [ebp - 0x4a8]
push eax
call fcn.00403b60
add esp, 0xc
mov dword [ebp - 0x910], eax
mov ecx, dword [ebp - 0x910]
mov dword [ebp - 0x914], ecx
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0x370]
push edx
mov eax, dword [ebp - 0x914]
push eax
lea ecx, [ebp - 0x4c0]
push ecx
call fcn.00403b20
add esp, 0xc
mov dword [ebp - 0x918], eax
mov edx, dword [ebp - 0x918]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x6d4]
cmp dword [ecx + 0x14], 0x10
jb 0x43ef39
mov dword [ebp - 0x7d4], 1
jmp 0x43ef43
mov dword [ebp - 0x7d4], 0
mov dl, byte [ebp - 0x7d4]
mov byte [ebp - 0x667], dl
movzx eax, byte [ebp - 0x667]
test eax, eax
je 0x43ef74
mov ecx, dword [ebp - 0x6d4]
mov edx, dword [ecx]
mov dword [ebp - 0x91c], edx
mov eax, dword [ebp - 0x91c]
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x920], ecx
mov edx, dword [ebp - 0x920]
mov dword [ebp - 0x924], edx
lea eax, [ebp - 0x5c8]
push eax
mov ecx, dword [ebp - 0x924]
push ecx
call dword [0x4516bc]
add esp, 8
mov dword [ebp - 0xa44], eax
lea ecx, [ebp - 0x4c0]
call fcn.00403100
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x4a8]
call fcn.00403100
lea edx, [ebp - 0x5a0]
push edx
call dword [0x451804]
add esp, 4
mov dword [ebp - 0x928], eax
mov eax, dword [ebp - 0x928]
push eax
push str._Y__m__d
push 0x20
lea ecx, [ebp - 0x50]
push ecx
call dword [0x451808]
add esp, 0x10
lea edx, [ebp - 0x2b0]
push edx
lea ecx, [ebp - 0xd8c]
call fcn.004486da
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0xd8c]
push eax
push str.uninstallId
lea ecx, [ebp - 0x83c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xd8c]
call fcn.004486ce
lea ecx, [ebp - 0x400]
push ecx
lea ecx, [ebp - 0xda4]
call fcn.004486da
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0xda4]
push edx
push str.icon
lea ecx, [ebp - 0x83c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xda4]
call fcn.004486ce
mov eax, dword [ebp - 0x63c]
push eax
lea ecx, [ebp - 0xb94]
call fcn.004486da
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0xb94]
push ecx
push str.softName
lea ecx, [ebp - 0x83c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xb94]
call fcn.004486ce
mov edx, dword [ebp - 0x63c]
add edx, 0x60
push edx
lea ecx, [ebp - 0xbac]
call fcn.004486da
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0xbac]
push eax
push str.company
lea ecx, [ebp - 0x83c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xbac]
call fcn.004486ce
mov ecx, dword [ebp - 0x9f8]
push ecx
mov edx, dword [ebp - 0x9fc]
push edx
lea ecx, [ebp - 0xbc4]
call fcn.00448788
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0xbc4]
push eax
push str.fileSize
lea ecx, [ebp - 0x83c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xbc4]
call fcn.004486ce
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0xbdc]
call fcn.004486d4
mov byte [ebp - 4], 0x3a
lea edx, [ebp - 0xbdc]
push edx
push str.update
lea ecx, [ebp - 0x83c]
call fcn.004486f8
mov ecx, eax
call fcn.004486e0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xbdc]
call fcn.004486ce
lea eax, [ebp - 0x83c]
push eax
mov ecx, dword [ebp + 8]
call fcn.00448752
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2b0]
call fcn.00403100
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x370]
call fcn.00403100
lea ecx, [ebp - 0x370]
call fcn.00401d90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x400]
call fcn.00401e10
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x358]
call fcn.00401e10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x83c]
call fcn.004486ce
jmp 0x43f26f
push 0x40b640
push str.Finish_enumerate_softwares
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x451260]
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43f26f
push 0x40b640
mov edx, dword [ebp - 0x634]
push edx
push str.Cannot_enumerate_software
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x4512d8]
mov ecx, eax
call dword [0x451260]
mov eax, dword [ebp - 0x638]
push eax
call dword [0x451028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x43e6e2
mov dword [ebp - 0x6a0], 0
lea ecx, [ebp - 0x6a0]
push ecx
push str.base.db
call dword [0x4519a8]
add esp, 8
mov dword [ebp - 0x92c], eax
cmp dword [ebp - 0x92c], 0
jne 0x43f567
push 0x454794
mov edx, dword [0x4512cc]
push edx
call fcn.004081d0
add esp, 8
mov dword [ebp - 0x930], str.SELECT__FROM_soft_info_
mov dword [ebp - 0x64c], 0
push 0
lea eax, [ebp - 0x64c]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x930]
push ecx
mov edx, dword [ebp - 0x6a0]
push edx
call dword [0x4519ac]
add esp, 0x14
mov dword [ebp - 0x934], eax
cmp dword [ebp - 0x934], 0
jne 0x43f541
push 0x4547c4
mov eax, dword [0x4512cc]
push eax
call fcn.004081d0
add esp, 8
mov ecx, dword [ebp - 0x64c]
push ecx
call dword [0x4519b0]
add esp, 4
cmp eax, 0x64
jne 0x43f53f
push 0
mov edx, dword [ebp - 0x64c]
push edx
call dword [0x4519b8]
add esp, 8
mov dword [ebp - 0x944], eax
push 1
mov eax, dword [ebp - 0x64c]
push eax
call dword [0x4519b8]
add esp, 8
mov dword [ebp - 0x948], eax
push 2
mov ecx, dword [ebp - 0x64c]
push ecx
call dword [0x4519a0]
add esp, 8
mov dword [ebp - 0xa70], eax
push 3
mov edx, dword [ebp - 0x64c]
push edx
call dword [0x4519a0]
add esp, 8
mov dword [ebp - 0xa4c], eax
push 4
mov eax, dword [ebp - 0x64c]
push eax
call dword [0x4519a0]
add esp, 8
mov dword [ebp - 0xa50], eax
push 5
mov ecx, dword [ebp - 0x64c]
push ecx
call dword [0x4519a0]
add esp, 8
mov dword [ebp - 0xa54], eax
push 6
mov edx, dword [ebp - 0x64c]
push edx
call dword [0x4519b8]
add esp, 8
mov dword [ebp - 0xa58], eax
push 7
mov eax, dword [ebp - 0x64c]
push eax
call dword [0x4519b8]
add esp, 8
mov dword [ebp - 0xa5c], eax
push 8
mov ecx, dword [ebp - 0x64c]
push ecx
call dword [0x4519a0]
add esp, 8
mov dword [ebp - 0x938], eax
push 9
mov edx, dword [ebp - 0x64c]
push edx
call dword [0x4519a0]
add esp, 8
mov dword [ebp - 0x7dc], eax
cmp dword [ebp - 0x7dc], 0
je 0x43f53a
cmp dword [ebp - 0x938], 0
je 0x43f53a
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa60], esp
mov eax, dword [ebp - 0x7dc]
push eax
call fcn.00401a50
mov dword [ebp - 0xa64], eax
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x490]
push ecx
call fcn.0040d3a0
mov byte [ebp - 4], 0
mov ecx, eax
call fcn.004117c0
mov dword [ebp - 0x93c], eax
mov edx, dword [ebp - 0x93c]
mov dword [ebp - 0x940], edx
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x940]
call fcn.00418bd0
push eax
lea ecx, [ebp - 0x478]
call fcn.00401a50
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp - 0x6d8]
push ecx
call fcn.0043a930
add eax, 0x30
mov ecx, eax
call fcn.0043bf70
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x478]
call fcn.00401e10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x490]
call fcn.00401e10
lea edx, [ebp - 0xa68]
push edx
call fcn.0043a930
add eax, 0x30
mov ecx, eax
call fcn.0043bee0
push eax
lea ecx, [ebp - 0x6d8]
call fcn.004386a0
movzx eax, al
test eax, eax
je 0x43f53a
lea ecx, [ebp - 0x6d8]
call fcn.004386f0
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0x944]
mov dword [ecx + 0xf0], edx
lea ecx, [ebp - 0x6d8]
call fcn.004386f0
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x948]
mov dword [eax + 0xf4], ecx
jmp 0x43f316
jmp 0x43f555
push 0x4547f4
mov edx, dword [0x4512cc]
push edx
call fcn.004081d0
add esp, 8
mov eax, dword [ebp - 0x64c]
push eax
call dword [0x4519a4]
add esp, 4
jmp 0x43f57d
mov ecx, dword [ebp - 0x6a0]
push ecx
call dword [0x45199c]
add esp, 4
mov dword [ebp - 0xa6c], eax
mov edx, dword [ebp - 0x6a0]
push edx
call dword [0x4519b4]
add esp, 4
push 0x40b640
push str.Finish_enumerate_softwares
mov ecx, dword [0x45126c]
call dword [0x4512b4]
mov ecx, eax
call dword [0x451260]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x670]
call fcn.00438510
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004491ce
mov esp, ebp
pop ebp
ret 8