Function at 0xc6a838
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x294
push ebx
push esi
push edi
mov esi, 0xc6f258
mov dword [ebp - 0x88], edx
lea edi, [ebp - 0x50]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x18], 0xbea2d5d2
mov ebx, 0x100
mov dword [ebp - 0x14], 0xe7be09be
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0xadfdfe5a
mov dword [ebp - 0xc], 0x7911e7f9
mov dword [ebp - 8], 0xda533034
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], 0x28caff89
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, ebx
jb 0xc6a88b
xor esi, esi
mov dl, byte [ebp + esi - 0x188]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x50]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov byte [ebp + edi - 0x188], dl
cmp esi, ebx
jb 0xc6a899
and dword [ebp - 0x38], 0
xor ebx, ebx
mov edx, dword [0xc78c3c]
and dword [ebp - 0x44], ebx
mov dword [ebp - 0x30], edx
mov esi, 0xc70310
lea edi, [ebp - 0x78]
lea eax, [ebx + 1]
xor ebx, ebx
movzx eax, al
mov dword [ebp - 0x40], eax
mov al, byte [str.hresult]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp al, byte [ebp - 0x78]
jne 0xc6a922
test al, al
je 0xc6a91f
cmp byte [ebp + ebx - 0x78], 0
je 0xc6a91f
call fcn.00c67f6c
mov al, byte [ebx + 0xc78c75]
inc ebx
cmp al, byte [ebp + ebx - 0x78]
je 0xc6a902
mov edx, dword [ebp - 0x30]
movzx eax, byte [ebp + ebx - 0x78]
movzx ecx, byte [ebx + str.hresult]
sub ecx, eax
cmp ecx, 0xcad
jae 0xc6a948
xor edx, 0x3d6d4899
mov dword [ebp - 0x30], edx
call fcn.00c67b1d
jmp 0xc6a958
imul edx, edx, 0xeff23eaf
mov ecx, edx
mov dword [ebp - 0x30], edx
call fcn.00c670ac
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov cl, byte [ebp + ebx - 0x188]
movzx edx, cl
add eax, edx
movzx esi, al
mov dword [ebp - 0x38], esi
mov al, byte [ebp + esi - 0x188]
mov byte [ebp + ebx - 0x188], al
mov byte [ebp + esi - 0x188], cl
movzx eax, byte [ebp + ebx - 0x188]
mov ecx, dword [ebp - 0x44]
add eax, edx
mov edx, dword [ebp - 0x30]
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + ecx - 0x18]
mov byte [ebp + ecx - 0x1c4], al
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 0x18
jb 0xc6a8e0
push 0x14
pop eax
push 5
pop ecx
mov esi, 0xc736b8
mov byte [ebp - 0xf], al
lea edi, [ebp - 0x7c]
mov byte [ebp - 0x1ac], 0
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x133f8269
mov dword [ebp - 0x14], 0x94ee31e3
mov byte [ebp - 0x10], 5
movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [ebp - 0xe], 0x94a3c1be
mov dword [ebp - 0xa], 0xde7b0e57
xor eax, eax
mov dword [ebp - 6], 0xc9a84a13
mov word [ebp - 2], 0x58ac
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, 0x100
jb 0xc6aa03
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x188]
push 0x14
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x7c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov byte [ebp + edi - 0x188], bl
cmp esi, 0x100
jb 0xc6aa14
and dword [ebp - 0x34], 0
xor ebx, ebx
mov esi, dword [ebp - 0x30]
xor edi, edi
lea eax, [ebx + 1]
imul esi, esi, 0x6056f48f
movzx ebx, al
mov eax, dword [ebp - 0x34]
mov cl, byte [ebp + ebx - 0x188]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x34], eax
mov al, byte [ebp + eax - 0x188]
mov byte [ebp + ebx - 0x188], al
mov eax, dword [ebp - 0x34]
mov byte [ebp + eax - 0x188], cl
movzx eax, byte [ebp + ebx - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + edi - 0x18]
mov byte [ebp + edi - 0x1e0], al
inc edi
cmp edi, 0x18
jb 0xc6aa5c
mov dword [ebp - 0x30], esi
lea edi, [ebp - 0x1a8]
push 7
pop ecx
mov esi, str.resource_unavailable_try_again
mov byte [ebp - 0x1c8], 0
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0xe0fc57d6
mov dword [ebp - 0x14], 0xd3376dd3
mov dword [ebp - 0x10], 0x68708c52
movsw word es:[edi], word [esi]
mov dword [ebp - 0xc], 0xd9e93d6f
mov dword [ebp - 8], 0x9349867e
mov dword [ebp - 4], 0x65bf0a68
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, 0x100
jb 0xc6ab05
push 0x1e
xor esi, esi
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x188]
mov eax, esi
div ecx
movzx ecx, bl
push 0x1e
movzx eax, byte [ebp + edx - 0x1a8]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov byte [ebp + edi - 0x188], bl
cmp esi, 0x100
jb 0xc6ab19
mov esi, 0xc739c8
lea edi, [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x38], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x50], 0x6f
jne 0xc6ab8e
mov cl, 0x6f
test cl, cl
je 0xc6ab8b
cmp byte [ebp + eax - 0x50], 0
je 0xc6ab8b
mov cl, byte [eax + 0xc76791]
inc eax
cmp cl, byte [ebp + eax - 0x50]
je 0xc6ab73
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
mov ecx, str.onecoreuap_base_appmodel_searchcommonpkmutillurl.cxx
mov edx, ebx
call fcn.00c67de7
mov ecx, dword [ebp - 0x38]
movzx eax, byte [ebp + ecx - 0x50]
movzx ecx, byte [ecx + str.onecoreuap_base_appmodel_searchcommonutils_regredirect.cxx]
sub ecx, eax
cmp ecx, 0x147
jbe 0xc6abc3
call fcn.00c6710f
and ebx, 0x719f7d84
jmp 0xc6abd3
mov ecx, str.GlobalCollection
call fcn.00c67462
and ebx, 0x170f2c86
and dword [ebp - 0x34], 0
and dword [ebp - 0x38], 0
xor edi, edi
xor esi, esi
call fcn.00c67b1d
xor ebx, 0x4652f62a
inc esi
cmp byte [esi + str.GlobalCollection], 0
jne 0xc6abdf
cmp esi, 0x22b2
jbe 0xc6ac09
add ebx, 0x94048964
call fcn.00c66c96
jmp 0xc6ac20
and ebx, 0x6501674f
mov dword [0xc78c3c], ebx
call fcn.00c672a8
mov ebx, dword [0xc78c3c]
mov eax, dword [ebp - 0x38]
inc eax
movzx esi, al
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], esi
mov cl, byte [ebp + esi - 0x188]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x34], eax
mov al, byte [ebp + eax - 0x188]
mov byte [ebp + esi - 0x188], al
mov eax, dword [ebp - 0x34]
mov byte [ebp + eax - 0x188], cl
movzx eax, byte [ebp + esi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + edi - 0x18]
mov byte [ebp + edi - 0x1fc], al
inc edi
cmp edi, 0x18
jb 0xc6abdd
mov edx, ebx
mov ecx, str.wrong_protocol_type
call fcn.00c67de7
xor edi, edi
imul ebx, ebx, 0xc90a2237
inc edi
cmp byte [edi + str.onecoreuap_base_appmodel_searchcommonutils_regredirect.cxx], 0
jne 0xc6ac8e
mov edx, ebx
mov dword [ebp - 0x30], ebx
mov ecx, 0xc6f060
call fcn.00c67de7
mov esi, dword [ebp - 0x58]
cmp esi, edi
jae 0xc6acf0
mov dword [ebp - 0x34], ebx
push str.CLSID
mov ecx, str.hresult
call fcn.00c67921
pop ecx
cmp esi, 0x1aea
jne 0xc6acd8
mov ebx, dword [ebp - 0x34]
add ebx, 0xed45a91a
xor ebx, 0x3cb04c67
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
call fcn.00c670ac
inc esi
cmp esi, edi
jb 0xc6acb7
push 0xb
pop eax
push 0x10
pop ecx
mov esi, 0xc72ab0
mov byte [ebp - 5], al
lea edi, [ebp - 0x260]
mov byte [ebp - 0x1e4], 0
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0xb0ed76a6
mov dword [ebp - 0x14], 0xef51a098
mov dword [ebp - 0x10], 0x25cbd01e
movsw word es:[edi], word [esi]
mov dword [ebp - 0xc], 0x4b764d26
mov word [ebp - 8], 0xbfa2
mov byte [ebp - 6], 0x65
movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [ebp - 4], 0xa912d5f2
xor eax, eax
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, 0x100
jb 0xc6ad41
push 0x42
xor esi, esi
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x188]
mov eax, esi
div ecx
movzx ecx, bl
push 0x42
movzx eax, byte [ebp + edx - 0x260]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov byte [ebp + edi - 0x188], bl
cmp esi, 0x100
jb 0xc6ad55
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x188]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x188]
mov byte [ebp + edi - 0x188], al
mov byte [ebp + ebx - 0x188], cl
movzx eax, byte [ebp + edi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x218], al
inc esi
cmp esi, 0x18
jb 0xc6ad9b
and dword [ebp - 0x38], 0
lea edi, [ebp - 0x50]
mov esi, 0xc76204
mov byte [ebp - 0x200], 0
push 0x39
pop eax
mov byte [ebp - 0xf], al
xor eax, eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0xf5297456
mov dword [ebp - 0x14], 0xfc1c95c
mov byte [ebp - 0x10], 0xef
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xe], 0x995c4520
mov dword [ebp - 0xa], 0x5e8a0537
mov dword [ebp - 6], 0x28553202
mov word [ebp - 2], 0xb512
movsd dword es:[edi], dword [esi]
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, 0x100
jb 0xc6ae36
mov esi, dword [ebp - 0x30]
xor edi, edi
xor edx, edx
mov bl, byte [ebp + edi - 0x188]
push 0xb
mov eax, edi
and esi, 0xcdc1d96
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x50]
add eax, dword [ebp - 0x38]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x38], ecx
mov al, byte [ebp + ecx - 0x188]
mov byte [ebp + edi - 0x188], al
inc edi
mov byte [ebp + ecx - 0x188], bl
cmp edi, 0x100
jb 0xc6ae4a
mov dword [0xc78c3c], esi
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x188]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x188]
mov byte [ebp + edi - 0x188], al
mov byte [ebp + ebx - 0x188], cl
movzx eax, byte [ebp + edi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x1a4], al
inc esi
cmp esi, 0x18
jb 0xc6ae9d
xor ebx, ebx
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 0x18c], bl
mov dword [ebp - 0x60], ebx
call fcn.00c4d02f
mov esi, eax
xor ecx, ecx
mov edx, esi
call fcn.00c4d470
mov ecx, esi
mov dword [ebp - 0x30], eax
call fcn.00c4d309
push eax
push ebx
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
lea ecx, [ebp - 0x1e0]
call fcn.00c4d02f
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x54], eax
call fcn.00c4d02f
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x34], eax
call fcn.00c4d02f
mov edx, dword [0xc78c3c]
mov ecx, 0xc74740
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
call fcn.00c67de7
push 5
mov al, byte [str.hresult]
lea edi, [ebp - 0x80]
pop ecx
mov esi, str.OHostProcessExecution
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp al, byte [ebp - 0x80]
jne 0xc6af9d
test al, al
je 0xc6af9d
cmp byte [ebp + ebx - 0x80], 0
je 0xc6af9d
call fcn.00c67b1d
mov al, byte [ebx + 0xc78c75]
inc ebx
cmp al, byte [ebp + ebx - 0x80]
je 0xc6af80
call fcn.00c66b7a
mov esi, dword [ebp - 0x58]
cmp esi, ebx
jae 0xc6afd5
mov edi, dword [ebp - 0x40]
cmp esi, 0x19e8
jne 0xc6afbf
and edi, 0x2003a4fe
call fcn.00c6710f
xor edi, 0xae73362
call fcn.00c6710f
inc esi
cmp esi, ebx
jb 0xc6afac
mov dword [0xc78c3c], edi
lea ecx, [ebp - 0x1a4]
call fcn.00c4d02f
mov ebx, dword [ebp - 0x30]
mov ecx, ebx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
call fcn.00c4d364
test eax, eax
jne 0xc6b1c3
push 0xe
pop ecx
mov esi, 0xc71764
mov dword [ebp - 0x18], 0x956e7bb
lea edi, [ebp - 0x258]
mov dword [ebp - 0x14], 0x42f02500
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x23a1224e
mov dword [ebp - 0xc], 0x58fa39d
mov dword [ebp - 8], 0x543801ca
movsw word es:[edi], word [esi]
mov dword [ebp - 4], 0x4b8af01b
xor esi, esi
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, 0x100
jb 0xc6b036
mov ebx, dword [0xc78c3c]
xor ecx, ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + ecx - 0x188]
xor edx, edx
mov byte [ebp - 0x39], al
mov eax, ecx
push 0x39
pop ecx
div ecx
movzx ecx, byte [ebp - 0x39]
movzx eax, byte [ebp + edx - 0x258]
add eax, esi
add ecx, eax
movzx eax, cl
mov dword [ebp - 0x48], eax
call fcn.00c671ed
mov esi, 0xc76228
lea edi, [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x5c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x7c], 0x6f
jne 0xc6b0f0
mov cl, 0x6f
test cl, cl
je 0xc6b0c2
cmp byte [ebp + eax - 0x7c], 0
je 0xc6b0c2
call fcn.00c67500
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
mov cl, byte [eax + str.onecoreuap_base_appmodel_searchcommonutils_regredirect.cxx]
cmp cl, byte [ebp + eax - 0x7c]
je 0xc6b09f
mov edi, dword [ebp - 0x64]
cmp edi, eax
jae 0xc6b0f0
mov esi, dword [ebp - 0x5c]
cmp edi, 0xfba
jne 0xc6b0da
imul ebx, ebx, 0x8d82601a
sub ebx, 0x463dddf5
call fcn.00c67611
inc edi
cmp edi, esi
jb 0xc6b0cc
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x40], ebx
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x84]
mov al, byte [ebp + esi - 0x188]
mov byte [ebp + ecx - 0x188], al
inc ecx
mov al, byte [ebp - 0x39]
mov byte [ebp + esi - 0x188], al
mov dword [ebp - 0x84], ecx
cmp ecx, 0x100
jb 0xc6b056
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x188]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x188]
mov byte [ebp + edi - 0x188], al
mov byte [ebp + ebx - 0x188], cl
movzx eax, byte [ebp + edi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x80], al
inc esi
cmp esi, 0x18
jb 0xc6b12a
mov ebx, dword [ebp - 0x40]
xor esi, esi
mov byte [ebp - 0x68], 0
call fcn.00c66c96
or ebx, 0xcdb5be4f
inc esi
cmp byte [esi + str.GlobalCollection], 0
jne 0xc6b180
cmp esi, 0x19df
jae 0xc6b1af
mov ecx, str.onecoreuap_base_appmodel_searchcommonutils_regredirect.cxx
call fcn.00c67462
imul ebx, ebx, 0xd573c60b
jmp 0xc6b1b5
add ebx, 0x64133d6d
mov dword [0xc78c3c], ebx
lea ecx, [ebp - 0x80]
jmp 0xc6b2e7
mov edx, dword [ebp - 0x34]
mov ecx, ebx
call fcn.00c4d364
test eax, eax
jne 0xc6b2f3
mov esi, str.SrchPropertyDefs
mov dword [ebp - 0x2c], 0xf1854d47
lea edi, [ebp - 0x78]
mov dword [ebp - 0x28], 0xb955cf31
push 0x39
pop eax
movsd dword es:[edi], dword [esi]
mov ebx, 0x100
mov byte [ebp - 6], al
mov dword [ebp - 0x24], 0x5b4f910c
mov dword [ebp - 0x20], 0xa49fa7e8
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0xd09aafb2
mov dword [ebp - 0x18], 0x8a388af1
mov dword [ebp - 0x14], 0x51e8f1dd
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x4101e94b
mov dword [ebp - 0xc], 0x6565d216
mov word [ebp - 8], 0x17a9
movsd dword es:[edi], dword [esi]
mov dword [ebp - 5], 0x3dedb645
mov byte [ebp - 1], 0x2e
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, ebx
jb 0xc6b241
xor esi, esi
mov dl, byte [ebp + esi - 0x188]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x78]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov byte [ebp + edi - 0x188], dl
cmp esi, ebx
jb 0xc6b24f
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x188]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x188]
mov byte [ebp + edi - 0x188], al
mov byte [ebp + ebx - 0x188], cl
movzx eax, byte [ebp + edi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x290], al
inc esi
cmp esi, 0x2c
jb 0xc6b28a
mov byte [ebp - 0x264], 0
lea ecx, [ebp - 0x290]
call fcn.00c4d05e
mov esi, eax
jmp 0xc6b478
mov edx, dword [ebp - 0x44]
mov ecx, ebx
call fcn.00c4d364
test eax, eax
jne 0xc6b475
mov eax, dword [0xc78c3c]
lea edi, [ebp - 0x74]
mov esi, 0xc72680
mov dword [ebp - 0x2c], 0x806ae097
xor eax, 0xa5e36054
mov dword [ebp - 0x28], 0x51ecb62f
cmp byte [str.hresult], 0x6d
mov dword [ebp - 0x24], 0x9fa4896c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 0x3686c589
mov dword [ebp - 0x1c], 0xd6548a3a
mov dword [ebp - 0x18], 0xcee7af8e
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], 0x5a522c99
mov dword [ebp - 0x10], 0x8f04b6e0
mov dword [ebp - 0xc], 0x41b3f722
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], 0x64ae1c6a
mov dword [ebp - 4], 0x1333d6e0
mov dword [ebp - 0x40], eax
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x4c], 0x7373656d
mov dword [ebp - 0x48], 0x656761
jne 0xc6b3a4
push 0x6d
xor esi, esi
pop eax
test al, al
je 0xc6b3a4
cmp byte [ebp + esi - 0x4c], 0
je 0xc6b3a4
call fcn.00c66c96
mov al, byte [esi + 0xc78c75]
inc esi
cmp al, byte [ebp + esi - 0x4c]
je 0xc6b387
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x188], al
inc eax
cmp eax, 0x100
jb 0xc6b3a8
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x188]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x74]
add eax, edi
add ecx, eax
movzx edi, cl
mov ecx, dword [ebp - 0x40]
and ecx, 0x7ffe22cb
mov dword [ebp - 0x40], ecx
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov byte [ebp + edi - 0x188], bl
cmp esi, 0x100
jb 0xc6b3b9
lea eax, [ecx + 0x275e4070]
xor ebx, ebx
xor edi, edi
mov dword [0xc78c3c], eax
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x188]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x188]
mov byte [ebp + edi - 0x188], al
mov byte [ebp + ebx - 0x188], cl
movzx eax, byte [ebp + edi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x24c], al
inc esi
cmp esi, 0x2c
jb 0xc6b413
mov byte [ebp - 0x220], 0
lea ecx, [ebp - 0x24c]
jmp 0xc6b2e7
mov esi, dword [ebp - 0x58]
mov ecx, 0x19000
call fcn.00c4b9d3
mov ebx, eax
mov ecx, 0x100000
mov dword [ebp - 0x64], ebx
call fcn.00c4b9d3
mov edx, dword [ebp - 0x54]
mov edi, eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x48], edi
call fcn.00c4d364
test eax, eax
je 0xc6b517
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
call fcn.00c4d364
test eax, eax
je 0xc6b517
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
call fcn.00c4d364
test eax, eax
je 0xc6b517
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
call fcn.00c4d364
test eax, eax
jne 0xc6b54c
mov ecx, ebx
call fcn.00c63e67
test eax, eax
je 0xc6b618
mov ecx, ebx
call fcn.00c4d317
push eax
mov edx, ebx
mov ecx, edi
call fcn.00c4d11c
mov dword [esp], 0x19000
push 0
push ebx
call fcn.00c4cf49
or dword [0xc78c3c], 0x2d2d873b
add esp, 0xc
mov ecx, edi
call fcn.00c4d309
jmp 0xc6b54f
push edi
mov edx, esi
xor ecx, ecx
call fcn.00c6545f
pop ecx
mov ecx, esi
mov dword [ebp - 0x60], eax
call fcn.00c4d317
push eax
push 0
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov eax, dword [ebp - 0x60]
test eax, eax
je 0xc6b618
jmp 0xc6b54f
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp + 0x14]
mov ecx, edi
push eax
call fcn.00c4a061
mov esi, dword [0xc78c3c]
mov ecx, esi
mov dword [esp], 0xc6f3b0
push esi
call fcn.00c67779
pop ecx
pop ecx
mov edi, str.GlobalCollection
call fcn.00c66b7a
sub esi, 0x3f7837b8
inc edi
cmp byte [edi], 0
jne 0xc6b576
mov dword [0xc78c3c], esi
xor ebx, ebx
mov esi, 0x100000
push esi
push ebx
push dword [ebp + 0x14]
call fcn.00c4cf49
mov edi, dword [ebp - 0x48]
add esp, 0xc
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x58]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
push edi
push dword [ebp + 8]
call fcn.00c4faec
push esi
push ebx
push dword [ebp + 0xc]
call fcn.00c4cf49
add esp, 0x24
call fcn.00c671ed
mov esi, dword [0xc78c3c]
mov ebx, str.onecoreuap_base_appmodel_searchcommonutils_regredirect.cxx
call fcn.00c67b1d
or esi, 0x8f1837ff
inc ebx
cmp byte [ebx], 0
jne 0xc6b5dd
mov ebx, 0x100000
mov dword [0xc78c3c], esi
push ebx
push 0
push dword [ebp + 0x14]
call fcn.00c4cf49
add esp, 0xc
push ebx
push 0
push dword [ebp + 0x10]
call fcn.00c4cf49
mov ebx, dword [ebp - 0x64]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
call fcn.00c4d309
push eax
push 0
push ecx
call fcn.00c4cf49
mov ecx, dword [ebp - 0x34]
add esp, 0xc
call fcn.00c4d309
push eax
push 0
push ecx
call fcn.00c4cf49
mov esi, dword [ebp - 0x44]
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
push 0
push esi
call fcn.00c4cf49
mov ecx, dword [ebp - 0x38]
add esp, 0xc
call fcn.00c4d309
push eax
push 0
push ecx
call fcn.00c4cf49
mov ecx, dword [ebp - 0x54]
add esp, 0xc
call fcn.00c4ba07
mov ecx, dword [ebp - 0x34]
call fcn.00c4ba07
mov edx, str.connection_already_in_progress
mov ecx, str.pfps__psProperty.ulKind_is_LPWSTR_but_psProperty.lpwstr_is_NULL_or_empty
call fcn.00c66dcd
mov ecx, esi
call fcn.00c4ba07
mov ecx, dword [ebp - 0x38]
call fcn.00c4ba07
mov ecx, edi
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4ba07
pop edi
pop esi
pop ebx
leave
ret