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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x290
push ebx
push esi
push edi
mov esi, str.kernel32
mov dword [ebp - 0xa0], ecx
mov ecx, dword [0x435b10]
lea edi, [ebp - 0x88]
push 0x6f
pop eax
movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov byte [ebp - 0x51], al
mov byte [ebp - 0x2c], al
push 0x3a
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x15], al
mov eax, ebx
mov dword [ebp - 0x9c], edx
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x60], 0x10102198
mov edi, ebx
mov dword [ebp - 0x5c], 0x678edfc6
mov dword [ebp - 0x58], 0xfdc7950c
mov word [ebp - 0x54], 0xc3bc
mov byte [ebp - 0x52], 2
mov dword [ebp - 0x50], 0x62ffbc0b
mov dword [ebp - 0x4c], 0xe4790b3f
mov dword [ebp - 0x48], 0xc25d7494
mov dword [ebp - 0x44], 0x96bdcdb8
mov dword [ebp - 0x40], 0x4eb65a0
mov dword [ebp - 0x3c], 0xdebdee3e
mov dword [ebp - 0x38], 0x5e62f7a7
mov dword [ebp - 0x34], 0x3fb9f89c
mov dword [ebp - 0x30], 0xed84a1db
mov dword [ebp - 0x2b], 0x8260b4cd
mov dword [ebp - 0x27], 0xbce3f45f
mov dword [ebp - 0x23], 0x71a0ebc7
mov dword [ebp - 0x1f], 0x4f0d9fba
mov dword [ebp - 0x1b], 0xdb0c1628
mov word [ebp - 0x17], 0x4271
mov dword [ebp - 0x14], 0x6d34b9b4
mov dword [ebp - 0x10], 0xf539f4ba
mov dword [ebp - 0xc], 0xa3766200
imul ecx, ecx, 0xc2bb3ee7
mov byte [ebp + eax - 0x1a8], al
inc eax
cmp eax, 0x100
jb 0x427467
mov dword [ebp - 0x7c], ecx
mov esi, ebx
mov dl, byte [ebp + esi - 0x1a8]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x88]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a8]
mov byte [ebp + esi - 0x1a8], al
inc esi
mov byte [ebp + edi - 0x1a8], dl
cmp esi, 0x100
jb 0x427481
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a8]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a8]
mov byte [ebp + edi - 0x1a8], al
mov byte [ebp + ebx - 0x1a8], cl
movzx eax, byte [ebp + edi - 0x1a8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a8]
xor al, byte [ebp + esi - 0x60]
mov byte [ebp + esi - 0x220], al
inc esi
cmp esi, 0x58
jb 0x4274c3
push 0xe
pop ecx
mov esi, str.onecoreuap_base_appmodel_searchcommon_secutil_secutil.cxx
mov dword [ebp - 0x94], 0x7cdece5
lea edi, [ebp - 0x44]
mov dword [ebp - 0x90], 0x61ef2513
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x8c], 0x42e32be
mov byte [ebp - 0x1c8], dl
mov eax, edx
mov dword [ebp - 0x88], 0x17989ba9
movsw word es:[edi], word [esi]
mov dword [ebp - 0x84], 0xbd04055
mov dword [ebp - 0x80], 0x91a9b829
movsb byte es:[edi], byte [esi]
mov edi, edx
mov byte [ebp + eax - 0x1a8], al
inc eax
cmp eax, 0x100
jb 0x427568
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a8]
push 0x3a
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a8]
mov byte [ebp + esi - 0x1a8], al
inc esi
mov byte [ebp + edi - 0x1a8], bl
cmp esi, 0x100
jb 0x427579
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x78], eax
mov edx, eax
mov ebx, eax
lea eax, [edx + 1]
mov esi, 0x430780
movzx edx, al
lea edi, [ebp - 0x34]
push 0xb
mov dword [ebp - 0xa4], edx
mov al, byte [ebp + edx - 0x1a8]
mov byte [ebp - 5], al
movzx eax, al
mov dword [ebp - 0x98], eax
add eax, ecx
movzx eax, al
pop ecx
mov dword [ebp - 0xa8], eax
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebp + eax - 0x1a8]
push 0x6f
mov byte [ebp + edx - 0x1a8], al
xor eax, eax
pop ecx
mov dword [ebp - 4], eax
cmp cx, word [ebp - 0x34]
jne 0x42764f
mov ebx, dword [ebp - 0x7c]
xor esi, esi
test cx, cx
je 0x427646
cmp word [ebp + eax - 0x34], si
je 0x427646
mov edx, ebx
mov ecx, ebx
call fcn.004243cb
mov edx, dword [ebp - 4]
inc edx
mov dword [ebp - 4], edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.operation_not_supported]
cmp cx, word [ebp + eax - 0x34]
je 0x427619
mov ebx, dword [ebp - 0x78]
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
mov al, byte [ebp - 5]
mov byte [ebp + ecx - 0x1a8], al
movzx eax, byte [ebp + edx - 0x1a8]
add eax, dword [ebp - 0x98]
movzx eax, al
mov al, byte [ebp + eax - 0x1a8]
xor al, byte [ebp + ebx - 0x94]
mov byte [ebp + ebx - 0x1c4], al
inc ebx
mov dword [ebp - 0x78], ebx
cmp ebx, 0x18
jb 0x4275c1
imul eax, dword [ebp - 0x7c], 0x12815e73
lea edi, [ebp - 0x88]
mov esi, 0x42ccb8
mov dword [ebp - 0x74], 0xf1e7250a
xor ecx, ecx
mov dword [ebp - 0x70], 0x908113ca
mov byte [ebp - 0x1ac], cl
mov dword [ebp - 0x6c], 0x3b183e44
movsd dword es:[edi], dword [esi]
add eax, 0x356de1c
mov dword [ebp - 0x98], eax
mov eax, ecx
mov dword [ebp - 0x68], 0x3e555295
mov dword [ebp - 0x64], 0x748d8bb7
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x60], 0x1ddf49c4
mov dword [ebp - 0x5c], 0x9ae05ebf
mov dword [ebp - 0x58], 0x99aecf81
movsw word es:[edi], word [esi]
mov dword [ebp - 0x54], 0x7b7ed6db
mov edi, ecx
mov dword [ebp - 0x50], 0x8f264cfc
mov dword [ebp - 0x4c], 0xaabc6d82
mov dword [ebp - 0x48], 0xf5539b92
mov dword [ebp - 0x44], 0xc9818a0a
mov dword [ebp - 0x40], 0xf66eed82
mov dword [ebp - 0x3c], 0xc9222fa7
mov dword [ebp - 0x38], 0x3df507bd
mov dword [ebp - 0x34], 0x5c2102fc
mov dword [ebp - 0x30], 0x46de2b42
mov dword [ebp - 0x2c], 0xd4c2c36a
mov dword [ebp - 0x28], 0xc64413d5
mov dword [ebp - 0x24], 0xb395b22a
mov dword [ebp - 0x20], 0x46ca437a
mov dword [ebp - 0x1c], 0xb2f86731
mov dword [ebp - 0x18], 0xff87d344
mov dword [ebp - 0x14], 0xeaee9572
mov dword [ebp - 0x10], 0x60bb861d
mov dword [ebp - 0xc], 0xd9131042
mov byte [ebp + eax - 0x1a8], al
inc eax
cmp eax, 0x100
jb 0x42777c
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a8]
push 9
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x88]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a8]
mov byte [ebp + esi - 0x1a8], al
inc esi
mov byte [ebp + edi - 0x1a8], bl
cmp esi, 0x100
jb 0x42778d
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a8]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a8]
mov byte [ebp + edi - 0x1a8], al
mov byte [ebp + ebx - 0x1a8], cl
movzx eax, byte [ebp + edi - 0x1a8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a8]
xor al, byte [ebp + esi - 0x74]
mov byte [ebp + esi - 0x290], al
inc esi
cmp esi, 0x6c
jb 0x4277d5
xor eax, eax
mov ecx, 0x208
mov byte [ebp - 0x224], al
mov eax, dword [ebp - 0x98]
add eax, 0xcb4ae97
mov dword [0x435b10], eax
call fcn.0040a2a8
mov ecx, 0xf800
mov edi, eax
call fcn.0040a2a8
mov ebx, eax
mov ecx, 0x19000
mov dword [ebp - 0x78], ebx
call fcn.0040a2a8
mov dword [ebp - 4], eax
test edi, edi
je 0x427a07
test eax, eax
je 0x427a07
test ebx, ebx
je 0x427a07
lea ecx, [ebp - 0x220]
call fcn.0040b5df
push dword [ebp + 8]
mov esi, eax
lea edx, [ebp - 0x1c4]
push edi
push dword [ebp - 0x9c]
mov edi, dword [ebp + 0xc]
push esi
push edi
push 2
pop ecx
call fcn.0040a2e6
call eax
mov ecx, esi
call fcn.0040b8e6
push eax
xor eax, eax
push eax
push esi
call fcn.0040b587
mov ecx, esi
call fcn.0040a2d2
mov ecx, edi
call fcn.0040b8e6
mov edx, dword [ebp + 0x14]
push eax
call fcn.00408921
mov ebx, dword [ebp + 0x10]
lea edx, [ebp - 0x290]
mov ecx, dword [ebp - 0xa0]
push 1
push dword [ebp + 0x14]
push ebx
push edi
call fcn.0040dfcf
mov esi, eax
xor eax, eax
push 0x100000
push eax
push edi
call fcn.0040b587
add esp, 0x40
test esi, esi
jne 0x42793f
mov ecx, ebx
call fcn.0040b8e6
mov edx, eax
call fcn.0041b5fe
mov ecx, ebx
call fcn.0040b8e6
mov ecx, dword [ebp - 0x78]
mov edx, ebx
push eax
call fcn.0040b6cf
mov esi, dword [ebp - 4]
xor ecx, ecx
mov edx, dword [ebp - 0x78]
push esi
call fcn.0042259d
mov edx, dword [ebp + 0x14]
mov ecx, esi
push eax
call fcn.00408921
add esp, 0xc
push 0x100000
xor eax, eax
push eax
push ebx
call fcn.0040b587
add esp, 0xc
call fcn.00424088
push 5
pop ecx
mov esi, 0x42cb94
lea edi, [ebp - 0x90]
rep movsd dword es:[edi], dword [esi]
push 0x6e
xor eax, eax
pop ecx
mov dword [ebp - 0x7c], eax
cmp cx, word [ebp - 0x90]
jne 0x4279ac
xor ebx, ebx
test cx, cx
je 0x4279a7
cmp word [ebp + eax - 0x90], bx
je 0x4279a7
call fcn.004249a0
mov edx, dword [ebp - 0x7c]
inc edx
mov dword [ebp - 0x7c], edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.network_reset]
cmp cx, word [ebp + eax - 0x90]
je 0x427978
mov ebx, dword [ebp + 0x10]
xor eax, eax
mov edi, 0x100000
push edi
push eax
push dword [ebp + 0x14]
call fcn.0040b587
push dword [ebp + 0x14]
mov esi, dword [ebp - 4]
xor eax, eax
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
push ebx
push dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.0040f11f
push edi
xor eax, eax
push eax
push dword [ebp + 0xc]
call fcn.0040b587
push edi
xor eax, eax
push eax
push dword [ebp + 0x14]
call fcn.0040b587
push edi
xor eax, eax
push eax
push ebx
call fcn.0040b587
mov ebx, dword [ebp - 0x78]
add esp, 0x48
jmp 0x427a0a
mov esi, dword [ebp - 4]
mov ecx, ebx
call fcn.0040a2d2
mov ecx, esi
call fcn.0040a2d2
pop edi
pop esi
pop ebx
leave
ret