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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov dword [ebp - 0x28], 0x37
xorps xmm1, xmm1
mov dword [ebp - 0x24], 0x49
mov dword [ebp - 0x20], 0x35
mov dword [ebp - 0x1c], 0xffffff55
movups xmm0, xmmword [ebp - 0x28]
push esi
push edi
psubd xmm1, xmm0
mov dword [ebp - 0x90], ecx
movaps xmm0, xmm1
mov dword [ebp - 0xa4], 0x26
psrldq xmm0, 8
mov ecx, 0xf3c
paddd xmm1, xmm0
mov dword [ebp - 0xa0], 0xe
movups xmm0, xmm1
mov dword [ebp - 0x9c], 0x4a
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x98], 2
movd eax, xmm1
push 5
mov dword [ebp - 0x94], 0xdb8
add eax, 0xb
xor edx, edx
mov dword [ebp - 0xa8], eax
mov eax, edx
pop esi
sub ecx, dword [ebp + eax*4 - 0xa4]
inc eax
cmp eax, esi
jl 0x41bce5
mov eax, dword [0x4020dc]
mov dword [ebp - 0x30], eax
mov ax, word [0x4020e0]
mov word [ebp - 0x2c], ax
mov eax, edx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x8c], 0xc83f8770
mov dword [ebp - 0x88], 0x16cbcc49
mov dword [ebp - 0x84], 0xf618b301
mov dword [ebp - 0x80], 0x1d93da1
mov dword [ebp - 0x7c], 0x446474f3
mov dword [ebp - 0x78], 0x6b5f2c8
mov dword [ebp - 0x74], 0xeb2e3733
mov dword [ebp - 0x70], 0x78e3231f
mov dword [ebp - 0x6c], 0x6ad28dd2
mov dword [ebp - 0x68], 0xf158eced
mov dword [ebp - 0x64], 0x798329e6
mov dword [ebp - 0x60], 0x66e7bef9
mov dword [ebp - 0x5c], 0x3d503b64
mov dword [ebp - 0x58], 0xb429fd60
mov dword [ebp - 0x54], 0xf7b02247
mov dword [ebp - 0x50], 0x869d4843
mov byte [ebp - 0x4c], 0xfb
mov dword [ebp - 8], edx
mov byte [ebp + eax - 0x1b0], al
inc eax
cmp eax, 0x100
jb 0x41bd88
mov edx, dword [0x44d608]
add edx, 0x19cd4221
xor eax, eax
mov edi, eax
push 0x74
mov ecx, 0x4021c4
pop esi
lea eax, [esi - 0x30]
push 9
pop esi
cmp ax, si
ja 0x41bdc9
add ecx, 2
movzx eax, word [ecx]
mov esi, eax
test ax, ax
jne 0x41bdaf
jmp 0x41bdcf
or edx, 0xfc7e8abd
xor edx, 0x5d5f7bf
mov dword [0x44d608], edx
call dword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
mov edx, 0x4021c4
mov ecx, 0x402280
call fcn.0041b89e
xor edx, edx
mov cl, byte [ebp + edi - 0x1b0]
push 5
mov eax, edi
mov byte [ebp - 1], cl
pop esi
div esi
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x30]
add eax, dword [ebp - 8]
imul edx, dword [0x44d608], 0x1fbf4fdd
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x1b0]
mov byte [ebp + edi - 0x1b0], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x1b0], al
cmp edi, 0x100
jb 0x41bda7
xor eax, eax
mov ecx, eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
or edx, 0x5fc2be98
movzx eax, al
mov esi, 0x5f6
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], edx
mov al, byte [ebp + eax - 0x1b0]
mov byte [ebp - 1], al
movzx eax, al
add eax, ecx
mov ecx, str.identifier_removed
movzx eax, al
mov dword [ebp - 8], eax
movzx eax, byte [str.identifier_removed]
jmp 0x41be99
add esi, eax
inc ecx
cmp esi, 0x5f8
ja 0x41bfac
movzx eax, byte [ecx]
test eax, eax
jne 0x41be87
add edx, 0x5630fabd
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
imul edx, edx, 0x1c289818
mov al, byte [ebp + ecx - 0x1b0]
mov byte [ebp + esi - 0x1b0], al
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x1b0], al
sub edx, 0x985a738
movzx ecx, al
movzx eax, byte [ebp + esi - 0x1b0]
add ecx, eax
mov dword [0x44d608], edx
movzx eax, cl
mov ecx, dword [ebp - 8]
mov al, byte [ebp + eax - 0x1b0]
xor al, byte [ebp + edi - 0x8c]
mov byte [ebp + edi - 0x210], al
inc edi
cmp edi, 0x41
jb 0x41be4d
mov dword [ebp - 0x28], 0x17
lea edi, [ebp - 0x28]
mov dword [ebp - 0x24], 0x19
mov esi, 0x401628
mov dword [ebp - 0x20], 0x64
xorps xmm1, xmm1
mov dword [ebp - 0x1c], 0xffffff84
xor ecx, ecx
movups xmm0, xmmword [ebp - 0x28]
movsd dword es:[edi], dword [esi]
xor edx, 0x35000833
mov byte [ebp - 0x1cf], cl
psubd xmm1, xmm0
mov dword [ebp - 0x48], 0xf7cc40a9
movaps xmm0, xmm1
mov dword [ebp - 0x44], 0x3bd0fcaf
psrldq xmm0, 8
movsd dword es:[edi], dword [esi]
paddd xmm1, xmm0
movups xmm0, xmm1
mov dword [ebp - 0x40], 0x955242aa
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x3c], 0xce67ff29
movsd dword es:[edi], dword [esi]
movd eax, xmm1
mov dword [ebp - 0x38], 0xa3cd324b
mov dword [ebp - 0x34], 0xc62ee7cd
movsw word es:[edi], word [esi]
add eax, 0x1a
mov dword [ebp - 0x30], eax
and edx, 0x7d2019bb
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
movsb byte es:[edi], byte [esi]
mov al, byte [str.identifier_removed]
mov ecx, str.identifier_removed
jmp 0x41bfe9
mov edx, 0x4021c4
mov ecx, 0x402280
call fcn.0041b89e
mov esi, dword [ebp - 0x14]
xor esi, 0xd4ecd244
mov dword [0x44d608], esi
call fcn.0041ba62
mov edx, dword [0x44d608]
or edx, 0x4f322624
jmp 0x41bea3
sub al, 0x30
cmp al, 9
ja 0x41bfef
inc ecx
mov al, byte [ecx]
test al, al
jne 0x41bfe0
jmp 0x41bff5
add edx, 0x9fa7aa8
xor edx, 0xa110272
mov ecx, 0x402280
mov dword [ebp - 0x14], edx
mov edx, 0x4021c4
call fcn.0041b89e
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov byte [ebp + eax - 0x1b0], al
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 0x100
jb 0x41bfa0
xor eax, eax
mov esi, edx
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x1b0]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xa0]
movzx ecx, cl
push 0x6f
movzx eax, byte [ebp + edx - 0x28]
mov edx, 0x2b5
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov dword [ebp - 8], eax
pop ecx
mov al, byte [ebp + eax - 0x1b0]
mov byte [ebp + edi - 0x1b0], al
mov eax, 0x402280
add edx, ecx
inc eax
cmp edx, 0x138e
ja 0x41c085
movsx ecx, byte [eax]
test ecx, ecx
jne 0x41c071
jmp 0x41c08b
add esi, 0x3b9437a8
and esi, 0x2c1adca4
imul eax, esi, 0x48873d98
mov dword [0x44d608], eax
call fcn.0041ba62
mov ecx, dword [ebp - 8]
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x1b0], al
cmp edi, 0x100
jae 0x41c0c2
mov esi, dword [0x44d608]
jmp 0x41c02f
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
mov eax, dword [0x44d608]
sub eax, 0x5c85d710
mov dword [ebp - 0xc], eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x1b0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x1b0]
mov byte [ebp + edi - 0x1b0], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x1b0], cl
movzx eax, byte [ebp + edi - 0x1b0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1b0]
xor al, byte [ebp + esi - 0x48]
mov byte [ebp + esi - 0x1cc], al
inc esi
cmp esi, 0x18
jb 0x41c0d8
mov esi, 0x4020e4
mov word [ebp - 0x14], 0x3bb8
lea edi, [ebp - 0x28]
mov word [ebp - 0x11], 0x6964
push 5
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x12], al
mov edx, ecx
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x1b4], cl
and eax, 0x677b0f54
movsd dword es:[edi], dword [esi]
mov ecx, 0x4021c4
mov byte [ebp - 0xf], 0xcb
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor esi, esi
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x641
jl 0x41c17f
cmp word [ecx], si
jne 0x41c16c
jmp 0x41c184
xor eax, 0xb6cc603a
xor eax, 0xcf3bb87e
xor ecx, ecx
mov dword [0x44d608], eax
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x1b0], al
inc eax
cmp eax, 0x100
jb 0x41c194
xor edx, edx
mov dword [ebp - 0xc], 0xd
mov eax, esi
mov cl, byte [ebp + esi - 0x1b0]
div dword [ebp - 0xc]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1b0]
mov byte [ebp + esi - 0x1b0], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x1b0], al
cmp esi, 0x100
jb 0x41c1a3
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x1b0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x1b0]
mov byte [ebp + edi - 0x1b0], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x1b0], cl
movzx eax, byte [ebp + edi - 0x1b0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1b0]
xor al, byte [ebp + esi - 0x14]
mov byte [ebp + esi - 0xb0], al
inc esi
cmp esi, 6
jb 0x41c1f4
xor ecx, ecx
mov dword [ebp - 0xa4], 0x11
push 5
mov byte [ebp - 0xaa], cl
mov edi, ecx
mov dword [ebp - 0xa0], 0x20
mov eax, ecx
mov dword [ebp - 0x9c], 0x35
mov dword [ebp - 0x98], 0x5b
mov dword [ebp - 0x94], 0xffffff3f
pop edx
sub edi, dword [ebp + eax*4 - 0xa4]
inc eax
cmp eax, edx
jl 0x41c28d
push 9
mov eax, ecx
mov dword [ebp - 0xa4], 0x3b
mov dword [ebp - 0xa0], 0x55
mov dword [ebp - 0x9c], 0x4a
mov dword [ebp - 0x98], 0x2d
mov dword [ebp - 0x94], 0xffffff01
pop ecx
sub ecx, dword [ebp + eax*4 - 0xa4]
inc eax
cmp eax, edx
jl 0x41c2d0
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0x90]
call fcn.0041e51b
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
call fcn.0041e51b
xor ecx, ecx
mov dword [ebp - 0x18], eax
cmp byte [str.identifier_removed], cl
je 0x41c31a
inc ecx
cmp ecx, 0x198
je 0x41c368
cmp byte [ecx + str.identifier_removed], 0
jne 0x41c308
mov esi, dword [0x44d608]
and esi, 0x62af5133
lea edx, [ebp - 0x210]
mov ecx, eax
sub esi, 0x496065b
call fcn.00436a85
movzx eax, byte [str.identifier_removed]
mov ecx, 0xe1a
test eax, eax
je 0x41c38b
mov edx, str.identifier_removed
add ecx, eax
inc edx
cmp ecx, 0x2e9
ja 0x41c376
movzx eax, byte [edx]
test eax, eax
jne 0x41c34e
or esi, 0x77119f13
jmp 0x41c391
mov esi, dword [0x44d608]
add esi, 0x33b37e1b
jmp 0x41c320
mov edx, 0x4021c4
mov ecx, 0x402280
call fcn.0041b89e
imul esi, esi, 0x6a72c92e
or esi, 0xe2ae4e08
or esi, 0x2d06cd7c
push esi
mov dword [0x44d608], esi
call fcn.0041bb99
mov esi, dword [ebp - 0x18]
pop ecx
mov ecx, esi
call fcn.004369c6
sub eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x18], eax
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x1cc]
call fcn.0041e636
call eax
mov ecx, dword [ebp - 0x90]
add eax, ecx
mov dword [ebp - 0x30], eax
cmp edi, ecx
jae 0x41c483
mov dword [ebp - 0x28], 0x62
mov dword [ebp - 0x24], 0x24
mov dword [ebp - 0x20], 0x25
mov dword [ebp - 0x1c], 0xffffff55
xor eax, eax
inc eax
cmp eax, 0x2cd
jg 0x41c417
cmp byte [eax + 0x402280], 0
jne 0x41c3ff
mov eax, dword [0x44d608]
jmp 0x41c421
mov eax, dword [0x44d608]
and eax, 0x15e530a6
xor eax, 0xe2ffff9f
and eax, 0x3d4a2268
push eax
mov dword [0x44d608], eax
call fcn.0041bb99
movups xmm0, xmmword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
push eax
call fcn.00436236
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov al, byte [eax + esi]
mov byte [edi + ecx], al
inc edi
mov ecx, dword [ebp - 0x90]
cmp edi, ecx
jb 0x41c3fd
mov eax, dword [ebp - 8]
xor edx, edx
add eax, dword [ebp - 0xc]
mov byte [eax + ecx], dl
mov ecx, esi
call fcn.0041e600
mov eax, dword [ebp - 0xc]
pop edi
pop esi
leave
ret