Function at 0x4a904ea8
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x4a989e5f
sub esp, 0xd0
mov eax, dword [0x4aa98440]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebx
push ebp
mov ebp, dword [esp + 0xdc]
mov ebx, ecx
push esi
push edi
push ebp
mov dword [esp + 0x2c], ebx
call sym.icuin58.dll_public:_static_int___cdecl_icu_58::CollationWeights::lengthOfWeight_unsigned_int_
mov esi, dword [esp + 0xec]
mov edi, eax
push esi
mov dword [esp + 0x18], edi
call sym.icuin58.dll_public:_static_int___cdecl_icu_58::CollationWeights::lengthOfWeight_unsigned_int_
mov dword [esp + 0x28], eax
pop ecx
pop ecx
cmp ebp, esi
jb 0x4a989eae
xor al, al
jmp 0x4a98a22f
cmp edi, eax
jge 0x4a989ec5
push 4
pop ecx
sub ecx, edi
or eax, 0xffffffff
shl ecx, 3
shl eax, cl
and eax, esi
cmp ebp, eax
je 0x4a989ea7
push 0x50
lea eax, [esp + 0x40]
push 0
push eax
call sub.MSVCR120.dll_memset
xor eax, eax
lea edi, [esp + 0x38]
stosd dword es:[edi], eax
push 0x50
push 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0xa0]
push eax
call sub.MSVCR120.dll_memset
mov ebp, dword [ebx]
add esp, 0x18
mov edi, dword [esp + 0x10]
cmp edi, ebp
jle 0x4a989fc6
mov esi, dword [esp + 0xe4]
lea edx, [esp + 0x40]
mov eax, edi
shl eax, 4
add eax, edx
push 4
mov dword [esp + 0x14], eax
lea eax, [edi + 6]
pop edx
sub edx, edi
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0x10]
shl edx, 3
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
push 4
pop eax
sub eax, edi
mov ecx, eax
mov eax, esi
shl ecx, 3
shr eax, cl
mov dword [esp + 0x24], ecx
and eax, 0xff
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
cmp eax, ecx
jae 0x4a989f8d
mov ecx, dword [esp + 0x24]
xor eax, eax
inc eax
mov dword [ebx + 4], edi
shl eax, cl
mov edx, 0xffffff00
mov ecx, dword [esp + 0x14]
add eax, esi
mov dword [ebx - 4], eax
mov eax, dword [esp + 0x10]
shl edx, cl
and edx, esi
shl eax, cl
or edx, eax
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x1c]
mov dword [ebx], edx
mov edx, ecx
mov dword [ebx + 8], eax
sub dword [esp + 0x18], 4
or eax, 0xffffffff
push 5
pop ecx
sub ecx, edi
add edx, 8
shl ecx, 3
sub ebx, 0x10
shl eax, cl
and esi, eax
mov dword [esp + 0x14], edx
dec edi
cmp edi, ebp
jg 0x4a989f2f
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xe4], esi
mov esi, dword [esp + 0xe8]
mov eax, dword [esp + 0xe4]
cmp eax, 0xff000000
jae 0x4a989fe5
push 4
pop ecx
xor edi, edi
sub ecx, ebp
shl ecx, 3
inc edi
shl edi, cl
add edi, eax
jmp 0x4a989fe8
or edi, 0xffffffff
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], edi
cmp edx, ebp
jle 0x4a98a0b1
mov eax, edx
lea edi, [esp + 0x90]
shl eax, 4
add edi, eax
lea eax, [edx + 1]
lea eax, [ebx + eax*4]
mov dword [esp + 0x14], eax
push 4
pop eax
sub eax, edx
shl eax, 3
mov dword [esp + 0x1c], eax
mov ebx, eax
push 4
pop eax
sub eax, edx
mov ecx, eax
mov eax, esi
shl ecx, 3
shr eax, cl
mov dword [esp + 0x1c], ecx
and eax, 0xff
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
cmp eax, ecx
jbe 0x4a98a082
mov eax, dword [esp + 0x10]
mov ecx, ebx
shl eax, cl
mov edx, 0xffffff00
shl edx, cl
mov ecx, dword [esp + 0x1c]
and edx, esi
or edx, eax
mov eax, esi
mov dword [edi - 4], edx
xor edx, edx
inc edx
shl edx, cl
sub eax, edx
mov edx, dword [esp + 0x20]
mov dword [edi], eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x10]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
sub dword [esp + 0x14], 4
or eax, 0xffffffff
push 5
pop ecx
sub ecx, edx
add ebx, 8
shl ecx, 3
sub edi, 0x10
shl eax, cl
and esi, eax
dec edx
mov dword [esp + 0x20], edx
cmp edx, ebp
jg 0x4a98a022
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
push 4
pop eax
sub eax, ebp
mov dword [esp + 0x34], ebp
mov ecx, eax
xor eax, eax
shl ecx, 3
inc eax
shl eax, cl
sub esi, eax
mov dword [esp + 0x30], esi
cmp esi, edi
jb 0x4a98a0dc
sub esi, edi
shr esi, cl
inc esi
mov dword [esp + 0x38], esi
jmp 0x4a98a1a3
push 4
pop esi
cmp ebp, esi
jge 0x4a98a1a3
xor edi, edi
cmp dword [esp + edi + 0x88], 0
jle 0x4a98a121
cmp dword [esp + edi + 0xd8], 0
jle 0x4a98a121
mov eax, dword [esp + edi + 0x80]
cmp eax, dword [esp + edi + 0xcc]
ja 0x4a98a148
je 0x4a98a121
push esi
push eax
mov ecx, ebx
call sym.icuin58.dll_private:_unsigned_int___thiscall_icu_58::CollationWeights::incWeight_unsigned_int__int_const
cmp eax, dword [esp + edi + 0xcc]
je 0x4a98a12b
dec esi
sub edi, 0x10
cmp esi, ebp
jg 0x4a98a0e9
jmp 0x4a98a1a3
mov edi, esi
shl edi, 4
mov eax, dword [esp + edi + 0x90]
mov dword [esp + edi + 0x40], eax
mov eax, dword [esp + edi + 0x98]
add dword [esp + edi + 0x48], eax
jmp 0x4a98a17c
push 4
mov edi, esi
shl edi, 4
pop eax
sub eax, esi
mov ecx, eax
mov edx, dword [esp + edi + 0x90]
mov eax, dword [esp + edi + 0x3c]
mov dword [esp + edi + 0x40], edx
shl ecx, 3
shr edx, cl
shr eax, cl
and edx, 0xff
and eax, 0xff
sub edx, eax
inc edx
mov dword [esp + edi + 0x48], edx
and dword [esp + edi + 0x98], 0
dec esi
cmp esi, ebp
jle 0x4a98a1a3
mov eax, esi
shl eax, 4
sub esi, ebp
and dword [esp + eax + 0x98], 0
lea eax, [eax - 0x10]
and dword [esp + eax + 0x58], 0
dec esi
jne 0x4a98a190
and dword [ebx + 0xa0], 0
cmp dword [esp + 0x38], 0
jle 0x4a98a1c6
lea edi, [ebx + 0x2c]
mov dword [ebx + 0xa0], 1
lea esi, [esp + 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 1]
cmp ecx, 4
jg 0x4a98a225
shl ecx, 4
lea esi, [esp + 0x8c]
add esi, ecx
cmp dword [esi + 0xc], 0
jle 0x4a98a1f8
mov eax, dword [ebx + 0xa0]
lea edi, [ebx + 0x2c]
shl eax, 4
add edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [ebx + 0xa0]
cmp dword [esp + ecx + 0x48], 0
jle 0x4a98a21d
mov eax, dword [ebx + 0xa0]
lea esi, [esp + 0x3c]
add esi, ecx
shl eax, 4
lea edi, [ebx + 0x2c]
add edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [ebx + 0xa0]
add ecx, 0x10
cmp ecx, 0x40
jle 0x4a98a1d1
cmp dword [ebx + 0xa0], 0
setg al
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.4a9ebf20
add esp, 0xd0
ret 8