Function at 0x1001650f
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x428
push esi
mov esi, dword [0x1002c09c]
mov edx, 0x10f0
mov dword [esp + 0xd0], ecx
or esi, 0x37cb7fb3
mov cl, byte [str.app.subscriptions.OnSubscriptionInserted]
mov eax, str.app.subscriptions.OnSubscriptionInserted
push edi
movzx edi, cl
mov dword [esp + 0x40], edi
test edi, edi
je 0x1001656b
add edx, edi
inc eax
cmp edx, 0x837
ja 0x10016565
movzx edi, byte [eax]
test edi, edi
jne 0x1001654b
imul esi, esi, 0x1db5b718
jmp 0x10016571
xor esi, 0xddf77071
add esi, 0xc048f6ef
xor esi, 0x73e7e229
mov dword [esp + 0x58], 0x19
add esi, 0x1e2dd028
xor eax, eax
test cl, cl
je 0x100165b0
inc eax
cmp eax, 0x17d1
jl 0x100165aa
cmp byte [eax + str.app.subscriptions.OnSubscriptionInserted], 0
jne 0x1001658b
cmp eax, 0x1f39
jle 0x100165b0
call fcn.1001569b
jmp 0x100165b0
or esi, 0xdea22920
mov cl, byte [str.SuggestedSites.dat]
lea eax, [esi + 0xd32ad]
or eax, 0xffd03e57
mov edx, str.SuggestedSites.dat
test cl, cl
je 0x100165e6
sub cl, 0x30
cmp cl, 9
ja 0x100165db
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x100165ca
jmp 0x100165e0
xor eax, 0xee250291
mov cl, byte [str.SuggestedSites.dat]
mov edx, dword [esp + 0x58]
xor edi, edi
mov dword [esp + 0x30], 0x2d
xor eax, 0x88429350
mov dword [esp + 0x34], 0x16
mov dword [esp + 0x38], 0xffffffa4
lea esi, [eax + 0x413c2bdc]
xor eax, eax
mov dword [0x1002c09c], esi
test cl, cl
je 0x10016645
inc eax
cmp eax, 0x1975
jg 0x1001662e
cmp byte [eax + str.SuggestedSites.dat], 0
jne 0x1001661b
jmp 0x10016645
push ecx
call fcn.10014bb2
mov edx, dword [esp + 0x5c]
and esi, 0x8cbe7972
pop ecx
mov cl, byte [str.SuggestedSites.dat]
add edx, dword [esp + edi*4 + 0x30]
or esi, 0x4f0c9740
inc edi
mov dword [esp + 0x58], edx
lea eax, [esi + 0xd5a5b71]
cmp edi, 3
jl 0x10016609
push 0xf
xor ecx, ecx
mov dword [esp + 0x18], 0x21
pop edi
mov edx, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0x1e
mov dword [esp + 0x20], 0x34
mov dword [esp + 0x24], 0xffffff7e
sub edx, dword [esp + ecx*4 + 0x14]
inc ecx
cmp ecx, 5
jl 0x1001668a
movzx ecx, byte [str.RtlInitUnicodeString]
mov esi, 0x12c4
mov dword [esp + 0xe8], edx
mov edx, str.RtlInitUnicodeString
test ecx, ecx
je 0x100166ce
add esi, ecx
inc edx
cmp esi, 0x4c8
ja 0x100166c9
movzx ecx, byte [edx]
test ecx, ecx
jne 0x100166b0
or eax, 0x1f4d8f5c
jmp 0x100166d4
add eax, 0x6003b2
imul eax, eax, 0x3e46f73
imul esi, eax, 0xa176cf6c
xor edx, edx
push 0x16
pop eax
mov dword [esp + 0x1c], eax
xorps xmm2, xmm2
mov dword [esp + 0x14], 0x5d
mov dword [esp + 0x18], 0x30
mov dword [esp + 0x20], 0xffffff22
movups xmm1, xmmword [esp + 0x14]
push 0x3b
pop ecx
movaps xmm0, xmm1
mov dword [esp + 0x5c], ecx
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, ecx
mov dword [esp + 0x19c], eax
mov eax, edx
cmp byte [str.RtlInitUnicodeString], al
je 0x10016764
inc eax
cmp eax, 0x2537
jg 0x10016752
cmp byte [eax + str.RtlInitUnicodeString], dl
jne 0x10016739
cmp eax, 0x1bb7
jle 0x10016764
jmp 0x1001675d
call fcn.10016038
imul esi, esi, 0xc7501f65
call fcn.10015a3e
xor edx, edx
imul eax, esi, 0x318d67ac
mov ecx, edi
mov dword [esp + 0x14], 0x37
mov dword [esp + 0x18], 0x32
mov dword [esp + 0x1c], 0x2b
mov dword [esp + 0x20], 0x5a
mov dword [esp + 0x10], eax
mov eax, edx
mov dword [esp + 0x24], 0xffffff20
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x1001679a
add dword [esp + 0x10], 0x37d43405
lea edi, [esp + 0x14]
mov esi, str.Proxy_Connection
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x60], 0x5227bfd6
mov eax, edx
mov dword [esp + 0x64], 0x8b879153
mov dword [esp + 0x68], 0x4d8b7d1e
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x6c], 0x14a16af3
mov dword [esp + 0x70], 0xad08af6f
mov dword [esp + 0x74], 0x2779b840
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x78], 0x59910576
mov dword [esp + 0x7c], 0x6d26e94c
mov byte [esp + 0x80], 0x2b
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x44], edx
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [esp + eax + 0x218], al
inc eax
cmp eax, 0x100
jb 0x1001680f
mov esi, dword [esp + 0x44]
mov edi, edx
mov dl, byte [esp + edi + 0x218]
mov eax, edi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [esp + eax + 0x14]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x218]
mov byte [esp + edi + 0x218], al
inc edi
mov byte [esp + esi + 0x218], dl
cmp edi, 0x100
jb 0x10016824
mov esi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x28], eax
mov ecx, eax
mov edi, eax
movzx eax, byte [str.RtlInitUnicodeString]
or esi, 0xb9259f58
mov dword [esp + 0x10], 0xa94
mov edx, str.RtlInitUnicodeString
jmp 0x10016899
add dword [esp + 0x10], eax
inc edx
cmp dword [esp + 0x10], 0x1904
ja 0x1001689f
movzx eax, byte [edx]
test eax, eax
jne 0x10016887
jmp 0x100168a5
or esi, 0x35fc3a84
lea eax, [ecx + 1]
or esi, 0xbdda195a
movzx eax, al
add esi, 0x574e130c
mov dword [esp + 0x10], eax
and esi, 0x85002020
mov dword [0x1002c09c], esi
mov cl, byte [esp + eax + 0x218]
mov eax, dword [esp + 0x28]
movzx edx, cl
add eax, edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x10]
movzx eax, al
mov dword [esp + 0x28], eax
mov al, byte [esp + eax + 0x218]
mov byte [esp + edx + 0x218], al
mov eax, dword [esp + 0x28]
mov byte [esp + eax + 0x218], cl
mov ecx, edx
xor edx, edx
movzx eax, byte [esp + ecx + 0x218]
add eax, dword [esp + 0x44]
movzx eax, al
mov al, byte [esp + eax + 0x218]
mov byte [esp + 0xf], al
mov eax, edx
cmp byte [str.SuggestedSites.dat], al
je 0x10016952
inc eax
cmp eax, 0x1bdf
jg 0x10016939
cmp byte [eax + str.SuggestedSites.dat], dl
jne 0x10016927
jmp 0x10016952
push ecx
push str.RtlInitUnicodeString
call fcn.10014b69
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
xor esi, 0xec12cbc6
xor edx, edx
imul eax, esi, 0x703ce69c
mov esi, 0x6d3acf95
sub esi, eax
mov al, byte [esp + edi + 0x60]
xor al, byte [esp + 0xf]
mov byte [esp + edi + 0x390], al
inc edi
cmp edi, 0x21
jb 0x1001686b
push 4
pop ecx
push 0x5b
pop edi
mov byte [esp + 0x3b1], dl
mov eax, edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], 0x58
mov dword [esp + 0x54], 0xffffff49
add ecx, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, 3
jl 0x1001699b
push 0x20
add esi, 0x12a2c589
mov dword [esp + 0x1ac], ecx
pop ecx
mov dword [esp + 0x4c], edi
and esi, 0x34eb0a02
mov dword [esp + 0x50], 0xffffff87
mov eax, edx
add ecx, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, 2
jl 0x100169c9
mov dword [esp + 0xe4], edx
mov edi, 0x2693
mov edx, dword [esp + 0x40]
mov eax, str.app.subscriptions.OnSubscriptionInserted
mov dword [esp + 0x1a0], ecx
mov ecx, edx
test edx, edx
je 0x10016a1a
add edi, ecx
inc eax
cmp edi, 0x1276
ja 0x10016a0f
movzx ecx, byte [eax]
test ecx, ecx
jne 0x100169f5
and esi, 0x60f973c3
jmp 0x10016a29
call fcn.10016183
xor esi, 0x7b9fd91
call fcn.1001552b
mov edx, dword [esp + 0x40]
add esi, 0x77214ffe
mov ecx, dword [esp + 0xe4]
and esi, 0x31c49388
mov dword [esp + 0x4c], 0x56
xor eax, eax
mov dword [esp + 0x50], 0x4f
mov dword [esp + 0x54], 0xffffff5b
sub ecx, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, 3
jl 0x10016a50
mov dword [esp + 0x14], 7
mov edi, 0x1b9a
mov dword [esp + 0x18], 0x3d
mov dword [esp + 0x1c], 0x27
mov dword [esp + 0x20], 0xffffff52
movups xmm1, xmmword [esp + 0x14]
push 0x11
mov dword [esp + 0xe8], ecx
movzx ecx, byte [str.SuggestedSites.dat]
paddd xmm1, xmm2
movaps xmm0, xmm1
mov dword [esp + 0x65], 0x4ae842b4
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x69], 0xe1f0290
movups xmm0, xmm1
mov dword [esp + 0x6d], 0xbe2ea4d8
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x71], 0x86eee546
movd eax, xmm1
mov dword [esp + 0x75], 0xb04f91f1
mov dword [esp + 0x79], 0x652c0253
add eax, 0x44
mov byte [esp + 0x7d], 0xa8
mov dword [esp + 0x1bc], eax
pop eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x60], al
push 0x28
pop eax
mov dword [esp + 0x1cc], eax
mov byte [esp + 0x7a], al
mov eax, str.SuggestedSites.dat
mov dword [esp + 0x7b], 0x52c41b60
mov word [esp + 0x7f], 0x6fa8
mov dword [esp + 0x40], ecx
jmp 0x10016b32
add edi, ecx
inc eax
cmp edi, 0x4de
ja 0x10016b38
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10016b24
jmp 0x10016b3e
xor esi, 0xbd8a05d5
sub esi, 0x6072461c
mov edi, 0x1ccd
push 0x45
mov dword [0x1002c09c], esi
mov eax, str.Expecting_a_property_selector
pop ecx
add edi, ecx
lea eax, [eax + 2]
cmp edi, 0x25e
ja 0x10016b6d
movzx ecx, word [eax]
test ecx, ecx
jne 0x10016b57
jmp 0x10016b7c
push ecx
push ecx
call fcn.100155e6
pop ecx
pop ecx
and esi, 0x18dcb654
imul eax, esi, 0x40bcba09
lea edi, [esp + 0x150]
push 6
pop ecx
mov esi, str.div.cross_banner_action
rep movsd dword es:[edi], dword [esi]
xor eax, 0x78ab022a
mov esi, 0x142
mov ecx, str.app.subscriptions.OnSubscriptionInserted
jmp 0x10016bb2
add esi, edx
inc ecx
cmp esi, 0xb5e
ja 0x10016bee
movzx edx, byte [ecx]
test edx, edx
jne 0x10016ba4
imul esi, eax, 0x70cc4fac
add esi, 0xa1822727
call fcn.10015b6e
and dword [esp + 0x48], 0
mov ecx, str.Expecting_a_property_selector
push 0x45
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x10016c0b
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10016bd4
jmp 0x10016c11
imul esi, eax, 0x76e9d6e9
push ecx
push ecx
mov dword [0x1002c09c], esi
call fcn.100155e6
pop ecx
pop ecx
xor esi, 0xd5e14a78
jmp 0x10016bbc
sub esi, 0x3f94dbc2
and esi, 0x47824100
or esi, 0x307d9656
xor ecx, ecx
mov eax, ecx
mov byte [esp + eax + 0x218], al
inc eax
cmp eax, 0x100
jb 0x10016c21
mov edi, ecx
mov dword [esp + 0x44], 0x17
xor edx, edx
mov cl, byte [esp + edi + 0x218]
mov eax, edi
mov byte [esp + 0xf], cl
div dword [esp + 0x44]
movzx ecx, cl
and esi, 0x57a2b9cb
movzx eax, byte [esp + edx + 0x150]
add eax, dword [esp + 0x48]
add ecx, eax
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov al, byte [esp + ecx + 0x218]
mov byte [esp + edi + 0x218], al
inc edi
mov al, byte [esp + 0xf]
mov byte [esp + ecx + 0x218], al
cmp edi, 0x100
jb 0x10016c3a
xor eax, eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x10], eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [esp + 0x10]
mov cl, byte [esp + esi + 0x218]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x10], eax
mov al, byte [esp + eax + 0x218]
mov byte [esp + esi + 0x218], al
mov eax, dword [esp + 0x10]
mov byte [esp + eax + 0x218], cl
movzx eax, byte [esp + esi + 0x218]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x218]
xor al, byte [esp + edi + 0x60]
mov byte [esp + edi + 0x3b4], al
inc edi
cmp edi, 0x21
jb 0x10016c9b
mov al, byte [str.RtlInitUnicodeString]
mov ecx, str.RtlInitUnicodeString
mov esi, dword [esp + 0x44]
mov byte [esp + 0x3d5], 0
test al, al
je 0x10016d28
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x10016d22
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10016d13
jmp 0x10016d28
or esi, 0x6625c1db
sub esi, 0x3527c067
call fcn.10016183
xor eax, eax
cmp byte [str.SuggestedSites.dat], al
je 0x10016d56
inc eax
cmp eax, 0x1f5d
jg 0x10016d50
cmp byte [eax + str.SuggestedSites.dat], 0
jne 0x10016d3d
jmp 0x10016d56
and esi, 0x9ea22610
lea edx, [esi + 0x64d5fe11]
xor edx, 0x895ce3bf
mov dword [0x1002c09c], edx
call fcn.100158f6
push 0x56
pop edi
push 0x51
pop esi
mov ecx, edi
mov dword [esp + 0x4c], 0x57
mov dword [esp + 0x50], esi
xor eax, eax
mov dword [esp + 0x54], 0xffffff04
add ecx, dword [esp + eax*4 + 0x4c]
add edx, 0xedcc4c08
inc eax
cmp eax, 3
jl 0x10016d8b
mov dword [esp + 0x14], 0x4d
and edx, 0x62de51e8
mov dword [esp + 0x18], 0x3a
xor edx, 0x1c64d27d
mov dword [esp + 0x1c], 0x38
or edx, 0xe0f62122
mov dword [esp + 0x20], 0xfffffefd
movups xmm1, xmmword [esp + 0x14]
mov dword [esp + 0x14], edi
lea edi, [esp + 0x150]
mov dword [esp + 0x18], 0x29
paddd xmm1, xmm2
mov dword [esp + 0x1c], 0x23
movaps xmm0, xmm1
mov dword [esp + 0x20], 0xffffff39
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x1b4], ecx
movups xmm0, xmm1
mov dword [esp + 0x84], 0xf3291d31
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x88], 0xa555d24b
movd eax, xmm1
movups xmm1, xmmword [esp + 0x14]
push 9
add eax, 0x44
mov dword [esp + 0x1c], 0x5e
paddd xmm1, xmm2
mov dword [esp + 0x1b4], eax
movaps xmm0, xmm1
mov dword [esp + 0x20], 0x52
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x24], 0xffffff4d
movups xmm0, xmm1
mov dword [esp + 0x90], 0x75633360
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x94], 0x8cf42366
movd eax, xmm1
movaps xmm1, xmm2
mov dword [esp + 0x98], 0xf75850b7
mov dword [esp + 0x9c], 0xdde47a0
add eax, esi
mov byte [esp + 0xa0], 0xff
mov dword [esp + 0x1c0], eax
mov esi, str.SmartHomeComponentName
pop eax
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], eax
movups xmm0, xmmword [esp + 0x14]
movsw word es:[edi], word [esi]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movsb byte es:[edi], byte [esi]
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 7
mov dword [esp + 0x178], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov byte [esp + eax + 0x218], al
inc eax
cmp eax, 0x100
jb 0x10016f02
or edx, 0x7daef1f4
mov eax, str.KxECDHE_PSK
push 0x4b
imul esi, edx, 0xab128261
mov edx, 0x1cdb
pop ecx
add edx, ecx
inc eax
cmp edx, 0x54a
ja 0x10016f3e
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10016f2a
jmp 0x10016f49
call fcn.10015810
add esi, 0x63369eff
add esi, 0xed98fa6b
and esi, 0x5602f33b
call fcn.100151e9
xor edi, edi
mov al, byte [str.app.subscriptions.OnSubscriptionInserted]
mov ecx, str.app.subscriptions.OnSubscriptionInserted
test al, al
je 0x10016f82
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x10016f7c
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10016f6d
jmp 0x10016f82
or esi, 0x3723405c
sub esi, 0x1354573a
push ecx
mov dword [0x1002c09c], esi
call fcn.100163df
xor edx, edx
mov eax, edi
div dword [esp + 0x38]
pop ecx
mov cl, byte [esp + edi + 0x218]
add esi, 0x89550570
mov byte [esp + 0xf], cl
movzx ecx, cl
movzx eax, byte [esp + edx + 0x150]
add eax, dword [esp + 0x48]
add ecx, eax
movzx ecx, cl
mov dword [esp + 0x48], ecx
mov al, byte [esp + ecx + 0x218]
mov byte [esp + edi + 0x218], al
inc edi
mov al, byte [esp + 0xf]
mov byte [esp + ecx + 0x218], al
cmp edi, 0x100
jb 0x10016f5c
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, ecx
mov edi, ecx
inc eax
and esi, 0xddd4dbbe
movzx eax, al
or esi, 0x55d4d236
mov dword [esp + 0x28], eax
add esi, 0xf71b960
mov cl, byte [esp + eax + 0x218]
mov eax, dword [esp + 0x10]
movzx edx, cl
add eax, edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x28]
movzx eax, al
mov dword [esp + 0x10], eax
mov al, byte [esp + eax + 0x218]
mov byte [esp + edx + 0x218], al
mov eax, dword [esp + 0x10]
mov byte [esp + eax + 0x218], cl
mov eax, edx
movzx eax, byte [esp + eax + 0x218]
add eax, dword [esp + 0x44]
movzx eax, al
mov al, byte [esp + eax + 0x218]
xor al, byte [esp + edi + 0x84]
mov byte [esp + edi + 0x374], al
inc edi
mov eax, edx
cmp edi, 0x19
jb 0x10016ff6
mov dword [esp + 0x14], 0x5d
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x39
xor edx, edx
mov dword [esp + 0x1c], 0x3f
mov ecx, 0x9fff6
mov dword [esp + 0x20], 0xffffff19
movups xmm0, xmmword [esp + 0x14]
mov byte [esp + 0x38d], dl
mov dword [esp + 0x14], 0x38
paddd xmm1, xmm0
mov dword [esp + 0x18], 0x2a
movaps xmm0, xmm1
mov dword [esp + 0x1c], 0x2e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x20], 0x13
movups xmm0, xmm1
mov dword [esp + 0x24], 0x8ff54
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x12
mov dword [esp + 0x174], eax
mov eax, edx
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017100
push 0x17
pop eax
mov dword [esp + 0x170], ecx
movaps xmm1, xmm2
mov dword [esp + 0x14], eax
push 0x56
pop ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0x1b
mov dword [esp + 0x20], 0xffffff22
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 0xe
mov dword [esp + 0x18], 0x5b
paddd xmm1, xmm0
mov dword [esp + 0x1c], 0x44
movaps xmm0, xmm1
mov dword [esp + 0x20], 0x41
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x24], 0xffffff12
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, ecx
mov ecx, edx
mov dword [esp + 0x1d8], eax
mov eax, edx
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x1001718c
movzx eax, byte [str.app.subscriptions.OnSubscriptionInserted]
xor esi, 0x3139573d
mov dword [esp + 0x1dc], ecx
mov edx, 0x1c82
mov ecx, str.app.subscriptions.OnSubscriptionInserted
jmp 0x100171c4
add edx, eax
inc ecx
cmp edx, 0x1e0f
ja 0x100171ca
movzx eax, byte [ecx]
test eax, eax
jne 0x100171b6
jmp 0x100171d0
add esi, 0x484677de
call fcn.10014f79
mov dword [esp + 0x14], 0x60
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x40
xor edx, edx
mov dword [esp + 0x1c], 0x35
or esi, 0xeaeff3f7
mov dword [esp + 0x20], 0x7ff2b
mov ecx, edx
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 0x2f
mov dword [esp + 0x18], 0x46
psubd xmm1, xmm0
mov dword [esp + 0x1c], 0x42
movaps xmm0, xmm1
mov dword [esp + 0x20], 0x34
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x24], 0xffffff15
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x90000
sub esi, 0x28bca66a
mov dword [esp + 0x180], eax
mov eax, edx
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017263
push 8
mov dword [esp + 0x1e4], ecx
mov eax, edx
pop ecx
push 0x56
pop edi
mov dword [esp + 0x30], 6
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0xffffffab
sub ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10017290
push 0x12
mov dword [esp + 0x1cc], ecx
mov eax, edx
pop ecx
mov dword [esp + 0x30], 0x21
mov dword [esp + 0x34], 5
mov dword [esp + 0x38], 0xffffffc8
add ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x100172be
mov eax, 0x160000
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0xac], eax
mov edi, edx
mov dword [esp + 0x14], 0x5b
mov dword [esp + 0x18], 0x62
mov dword [esp + 0x1c], 0xd
mov dword [esp + 0x20], 0x13ff36
push 0x45
mov ecx, str.Expecting_a_property_selector
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x1001731f
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10017305
jmp 0x10017325
and esi, 0x7c3fe3c3
mov eax, dword [esp + 0xac]
and esi, 0x3b2448f1
sub eax, dword [esp + edi*4 + 0x14]
inc edi
mov dword [esp + 0xac], eax
cmp edi, 4
jl 0x100172fd
mov edi, dword [esp + 0x40]
and esi, 0xbcac8a20
mov dword [esp + 0x14], 0x4e
mov edx, 0xfce
mov dword [esp + 0x18], 0x15
mov eax, str.SuggestedSites.dat
mov dword [esp + 0x1c], 0x29
mov ecx, edi
mov dword [esp + 0x20], 0xffffff74
test edi, edi
je 0x10017397
add edx, ecx
inc eax
cmp edx, 0x565
ja 0x10017391
movzx ecx, byte [eax]
test ecx, ecx
jne 0x1001737d
jmp 0x10017397
imul esi, esi, 0xc3690e71
add esi, 0xd4dde97b
and esi, 0xc8a55cc1
mov dword [0x1002c09c], esi
call fcn.10014bfa
mov al, byte [str.RtlInitUnicodeString]
mov ecx, str.RtlInitUnicodeString
test al, al
je 0x100173d4
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x100173ce
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100173bf
jmp 0x100173d4
or esi, 0x9c373445
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 0x41
sub esi, 0x56d8561b
movaps xmm1, xmm2
mov dword [0x1002c09c], esi
psubd xmm1, xmm0
mov dword [esp + 0x18], 0x19
movaps xmm0, xmm1
mov dword [esp + 0x20], 0x3f
psrldq xmm0, 8
xor edx, edx
paddd xmm1, xmm0
mov dword [esp + 0x24], 0xffffff50
movups xmm0, xmm1
mov ecx, edx
push 0x17
psrldq xmm0, 4
pop eax
paddd xmm1, xmm0
mov dword [esp + 0x1c], eax
movd dword [esp + 0x1d4], xmm1
mov eax, edx
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x1001743a
push 0x39
mov dword [esp + 0x1e8], ecx
mov eax, edx
pop ecx
mov dword [esp + 0x30], 0xd
mov dword [esp + 0x34], 0xe
mov dword [esp + 0x38], 0xffffffac
add ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10017468
mov dword [esp + 0x1ec], ecx
mov eax, edx
inc eax
cmp eax, 0x1616
jg 0x1001749a
cmp byte [eax + str.KxECDHE_PSK], dl
jne 0x1001747b
cmp eax, 0x10d2
jg 0x100174ad
add esi, 0x51796cef
jmp 0x100174c0
push ecx
call fcn.100162e6
or esi, 0x418aabd8
pop ecx
mov dword [0x1002c09c], esi
push ecx
push str.app.subscriptions.OnSubscriptionInserted
call fcn.10014b69
pop ecx
pop ecx
xor esi, 0x12837925
call fcn.1001543e
add esi, 0x50fc7b3e
mov dword [esp + 0x30], 0x61
and esi, 0xd955b985
mov dword [esp + 0x34], 0x27
or esi, 0x1854a980
mov dword [esp + 0x38], 0x2fff78
mov ecx, 0x340000
xor eax, eax
sub ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x100174f6
mov dword [esp + 0x1f4], ecx
mov edx, 0x1859
mov eax, str.SuggestedSites.dat
mov ecx, edi
test edi, edi
je 0x1001753c
add edx, ecx
inc eax
cmp edx, 0x123c
ja 0x10017531
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10017517
xor esi, 0x593bde95
jmp 0x10017542
call fcn.1001649b
sub esi, 0x24a1a453
or esi, 0x20a0926a
call fcn.10015933
and esi, 0x608a1fa6
mov dword [esp + 0x30], 0xe
imul ecx, esi, 0x905174c0
mov dword [esp + 0x34], 0x10
mov dword [esp + 0x38], 0xffffffe2
and ecx, 0xf239c4b0
xor eax, eax
mov edx, eax
sub edx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10017575
imul esi, ecx, 0xded937a
xor eax, eax
mov dword [esp + 0x1f0], edx
mov edx, eax
mov dword [esp + 0x30], 0x15
mov dword [esp + 0x34], 0x1f
mov dword [esp + 0x38], 0xffffffcc
or esi, 0xc1816202
sub esi, 0x5a89274
sub edx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x100175b4
mov al, byte [str.app.subscriptions.OnSubscriptionInserted]
mov ecx, str.app.subscriptions.OnSubscriptionInserted
mov dword [esp + 0x1c4], edx
test al, al
je 0x100175eb
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x100175e5
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100175d6
jmp 0x100175eb
sub esi, 0x7fa24c01
push 0x47
pop edx
push 0x63
pop eax
mov dword [esp + 0x14], edx
and esi, 0x930e4271
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0xffffff55
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x18], edx
xor edx, edx
push 9
psubd xmm2, xmm0
mov dword [esp + 0x20], eax
movaps xmm0, xmm2
mov dword [esp + 0x18], 4
psrldq xmm0, 8
mov eax, edx
paddd xmm2, xmm0
mov dword [esp + 0x24], 0x26
movups xmm0, xmm2
mov dword [esp + 0x28], 0xffffff34
psrldq xmm0, 4
paddd xmm2, xmm0
movd dword [esp + 0x1c4], xmm2
pop ecx
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017660
mov dword [esp + 0x17c], ecx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x30], 0x63
mov dword [esp + 0x34], 0x35
mov dword [esp + 0x38], 0xffffff68
sub ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x1001768d
push 0x40
and esi, 0x33b4d312
mov dword [esp + 0x1a8], ecx
pop ecx
mov dword [esp + 0x10], esi
mov eax, edx
mov dword [esp + 0x4c], 0x1e
mov dword [esp + 0x50], 0xffffffa3
add ecx, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, 2
jl 0x100176bd
mov esi, str.Some_apps_updated
mov dword [esp + 0x148], ecx
lea edi, [esp + 0x14]
mov dword [esp + 0xc4], 0xd87e2dd0
push 0x17
pop eax
movsd dword es:[edi], dword [esi]
mov byte [esp + 0xd1], al
mov eax, edx
mov dword [esp + 0xc8], 0xb0479dc7
mov dword [esp + 0xcc], 0xbc6db233
movsd dword es:[edi], dword [esi]
mov byte [esp + 0xd0], 1
mov dword [esp + 0x48], edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x10]
xor esi, 0x12c60c1f
mov byte [esp + eax + 0x218], al
inc eax
cmp eax, 0x100
jb 0x10017720
mov edi, edx
xor edx, edx
mov cl, byte [esp + edi + 0x218]
mov eax, edi
mov byte [esp + 0xf], cl
div dword [esp + 0x2c]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x14]
add eax, dword [esp + 0x48]
add ecx, eax
and esi, 0x388d24d8
movzx edx, cl
mov ecx, str.RtlInitUnicodeString
mov dword [esp + 0x48], edx
mov al, byte [esp + edx + 0x218]
mov byte [esp + edi + 0x218], al
mov al, byte [str.RtlInitUnicodeString]
jmp 0x10017782
sub al, 0x30
cmp al, 9
ja 0x10017788
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10017779
jmp 0x1001778e
and esi, 0xf56b32
mov al, byte [esp + 0xf]
add esi, 0xce02df26
inc edi
mov byte [esp + edx + 0x218], al
cmp edi, 0x100
jb 0x10017731
xor ecx, ecx
or esi, 0x83089d7c
mov dword [esp + 0x10], ecx
mov eax, ecx
mov dword [0x1002c09c], esi
mov edi, ecx
inc eax
movzx eax, al
mov dword [esp + 0x28], eax
mov cl, byte [esp + eax + 0x218]
mov eax, dword [esp + 0x10]
movzx edx, cl
add eax, edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x28]
movzx eax, al
mov dword [esp + 0x10], eax
mov al, byte [esp + eax + 0x218]
mov byte [esp + edx + 0x218], al
mov eax, dword [esp + 0x10]
mov byte [esp + eax + 0x218], cl
mov eax, edx
mov edx, 0x1e9e
mov ecx, str.app.subscriptions.OnSubscriptionInserted
movzx eax, byte [esp + eax + 0x218]
add eax, dword [esp + 0x44]
movzx eax, al
mov al, byte [esp + eax + 0x218]
mov byte [esp + 0xf], al
movzx eax, byte [str.app.subscriptions.OnSubscriptionInserted]
test eax, eax
je 0x10017855
add edx, eax
inc ecx
cmp edx, 0x132
ja 0x10017849
movzx eax, byte [ecx]
test eax, eax
jne 0x1001782f
or esi, 0x649b09f6
jmp 0x10017862
sub esi, 0x294b5173
mov dword [0x1002c09c], esi
push ecx
call fcn.10014bb2
pop ecx
xor esi, 0xc01d25db
add esi, 0x231c2b6f
mov dword [0x1002c09c], esi
call fcn.10014cb1
xor eax, eax
cmp byte [str.app.subscriptions.OnSubscriptionInserted], al
je 0x100178a3
inc eax
cmp eax, 0xde5
jl 0x10017890
cmp byte [eax + str.app.subscriptions.OnSubscriptionInserted], 0
jne 0x1001787d
jmp 0x100178a3
push ecx
push str.app.subscriptions.OnSubscriptionInserted
call fcn.10014b69
pop ecx
pop ecx
sub esi, 0x46e2b88b
mov eax, str.RtlInitUnicodeString
add esi, 0x33f8cfa3
xor esi, 0x2b3232ef
mov edx, eax
mov ecx, eax
mov dword [0x1002c09c], esi
call fcn.10016303
mov al, byte [esp + edi + 0xc4]
xor al, byte [esp + 0xf]
mov byte [esp + edi + 0x318], al
inc edi
mov eax, dword [esp + 0x28]
cmp edi, 0xe
jb 0x100177be
push 0x11
pop eax
mov dword [esp + 0x10], esi
lea edi, [esp + 0x84]
push 7
pop ecx
mov esi, str.PERFORMANCEOPTIMIZERPROGRESS
mov byte [esp + 0x119], al
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [esp + 0x10c], 0xa77d22bb
mov byte [esp + 0x326], dl
mov eax, edx
mov dword [esp + 0x110], 0x7c694f3f
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x114], 0x260b78db
mov edi, edx
mov byte [esp + 0x118], 0xd4
mov dword [esp + 0x11a], 0xa1d88046
mov dword [esp + 0x11e], 0xf5c886a8
mov dword [esp + 0x122], 0x49db6773
mov dword [esp + 0x126], 0xea4b8d
mov dword [esp + 0x12a], 0x18d73e69
mov dword [esp + 0x12e], 0x2c75b4fb
mov dword [esp + 0x132], 0xffc07b54
mov byte [esp + eax + 0x218], al
inc eax
cmp eax, 0x100
jb 0x10017986
mov esi, edx
mov dword [esp + 0x44], 0x1c
xor edx, edx
mov cl, byte [esp + esi + 0x218]
mov eax, esi
mov byte [esp + 0xf], cl
div dword [esp + 0x44]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x84]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x218]
mov byte [esp + esi + 0x218], al
inc esi
mov al, byte [esp + 0xf]
mov byte [esp + edi + 0x218], al
cmp esi, 0x100
jb 0x1001799f
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov edx, ecx
mov dword [esp + 0x48], ecx
mov edi, ecx
lea eax, [edi + 1]
movzx edi, al
mov al, byte [esp + edi + 0x218]
mov byte [esp + 0xf], al
movzx eax, al
add eax, edx
cmp byte [str.SuggestedSites.dat], 0
movzx eax, al
mov dword [esp + 0x44], eax
mov al, byte [esp + eax + 0x218]
mov byte [esp + edi + 0x218], al
mov eax, ecx
je 0x10017a4a
inc eax
cmp eax, 0x1a3
jg 0x10017a3d
cmp byte [eax + str.SuggestedSites.dat], 0
jne 0x10017a2a
jmp 0x10017a4a
push ecx
call fcn.100163df
pop ecx
imul esi, esi, 0xad34a793
imul eax, esi, 0x9f0427e
mov ecx, str.app.subscriptions.OnSubscriptionInserted
mov esi, 0xde6a98d5
sub esi, eax
mov dword [0x1002c09c], esi
call fcn.1001561b
mov edx, dword [esp + 0x44]
add esi, 0x785d7b62
mov al, byte [esp + 0xf]
push 0
mov dword [0x1002c09c], esi
mov byte [esp + edx + 0x21c], al
movzx ecx, byte [esp + edi + 0x21c]
movzx eax, al
add ecx, eax
movzx eax, cl
mov ecx, dword [esp + 0x4c]
mov al, byte [esp + eax + 0x21c]
xor al, byte [esp + ecx + 0x110]
movzx eax, al
mov word [esp + ecx*2 + 0x3dc], ax
inc ecx
mov dword [esp + 0x4c], ecx
cmp ecx, 0x2a
pop ecx
jb 0x100179f4
mov dword [esp + 0x14], 0x22
xorps xmm1, xmm1
mov dword [esp + 0x18], 0xa
and esi, 0x8bf47fdc
mov dword [esp + 0x1c], 0x35
xor eax, eax
mov dword [esp + 0x20], 0xffffff9f
sub esi, 0x6752e57d
movups xmm0, xmmword [esp + 0x14]
xor edx, edx
mov word [esp + 0x42c], ax
mov ecx, edx
mov dword [esp + 0x14], 0x58
psubd xmm1, xmm0
mov dword [esp + 0x18], 0x31
movaps xmm0, xmm1
mov dword [esp + 0x1c], 0x27
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x20], 0x36
movups xmm0, xmm1
mov dword [esp + 0x24], 0xffffff1a
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [esp + 0x168], xmm1
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017b4f
push 2
pop edi
mov dword [esp + 0x198], ecx
xor esi, 0x74f1d403
mov ecx, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0x51
mov eax, edx
mov dword [esp + 0x1c], 0x61
mov dword [esp + 0x20], 0x4d
mov dword [esp + 0x24], 0xfffffeff
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017b91
push 0x4e
mov dword [esp + 0x198], ecx
mov eax, edx
pop ecx
mov dword [esp + 0x4c], 0x49
mov dword [esp + 0x50], 0xffffff6a
add ecx, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, edi
jl 0x10017bb7
push 0x20
mov dword [esp + 0x194], ecx
sub esi, 0xfdbb4b4
pop ecx
mov dword [esp + 0x30], 5
mov eax, edx
mov dword [esp + 0x34], 0x39
mov dword [esp + 0x38], 0xffffffde
sub ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10017bea
push 0x48
mov dword [esp + 0x190], ecx
mov edx, 0xcc3
mov ecx, dword [esp + 0x44]
mov eax, str.SuggestedSites.dat
pop edi
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x18], 0x2e
mov dword [esp + 0x1c], 6
mov dword [esp + 0x20], 0x2b
mov dword [esp + 0x24], 0xffffffc1
jmp 0x10017c44
add edx, ecx
inc eax
cmp edx, 0x344
ja 0x10017c4a
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10017c36
jmp 0x10017c55
call fcn.10015c62
sub esi, 0x7c903e49
imul esi, esi, 0x79dfe1d2
or esi, 0x2713fbbb
add esi, 0x2fdd5f29
xor ecx, ecx
mov eax, ecx
sub edi, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017c6b
push 0x51
pop edx
push 0x11
pop eax
mov dword [esp + 0x188], edi
mov edi, edx
mov dword [esp + 0x14], eax
mov al, byte [str.app.subscriptions.OnSubscriptionInserted]
mov dword [esp + 0x18], edx
mov edx, ecx
mov dword [esp + 0x1c], 0xd
mov dword [esp + 0x20], 0xffffff40
mov ecx, str.app.subscriptions.OnSubscriptionInserted
test al, al
je 0x10017cc6
sub al, 0x30
cmp al, 9
ja 0x10017cbb
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10017cac
jmp 0x10017cc1
and esi, 0x86bc75b8
mov al, byte [str.app.subscriptions.OnSubscriptionInserted]
add edi, dword [esp + edx*4 + 0x14]
or esi, 0x8cf592a1
inc edx
cmp edx, 4
jl 0x10017ca3
mov dword [esp + 0x184], edi
mov edx, 0x10ba
movzx edi, byte [str.app.subscriptions.OnSubscriptionInserted]
mov eax, str.app.subscriptions.OnSubscriptionInserted
mov dword [esp + 0xb0], 0x29
mov ecx, edi
mov dword [esp + 0x44], edi
test edi, edi
je 0x10017d19
add edx, ecx
inc eax
cmp edx, 0x21f1
ja 0x10017e28
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10017d03
lea eax, [esi - 0xfee5f34]
mov edx, dword [esp + 0xb0]
add eax, 0xc0f61d3e
mov dword [esp + 0x4c], 0x43
xor ecx, ecx
mov dword [esp + 0x50], 0xffffff94
add edx, dword [esp + ecx*4 + 0x4c]
inc ecx
cmp ecx, 2
jl 0x10017d3d
push 0xc
xor eax, 0xbd98e55
mov dword [esp + 0xb4], edx
pop ecx
mov dword [esp + 0x10], eax
xor edx, edx
push 0x1c
pop eax
mov dword [esp + 0x14], eax
mov eax, edx
mov dword [esp + 0x18], 0x29
mov dword [esp + 0x1c], 0x41
mov dword [esp + 0x20], 0x37
mov dword [esp + 0x24], 0xffffff4e
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10017d85
push 0x16
pop eax
push 0x11
mov byte [esp + 0x96], al
lea edi, [esp + 0x110]
pop eax
mov dword [esp + 0xb4], ecx
mov esi, str.Extensions_in_proto3_are_only_allowed_for_defining_options.
push 0xf
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], 0x24d88880
mov edi, edx
mov dword [esp + 0x88], 0x85637a32
mov dword [esp + 0x8c], 0x5eeb3378
mov word [esp + 0x90], 0x7d27
mov byte [esp + 0x93], al
mov dword [esp + 0x94], 0xd102221d
mov dword [esp + 0x98], 0x6ba3ab78
mov dword [esp + 0x9c], 0x42a71891
mov byte [esp + 0xa0], 0x61
inc edi
cmp edi, 0x21d9
jl 0x10017e3e
cmp byte [edi + str.KxECDHE_PSK], dl
jne 0x10017e11
mov esi, dword [esp + 0x10]
jmp 0x10017e55
imul esi, esi, 0xc07f4ec2
call fcn.10015339
lea eax, [esi + 0x706c5acb]
jmp 0x10017d1f
call fcn.10015810
mov esi, dword [esp + 0x10]
sub esi, 0x56ba98a5
cmp edi, 0x109d
jle 0x10017e5a
call fcn.10015ea7
movzx edi, byte [str.RtlInitUnicodeString]
and esi, 0xf73dfd7f
or esi, 0xd43cac0f
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], eax
mov edx, 0xdcc
mov eax, str.RtlInitUnicodeString
mov ecx, edi
test edi, edi
je 0x10017ea6
add edx, ecx
inc eax
cmp edx, 0x2fe
ja 0x10017e9b
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10017e87
jmp 0x10017ea6
call fcn.100151e9
and esi, 0x66cfc3fb
mov eax, dword [esp + 0x48]
add esi, 0xfd775605
or esi, 0x7ef09b5b
mov byte [esp + eax + 0x218], al
inc eax
mov dword [esp + 0x48], eax
cmp eax, 0x100
jb 0x10017e77
xor edi, edi
push 9
add esi, 0xba77526d
mov ecx, str.KxECDHE_PSK
mov al, 0x4b
pop edx
sub al, 0x30
cmp al, dl
ja 0x10017eea
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10017edb
jmp 0x10017ef0
imul esi, esi, 0x6ebc572d
add esi, 0x4dd2983e
mov dword [0x1002c09c], esi
call fcn.10015185
xor edx, edx
mov cl, byte [esp + edi + 0x218]
mov eax, edi
mov byte [esp + 0xf], cl
div dword [esp + 0x5c]
movzx ecx, cl
or esi, 0x63fe73c9
add esi, 0xa0f25f19
movzx eax, byte [esp + edx + 0x10c]
add eax, dword [esp + 0x2c]
add ecx, eax
movzx ecx, cl
mov dword [esp + 0x2c], ecx
mov al, byte [esp + ecx + 0x218]
mov byte [esp + edi + 0x218], al
inc edi
mov al, byte [esp + 0xf]
mov byte [esp + ecx + 0x218], al
cmp edi, 0x100
jb 0x10017ecb
mov edi, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x5c], eax
mov edx, 0x7b0
mov dword [esp + 0x28], eax
mov eax, str.SuggestedSites.dat
mov ecx, edi
test edi, edi
je 0x10017f9b
add edx, ecx
inc eax
push 0x3b
pop ecx
cmp edx, ecx
ja 0x10017f95
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10017f7c
or esi, 0xf33ffae0
jmp 0x10017fa6
xor esi, 0x25b94837
call fcn.10015a3e
xor esi, 0x12f72568
xor edi, edi
and esi, 0xe6b560f3
mov eax, dword [esp + 0x28]
xor esi, 0x25e16d4b
inc eax
mov dword [esp + 0x10], esi
movzx eax, al
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x28]
mov cl, byte [esp + eax + 0x218]
mov eax, dword [esp + 0x5c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x5c], eax
mov al, byte [esp + eax + 0x218]
mov byte [esp + esi + 0x218], al
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x218], cl
mov eax, esi
mov esi, dword [esp + 0x10]
movzx eax, byte [esp + eax + 0x218]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x218]
xor al, byte [esp + edi + 0x84]
mov byte [esp + edi + 0x60], al
inc edi
cmp edi, 0x1d
jb 0x10017fae
mov edx, dword [esp + 0x44]
mov ecx, 0x1722
imul esi, esi, 0xd991271
mov eax, str.app.subscriptions.OnSubscriptionInserted
jmp 0x1001804b
add ecx, edx
inc eax
cmp ecx, 0x1df7
ja 0x100180f7
movzx edx, byte [eax]
test edx, edx
jne 0x10018039
or esi, 0x112fd092
call fcn.10015810
mov dword [esp + 0x14], 0x25
xor edx, edx
mov dword [esp + 0x18], 2
mov edi, edx
mov dword [esp + 0x1c], 0x3d
mov dword [esp + 0x20], 0xffffff55
movups xmm1, xmmword [esp + 0x14]
push 0x5a
pop ecx
movaps xmm0, xmm1
mov byte [esp + 0x7d], dl
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x10], ecx
movups xmm0, xmm1
mov dword [esp + 0x4c], 0x2a
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x50], 0xffffff84
movd eax, xmm1
add eax, 0x47
imul esi, esi, 0x368e882c
mov dword [esp + 0xec], eax
push 0x4b
imul esi, esi, 0xa6f79652
mov edx, 0x1bc5
mov eax, str.KxECDHE_PSK
pop ecx
add edx, ecx
inc eax
cmp edx, 0xe63
ja 0x10018108
movsx ecx, byte [eax]
test ecx, ecx
jne 0x100180dd
add esi, 0x1a8c7805
jmp 0x10018119
and esi, 0xb45a09a
add esi, 0xa4c76e0
jmp 0x10018055
call fcn.10016038
xor esi, 0x3f54b048
add esi, 0x7351ff00
push ecx
add esi, 0x20aa6a0d
push ecx
mov dword [0x1002c09c], esi
call fcn.100155e6
mov eax, dword [esp + 0x18]
add eax, dword [esp + edi*4 + 0x54]
inc edi
mov dword [esp + 0x18], eax
pop ecx
pop ecx
cmp edi, 2
jl 0x100180ca
mov edx, dword [esp + 0x40]
mov ecx, 0x163
mov dword [esp + 0x14], 0xd
mov eax, str.SuggestedSites.dat
mov dword [esp + 0x18], 0x4e
mov dword [esp + 0x1c], 0x1f
mov dword [esp + 0x20], 0xffffff61
jmp 0x1001817e
add ecx, edx
inc eax
cmp ecx, 0x2635
ja 0x100181f0
movzx edx, byte [eax]
test edx, edx
jne 0x10018170
or esi, 0x1b6b3ad2
xor esi, 0x908c973
mov ecx, str.KxECDHE_PSK
mov dword [0x1002c09c], esi
call fcn.1001561b
movups xmm1, xmmword [esp + 0x14]
push 8
pop edx
movaps xmm0, xmm1
mov dword [esp + 0x30], 0x27
psrldq xmm0, 8
mov ecx, str.RtlInitUnicodeString
paddd xmm1, xmm0
mov dword [esp + 0x34], 0x33
movups xmm0, xmm1
mov dword [esp + 0x38], 0xffffff9e
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x25
mov dword [esp + 0xf0], eax
mov al, byte [str.RtlInitUnicodeString]
jmp 0x10018207
imul esi, esi, 0xe7521958
add esi, 0x3ee8c5d4
jmp 0x10018188
sub al, 0x30
cmp al, 9
ja 0x1001820d
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100181fe
jmp 0x10018213
add esi, 0x2fdcf5ee
xor ecx, ecx
mov eax, ecx
add edx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10018217
mov dword [esp + 0x14], 0x51
mov edi, ecx
mov dword [esp + 0x18], 0x35
mov dword [esp + 0x1c], 0x29
mov dword [esp + 0x20], 0xfffffefa
movups xmm1, xmmword [esp + 0x14]
mov dword [esp + 0x14], 0x42
mov dword [esp + 0x18], 0x1a
movaps xmm0, xmm1
mov dword [esp + 0x1c], 0x37
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x20], 0xffffff4f
movups xmm0, xmm1
mov dword [esp + 0xf4], edx
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [esp + 0x14]
push 0x3b
add eax, 0x5b
mov dword [esp + 0x18], 0x2f
movaps xmm0, xmm1
mov dword [esp + 0xfc], eax
psrldq xmm0, 8
lea eax, [esi - 0x44b655d]
paddd xmm1, xmm0
imul esi, eax, 0xa950de76
movups xmm0, xmm1
mov dword [esp + 0x20], 0x50
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x24], 0xbf46
movd eax, xmm1
add eax, 0x1e
mov dword [esp + 0xe4], eax
mov eax, 0xd000
mov dword [esp + 0x2c], eax
pop eax
mov dword [esp + 0x18], eax
push 9
mov ecx, str.KxECDHE_PSK
mov al, 0x4b
pop edx
sub al, 0x30
cmp al, dl
ja 0x1001830d
inc ecx
mov al, byte [ecx]
test al, al
jne 0x100182fe
jmp 0x10018313
sub esi, 0x23e3267c
mov eax, str.app.subscriptions.OnSubscriptionInserted
mov edx, eax
mov ecx, eax
call fcn.10016303
mov edx, dword [esp + 0x28]
or esi, 0x7d632510
sub edx, dword [esp + edi*4 + 0x14]
xor esi, 0xc23e0494
imul esi, esi, 0x916c4143
inc edi
mov dword [esp + 0x28], edx
cmp edi, 4
jl 0x100182f4
mov edi, str.KxECDHE_PSK
mov al, 0x4b
push 9
mov ecx, edi
pop edx
sub al, 0x30
cmp al, dl
ja 0x10018360
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10018351
jmp 0x10018366
or esi, 0xb27b6fba
sub esi, 0x3fff5fc6
push ecx
mov dword [0x1002c09c], esi
call fcn.100162e6
pop ecx
push 0x4b
mov edx, 0x1f57
mov eax, edi
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1b8e
ja 0x10018397
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10018383
jmp 0x1001839d
add esi, 0x7ece65e3
xor esi, 0x110
mov dword [esp + 0x4c], 0x21
or esi, 0xbd576aeb
mov dword [esp + 0x50], 0x1fc2
xor edx, edx
push 0x1d
mov eax, edx
pop ecx
add ecx, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, 2
jl 0x100183c0
mov dword [esp + 0xdc], ecx
mov ecx, edx
imul eax, esi, 0x591e3de1
cmp byte [str.app.subscriptions.OnSubscriptionInserted], cl
je 0x100183f6
inc ecx
cmp ecx, 0x902
jg 0x100184b9
cmp byte [ecx + str.app.subscriptions.OnSubscriptionInserted], dl
jne 0x100183e1
xor eax, 0x5df22bb5
lea esi, [eax - 0x2d10b4e7]
mov dword [esp + 0x30], 0x39
or esi, 0x613b9e30
mov dword [esp + 0x34], 0x59
push 0x34
mov dword [0x1002c09c], esi
mov eax, edx
pop ecx
mov dword [esp + 0x38], 0xffffff7a
add ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x1001842a
push 8
mov dword [esp + 0xdc], ecx
mov eax, edx
pop ecx
mov dword [esp + 0x30], 0xe
mov dword [esp + 0x34], 0x2a
mov dword [esp + 0x38], 0xffffffc0
add ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10018458
mov dword [esp + 0xa4], ecx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x30], 0x5a
mov dword [esp + 0x34], 0x5e
mov dword [esp + 0x38], 0xffffff48
sub ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10018485
movzx eax, byte [str.SuggestedSites.dat]
mov edx, 0x1aff
push 2
mov dword [esp + 0x30], ecx
mov ecx, str.SuggestedSites.dat
pop edi
mov dword [esp + 0x4c], 0x13
mov dword [esp + 0x50], 0xfffffff0
jmp 0x100184e2
sub eax, 0x591c629
cmp ecx, 0x1412
jle 0x100183f6
add eax, 0x7f3d4fa6
jmp 0x100183fb
add edx, eax
inc ecx
cmp edx, 0xaa2
ja 0x100184e8
movzx eax, byte [ecx]
test eax, eax
jne 0x100184d4
jmp 0x100184f5
push ecx
call fcn.100162e6
pop ecx
imul esi, esi, 0xe4f01a03
call fcn.10014fcf
and esi, 0xccd2cfd5
imul ecx, esi, 0x85e169b7
or ecx, 0x7cb64e77
xor eax, eax
add edi, dword [esp + eax*4 + 0x4c]
inc eax
cmp eax, 2
jl 0x1001850e
xor eax, eax
mov dword [esp + 0xbc], edi
mov edx, eax
mov dword [esp + 0x30], 0x34
mov dword [esp + 0x34], 0x5a
mov dword [esp + 0x38], 0xffffff72
cmp byte [str.app.subscriptions.OnSubscriptionInserted], al
je 0x10018562
inc eax
cmp eax, 0x1895
jg 0x10018606
cmp byte [eax + str.app.subscriptions.OnSubscriptionInserted], dl
jne 0x10018543
cmp eax, 0xf1e
jg 0x1001860c
lea esi, [ecx + 0x7eb0c2ff]
add esi, 0xe22d3929
xor eax, eax
sub edx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x10018570
mov dword [esp + 0x48], edx
xor edx, edx
push 0x2e
mov dword [esp + 0x34], 0x2d
mov eax, edx
mov dword [esp + 0x38], 0x35
mov dword [esp + 0x3c], 0xffffff70
pop ecx
add ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x1001859d
push 0x3b
pop eax
mov dword [esp + 0x1e8], ecx
mov ecx, edx
mov dword [esp + 0x30], eax
mov eax, edx
mov dword [esp + 0x34], 0x3a
mov dword [esp + 0x38], 0xffffff8b
sub ecx, dword [esp + eax*4 + 0x30]
inc eax
cmp eax, 3
jl 0x100185c9
movzx eax, byte [str.app.subscriptions.OnSubscriptionInserted]
mov edx, 0x11c1
mov dword [esp + 0x4c], ecx
mov ecx, str.app.subscriptions.OnSubscriptionInserted
test eax, eax
je 0x10018622
add edx, eax
inc ecx
cmp edx, 0x113
ja 0x10018617
add ecx, 0x541d7b11
imul esi, ecx, 0x35cc9e96
jmp 0x10018568
or esi, 0xa6e80329
push ecx
lea edx, [esi - 0x69273d15]
push ecx
mov dword [0x1002c09c], edx
call fcn.100155e6
pop ecx
pop ecx
mov cl, byte [str.RtlInitUnicodeString]
xor eax, eax
test cl, cl
je 0x1001866b