Function at 0x445c00
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45a49c
mov eax, dword fs:[0]
push eax
sub esp, 0xf10
mov eax, dword [0x478008]
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 - 0x648], 0
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
push eax
call fcn.00452d88
add esp, 4
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 0
je 0x445c8c
mov ecx, dword [ebp - 0x78c]
push ecx
call fcn.00452d94
add esp, 4
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.004457c0
lea edx, [ebp - 0x638]
push edx
push 0x109
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000002
call dword [0x45c008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x445d57
push 0x40ca00
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_open_the_key
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x85c]
mov dword [ebp - 0x860], edx
mov eax, dword [ebp - 0x860]
push eax
call fcn.00452d8e
add esp, 4
mov dword [ebp - 0x788], eax
cmp dword [ebp - 0x788], 0
je 0x445d4b
mov ecx, dword [ebp - 0x788]
push ecx
call fcn.00452d94
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x449661
mov dword [ebp - 0x784], 0x100
mov dword [ebp - 0x630], 0
jmp 0x445d7c
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 0xfffffffe
je 0x446b03
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x784]
push eax
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 [0x45c010]
mov dword [ebp - 0x634], eax
mov dword [ebp - 0x784], 0x100
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x780], eax
cmp dword [ebp - 0x780], 0
je 0x445df6
cmp dword [ebp - 0x780], 0x103
je 0x446a83
jmp 0x446aba
mov ecx, dword [ebp - 0x638]
push ecx
lea edx, [ebp - 0x298]
push edx
mov ecx, dword [ebp - 0x62c]
call fcn.00443760
mov dword [ebp - 0x63c], eax
push 0
lea ecx, [ebp - 0x820]
call fcn.0045274c
mov byte [ebp - 4], 3
lea eax, [ebp - 0x328]
mov dword [ebp - 0x864], eax
mov ecx, dword [ebp - 0x864]
call fcn.0040caa0
lea ecx, [ebp - 0x328]
call fcn.004133a0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x868], ecx
mov ecx, dword [ebp - 0x868]
call fcn.0040caa0
lea ecx, [ebp - 0x3d0]
call fcn.004133a0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x3a0]
mov dword [ebp - 0x86c], edx
mov ecx, dword [ebp - 0x86c]
call fcn.0040caa0
lea ecx, [ebp - 0x3a0]
call fcn.004133a0
mov byte [ebp - 4], 8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xb38], esp
lea eax, [ebp - 0x298]
push eax
call fcn.00401b90
mov dword [ebp - 0xbb4], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2e0]
push ecx
call fcn.0040f130
mov byte [ebp - 4], 8
mov ecx, eax
call fcn.00415af0
mov dword [ebp - 0xbb8], eax
mov byte [ebp - 4], 0xa
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0xbbc], esp
mov dword [ebp - 0x77c], edx
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
mov dword [ebp - 0xbc0], ecx
lea edx, [ebp - 0x699]
mov dword [ebp - 0x874], edx
mov eax, dword [ebp - 0x874]
push eax
movzx ecx, byte [ebp - 0x69a]
push ecx
mov ecx, dword [ebp - 0x77c]
call fcn.00408ab0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x77c]
call fcn.00406190
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x3d0]
push ecx
lea edx, [ebp - 0x328]
push edx
mov eax, dword [ebp - 0x63c]
add eax, 0x90
mov dword [ebp - 0x778], eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbc4], esp
mov dword [ebp - 0x774], ecx
mov edx, dword [ebp - 0x778]
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0xbc8], eax
lea ecx, [ebp - 0x69b]
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x87c]
push edx
movzx eax, byte [ebp - 0x69c]
push eax
mov ecx, dword [ebp - 0x774]
call fcn.00408ab0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x778]
push ecx
mov ecx, dword [ebp - 0x774]
call fcn.00406190
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x63c]
push edx
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x62c]
call fcn.00442090
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [ebp - 0x63c]
add ecx, 0xd8
call fcn.00405af0
push 0x45ccd4
mov ecx, dword [ebp - 0x63c]
call fcn.0041cd70
movzx ecx, al
test ecx, ecx
je 0x446033
mov edx, dword [ebp - 0x63c]
add edx, 0xd8
push edx
mov ecx, dword [ebp - 0x63c]
call fcn.00405af0
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x63c]
add ecx, 0x78
call fcn.00405af0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x880], ecx
mov edx, dword [ebp - 0x880]
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x76c]
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [edx]
mov dword [ebp - 0x88c], eax
mov ecx, dword [ebp - 0x888]
push ecx
mov edx, dword [ebp - 0x88c]
push edx
lea ecx, [ebp - 0x890]
call fcn.00441510
lea eax, [ebp - 0x890]
mov dword [ebp - 0x898], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2e0]
push ecx
lea edx, [ebp - 0xbcc]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0042ecf0
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0x898]
mov edx, dword [eax]
cmp edx, dword [ecx]
jne 0x4460f6
mov dword [ebp - 0x764], 1
jmp 0x446100
mov dword [ebp - 0x764], 0
movzx eax, byte [ebp - 0x764]
test eax, eax
jne 0x446117
mov dword [ebp - 0x760], 1
jmp 0x446121
mov dword [ebp - 0x760], 0
movzx ecx, byte [ebp - 0x760]
test ecx, ecx
je 0x4461ee
mov edx, dword [ebp - 0x63c]
mov dword [ebp - 0x89c], edx
mov eax, dword [ebp - 0x89c]
mov dword [ebp - 0x698], eax
cmp dword [ebp - 0x698], 0
je 0x446194
mov ecx, dword [ebp - 0xbd0]
mov dword [ebp - 0x75c], ecx
mov ecx, dword [ebp - 0x698]
call fcn.00441b70
mov edx, 1
and edx, 1
je 0x446186
push 0xf8
mov eax, dword [ebp - 0x698]
push eax
call fcn.00453274
add esp, 8
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x75c], ecx
jmp 0x44619e
mov dword [ebp - 0x75c], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2e0]
call fcn.00402fc0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x3a0]
call fcn.00402fc0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3d0]
call fcn.00402fc0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x328]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x820]
call fcn.00452752
jmp 0x445d6d
push str.FyStore
mov ecx, dword [ebp - 0x63c]
add ecx, 0xd8
call fcn.0041cd70
movzx edx, al
test edx, edx
je 0x4462d7
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x8a0], eax
mov ecx, dword [ebp - 0x8a0]
mov dword [ebp - 0x65c], ecx
cmp dword [ebp - 0x65c], 0
je 0x446273
mov edx, dword [ebp - 0xbd4]
mov dword [ebp - 0x758], edx
mov ecx, dword [ebp - 0x65c]
call fcn.00441b70
mov eax, 1
and eax, 1
je 0x446265
push 0xf8
mov ecx, dword [ebp - 0x65c]
push ecx
call fcn.00453274
add esp, 8
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x758], edx
jmp 0x44627d
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x63c], 0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2e0]
call fcn.00402fc0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x3a0]
call fcn.00402fc0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3d0]
call fcn.00402fc0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x328]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x820]
call fcn.00452752
jmp 0x445d6d
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0xbe0]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov edx, dword [ebp - 0xbe0]
add edx, 0x10
mov dword [ebp - 0x8a4], edx
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [ebp - 0x8a8]
mov edx, dword [ebp - 0x63c]
mov dword [ecx + 0x18], edx
lea eax, [ebp - 0x328]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b0], ecx
mov edx, dword [ebp - 0x8b0]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x8b4], eax
cmp dword [ebp - 0x8b4], 9
jbe 0x44656d
lea ecx, [ebp - 0x328]
mov dword [ebp - 0xbd8], ecx
lea edx, [ebp - 0x69d]
mov dword [ebp - 0x8b8], edx
mov eax, dword [ebp - 0x8b8]
push eax
push 9
push 1
lea ecx, [ebp - 0x328]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0041c2b0
mov edx, dword [ebp - 0x648]
or edx, 1
mov dword [ebp - 0x648], edx
lea eax, [ebp - 0x430]
mov dword [ebp - 0x8bc], eax
push str.:windows
mov ecx, dword [ebp - 0x8bc]
call fcn.0041cd70
mov byte [ebp - 0x651], al
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x430]
call fcn.00402fc0
mov byte [ebp - 4], 0xa
movzx ecx, byte [ebp - 0x651]
test ecx, ecx
je 0x44656d
lea edx, [ebp - 0x2e0]
push edx
lea eax, [ebp - 0xbe8]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov ecx, dword [ebp - 0xbe8]
add ecx, 0x10
mov dword [ebp - 0x8c0], ecx
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0x8c4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x8c8]
mov dword [ebp - 0x694], edx
cmp dword [ebp - 0x694], 0
je 0x446477
mov eax, dword [ebp - 0xbf4]
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x694]
call fcn.00441b70
mov ecx, 1
and ecx, 1
je 0x446469
push 0xf8
mov edx, dword [ebp - 0x694]
push edx
call fcn.00453274
add esp, 8
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x754], eax
jmp 0x446481
mov dword [ebp - 0x754], 0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x750], ecx
lea edx, [ebp - 0x2e0]
push edx
lea eax, [ebp - 0x7d8]
push eax
mov ecx, dword [ebp - 0x750]
call fcn.0043fcb0
mov ecx, dword [ebp - 0x7d4]
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x8d0], edx
movzx eax, byte [ebp - 0x69e]
push eax
mov ecx, dword [ebp - 0x8cc]
push ecx
mov edx, dword [ebp - 0x8d0]
push edx
call fcn.0043fc40
add esp, 0xc
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x8d4], eax
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x8d8], ecx
mov edx, dword [ebp - 0x8d4]
push edx
mov eax, dword [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0xc34]
push ecx
mov ecx, dword [ebp - 0x750]
call fcn.004458e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2e0]
call fcn.00402fc0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x3a0]
call fcn.00402fc0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x3d0]
call fcn.00402fc0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x328]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x820]
call fcn.00452752
jmp 0x445d6d
push 0x45ccd4
lea ecx, [ebp - 0x3a0]
call fcn.0041cd70
movzx edx, al
test edx, edx
je 0x44671c
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0xbf0]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov edx, dword [ebp - 0xbf0]
add edx, 0x10
mov dword [ebp - 0x8dc], edx
mov eax, dword [ebp - 0x8dc]
mov dword [ebp - 0x8e0], eax
mov ecx, dword [ebp - 0x8e0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x8e4]
mov dword [ebp - 0x660], eax
cmp dword [ebp - 0x660], 0
je 0x446626
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0x7c0], ecx
mov ecx, dword [ebp - 0x660]
call fcn.00441b70
mov edx, 1
and edx, 1
je 0x446618
push 0xf8
mov eax, dword [ebp - 0x660]
push eax
call fcn.00453274
add esp, 8
mov ecx, dword [ebp - 0x660]
mov dword [ebp - 0x7c0], ecx
jmp 0x446630
mov dword [ebp - 0x7c0], 0
mov edx, dword [ebp - 0x62c]
add edx, 0x30
mov dword [ebp - 0x7bc], edx
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x7f0]
push ecx
mov ecx, dword [ebp - 0x7bc]
call fcn.0043fcb0
mov edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x8e8], edx
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x8ec], eax
movzx ecx, byte [ebp - 0x69f]
push ecx
mov edx, dword [ebp - 0x8e8]
push edx
mov eax, dword [ebp - 0x8ec]
push eax
call fcn.0043fc40
add esp, 0xc
mov dword [ebp - 0xc3c], eax
mov ecx, dword [ebp - 0x7ec]
mov dword [ebp - 0x8f0], ecx
mov edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x8f4], edx
mov eax, dword [ebp - 0x8f0]
push eax
mov ecx, dword [ebp - 0x8f4]
push ecx
lea edx, [ebp - 0xc40]
push edx
mov ecx, dword [ebp - 0x7bc]
call fcn.004458e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2e0]
call fcn.00402fc0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3a0]
call fcn.00402fc0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x3d0]
call fcn.00402fc0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x328]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x820]
call fcn.00452752
jmp 0x445d6d
xorps xmm0, xmm0
movlpd qword [ebp - 0xb20], xmm0
mov dword [ebp - 0xc44], 0
push 0x45cc84
lea ecx, [ebp - 0x328]
push ecx
lea edx, [ebp - 0x568]
push edx
call fcn.00403630
add esp, 0xc
mov dword [ebp - 0x8f8], eax
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0x8fc], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x3a0]
push ecx
mov ecx, dword [ebp - 0x8fc]
call fcn.00406e90
mov dword [ebp - 0x900], eax
mov edx, dword [ebp - 0x900]
mov dword [ebp - 0x904], edx
mov eax, dword [ebp - 0x904]
push eax
lea ecx, [ebp - 0x4d8]
call fcn.00405550
mov ecx, dword [ebp - 0x648]
or ecx, 4
mov dword [ebp - 0x648], ecx
lea edx, [ebp - 0x4d8]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x90c], eax
mov ecx, dword [ebp - 0x90c]
mov dword [ebp - 0x6c0], ecx
mov edx, dword [ebp - 0x6c0]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x6c0]
cmp dword [eax + 0x14], 0x10
jb 0x4467ef
mov dword [ebp - 0x7b8], 1
jmp 0x4467f9
mov dword [ebp - 0x7b8], 0
movzx ecx, byte [ebp - 0x7b8]
test ecx, ecx
je 0x446812
mov edx, dword [ebp - 0x6c0]
mov eax, dword [edx]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x910], ecx
lea edx, [ebp - 0x628]
push edx
mov eax, dword [ebp - 0x910]
push eax
call dword [0x45c6cc]
add esp, 8
mov dword [ebp - 0xc48], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x4d8]
call fcn.00402fc0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x568]
call fcn.00402fc0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x600]
push ecx
call dword [0x45c800]
add esp, 4
mov dword [ebp - 0x914], eax
mov edx, dword [ebp - 0x914]
push edx
push str._Y__m__d
push 0x20
lea eax, [ebp - 0x50]
push eax
call dword [0x45c7fc]
add esp, 0x10
lea ecx, [ebp - 0x2e0]
push ecx
lea ecx, [ebp - 0xdcc]
call fcn.0045275e
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0xdcc]
push edx
push str.uninstallId
lea ecx, [ebp - 0x820]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xdcc]
call fcn.00452752
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp - 0xde4]
call fcn.0045275e
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xde4]
push ecx
push str.icon
lea ecx, [ebp - 0x820]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xde4]
call fcn.00452752
mov edx, dword [ebp - 0x63c]
push edx
lea ecx, [ebp - 0xe8c]
call fcn.0045275e
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0xe8c]
push eax
push str.softName
lea ecx, [ebp - 0x820]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xe8c]
call fcn.00452752
mov ecx, dword [ebp - 0x63c]
add ecx, 0x60
push ecx
lea ecx, [ebp - 0xea4]
call fcn.0045275e
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0xea4]
push edx
push str.company
lea ecx, [ebp - 0x820]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xea4]
call fcn.00452752
mov eax, dword [ebp - 0xb1c]
push eax
mov ecx, dword [ebp - 0xb20]
push ecx
lea ecx, [ebp - 0xd0c]
call fcn.0045280c
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0xd0c]
push edx
push str.fileSize
lea ecx, [ebp - 0x820]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd0c]
call fcn.00452752
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0xdb4]
call fcn.00452758
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xdb4]
push ecx
push str.update
lea ecx, [ebp - 0x820]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xdb4]
call fcn.00452752
lea edx, [ebp - 0x820]
push edx
mov ecx, dword [ebp + 8]
call fcn.004527d6
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2e0]
call fcn.00402fc0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x3a0]
call fcn.00402fc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x3d0]
call fcn.00402fc0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x328]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x820]
call fcn.00452752
jmp 0x446afe
push 0x40ca00
push str.Finish_enumerate_softwares
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c314]
mov eax, dword [ebp - 0x638]
push eax
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x446afe
push 0x40ca00
mov ecx, dword [ebp - 0x634]
push ecx
push str.Cannot_enumerate_software
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov edx, dword [ebp - 0x638]
push edx
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x445d6d
lea eax, [ebp - 0x638]
push eax
push 9
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000002
call dword [0x45c008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x446bb6
push 0x40ca00
mov ecx, dword [ebp - 0x634]
push ecx
push str.Cannot_open_the_key
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov dword [ebp - 4], 0x2d
mov edx, dword [ebp - 0x658]
mov dword [ebp - 0x918], edx
mov eax, dword [ebp - 0x918]
mov dword [ebp - 0x91c], eax
mov ecx, dword [ebp - 0x91c]
push ecx
call fcn.00452d8e
add esp, 4
mov dword [ebp - 0x7b0], eax
cmp dword [ebp - 0x7b0], 0
je 0x446baa
mov edx, dword [ebp - 0x7b0]
push edx
call fcn.00452d94
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x449661
mov dword [ebp - 0x630], 0
jmp 0x446bd1
mov eax, dword [ebp - 0x630]
add eax, 1
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x630], 0xfffffffe
je 0x44792f
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 [0x45c014]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x7ac], eax
cmp dword [ebp - 0x7ac], 0
je 0x446c37
cmp dword [ebp - 0x7ac], 0x103
je 0x4478af
jmp 0x4478e6
mov ecx, dword [ebp - 0x638]
push ecx
lea edx, [ebp - 0x298]
push edx
mov ecx, dword [ebp - 0x62c]
call fcn.00443760
mov dword [ebp - 0x640], eax
push 0
lea ecx, [ebp - 0x808]
call fcn.0045274c
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x310]
mov dword [ebp - 0x920], eax
mov ecx, dword [ebp - 0x920]
call fcn.0040caa0
lea ecx, [ebp - 0x310]
call fcn.004133a0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x924], ecx
mov ecx, dword [ebp - 0x924]
call fcn.0040caa0
lea ecx, [ebp - 0x3b8]
call fcn.004133a0
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0x388]
mov dword [ebp - 0x928], edx
mov ecx, dword [ebp - 0x928]
call fcn.0040caa0
lea ecx, [ebp - 0x388]
call fcn.004133a0
mov byte [ebp - 4], 0x34
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc4c], esp
lea eax, [ebp - 0x298]
push eax
call fcn.00401b90
mov dword [ebp - 0xc50], eax
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2f8]
push ecx
call fcn.0040f130
mov byte [ebp - 4], 0x34
mov ecx, eax
call fcn.00415af0
mov dword [ebp - 0xc54], eax
mov byte [ebp - 4], 0x36
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0xc58], esp
mov dword [ebp - 0x7a8], edx
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x92c]
mov dword [ebp - 0xc5c], ecx
lea edx, [ebp - 0x6a0]
mov dword [ebp - 0x930], edx
mov eax, dword [ebp - 0x930]
push eax
movzx ecx, byte [ebp - 0x6a1]
push ecx
mov ecx, dword [ebp - 0x7a8]
call fcn.00408ab0
mov byte [ebp - 4], 0x37
lea edx, [ebp - 0x2f8]
push edx
mov ecx, dword [ebp - 0x7a8]
call fcn.00406190
mov byte [ebp - 4], 0x36
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x3b8]
push ecx
lea edx, [ebp - 0x310]
push edx
mov eax, dword [ebp - 0x640]
add eax, 0x90
mov dword [ebp - 0x7a4], eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc60], esp
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0xc64], eax
lea ecx, [ebp - 0x6a2]
mov dword [ebp - 0x938], ecx
mov edx, dword [ebp - 0x938]
push edx
movzx eax, byte [ebp - 0x6a3]
push eax
mov ecx, dword [ebp - 0x7a0]
call fcn.00408ab0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x7a4]
push ecx
mov ecx, dword [ebp - 0x7a0]
call fcn.00406190
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x640]
push edx
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x62c]
call fcn.00442090
lea eax, [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x640]
add ecx, 0xd8
call fcn.00405af0
push 0x45ccd4
mov ecx, dword [ebp - 0x640]
call fcn.0041cd70
movzx ecx, al
test ecx, ecx
je 0x446e74
mov edx, dword [ebp - 0x640]
add edx, 0xd8
push edx
mov ecx, dword [ebp - 0x640]
call fcn.00405af0
lea eax, [ebp - 0x310]
push eax
mov ecx, dword [ebp - 0x640]
add ecx, 0x78
call fcn.00405af0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x93c], ecx
mov edx, dword [ebp - 0x93c]
mov dword [ebp - 0x940], edx
mov eax, dword [ebp - 0x940]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0xc68], ecx
mov edx, dword [ebp - 0x79c]
mov eax, dword [edx]
mov dword [ebp - 0x944], eax
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0x948], ecx
lea edx, [ebp - 0x948]
mov dword [ebp - 0x950], edx
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0xc6c]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0042ecf0
mov dword [ebp - 0x94c], eax
mov edx, dword [ebp - 0x94c]
mov eax, dword [ebp - 0x950]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x446f22
mov dword [ebp - 0x770], 1
jmp 0x446f2c
mov dword [ebp - 0x770], 0
movzx edx, byte [ebp - 0x770]
test edx, edx
jne 0x446f43
mov dword [ebp - 0x6c8], 1
jmp 0x446f4d
mov dword [ebp - 0x6c8], 0
movzx eax, byte [ebp - 0x6c8]
test eax, eax
je 0x44701a
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x954], ecx
mov edx, dword [ebp - 0x954]
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 0
je 0x446fc0
mov eax, dword [ebp - 0xc70]
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x664]
call fcn.00441b70
mov ecx, 1
and ecx, 1
je 0x446fb2
push 0xf8
mov edx, dword [ebp - 0x664]
push edx
call fcn.00453274
add esp, 8
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x6cc], eax
jmp 0x446fca
mov dword [ebp - 0x6cc], 0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x2f8]
call fcn.00402fc0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x388]
call fcn.00402fc0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x3b8]
call fcn.00402fc0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x310]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.00452752
jmp 0x446bc2
push str.FyStore
mov ecx, dword [ebp - 0x640]
add ecx, 0xd8
call fcn.0041cd70
movzx ecx, al
test ecx, ecx
je 0x447103
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x958], edx
mov eax, dword [ebp - 0x958]
mov dword [ebp - 0x668], eax
cmp dword [ebp - 0x668], 0
je 0x44709f
mov ecx, dword [ebp - 0xc74]
mov dword [ebp - 0x6d0], ecx
mov ecx, dword [ebp - 0x668]
call fcn.00441b70
mov edx, 1
and edx, 1
je 0x447091
push 0xf8
mov eax, dword [ebp - 0x668]
push eax
call fcn.00453274
add esp, 8
mov ecx, dword [ebp - 0x668]
mov dword [ebp - 0x6d0], ecx
jmp 0x4470a9
mov dword [ebp - 0x6d0], 0
mov dword [ebp - 0x640], 0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x2f8]
call fcn.00402fc0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x388]
call fcn.00402fc0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x3b8]
call fcn.00402fc0
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x310]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.00452752
jmp 0x446bc2
lea edx, [ebp - 0x2f8]
push edx
lea eax, [ebp - 0xc90]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov ecx, dword [ebp - 0xc90]
add ecx, 0x10
mov dword [ebp - 0x95c], ecx
mov edx, dword [ebp - 0x95c]
mov dword [ebp - 0x960], edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x640]
mov dword [eax + 0x18], ecx
lea edx, [ebp - 0x310]
mov dword [ebp - 0xabc], edx
mov eax, dword [ebp - 0xabc]
mov dword [ebp - 0xb10], eax
mov ecx, dword [ebp - 0xb10]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xb0c], edx
cmp dword [ebp - 0xb0c], 9
jbe 0x447399
lea eax, [ebp - 0x310]
mov dword [ebp - 0xc78], eax
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 0xb08], ecx
mov edx, dword [ebp - 0xb08]
push edx
push 9
push 1
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x448]
call fcn.0041c2b0
mov ecx, dword [ebp - 0x648]
or ecx, 8
mov dword [ebp - 0x648], ecx
lea edx, [ebp - 0x448]
mov dword [ebp - 0xb04], edx
push str.:windows
mov ecx, dword [ebp - 0xb04]
call fcn.0041cd70
mov byte [ebp - 0x654], al
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x448]
call fcn.00402fc0
mov byte [ebp - 4], 0x36
movzx eax, byte [ebp - 0x654]
test eax, eax
je 0x447399
lea ecx, [ebp - 0x2f8]
push ecx
lea edx, [ebp - 0xbfc]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov eax, dword [ebp - 0xbfc]
add eax, 0x10
mov dword [ebp - 0xb00], eax
mov ecx, dword [ebp - 0xb00]
mov dword [ebp - 0xafc], ecx
mov edx, dword [ebp - 0xafc]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xaf8], eax
mov ecx, dword [ebp - 0xaf8]
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 0
je 0x4472a3
mov edx, dword [ebp - 0xc7c]
mov dword [ebp - 0x6d4], edx
mov ecx, dword [ebp - 0x66c]
call fcn.00441b70
mov eax, 1
and eax, 1
je 0x447295
push 0xf8
mov ecx, dword [ebp - 0x66c]
push ecx
call fcn.00453274
add esp, 8
mov edx, dword [ebp - 0x66c]
mov dword [ebp - 0x6d4], edx
jmp 0x4472ad
mov dword [ebp - 0x6d4], 0
mov eax, dword [ebp - 0x62c]
add eax, 0x30
mov dword [ebp - 0x6d8], eax
lea ecx, [ebp - 0x2f8]
push ecx
lea edx, [ebp - 0x7c8]
push edx
mov ecx, dword [ebp - 0x6d8]
call fcn.0043fcb0
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0xaf4], eax
mov ecx, dword [ebp - 0x7c8]
mov dword [ebp - 0xaf0], ecx
movzx edx, byte [ebp - 0x6a5]
push edx
mov eax, dword [ebp - 0xaf4]
push eax
mov ecx, dword [ebp - 0xaf0]
push ecx
call fcn.0043fc40
add esp, 0xc
mov dword [ebp - 0xc80], eax
mov edx, dword [ebp - 0x7c4]
mov dword [ebp - 0xaec], edx
mov eax, dword [ebp - 0x7c8]
mov dword [ebp - 0xae8], eax
mov ecx, dword [ebp - 0xaec]
push ecx
mov edx, dword [ebp - 0xae8]
push edx
lea eax, [ebp - 0xc84]
push eax
mov ecx, dword [ebp - 0x6d8]
call fcn.004458e0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x2f8]
call fcn.00402fc0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x388]
call fcn.00402fc0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x3b8]
call fcn.00402fc0
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x310]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.00452752
jmp 0x446bc2
push 0x45ccd4
lea ecx, [ebp - 0x388]
call fcn.0041cd70
movzx ecx, al
test ecx, ecx
je 0x447548
lea edx, [ebp - 0x2f8]
push edx
lea eax, [ebp - 0xc04]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov ecx, dword [ebp - 0xc04]
add ecx, 0x10
mov dword [ebp - 0xae4], ecx
mov edx, dword [ebp - 0xae4]
mov dword [ebp - 0xae0], edx
mov eax, dword [ebp - 0xae0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xadc], ecx
mov edx, dword [ebp - 0xadc]
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 0
je 0x447452
mov eax, dword [ebp - 0xc88]
mov dword [ebp - 0x6dc], eax
mov ecx, dword [ebp - 0x670]
call fcn.00441b70
mov ecx, 1
and ecx, 1
je 0x447444
push 0xf8
mov edx, dword [ebp - 0x670]
push edx
call fcn.00453274
add esp, 8
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x6dc], eax
jmp 0x44745c
mov dword [ebp - 0x6dc], 0
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
mov dword [ebp - 0x6e0], ecx
lea edx, [ebp - 0x2f8]
push edx
lea eax, [ebp - 0x7e8]
push eax
mov ecx, dword [ebp - 0x6e0]
call fcn.0043fcb0
mov ecx, dword [ebp - 0x7e4]
mov dword [ebp - 0xad8], ecx
mov edx, dword [ebp - 0x7e8]
mov dword [ebp - 0xad4], edx
movzx eax, byte [ebp - 0x6a6]
push eax
mov ecx, dword [ebp - 0xad8]
push ecx
mov edx, dword [ebp - 0xad4]
push edx
call fcn.0043fc40
add esp, 0xc
mov dword [ebp - 0xc94], eax
mov eax, dword [ebp - 0x7e4]
mov dword [ebp - 0xad0], eax
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0xa70], ecx
mov edx, dword [ebp - 0xad0]
push edx
mov eax, dword [ebp - 0xa70]
push eax
lea ecx, [ebp - 0xc98]
push ecx
mov ecx, dword [ebp - 0x6e0]
call fcn.004458e0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x2f8]
call fcn.00402fc0
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x388]
call fcn.00402fc0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x3b8]
call fcn.00402fc0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x310]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.00452752
jmp 0x446bc2
xorps xmm0, xmm0
movlpd qword [ebp - 0xb30], xmm0
mov dword [ebp - 0xc9c], 0
push 0x45cc84
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x4f0]
push ecx
call fcn.00403630
add esp, 0xc
mov dword [ebp - 0xacc], eax
mov edx, dword [ebp - 0xacc]
mov dword [ebp - 0xac8], edx
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x388]
push eax
mov ecx, dword [ebp - 0xac8]
call fcn.00406e90
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xac4]
mov dword [ebp - 0xac0], ecx
mov edx, dword [ebp - 0xac0]
push edx
lea ecx, [ebp - 0x460]
call fcn.00405550
mov eax, dword [ebp - 0x648]
or eax, 0x20
mov dword [ebp - 0x648], eax
lea ecx, [ebp - 0x460]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0xab8]
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp - 0x6bc]
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6bc]
cmp dword [edx + 0x14], 0x10
jb 0x44761b
mov dword [ebp - 0x6e4], 1
jmp 0x447625
mov dword [ebp - 0x6e4], 0
movzx eax, byte [ebp - 0x6e4]
test eax, eax
je 0x44763e
mov ecx, dword [ebp - 0x6bc]
mov edx, dword [ecx]
mov dword [ebp - 0x6e8], edx
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0xab4], eax
lea ecx, [ebp - 0x5f8]
push ecx
mov edx, dword [ebp - 0xab4]
push edx
call dword [0x45c6cc]
add esp, 8
mov dword [ebp - 0xca0], eax
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x460]
call fcn.00402fc0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x4f0]
call fcn.00402fc0
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x5d0]
push eax
call dword [0x45c800]
add esp, 4
mov dword [ebp - 0xab0], eax
mov ecx, dword [ebp - 0xab0]
push ecx
push str._Y__m__d
push 0x20
lea edx, [ebp - 0x70]
push edx
call dword [0x45c7fc]
add esp, 0x10
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0xdfc]
call fcn.0045275e
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0xdfc]
push ecx
push str.uninstallId
lea ecx, [ebp - 0x808]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xdfc]
call fcn.00452752
lea edx, [ebp - 0x3b8]
push edx
lea ecx, [ebp - 0xe14]
call fcn.0045275e
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0xe14]
push eax
push str.icon
lea ecx, [ebp - 0x808]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xe14]
call fcn.00452752
mov ecx, dword [ebp - 0x640]
push ecx
lea ecx, [ebp - 0xe2c]
call fcn.0045275e
mov byte [ebp - 4], 0x50
lea edx, [ebp - 0xe2c]
push edx
push str.softName
lea ecx, [ebp - 0x808]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xe2c]
call fcn.00452752
mov eax, dword [ebp - 0x640]
add eax, 0x60
push eax
lea ecx, [ebp - 0xe44]
call fcn.0045275e
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0xe44]
push ecx
push str.company
lea ecx, [ebp - 0x808]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xe44]
call fcn.00452752
mov edx, dword [ebp - 0xb2c]
push edx
mov eax, dword [ebp - 0xb30]
push eax
lea ecx, [ebp - 0xe5c]
call fcn.0045280c
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xe5c]
push ecx
push str.fileSize
lea ecx, [ebp - 0x808]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xe5c]
call fcn.00452752
lea edx, [ebp - 0x70]
push edx
lea ecx, [ebp - 0xe74]
call fcn.00452758
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0xe74]
push eax
push str.update
lea ecx, [ebp - 0x808]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xe74]
call fcn.00452752
lea ecx, [ebp - 0x808]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004527d6
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x2f8]
call fcn.00402fc0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x388]
call fcn.00402fc0
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x3b8]
call fcn.00402fc0
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x310]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.00452752
jmp 0x44792a
push 0x40ca00
push str.Finish_enumerate_softwares
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c314]
mov edx, dword [ebp - 0x638]
push edx
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x44792a
push 0x40ca00
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_enumerate_software
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x446bc2
lea edx, [ebp - 0x638]
push edx
push 0x109
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000001
call dword [0x45c008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x4479e5
push 0x40ca00
mov eax, dword [ebp - 0x634]
push eax
push str.Cannot_open_the_key
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov dword [ebp - 4], 0x58
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0xaac], ecx
mov edx, dword [ebp - 0xaac]
mov dword [ebp - 0xaa8], edx
mov eax, dword [ebp - 0xaa8]
push eax
call fcn.00452d8e
add esp, 4
mov dword [ebp - 0x6ec], eax
cmp dword [ebp - 0x6ec], 0
je 0x4479d9
mov ecx, dword [ebp - 0x6ec]
push ecx
call fcn.00452d94
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x449661
mov dword [ebp - 0x630], 0
jmp 0x447a00
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 0xfffffffe
je 0x44871d
push 0x208
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 [0x45c014]
mov dword [ebp - 0x634], eax
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x6f0], edx
cmp dword [ebp - 0x6f0], 0
je 0x447a66
cmp dword [ebp - 0x6f0], 0x103
je 0x44869d
jmp 0x4486d4
mov eax, dword [ebp - 0x638]
push eax
lea ecx, [ebp - 0x298]
push ecx
mov ecx, dword [ebp - 0x62c]
call fcn.00443760
mov dword [ebp - 0x644], eax
push 0
lea ecx, [ebp - 0x838]
call fcn.0045274c
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x358]
call fcn.00405650
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x400]
call fcn.00405650
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x3e8]
call fcn.00405650
mov byte [ebp - 4], 0x5c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xca4], esp
lea edx, [ebp - 0x298]
push edx
call fcn.00401b90
mov dword [ebp - 0xca8], eax
mov byte [ebp - 4], 0x5d
lea eax, [ebp - 0x2c8]
push eax
call fcn.0040f130
mov byte [ebp - 4], 0x5c
mov ecx, eax
call fcn.00415af0
mov dword [ebp - 0xcac], eax
mov byte [ebp - 4], 0x5e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xcb0], esp
mov dword [ebp - 0x6f4], ecx
lea edx, [ebp - 0x2c8]
mov dword [ebp - 0xaa4], edx
mov eax, dword [ebp - 0xaa4]
mov dword [ebp - 0xcb4], eax
lea ecx, [ebp - 0x6a7]
mov dword [ebp - 0xaa0], ecx
mov edx, dword [ebp - 0xaa0]
push edx
movzx eax, byte [ebp - 0x6ae]
push eax
mov ecx, dword [ebp - 0x6f4]
call fcn.00408ab0
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, dword [ebp - 0x6f4]
call fcn.00406190
mov byte [ebp - 4], 0x5e
mov byte [ebp - 4], 0x60
lea edx, [ebp - 0x3e8]
push edx
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x358]
push ecx
mov edx, dword [ebp - 0x644]
add edx, 0x90
mov dword [ebp - 0x6f8], edx
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0xcb8], esp
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6f8]
mov dword [ebp - 0xa9c], ecx
mov edx, dword [ebp - 0xa9c]
mov dword [ebp - 0xcbc], edx
lea eax, [ebp - 0x6ad]
mov dword [ebp - 0xa8c], eax
mov ecx, dword [ebp - 0xa8c]
push ecx
movzx edx, byte [ebp - 0x6c1]
push edx
mov ecx, dword [ebp - 0x6fc]
call fcn.00408ab0
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0x6f8]
push eax
mov ecx, dword [ebp - 0x6fc]
call fcn.00406190
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0x644]
push ecx
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x62c]
call fcn.00442090
lea edx, [ebp - 0x2c8]
push edx
mov ecx, dword [ebp - 0x644]
add ecx, 0xd8
call fcn.00405af0
push 0x45ccd4
mov ecx, dword [ebp - 0x644]
call fcn.0041cd70
movzx eax, al
test eax, eax
je 0x447c5f
mov ecx, dword [ebp - 0x644]
add ecx, 0xd8
push ecx
mov ecx, dword [ebp - 0x644]
call fcn.00405af0
lea edx, [ebp - 0x358]
push edx
mov ecx, dword [ebp - 0x644]
add ecx, 0x78
call fcn.00405af0
mov eax, dword [ebp - 0x62c]
add eax, 0x30
mov dword [ebp - 0xa84], eax
mov ecx, dword [ebp - 0xa84]
mov dword [ebp - 0xa80], ecx
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0xcc0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ecx]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0xa78], eax
lea ecx, [ebp - 0xa78]
mov dword [ebp - 0xa68], ecx
lea edx, [ebp - 0x2c8]
push edx
lea eax, [ebp - 0xcc4]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0042ecf0
mov dword [ebp - 0xa74], eax
mov ecx, dword [ebp - 0xa74]
mov edx, dword [ebp - 0xa68]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x447d0d
mov dword [ebp - 0x704], 1
jmp 0x447d17
mov dword [ebp - 0x704], 0
movzx ecx, byte [ebp - 0x704]
test ecx, ecx
jne 0x447d2e
mov dword [ebp - 0x708], 1
jmp 0x447d38
mov dword [ebp - 0x708], 0
movzx edx, byte [ebp - 0x708]
test edx, edx
je 0x447e05
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0xa64], eax
mov ecx, dword [ebp - 0xa64]
mov dword [ebp - 0x674], ecx
cmp dword [ebp - 0x674], 0
je 0x447dab
mov edx, dword [ebp - 0xcc8]
mov dword [ebp - 0x70c], edx
mov ecx, dword [ebp - 0x674]
call fcn.00441b70
mov eax, 1
and eax, 1
je 0x447d9d
push 0xf8
mov ecx, dword [ebp - 0x674]
push ecx
call fcn.00453274
add esp, 8
mov edx, dword [ebp - 0x674]
mov dword [ebp - 0x70c], edx
jmp 0x447db5
mov dword [ebp - 0x70c], 0
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x2c8]
call fcn.00402fc0
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x3e8]
call fcn.00402fc0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x400]
call fcn.00402fc0
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x358]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x838]
call fcn.00452752
jmp 0x4479f1
push str.FyStore
mov ecx, dword [ebp - 0x644]
add ecx, 0xd8
call fcn.0041cd70
movzx eax, al
test eax, eax
je 0x447eee
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0xa60], ecx
mov edx, dword [ebp - 0xa60]
mov dword [ebp - 0x678], edx
cmp dword [ebp - 0x678], 0
je 0x447e8a
mov eax, dword [ebp - 0xccc]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 0x678]
call fcn.00441b70
mov ecx, 1
and ecx, 1
je 0x447e7c
push 0xf8
mov edx, dword [ebp - 0x678]
push edx
call fcn.00453274
add esp, 8
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x710], eax
jmp 0x447e94
mov dword [ebp - 0x710], 0
mov dword [ebp - 0x644], 0
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x2c8]
call fcn.00402fc0
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x3e8]
call fcn.00402fc0
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x400]
call fcn.00402fc0
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x358]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x838]
call fcn.00452752
jmp 0x4479f1
lea ecx, [ebp - 0x2c8]
push ecx
lea edx, [ebp - 0xc0c]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov eax, dword [ebp - 0xc0c]
add eax, 0x10
mov dword [ebp - 0xa5c], eax
mov ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0xa58]
mov eax, dword [ebp - 0x644]
mov dword [edx + 0x18], eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0xa54], ecx
mov edx, dword [ebp - 0xa54]
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0xa50]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xa90], ecx
cmp dword [ebp - 0xa90], 9
jbe 0x448184
lea edx, [ebp - 0x358]
mov dword [ebp - 0xcd0], edx
lea eax, [ebp - 0x6ac]
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa88]
push ecx
push 9
push 1
lea edx, [ebp - 0x358]
push edx
lea ecx, [ebp - 0x478]
call fcn.0041c2b0
mov eax, dword [ebp - 0x648]
or eax, 0x40
mov dword [ebp - 0x648], eax
lea ecx, [ebp - 0x478]
mov dword [ebp - 0xa94], ecx
push str.:windows
mov ecx, dword [ebp - 0xa94]
call fcn.0041cd70
mov byte [ebp - 0x653], al
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x478]
call fcn.00402fc0
mov byte [ebp - 4], 0x5e
movzx edx, byte [ebp - 0x653]
test edx, edx
je 0x448184
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0xc14]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov edx, dword [ebp - 0xc14]
add edx, 0x10
mov dword [ebp - 0xa98], edx
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0x964], eax
mov ecx, dword [ebp - 0x964]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x968], edx
mov eax, dword [ebp - 0x968]
mov dword [ebp - 0x67c], eax
cmp dword [ebp - 0x67c], 0
je 0x44808e
mov ecx, dword [ebp - 0xcd4]
mov dword [ebp - 0x714], ecx
mov ecx, dword [ebp - 0x67c]
call fcn.00441b70
mov edx, 1
and edx, 1
je 0x448080
push 0xf8
mov eax, dword [ebp - 0x67c]
push eax
call fcn.00453274
add esp, 8
mov ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x714], ecx
jmp 0x448098
mov dword [ebp - 0x714], 0
mov edx, dword [ebp - 0x62c]
add edx, 0x30
mov dword [ebp - 0x718], edx
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x7e0]
push ecx
mov ecx, dword [ebp - 0x718]
call fcn.0043fcb0
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x970], eax
movzx ecx, byte [ebp - 0x6ab]
push ecx
mov edx, dword [ebp - 0x96c]
push edx
mov eax, dword [ebp - 0x970]
push eax
call fcn.0043fc40
add esp, 0xc
mov dword [ebp - 0xcd8], eax
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x974], ecx
mov edx, dword [ebp - 0x7e0]
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x974]
push eax
mov ecx, dword [ebp - 0x978]
push ecx
lea edx, [ebp - 0xb34]
push edx
mov ecx, dword [ebp - 0x718]
call fcn.004458e0
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x2c8]
call fcn.00402fc0
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x3e8]
call fcn.00402fc0
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x400]
call fcn.00402fc0
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x358]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x838]
call fcn.00452752
jmp 0x4479f1
push 0x45ccd4
lea ecx, [ebp - 0x3e8]
call fcn.0041cd70
movzx eax, al
test eax, eax
je 0x448333
lea ecx, [ebp - 0x2c8]
push ecx
lea edx, [ebp - 0xc1c]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov eax, dword [ebp - 0xc1c]
add eax, 0x10
mov dword [ebp - 0x97c], eax
mov ecx, dword [ebp - 0x97c]
mov dword [ebp - 0x980], ecx
mov edx, dword [ebp - 0x980]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x984]
mov dword [ebp - 0x680], ecx
cmp dword [ebp - 0x680], 0
je 0x44823d
mov edx, dword [ebp - 0xcdc]
mov dword [ebp - 0x71c], edx
mov ecx, dword [ebp - 0x680]
call fcn.00441b70
mov eax, 1
and eax, 1
je 0x44822f
push 0xf8
mov ecx, dword [ebp - 0x680]
push ecx
call fcn.00453274
add esp, 8
mov edx, dword [ebp - 0x680]
mov dword [ebp - 0x71c], edx
jmp 0x448247
mov dword [ebp - 0x71c], 0
mov eax, dword [ebp - 0x62c]
add eax, 0x30
mov dword [ebp - 0x720], eax
lea ecx, [ebp - 0x2c8]
push ecx
lea edx, [ebp - 0x7d0]
push edx
mov ecx, dword [ebp - 0x720]
call fcn.0043fcb0
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x988], eax
mov ecx, dword [ebp - 0x7d0]
mov dword [ebp - 0x98c], ecx
movzx edx, byte [ebp - 0x6aa]
push edx
mov eax, dword [ebp - 0x988]
push eax
mov ecx, dword [ebp - 0x98c]
push ecx
call fcn.0043fc40
add esp, 0xc
mov dword [ebp - 0xb3c], eax
mov edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x990], edx
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x994], eax
mov ecx, dword [ebp - 0x990]
push ecx
mov edx, dword [ebp - 0x994]
push edx
lea eax, [ebp - 0xb40]
push eax
mov ecx, dword [ebp - 0x720]
call fcn.004458e0
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x2c8]
call fcn.00402fc0
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x3e8]
call fcn.00402fc0
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x400]
call fcn.00402fc0
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x358]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x838]
call fcn.00452752
jmp 0x4479f1
mov dword [ebp - 0xb44], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0xb28], xmm0
push 0x45cc84
lea edx, [ebp - 0x358]
push edx
lea eax, [ebp - 0x520]
push eax
call fcn.00403630
add esp, 0xc
mov dword [ebp - 0x998], eax
mov ecx, dword [ebp - 0x998]
mov dword [ebp - 0x99c], ecx
mov byte [ebp - 4], 0x73
lea edx, [ebp - 0x3e8]
push edx
mov ecx, dword [ebp - 0x99c]
call fcn.00406e90
mov dword [ebp - 0x9a0], eax
mov eax, dword [ebp - 0x9a0]
mov dword [ebp - 0x9a4], eax
mov ecx, dword [ebp - 0x9a4]
push ecx
lea ecx, [ebp - 0x490]
call fcn.00405550
mov edx, dword [ebp - 0x648]
or edx, 0x100
mov dword [ebp - 0x648], edx
lea eax, [ebp - 0x490]
mov dword [ebp - 0x9a8], eax
mov ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x9ac], ecx
mov edx, dword [ebp - 0x9ac]
mov dword [ebp - 0x6b4], edx
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x6b4]
cmp dword [ecx + 0x14], 0x10
jb 0x448409
mov dword [ebp - 0x724], 1
jmp 0x448413
mov dword [ebp - 0x724], 0
movzx edx, byte [ebp - 0x724]
test edx, edx
je 0x44842c
mov eax, dword [ebp - 0x6b4]
mov ecx, dword [eax]
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x728]
mov dword [ebp - 0x9b0], edx
lea eax, [ebp - 0x5c8]
push eax
mov ecx, dword [ebp - 0x9b0]
push ecx
call dword [0x45c6cc]
add esp, 8
mov dword [ebp - 0xb48], eax
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x490]
call fcn.00402fc0
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x520]
call fcn.00402fc0
mov byte [ebp - 4], 0x5e
lea edx, [ebp - 0x5a0]
push edx
call dword [0x45c800]
add esp, 4
mov dword [ebp - 0x9b4], eax
mov eax, dword [ebp - 0x9b4]
push eax
push str._Y__m__d
push 0x20
lea ecx, [ebp - 0x30]
push ecx
call dword [0x45c7fc]
add esp, 0x10
lea edx, [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0xebc]
call fcn.0045275e
mov byte [ebp - 4], 0x76
lea eax, [ebp - 0xebc]
push eax
push str.uninstallId
lea ecx, [ebp - 0x838]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xebc]
call fcn.00452752
lea ecx, [ebp - 0x400]
push ecx
lea ecx, [ebp - 0xed4]
call fcn.0045275e
mov byte [ebp - 4], 0x77
lea edx, [ebp - 0xed4]
push edx
push str.icon
lea ecx, [ebp - 0x838]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xed4]
call fcn.00452752
mov eax, dword [ebp - 0x644]
push eax
lea ecx, [ebp - 0xeec]
call fcn.0045275e
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0xeec]
push ecx
push str.softName
lea ecx, [ebp - 0x838]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xeec]
call fcn.00452752
mov edx, dword [ebp - 0x644]
add edx, 0x60
push edx
lea ecx, [ebp - 0xf04]
call fcn.0045275e
mov byte [ebp - 4], 0x79
lea eax, [ebp - 0xf04]
push eax
push str.company
lea ecx, [ebp - 0x838]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xf04]
call fcn.00452752
mov ecx, dword [ebp - 0xb24]
push ecx
mov edx, dword [ebp - 0xb28]
push edx
lea ecx, [ebp - 0xf1c]
call fcn.0045280c
mov byte [ebp - 4], 0x7a
lea eax, [ebp - 0xf1c]
push eax
push str.fileSize
lea ecx, [ebp - 0x838]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xf1c]
call fcn.00452752
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0xcf4]
call fcn.00452758
mov byte [ebp - 4], 0x7b
lea edx, [ebp - 0xcf4]
push edx
push str.update
lea ecx, [ebp - 0x838]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0xcf4]
call fcn.00452752
lea eax, [ebp - 0x838]
push eax
mov ecx, dword [ebp + 8]
call fcn.004527d6
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x2c8]
call fcn.00402fc0
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x3e8]
call fcn.00402fc0
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x400]
call fcn.00402fc0
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0x358]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x838]
call fcn.00452752
jmp 0x448718
push 0x40ca00
push str.Finish_enumerate_softwares
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c314]
mov ecx, dword [ebp - 0x638]
push ecx
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x448718
push 0x40ca00
mov edx, dword [ebp - 0x634]
push edx
push str.Cannot_enumerate_software
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov eax, dword [ebp - 0x638]
push eax
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x4479f1
lea ecx, [ebp - 0x638]
push ecx
push 9
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
push 0x80000001
call dword [0x45c008]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x4487d0
push 0x40ca00
mov edx, dword [ebp - 0x634]
push edx
push str.Cannot_open_the_key
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov dword [ebp - 4], 0x80
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9b8]
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
push edx
call fcn.00452d8e
add esp, 4
mov dword [ebp - 0x72c], eax
cmp dword [ebp - 0x72c], 0
je 0x4487c4
mov eax, dword [ebp - 0x72c]
push eax
call fcn.00452d94
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x449661
mov dword [ebp - 0x630], 0
jmp 0x4487eb
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0xfffffffe
je 0x449317
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 [0x45c014]
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x730], ecx
cmp dword [ebp - 0x730], 0
je 0x448851
cmp dword [ebp - 0x730], 0x103
je 0x449297
jmp 0x4492ce
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x62c]
call fcn.00443760
mov dword [ebp - 0x64c], eax
push 0
lea ecx, [ebp - 0x850]
call fcn.0045274c
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x340]
call fcn.00405650
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x418]
call fcn.00405650
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x370]
call fcn.00405650
mov byte [ebp - 4], 0x84
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xb4c], esp
lea edx, [ebp - 0x298]
push edx
call fcn.00401b90
mov dword [ebp - 0xb50], eax
mov byte [ebp - 4], 0x85
lea eax, [ebp - 0x2b0]
push eax
call fcn.0040f130
mov byte [ebp - 4], 0x84
mov ecx, eax
call fcn.00415af0
mov dword [ebp - 0xb54], eax
mov byte [ebp - 4], 0x86
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xb58], esp
mov dword [ebp - 0x734], ecx
lea edx, [ebp - 0x2b0]
mov dword [ebp - 0x9c0], edx
mov eax, dword [ebp - 0x9c0]
mov dword [ebp - 0xb5c], eax
lea ecx, [ebp - 0x6a9]
mov dword [ebp - 0x9c4], ecx
mov edx, dword [ebp - 0x9c4]
push edx
movzx eax, byte [ebp - 0x6a8]
push eax
mov ecx, dword [ebp - 0x734]
call fcn.00408ab0
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x734]
call fcn.00406190
mov byte [ebp - 4], 0x86
mov byte [ebp - 4], 0x88
lea edx, [ebp - 0x370]
push edx
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp - 0x64c]
add edx, 0x90
mov dword [ebp - 0x738], edx
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0xb60], esp
mov dword [ebp - 0x73c], eax
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9c8]
mov dword [ebp - 0xb64], edx
lea eax, [ebp - 0x6c3]
mov dword [ebp - 0xb68], eax
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 0x9cc], ecx
mov ecx, dword [ebp - 0x9cc]
call fcn.0040caa0
mov byte [ebp - 4], 0x89
mov edx, dword [ebp - 0x738]
push edx
mov ecx, dword [ebp - 0x73c]
call fcn.00406190
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0x64c]
push eax
mov byte [ebp - 4], 0x86
mov ecx, dword [ebp - 0x62c]
call fcn.00442090
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x64c]
add ecx, 0xd8
call fcn.00405af0
push 0x45ccd4
mov ecx, dword [ebp - 0x64c]
call fcn.0041cd70
movzx edx, al
test edx, edx
je 0x448a46
mov eax, dword [ebp - 0x64c]
add eax, 0xd8
push eax
mov ecx, dword [ebp - 0x64c]
call fcn.00405af0
lea ecx, [ebp - 0x340]
push ecx
mov ecx, dword [ebp - 0x64c]
add ecx, 0x78
call fcn.00405af0
mov edx, dword [ebp - 0x62c]
add edx, 0x30
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9d0]
mov dword [ebp - 0x9d4], eax
mov ecx, dword [ebp - 0x9d4]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x740]
mov dword [ebp - 0xb6c], edx
mov eax, dword [ebp - 0x740]
mov ecx, dword [eax]
mov dword [ebp - 0x9d8], ecx
mov edx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9dc], edx
lea eax, [ebp - 0x9dc]
mov dword [ebp - 0x9e4], eax
lea ecx, [ebp - 0x2b0]
push ecx
lea edx, [ebp - 0xb70]
push edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.0042ecf0
mov dword [ebp - 0x9e0], eax
mov eax, dword [ebp - 0x9e0]
mov ecx, dword [ebp - 0x9e4]
mov edx, dword [eax]
cmp edx, dword [ecx]
jne 0x448af4
mov dword [ebp - 0x744], 1
jmp 0x448afe
mov dword [ebp - 0x744], 0
movzx eax, byte [ebp - 0x744]
test eax, eax
jne 0x448b15
mov dword [ebp - 0x748], 1
jmp 0x448b1f
mov dword [ebp - 0x748], 0
movzx ecx, byte [ebp - 0x748]
test ecx, ecx
je 0x448bec
mov edx, dword [ebp - 0x64c]
mov dword [ebp - 0x9e8], edx
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x684], eax
cmp dword [ebp - 0x684], 0
je 0x448b92
mov ecx, dword [ebp - 0xb74]
mov dword [ebp - 0x74c], ecx
mov ecx, dword [ebp - 0x684]
call fcn.00441b70
mov edx, 1
and edx, 1
je 0x448b84
push 0xf8
mov eax, dword [ebp - 0x684]
push eax
call fcn.00453274
add esp, 8
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0x74c], ecx
jmp 0x448b9c
mov dword [ebp - 0x74c], 0
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x2b0]
call fcn.00402fc0
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x370]
call fcn.00402fc0
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x418]
call fcn.00402fc0
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x340]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x850]
call fcn.00452752
jmp 0x4487dc
push str.FyStore
mov ecx, dword [ebp - 0x64c]
add ecx, 0xd8
call fcn.0041cd70
movzx edx, al
test edx, edx
je 0x448cd5
mov eax, dword [ebp - 0x64c]
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x688], ecx
cmp dword [ebp - 0x688], 0
je 0x448c71
mov edx, dword [ebp - 0xb78]
mov dword [ebp - 0x794], edx
mov ecx, dword [ebp - 0x688]
call fcn.00441b70
mov eax, 1
and eax, 1
je 0x448c63
push 0xf8
mov ecx, dword [ebp - 0x688]
push ecx
call fcn.00453274
add esp, 8
mov edx, dword [ebp - 0x688]
mov dword [ebp - 0x794], edx
jmp 0x448c7b
mov dword [ebp - 0x794], 0
mov dword [ebp - 0x64c], 0
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x2b0]
call fcn.00402fc0
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0x370]
call fcn.00402fc0
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x418]
call fcn.00402fc0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x340]
call fcn.00402fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x850]
call fcn.00452752
jmp 0x4487dc
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0xc24]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov edx, dword [ebp - 0xc24]
add edx, 0x10
mov dword [ebp - 0x9f0], edx
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x9f4], eax
mov ecx, dword [ebp - 0x9f4]
mov edx, dword [ebp - 0x64c]
mov dword [ecx + 0x18], edx
lea eax, [ebp - 0x340]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9fc]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xa00], eax
cmp dword [ebp - 0xa00], 9
jbe 0x448ef2
lea ecx, [ebp - 0x340]
mov dword [ebp - 0xb7c], ecx
lea edx, [ebp - 0x6c2]
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa04]
push eax
push 9
push 1
lea ecx, [ebp - 0x340]
push ecx
lea ecx, [ebp - 0x4a8]
call fcn.0041c2b0
mov edx, dword [ebp - 0x648]
or edx, 0x200
mov dword [ebp - 0x648], edx
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0xa08], eax
push str.:windows
mov ecx, dword [ebp - 0xa08]
call fcn.0041cd70
mov byte [ebp - 0x652], al
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0x4a8]
call fcn.00402fc0
mov byte [ebp - 4], 0x86
movzx ecx, byte [ebp - 0x652]
test ecx, ecx
je 0x448ef2
lea edx, [ebp - 0x2b0]
push edx
lea eax, [ebp - 0xc2c]
push eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441090
mov ecx, dword [ebp - 0xc2c]
add ecx, 0x10
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa10]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xa14], ecx
mov edx, dword [ebp - 0xa14]
mov dword [ebp - 0x68c], edx
cmp dword [ebp - 0x68c], 0
je 0x448e78
mov eax, dword [ebp - 0xb80]
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x68c]
call fcn.00441b70
mov ecx, 1
and ecx, 1
je 0x448e6a
push 0xf8
mov edx, dword [ebp - 0x68c]
push edx
call fcn.00453274
add esp, 8
mov eax, dword [ebp - 0x68c]
mov dword [ebp - 0x768], eax
jmp 0x448e82
mov dword [ebp - 0x768], 0
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00445b40
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0x2b0]
call fcn.00402fc0
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x370]
call fcn.00402fc0
lea ecx, [ebp - 0x370]
call fcn.00401c60
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x418]
call fcn.00401d30
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x340]
call fcn.00401d30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x850]
call fcn.00452752
jmp 0x4487dc
push 0x45ccd4
lea edx, [ebp - 0x370]
push edx
call fcn.0043fab0
add esp, 8
movzx eax, al
test eax, eax
je 0x448fc7
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00441d70
mov edx, dword [eax]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa18]
mov dword [ebp - 0x790], eax
cmp dword [ebp - 0x790], 0
je 0x448f58
push 1
mov ecx, dword [ebp - 0x790]
call fcn.00442050
mov dword [ebp - 0xa1c], eax
jmp 0x448f62
mov dword [ebp - 0xa1c], 0
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x30
call fcn.00445b40
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x2b0]
call fcn.00401d30
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x370]
call fcn.00401d30
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x418]
call fcn.00401d30
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x340]
call fcn.00401d30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x850]
call fcn.00452752
jmp 0x4487dc
mov dword [ebp - 0xb84], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0xb18], xmm0
push 0x45cc84
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x538]
push ecx
call fcn.00403630
add esp, 0xc
mov dword [ebp - 0xa20], eax
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], edx
mov byte [ebp - 4], 0x95
lea eax, [ebp - 0x370]
push eax
mov ecx, dword [ebp - 0xa24]
push ecx
lea edx, [ebp - 0x550]
push edx
call fcn.0043fad0
add esp, 0xc
mov dword [ebp - 0xa28], eax
lea eax, [ebp - 0x598]
push eax
mov ecx, dword [ebp - 0xa28]
call fcn.0041db80
push eax
call dword [0x45c6cc]
add esp, 8
mov dword [ebp - 0xb88], eax
lea ecx, [ebp - 0x550]
call fcn.00401d30
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x538]
call fcn.00401d30
lea ecx, [ebp - 0x570]
push ecx
call fcn.00449760
add esp, 4
mov dword [ebp - 0xa2c], eax
mov edx, dword [ebp - 0xa2c]
push edx
push str._Y__m__d
push 0x20
lea eax, [ebp - 0x90]
push eax
call dword [0x45c7fc]
add esp, 0x10
lea ecx, [ebp - 0x2b0]
push ecx
lea ecx, [ebp - 0xd24]
call fcn.0045275e
mov byte [ebp - 4], 0x96
lea edx, [ebp - 0xd24]
push edx
push str.uninstallId
lea ecx, [ebp - 0x850]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xd24]
call fcn.00452752
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0xd3c]
call fcn.0045275e
mov byte [ebp - 4], 0x97
lea ecx, [ebp - 0xd3c]
push ecx
push str.icon
lea ecx, [ebp - 0x850]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xd3c]
call fcn.00452752
mov edx, dword [ebp - 0x64c]
push edx
lea ecx, [ebp - 0xd54]
call fcn.0045275e
mov byte [ebp - 4], 0x98
lea eax, [ebp - 0xd54]
push eax
push str.softName
lea ecx, [ebp - 0x850]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xd54]
call fcn.00452752
mov ecx, dword [ebp - 0x64c]
add ecx, 0x60
push ecx
lea ecx, [ebp - 0xd6c]
call fcn.0045275e
mov byte [ebp - 4], 0x99
lea edx, [ebp - 0xd6c]
push edx
push str.company
lea ecx, [ebp - 0x850]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xd6c]
call fcn.00452752
mov eax, dword [ebp - 0xb14]
push eax
mov ecx, dword [ebp - 0xb18]
push ecx
lea ecx, [ebp - 0xd84]
call fcn.0045280c
mov byte [ebp - 4], 0x9a
lea edx, [ebp - 0xd84]
push edx
push str.fileSize
lea ecx, [ebp - 0x850]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xd84]
call fcn.00452752
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd9c]
call fcn.00452758
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0xd9c]
push ecx
push str.update
lea ecx, [ebp - 0x850]
call fcn.0045277c
mov ecx, eax
call fcn.00452764
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xd9c]
call fcn.00452752
lea edx, [ebp - 0x850]
push edx
mov ecx, dword [ebp + 8]
call fcn.004527d6
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x2b0]
call fcn.00401d30
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x370]
call fcn.00401d30
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x418]
call fcn.00401d30
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x340]
call fcn.00401d30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x850]
call fcn.00452752
jmp 0x449312
push 0x40ca00
push str.Finish_enumerate_softwares
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c314]
mov eax, dword [ebp - 0x638]
push eax
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x449312
push 0x40ca00
mov ecx, dword [ebp - 0x634]
push ecx
push str.Cannot_enumerate_software
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c2d8]
mov ecx, eax
call dword [0x45c314]
mov edx, dword [ebp - 0x638]
push edx
call dword [0x45c028]
mov dword [ebp - 0x630], 0xfffffffd
jmp 0x4487dc
mov dword [ebp - 0x690], 0
lea eax, [ebp - 0x690]
push eax
push str.base.db
call dword [0x45c99c]
add esp, 8
mov dword [ebp - 0xa30], eax
cmp dword [ebp - 0xa30], 0
jne 0x44960b
push 0x45f72c
mov ecx, dword [0x45c2cc]
push ecx
call fcn.00408e40
add esp, 8
mov dword [ebp - 0xa34], str.SELECT__FROM_soft_info_
mov dword [ebp - 0x650], 0
push 0
lea edx, [ebp - 0x650]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0xa34]
push eax
mov ecx, dword [ebp - 0x690]
push ecx
call dword [0x45c9ac]
add esp, 0x14
mov dword [ebp - 0xa38], eax
cmp dword [ebp - 0xa38], 0
jne 0x4495e5
push 0x45f75c
mov edx, dword [0x45c2cc]
push edx
call fcn.00408e40
add esp, 8
mov eax, dword [ebp - 0x650]
push eax
call dword [0x45c9a4]
add esp, 4
cmp eax, 0x64
jne 0x4495e3
push 0
mov ecx, dword [ebp - 0x650]
push ecx
call dword [0x45c9a0]
add esp, 8
mov dword [ebp - 0xa48], eax
push 1
mov edx, dword [ebp - 0x650]
push edx
call dword [0x45c9a0]
add esp, 8
mov dword [ebp - 0xa4c], eax
push 2
mov eax, dword [ebp - 0x650]
push eax
call dword [0x45c994]
add esp, 8
mov dword [ebp - 0xb8c], eax
push 3
mov ecx, dword [ebp - 0x650]
push ecx
call dword [0x45c994]
add esp, 8
mov dword [ebp - 0xb90], eax
push 4
mov edx, dword [ebp - 0x650]
push edx
call dword [0x45c994]
add esp, 8
mov dword [ebp - 0xb94], eax
push 5
mov eax, dword [ebp - 0x650]
push eax
call dword [0x45c994]
add esp, 8
mov dword [ebp - 0xb98], eax
push 6
mov ecx, dword [ebp - 0x650]
push ecx
call dword [0x45c9a0]
add esp, 8
mov dword [ebp - 0xb9c], eax
push 7
mov edx, dword [ebp - 0x650]
push edx
call dword [0x45c9a0]
add esp, 8
mov dword [ebp - 0xba0], eax
push 8
mov eax, dword [ebp - 0x650]
push eax
call dword [0x45c994]
add esp, 8
mov dword [ebp - 0xa3c], eax
push 9
mov ecx, dword [ebp - 0x650]
push ecx
call dword [0x45c994]
add esp, 8
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x798], 0
je 0x4495de
cmp dword [ebp - 0xa3c], 0
je 0x4495de
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xba4], esp
mov edx, dword [ebp - 0x798]
push edx
call fcn.00401a60
mov dword [ebp - 0xba8], eax
mov byte [ebp - 4], 0x9c
lea eax, [ebp - 0x508]
push eax
call fcn.0040f130
mov byte [ebp - 4], 0
mov ecx, eax
call fcn.004158b0
mov dword [ebp - 0xa40], eax
mov ecx, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], ecx
mov byte [ebp - 4], 0x9d
mov ecx, dword [ebp - 0xa44]
call fcn.0041db80
push eax
lea ecx, [ebp - 0x4c0]
call fcn.00401a60
mov byte [ebp - 4], 0x9e
lea edx, [ebp - 0x4c0]
push edx
lea eax, [ebp - 0x6b8]
push eax
call fcn.004442c0
add eax, 0x30
mov ecx, eax
call fcn.0042ecf0
mov byte [ebp - 4], 0x9d
lea ecx, [ebp - 0x4c0]
call fcn.00401d30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x508]
call fcn.00401d30
lea ecx, [ebp - 0xbac]
push ecx
call fcn.004442c0
add eax, 0x30
mov ecx, eax
call fcn.004458a0
push eax
lea ecx, [ebp - 0x6b8]
call fcn.00441d20
movzx edx, al
test edx, edx
je 0x4495de
lea ecx, [ebp - 0x6b8]
call fcn.00441db0
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xa48]
mov dword [eax + 0xf0], ecx
lea ecx, [ebp - 0x6b8]
call fcn.00441db0
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0xa4c]
mov dword [edx + 0xf4], eax
jmp 0x4493ba
jmp 0x4495f9
push 0x45f78c
mov ecx, dword [0x45c2cc]
push ecx
call fcn.00408e40
add esp, 8
mov edx, dword [ebp - 0x650]
push edx
call dword [0x45c998]
add esp, 4
jmp 0x449621
mov eax, dword [ebp - 0x690]
push eax
call dword [0x45c990]
add esp, 4
mov dword [ebp - 0xbb0], eax
mov ecx, dword [ebp - 0x690]
push ecx
call dword [0x45c9a8]
add esp, 4
push 0x40ca00
push str.Finish_enumerate_softwares
mov ecx, dword [0x45c268]
call dword [0x45c2b4]
mov ecx, eax
call dword [0x45c314]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x658]
call fcn.00441a90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00453282
mov esp, ebp
pop ebp
ret 8