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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
push ebx
push esi
push edi
mov esi, 0x42cd58
mov dword [ebp - 0x90], ecx
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x94], edx
xor ecx, ecx
mov dword [ebp - 0x30], 0xa8fa41bf
mov dword [ebp - 0x2c], 0x35feef94
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0xd33b37b4
mov dword [ebp - 0x24], 0xd347a477
mov dword [ebp - 0x20], 0xe7c83b1c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0xc62ee7e6
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x420], al
inc eax
cmp eax, 0x100
jb 0x4290c0
mov eax, dword [0x435b1c]
mov esi, ecx
push 0xe
pop ecx
mov dword [ebp - 0x5c], eax
xor edx, edx
mov bl, byte [ebp + esi - 0x420]
mov eax, esi
sub dword [ebp - 0x5c], 0xb965fd6
div ecx
movzx ecx, bl
push 0xe
movzx eax, byte [ebp + edx - 0x6c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x420]
mov byte [ebp + esi - 0x420], al
inc esi
mov byte [ebp + edi - 0x420], bl
cmp esi, 0x100
jb 0x4290dc
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [0x435b6c]
mov dword [ebp - 8], eax
add eax, 0x566e8c19
mov dword [ebp - 0x8c], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x420]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x420]
mov byte [ebp + edi - 0x420], al
mov byte [ebp + ebx - 0x420], cl
movzx eax, byte [ebp + edi - 0x420]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x420]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x304], al
inc esi
cmp esi, 0x18
jb 0x42913b
push 0x13
pop eax
push 7
pop ebx
push 0x39
pop ecx
push 0x74
mov byte [ebp - 0x138], al
lea edi, [ebp - 0x70]
mov byte [ebp - 0xfb], al
xor edx, edx
pop eax
push 0xd
mov byte [ebp - 0xf3], al
mov esi, str.result_out_of_range
pop eax
mov byte [ebp - 0x123], cl
mov byte [ebp - 0xde], cl
mov byte [ebp - 0xc1], cl
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 8]
mov esi, edx
mov byte [ebp - 0xb3], al
mov eax, edx
mov byte [ebp - 0x2ec], dl
mov dword [ebp - 0x148], 0x592861de
mov dword [ebp - 0x144], 0x5ee41a12
mov dword [ebp - 0x140], 0x98990fd0
mov dword [ebp - 0x13c], 0xee85e949
mov dword [ebp - 0x137], 0xa0930f99
mov dword [ebp - 0x133], 0x5abb2c89
mov dword [ebp - 0x12f], 0x22ee9e0f
mov word [ebp - 0x12b], 0x40c6
mov byte [ebp - 0x129], 0xc5
mov byte [ebp - 0x128], bl
mov dword [ebp - 0x127], 0xb4ff3ab1
mov dword [ebp - 0x122], 0xa59e9cf5
mov dword [ebp - 0x11e], 0x2ed5a23a
mov dword [ebp - 0x11a], 0x48653037
mov dword [ebp - 0x116], 0x375b6f93
mov dword [ebp - 0x112], 0x70588ce7
mov dword [ebp - 0x10e], 0xa5b448dc
mov dword [ebp - 0x10a], 0x22626912
mov dword [ebp - 0x106], 0x5540b809
mov dword [ebp - 0x102], 0x9f5cfe2c
mov word [ebp - 0xfe], 0x3391
mov byte [ebp - 0xfc], 0x5c
mov dword [ebp - 0xfa], 0xa886a1f1
mov word [ebp - 0xf6], 0x40a2
mov byte [ebp - 0xf4], 0x50
mov dword [ebp - 0xf2], 0x37251cf4
mov dword [ebp - 0xee], 0x1c57d0f
mov dword [ebp - 0xea], 0x5cac6ac3
mov dword [ebp - 0xe6], 0x269a414a
mov dword [ebp - 0xe2], 0xd6c4f5ea
mov dword [ebp - 0xdd], 0xfeca66a
mov dword [ebp - 0xd9], 0xa86153bd
mov dword [ebp - 0xd5], 0xa8b342d3
mov dword [ebp - 0xd1], 0xd3357aa8
mov dword [ebp - 0xcd], 0x3bf18761
mov dword [ebp - 0xc9], 0x7100e4bb
mov dword [ebp - 0xc5], 0xcb57abfa
mov dword [ebp - 0xc0], 0x86f8a4c7
mov dword [ebp - 0xbc], 0xc465f97c
mov word [ebp - 0xb8], 0xc9a0
mov byte [ebp - 0xb6], bl
mov word [ebp - 0xb5], 0x70e4
mov word [ebp - 0xb2], 0x1da
imul ecx, ecx, 0x78fa9871
mov byte [ebp + eax - 0x270], al
inc eax
mov dword [0x435b6c], ecx
cmp eax, 0x100
jb 0x429377
mov dword [ebp - 8], ecx
mov ebx, edx
push 0x13
pop edi
xor edx, edx
mov cl, byte [ebp + ebx - 0x270]
mov eax, ebx
mov byte [ebp - 1], cl
div edi
movzx ecx, cl
lea edi, [ebp - 0x170]
push 7
movzx eax, byte [ebp + edx - 0x70]
add eax, esi
mov esi, 0x42c2f0
add ecx, eax
xor eax, eax
movzx edx, cl
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0x74
pop ecx
mov dword [ebp - 0x88], edx
movsw word es:[edi], word [esi]
mov dword [ebp - 0x5c], eax
cmp cx, word [ebp - 0x170]
jne 0x429419
xor esi, esi
test cx, cx
je 0x429413
cmp word [ebp + eax - 0x170], si
je 0x429413
call fcn.004249a0
mov edx, dword [ebp - 0x5c]
inc edx
mov dword [ebp - 0x5c], edx
lea eax, [edx + edx]
movzx ecx, word [eax + 0x4330a0]
cmp cx, word [ebp + eax - 0x170]
je 0x4293e4
mov edx, dword [ebp - 0x88]
mov al, byte [ebp + edx - 0x270]
mov esi, dword [ebp - 0x88]
mov byte [ebp + ebx - 0x270], al
inc ebx
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x270], al
cmp ebx, 0x100
jb 0x429397
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x270]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x270]
mov byte [ebp + edi - 0x270], al
mov byte [ebp + ebx - 0x270], cl
movzx eax, byte [ebp + edi - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + esi - 0x148]
mov byte [ebp + esi - 0x3bc], al
inc esi
cmp esi, 0x98
jb 0x42944c
push 0xe
pop eax
mov ecx, eax
mov byte [ebp - 0x34], al
mov esi, str.onecoreuap_base_appmodel_searchcommonpkmutildlmstr.cxx
mov dword [ebp - 0x58], 0x5f52fecb
lea edi, [ebp - 0x2e4]
mov dword [ebp - 0x54], 0x65ad632a
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov byte [ebp - 0x324], dl
mov eax, edx
mov dword [ebp - 0x50], 0x308e2208
movsw word es:[edi], word [esi]
mov dword [ebp - 0x4c], 0x7c91abeb
mov edi, edx
mov dword [ebp - 0x48], 0x44091ca2
mov dword [ebp - 0x44], 0x6ce68146
mov dword [ebp - 0x40], 0x6ef2daea
mov dword [ebp - 0x3c], 0xc5c75f63
mov dword [ebp - 0x38], 0x344b9d7a
mov dword [ebp - 0x33], 0x10bc5300
mov dword [ebp - 0x2f], 0xb375d2c5
mov dword [ebp - 0x2b], 0x6ba86572
mov dword [ebp - 0x27], 0x6aeec06c
mov dword [ebp - 0x23], 0xc06e47bd
mov dword [ebp - 0x1f], 0x1ef2c5ca
mov word [ebp - 0x1b], 0x6eb1
mov byte [ebp - 0x19], 0x1d
xor ecx, 0x88bb21dc
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x42953e
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x270]
push 0x39
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2e4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x270]
mov byte [ebp + esi - 0x270], al
inc esi
mov byte [ebp + edi - 0x270], bl
cmp esi, 0x100
jb 0x429555
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x270]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x270]
mov byte [ebp + edi - 0x270], al
mov byte [ebp + ebx - 0x270], cl
movzx eax, byte [ebp + edi - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + esi - 0x58]
mov byte [ebp + esi - 0x464], al
inc esi
cmp esi, 0x40
jb 0x42959d
push 0x13
pop eax
push 7
mov byte [ebp - 0x65], al
lea edi, [ebp - 0x30]
pop eax
push 5
pop ecx
mov esi, 0x42ceb0
mov byte [ebp - 0x61], al
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x74], 0xd3dffc97
and dword [ebp - 8], 0xe2bc3e83
mov eax, edx
mov byte [ebp - 0x424], dl
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x70], 0xfac95149
mov edi, edx
mov dword [ebp - 0x6c], 0x5cf8ebb2
mov word [ebp - 0x68], 0xc527
mov byte [ebp - 0x66], 0x52
mov word [ebp - 0x64], 0xef8c
mov byte [ebp - 0x62], 0x90
mov dword [ebp - 0x60], 0x64dc7a87
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x42964a
push 0x14
mov esi, edx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x270]
mov eax, esi
div ecx
movzx ecx, bl
push 0x14
movzx eax, byte [ebp + edx - 0x30]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x270]
mov byte [ebp + esi - 0x270], al
inc esi
mov byte [ebp + edi - 0x270], bl
cmp esi, 0x100
jb 0x42965e
xor eax, eax
mov ecx, eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov dword [ebp - 0x10], ebx
mov al, byte [ebp + ebx - 0x270]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x5c], eax
add eax, ecx
movzx eax, al
mov dword [ebp - 0x8c], eax
call fcn.004246e3
mov ebx, dword [ebp - 8]
mov esi, 0x4330a0
mov edx, 0x43046c
mov ecx, str.fileName
call fcn.004250e7
and ebx, 0xe1eafaf4
lea esi, [esi + 2]
xor edx, edx
mov dword [0x435b1c], ebx
cmp word [esi], dx
jne 0x4296d4
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0x10]
mov al, byte [ebp + ecx - 0x270]
mov byte [ebp + ebx - 0x270], al
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x270], al
movzx eax, byte [ebp + ebx - 0x270]
add eax, dword [ebp - 0x5c]
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + edi - 0x74]
mov byte [ebp + edi - 0x320], al
inc edi
cmp edi, 0x18
jb 0x4296a3
lea ecx, [ebp - 0x304]
mov byte [ebp - 0x308], dl
mov dword [ebp - 0x88], edx
call fcn.0040b5df
mov ebx, eax
xor ecx, ecx
mov edx, ebx
mov dword [ebp - 0xb0], ebx
call fcn.0040babc
mov edx, ebx
xor ecx, ecx
mov esi, eax
call fcn.0040babc
mov ecx, 0x800
mov dword [ebp - 0x18], eax
call fcn.0040a2a8
mov ebx, eax
mov ecx, 0x208
mov dword [ebp - 0xac], ebx
call fcn.0040a2a8
mov edi, eax
mov ecx, 0x500000
mov dword [ebp - 0x8c], edi
call fcn.0040a2a8
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x5c], eax
push ecx
mov ecx, dword [ebp - 0x90]
lea edx, [ebp - 0x3bc]
push 1
push dword [ebp + 8]
push eax
push dword [ebp - 0x94]
call fcn.0040e874
add esp, 0x14
test eax, eax
jne 0x42a5cb
cmp dword [ebp - 0x88], 0x400
jb 0x42a5cb
lea ecx, [ebp - 0x464]
call fcn.0040b628
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x14c], eax
call fcn.0040b628
mov ecx, esi
mov dword [ebp - 0x94], eax
call fcn.0040bb58
mov ebx, eax
mov dword [ebp - 0x150], ebx
call fcn.00416a4a
mov dword [ebp - 0x90], eax
cmp ebx, 1
jne 0x429ef7
mov esi, 0x42cee0
mov dword [ebp - 0x30], 0x22a66ae2
lea edi, [ebp - 0x80]
mov dword [ebp - 0x2c], 0xc8487fa0
xor ebx, ebx
mov dword [ebp - 0x28], 0x9793f868
mov dword [ebp - 0x24], 0x471d5414
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 0xf0029555
mov dword [ebp - 0x1c], 0x618987b0
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x42986d
mov esi, ebx
mov dl, byte [ebp + esi - 0x270]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x80]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x270]
mov byte [ebp + esi - 0x270], al
inc esi
mov byte [ebp + edi - 0x270], dl
cmp esi, 0x100
jb 0x42987e
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x270]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x270]
mov byte [ebp + edi - 0x270], al
mov byte [ebp + ebx - 0x270], cl
movzx eax, byte [ebp + edi - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x28c], al
inc esi
cmp esi, 0x18
jb 0x4298bd
push 0xe
pop eax
push 7
mov byte [ebp - 0x2f], al
lea edi, [ebp - 0x2e8]
pop eax
push 0xf
pop ecx
mov esi, str.onecoreuap_base_appmodel_searchcommonpkmutildpropvarcvt.cxx
mov byte [ebp - 0x2a], al
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov byte [ebp - 0x30], 0xbb
mov byte [ebp - 0x274], dl
mov eax, edx
mov dword [ebp - 0x2e], 0x26ff494e
movsw word es:[edi], word [esi]
mov dword [ebp - 0x29], 0xaafa5fdb
mov dword [ebp - 0x25], 0xb52e5706
mov dword [ebp - 0x21], 0xa96abc6e
mov dword [ebp - 0x1d], 0xefd4e462
mov byte [ebp - 0x19], 0xfc
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xc], edx
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x429964
mov esi, dword [0x435b1c]
mov edi, esi
or edi, 0xe4b4fe2
mov dword [ebp - 0x14], edx
mov dword [ebp - 8], edi
mov ebx, 0x4330a0
mov ecx, ebx
call fcn.00424b3f
xor edi, edi
mov ecx, esi
call fcn.0042442d
lea ebx, [ebx + 2]
cmp word [ebx], di
jne 0x429995
mov edi, dword [ebp - 0x14]
xor edx, edx
push 0x3e
mov eax, edi
pop ecx
div ecx
mov bl, byte [ebp + edi - 0x270]
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2e8]
add eax, dword [ebp - 0xc]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x270]
mov byte [ebp + edi - 0x270], al
inc edi
mov byte [ebp + ecx - 0x270], bl
mov dword [ebp - 0x14], edi
cmp edi, 0x100
jb 0x429987
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov eax, ecx
mov ebx, ecx
inc eax
imul esi, esi, 0x7bcafcf2
movzx eax, al
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 0x14]
mov cl, byte [ebp + eax - 0x270]
mov eax, dword [ebp - 0x9c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x9c], eax
mov al, byte [ebp + eax - 0x270]
mov byte [ebp + edi - 0x270], al
mov eax, dword [ebp - 0x9c]
mov byte [ebp + eax - 0x270], cl
mov eax, edi
movzx eax, byte [ebp + eax - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + ebx - 0x30]
mov byte [ebp + ebx - 0x2a8], al
inc ebx
mov eax, edi
cmp ebx, 0x18
jb 0x4299fa
push 7
pop eax
xor ecx, ecx
mov byte [ebp - 0x1b], al
mov dword [ebp - 0x9c], esi
mov eax, ecx
mov byte [ebp - 0x290], cl
mov dword [ebp - 0x30], 0x7ac4c15a
mov dword [ebp - 0x2c], 0x654d16b4
mov dword [ebp - 0x28], 0x97b2c54e
mov dword [ebp - 0x24], 0x2ee8cee9
mov dword [ebp - 0x20], 0xd5f91ff6
mov byte [ebp - 0x1c], 0x27
mov word [ebp - 0x1a], 0x9226
mov dword [ebp - 0x80], 0x7373656d
mov dword [ebp - 0x7c], 0x656761
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x429aba
mov esi, ecx
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x270]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x80]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x270]
mov byte [ebp + esi - 0x270], al
inc esi
mov byte [ebp + edi - 0x270], bl
cmp esi, 0x100
jb 0x429acd
mov ebx, dword [ebp - 0xb0]
xor ecx, ecx
mov esi, dword [ebp - 0x9c]
mov eax, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
inc eax
movzx eax, al
mov dword [ebp - 0xc], eax
mov edi, dword [ebp - 0xc]
mov cl, byte [ebp + eax - 0x270]
mov eax, dword [ebp - 0x14]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x14], eax
mov al, byte [ebp + eax - 0x270]
mov byte [ebp + edi - 0x270], al
mov eax, dword [ebp - 0x14]
mov byte [ebp + eax - 0x270], cl
mov eax, edi
mov ecx, esi
movzx eax, byte [ebp + eax - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
mov byte [ebp - 1], al
call fcn.0042442d
mov edi, dword [ebp - 8]
xor ecx, ecx
mov eax, ecx
imul edi, edi, 0x322b33be
inc eax
cmp word [eax*2 + str.fileName], cx
jne 0x429b7e
mov dword [ebp - 0x7c], eax
mov dword [ebp - 8], edi
cmp ebx, eax
jae 0x429bce
mov edi, eax
mov edx, 0x42d7a0
mov ecx, 0x4330a0
call fcn.0042483a
cmp ebx, 0x15e2
jne 0x429bbd
xor esi, 0x9ee09aba
call fcn.004246e3
add esi, 0x8c6d2f0
inc ebx
cmp ebx, edi
jb 0x429b9b
mov dword [ebp - 0x9c], esi
mov ecx, dword [ebp - 0x10]
mov al, byte [ebp + ecx - 0x30]
xor al, byte [ebp - 1]
mov byte [ebp + ecx - 0x16c], al
inc ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
cmp ecx, 0x18
jb 0x429b20
push 5
pop ecx
push 0xe
pop eax
mov esi, str.std::exception:__hs
mov dword [ebp - 0x6c], 0x43e0a5fb
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x68], 0x995d727c
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebp - 0x64], 0x19307c32
push 0x66
xor ebx, ebx
mov word [ebp - 0x60], 0xd09e
mov esi, 0x42cbc0
mov byte [ebp - 0x154], bl
lea edi, [ebp - 0x2e4]
mov byte [ebp - 0x5e], 0x19
pop eax
rep movsd dword es:[edi], dword [esi]
mov edx, ebx
cmp ax, word [ebp - 0x2e4]
jne 0x429cb5
mov ecx, ebx
test ax, ax
je 0x429c69
cmp word [ebp + ecx - 0x2e4], bx
je 0x429c69
inc edx
lea ecx, [edx + edx]
movzx eax, word [ecx + str.fileName]
cmp ax, word [ebp + ecx - 0x2e4]
je 0x429c45
mov ebx, dword [ebp - 0xb0]
mov dword [ebp - 0x10], edx
cmp ebx, edx
jae 0x429cb3
mov esi, dword [ebp - 0x9c]
mov edi, dword [ebp - 8]
call fcn.004246e3
cmp ebx, 0x1bdd
jne 0x429c99
and esi, 0x97e39b61
mov ecx, esi
call fcn.0042442d
sub edi, 0x767ab5d6
call fcn.004254ec
inc ebx
cmp ebx, dword [ebp - 0x10]
jb 0x429c7f
mov dword [ebp - 8], edi
mov dword [ebp - 0x9c], esi
xor ebx, ebx
mov dword [ebp - 0x7c], ebx
mov eax, ebx
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x429cba
mov esi, dword [ebp - 0x7c]
mov edi, ebx
xor edx, edx
mov bl, byte [ebp + edi - 0x270]
push 0x13
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2c]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x270]
mov byte [ebp + edi - 0x270], al
inc edi
mov byte [ebp + esi - 0x270], bl
cmp edi, 0x100
jb 0x429cce
mov esi, dword [ebp - 0x9c]
xor eax, eax
mov edi, dword [ebp - 8]
add esi, 0x7c0b71d8
mov dword [ebp - 0x9c], esi
mov ebx, eax
mov dword [0x435b1c], esi
mov esi, eax
mov dword [ebp - 0xc], eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0x270]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x270]
mov byte [ebp + esi - 0x270], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x270], cl
movzx eax, byte [ebp + esi - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + ebx - 0x6c]
movzx eax, al
mov word [ebp + ebx*2 - 0x38], ax
inc ebx
cmp ebx, 0xf
jb 0x429d2f
mov esi, dword [ebp - 0x9c]
mov ecx, str.bad_allocation
push esi
push 0x42c140
mov edx, esi
call fcn.00424d93
pop ecx
xor esi, esi
pop ecx
mov ebx, esi
mov ecx, edi
call fcn.0042442d
sub edi, 0xcf43e37
inc ebx
cmp word [ebx*2 + 0x4330a0], si
jne 0x429da6
mov esi, dword [ebp - 0x9c]
mov dword [0x435b6c], edi
mov edi, dword [ebp - 0xb0]
cmp edi, ebx
jae 0x429dfd
cmp edi, 0x3a6
jne 0x429de7
lea eax, [esi - 0x4c5eab9c]
mov dword [0x435b6c], eax
xor esi, 0xe76ee2f
call fcn.004246e3
inc edi
cmp edi, ebx
jb 0x429dd4
mov dword [0x435b1c], esi
mov esi, dword [ebp - 0x8c]
xor eax, eax
mov ecx, esi
mov word [ebp - 0x1a], ax
call fcn.0040b8e6
mov edx, dword [ebp - 0x18]
push eax
call fcn.0040b6cf
pop ecx
lea ecx, [ebp - 0x28c]
call fcn.0040b628
mov edi, eax
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x18], edi
call fcn.0040b628
push esi
mov ebx, eax
lea edx, [ebp - 0x16c]
push ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x7c], ebx
push dword [ebp - 0x90]
push edi
push eax
push dword [ebp - 0xac]
push 2
pop ecx
call fcn.0040a2e6
call eax
add esp, 0x1c
call fcn.00425446
mov ebx, dword [0x435b6c]
xor edi, edi
mov esi, edi
call fcn.00425446
sub ebx, 0x70d1f319
inc esi
cmp word [esi*2 + str.fileName], di
jne 0x429e75
push ecx
push 0x4330a0
mov edx, ebx
call fcn.00424fb7
pop ecx
pop ecx
cmp esi, 0xf66
jae 0x429eb3
call fcn.004246e3
mov eax, dword [0x435b1c]
add eax, 0x33b7887d
jmp 0x429ebd
mov eax, dword [0x435b1c]
and eax, 0x318fa5bf
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov dword [0x435b6c], eax
call fcn.0040b8f4
push eax
xor esi, esi
push esi
push edi
call fcn.0040b587
mov ebx, dword [ebp - 0x7c]
mov ecx, ebx
call fcn.0040b8f4
push eax
push esi
push ebx
call fcn.0040b587
add esp, 0x18
mov ecx, edi
call fcn.0040a2d2
jmp 0x42a528
mov esi, 0x42e014
mov dword [ebp - 0x74], 0x4db9abd2
lea edi, [ebp - 0xa0]
mov dword [ebp - 0x70], 0x5d64ab21
xor ecx, ecx
mov dword [ebp - 0x6c], 0x82cf1140
mov dword [ebp - 0x68], 0xe15a2588
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x64], 0x85e65d85
mov dword [ebp - 0x60], 0xc6fc67d9
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x429f34
mov ebx, dword [0x435b6c]
mov edi, ecx
mov dword [ebp - 0x14], edi
mov esi, ecx
mov dword [ebp - 0x18], 6
xor edx, edx
mov cl, byte [ebp + edi - 0x270]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x18]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xa0]
mov edx, ebx
add eax, esi
add ecx, eax
push ecx
movzx esi, cl
push 0x4330a0
mov dword [ebp - 0xc], esi
call fcn.00424fb7
pop ecx
xor edx, edx
mov eax, ebx
pop ecx
xor eax, 0xc0abb6a2
mov ecx, edx
mov dword [ebp - 8], eax
inc ecx
cmp word [ecx*2 + 0x4330a0], dx
jne 0x429f9a
cmp ecx, 0x2240
jae 0x429fbe
or eax, 0xc9d23d83
mov dword [ebp - 8], eax
call fcn.00424088
xor edx, edx
jmp 0x429fc4
and ebx, 0x30ad7f10
mov al, byte [ebp + esi - 0x270]
mov esi, 0x430e08
mov byte [ebp + edi - 0x270], al
mov eax, edx
push 6
pop ecx
lea edi, [ebp - 0x16c]
mov dword [ebp - 0x10], edx
rep movsd dword es:[edi], dword [esi]
push 0x66
movsw word es:[edi], word [esi]
pop esi
cmp si, word [ebp - 0x16c]
jne 0x42a01e
mov ecx, edx
test si, si
je 0x42a01b
cmp word [ebp + ecx - 0x16c], dx
je 0x42a01b
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + str.fileName]
cmp si, word [ebp + ecx - 0x16c]
je 0x429ff7
mov dword [ebp - 0x10], eax
call fcn.00425446
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 8]
cmp edi, esi
jae 0x42a05b
cmp edi, 0x1ee8
jne 0x42a04a
xor ebx, 0x88830881
mov edx, ebx
mov ecx, ebx
call fcn.004243cb
mov ecx, dword [ebp - 8]
xor ecx, 0x6322d139
inc edi
mov dword [ebp - 8], ecx
cmp edi, esi
jb 0x42a030
mov dword [ebp - 0x7c], edi
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0xc]
inc edi
mov al, byte [ebp - 1]
mov dword [ebp - 0x14], edi
mov byte [ebp + esi - 0x270], al
cmp edi, 0x100
jb 0x429f57
xor eax, eax
mov edi, eax
mov dword [ebp - 0xc], eax
mov esi, eax
lea eax, [esi + 1]
imul ebx, ebx, 0x8e4f6e27
movzx edx, al
mov dword [ebp - 0x7c], edx
mov al, byte [ebp + edx - 0x270]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x14], eax
add eax, edi
movzx eax, al
mov dword [ebp - 0x18], eax
mov dword [0x435b6c], ebx
mov al, byte [ebp + eax - 0x270]
mov byte [ebp + edx - 0x270], al
call fcn.0042442d
push 5
pop ecx
mov esi, 0x430e24
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
push 0x66
mov edx, eax
mov dword [ebp - 0x10], eax
pop eax
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x30]
jne 0x42a10a
xor esi, esi
mov ecx, eax
mov eax, esi
test cx, cx
je 0x42a107
cmp word [ebp + eax - 0x30], si
je 0x42a107
inc edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.fileName]
cmp cx, word [ebp + eax - 0x30]
je 0x42a0e9
mov dword [ebp - 0x10], edx
mov ecx, 0x4330a0
call fcn.00424b3f
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + ecx*2 - 0x30]
movzx ecx, byte [ecx*2 + str.fileName]
sub ecx, eax
cmp ecx, 0x1c06
jbe 0x42a14e
imul ebx, ebx, 0x986f2bd2
push ecx
push str.onecoreuap_base_appmodel_search_search_searchgather_fltrdmnprothndlr.cxx
mov edx, ebx
mov dword [0x435b6c], ebx
call fcn.00424fb7
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
jmp 0x42a158
imul ecx, dword [ebp - 8], 0x46503059
mov dword [ebp - 8], ecx
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x7c]
mov al, byte [ebp - 1]
mov edx, dword [ebp - 0xc]
mov byte [ebp + edi - 0x270], al
movzx eax, byte [ebp + esi - 0x270]
add eax, dword [ebp - 0x14]
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + edx - 0x74]
mov byte [ebp + edx - 0x16c], al
inc edx
mov dword [ebp - 0xc], edx
cmp edx, 0x18
jb 0x42a084
mov esi, str.RegDeleteKeyW
mov dword [ebp - 0x30], 0x932a6f0a
lea edi, [ebp - 0x84]
mov dword [ebp - 0x2c], 0x75aa2a30
xor ecx, ecx
mov dword [ebp - 0x28], 0xd69b43cf
lea eax, [ebx + 0x3f14a2f7]
mov byte [ebp - 0x154], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], eax
mov eax, ecx
mov dword [ebp - 0x24], 0xf5522c54
mov dword [ebp - 0x20], 0x8c924fd2
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0x8019f7e0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [ebp + eax - 0x270], al
inc eax
cmp eax, 0x100
jb 0x42a1e7
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x270]
push 0xd
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x84]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x270]
mov byte [ebp + esi - 0x270], al
inc esi
mov byte [ebp + edi - 0x270], bl
cmp esi, 0x100
jb 0x42a1f8
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x270]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x270]
mov byte [ebp + edi - 0x270], al
mov byte [ebp + ebx - 0x270], cl
movzx eax, byte [ebp + edi - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x2a8], al
inc esi
cmp esi, 0x18
jb 0x42a240
mov esi, 0x42cd58
mov dword [ebp - 0x7c], 0xe3ba56dd
lea edi, [ebp - 0x6c]
mov word [ebp - 0x78], 0xdec1
xor eax, eax
mov edx, 0x42c100
mov ecx, 0x4330a0
mov byte [ebp - 0x290], al
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.0042483a
mov esi, str.FileType
lea edi, [ebp - 0xa8]
push 0x6f
xor edx, edx
pop ecx
movsd dword es:[edi], dword [esi]
mov ebx, edx
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 cx, word [ebp - 0xa8]
jne 0x42a31e
mov esi, dword [ebp - 0xc]
mov eax, edx
test cx, cx
je 0x42a31e
cmp word [ebp + eax - 0xa8], dx
je 0x42a31e
push ecx
push 0x4330a0
mov edx, esi
call fcn.00424fb7
inc ebx
pop ecx
pop ecx
push 0
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.onecoreuap_base_appmodel_search_search_searchgather_fltrdmnprothndlr.cxx]
pop edx
cmp cx, word [ebp + eax - 0xa8]
je 0x42a2e8
call fcn.00425446
mov esi, dword [ebp - 0xc]
cmp dword [ebp - 0x18], ebx
jae 0x42a34e
mov eax, esi
and eax, 0x9b2c6985
sub ebx, dword [ebp - 0x18]
mov dword [0x435b6c], eax
mov edx, str.permission_denied
mov ecx, 0x4330a0
call fcn.004250e7
sub ebx, 1
jne 0x42a33a
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x10], ebx
mov edi, str.onecoreuap_base_appmodel_search_search_searchgather_fltrdmnprothndlr.cxx
xor ebx, ebx
mov ecx, str.imageName
call fcn.004253a0
lea edi, [edi + 2]
imul esi, esi, 0x17bd5531
cmp word [edi], bx
jne 0x42a35c
mov ebx, dword [ebp - 0x10]
mov dword [0x435b1c], esi
mov byte [ebp + ebx - 0x270], bl
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, 0x100
jb 0x42a355
xor eax, eax
mov esi, eax
mov edi, eax
xor edx, edx
mov bl, byte [ebp + esi - 0x270]
push 0xe
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x6c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x270]
mov byte [ebp + esi - 0x270], al
inc esi
mov byte [ebp + edi - 0x270], bl
cmp esi, 0x100
jb 0x42a396
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [ebp + edi - 0x270]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x270]
mov byte [ebp + edi - 0x270], al
mov byte [ebp + ebx - 0x270], cl
movzx eax, byte [ebp + edi - 0x270]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x270]
xor al, byte [ebp + esi - 0x7c]
movzx eax, al
mov word [ebp + esi*2 - 0xa4], ax
inc esi
pop eax
cmp esi, eax
jb 0x42a3db
xor eax, eax
lea ecx, [ebp - 0x16c]
mov word [ebp - 0x98], ax
call fcn.0040b628
mov dword [ebp - 0x18], eax
call fcn.004246e3
push 7
pop eax
mov ecx, eax
lea edi, [ebp - 0x28c]
push 0x66
mov esi, 0x42ecc8
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
cmp ax, word [ebp - 0x28c]
jne 0x42a495
mov ecx, edx
test ax, ax
je 0x42a495
cmp word [ebp + ecx - 0x28c], dx
je 0x42a495
inc ebx
lea ecx, [ebx + ebx]
movzx eax, word [ecx + str.fileName]
cmp ax, word [ebp + ecx - 0x28c]
je 0x42a471
mov edx, dword [0x435b6c]
mov ecx, 0x42d600
push edx
push 0x42c500
call fcn.00424d93
movzx eax, byte [ebp + ebx*2 - 0x28c]
pop ecx
pop ecx
movzx ecx, byte [ebx*2 + str.fileName]
sub ecx, eax
cmp ecx, 0xfcf
jne 0x42a4d8
call fcn.004246e3
mov eax, dword [0x435b1c]
add eax, 0xdde8cad6
jmp 0x42a4e2
mov eax, dword [0x435b1c]
or eax, 0xfcaba3dd
mov ebx, dword [ebp - 0x18]
lea edx, [ebp - 0x2a8]
push ebx
push dword [ebp - 0x94]
mov dword [0x435b1c], eax
lea eax, [ebp - 0xa4]
push dword [ebp - 0x90]
push eax
push dword [ebp - 0xac]
push 2
pop ecx
call fcn.0040a2e6
call eax
mov ecx, ebx
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push ebx
call fcn.0040b587
add esp, 0x20
mov ecx, ebx
call fcn.0040a2d2
mov ebx, dword [ebp - 0x90]
xor eax, eax
push 0x800
push eax
push ebx
call fcn.0040b587
mov ecx, ebx
call fcn.0040a2d2
push dword [ebp - 0xac]
mov ebx, dword [ebp - 0x94]
mov edx, ebx
mov esi, dword [ebp - 0x14c]
mov ecx, esi
call fcn.004154d5
mov ecx, esi
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push esi
call fcn.0040b587
mov ecx, ebx
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push ebx
call fcn.0040b587
mov ecx, esi
call fcn.0040a2d2
mov ecx, ebx
call fcn.0040a2d2
mov eax, dword [0x435b6c]
push dword [ebp - 0x150]
mov esi, dword [ebp - 0x5c]
add eax, 0xde03d7ba
mov edx, dword [ebp - 0x88]
mov ecx, esi
mov dword [0x435b1c], eax
call fcn.00417184
mov ebx, dword [ebp - 0xac]
add esp, 0x2c
mov edi, dword [ebp - 0x8c]
jmp 0x42a5ce
mov esi, dword [ebp - 0x5c]
push 0x208
xor eax, eax
push eax
push edi
call fcn.0040b587
push 0x800
xor eax, eax
push eax
push ebx
call fcn.0040b587
imul eax, dword [0x435b1c], 0xa30e6853
push 0x500000
mov dword [0x435b1c], eax
xor eax, eax
push eax
push esi
call fcn.0040b587
mov ecx, edi
call fcn.0040a2d2
mov ecx, ebx
call fcn.0040a2d2
mov ecx, esi
call fcn.0040a2d2
mov esi, dword [ebp - 0xb0]
mov ecx, esi
call fcn.0040b8e6
push eax
xor eax, eax
push eax
push esi
call fcn.0040b587
add esp, 0x30
mov ecx, esi
call fcn.0040a2d2
pop edi
pop esi
pop ebx
leave
ret