Function at 0x4c84f0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push 0xffffffffffffffff
push 0x6b2c58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov esi, ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x40], 0
mov byte [esp + 0x13], 0
call fcn.0060fe70
mov ecx, dword [0x705bcc]
mov eax, dword [0x705bc8]
mov dx, word [0x705bd0]
mov dword [esp + 0x20], ecx
push 4
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 1
mov dword [esp + 0x20], eax
mov word [esp + 0x28], dx
call fcn.00610190
push 5
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1c], al
call fcn.00610190
mov edi, dword [esp + 0x18]
mov ecx, edi
and ecx, 0xff
mov edx, ecx
shl edx, 6
sub edx, ecx
shl edx, 2
sub edx, ecx
lea ecx, [ecx + ecx*4]
mov bl, byte [edx*2 + 0x706c81]
lea ecx, [ecx + ecx*4]
shl ecx, 3
movzx dx, byte [ecx + 0x6cf7e8]
cmp dx, 1
jl 0x4c85b0
lea ecx, [ecx + 0x6cf84d]
movsx ebp, dx
cmp al, byte [ecx - 0x64]
jne 0x4c85ac
mov dl, byte [ecx]
mov byte [esp + 0x13], dl
inc ecx
dec ebp
jne 0x4c85a1
mov al, byte [esi + 0x348]
test al, al
jne 0x4c85d2
push edi
mov ecx, esi
mov byte [esi + 0x348], 1
call fcn.004c8990
test ax, ax
je 0x4c87f4
mov al, byte [0x71bb5c]
test al, al
je 0x4c86a8
lea ebx, [esi + 0x2e4]
mov edi, 0x64
call fcn.00698605
cdq
mov ecx, 0xff
idiv ecx
inc ebx
dec edi
mov byte [ebx - 1], dl
jne 0x4c85ea
push 0xf
call fcn.0041ad00
add esp, 4
push ecx
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.004c8ab0
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x40], 4
cmp eax, ebx
jae 0x4c863c
mov ebx, eax
mov ebp, dword [esp + 0x4c]
cmp ebp, esi
jne 0x4c8872
mov esi, eax
mov eax, dword [ebp + 8]
cmp eax, ebx
jae 0x4c8656
call fcn.00697ab7
mov ecx, ebp
call fcn.00414980
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x4c8668
mov esi, eax
test esi, esi
jbe 0x4c869c
mov edx, dword [ebp + 4]
sub eax, esi
add ebx, edx
push eax
lea ecx, [ebx + esi]
push ecx
push ebx
call fcn.00698020
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push 0
push ebx
call fcn.00414210
test al, al
je 0x4c869c
push ebx
mov ecx, ebp
call fcn.004141f0
mov ecx, ebp
call fcn.00414980
jmp 0x4c8919
mov al, byte [esi + 0x349]
test al, al
jne 0x4c870e
shl bl, 1
cmp bl, 0xc
mov byte [esi + 0x349], 0xff
jae 0x4c86c2
mov bl, 0xc
xor dx, dx
push 0
mov dl, bl
lea eax, [esi + 0x2c0]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
lea ecx, [esi + 0x350]
call fcn.00545db0
test ax, ax
jne 0x4c870e
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x58], esp
push 6
push 0x7033ac
call fcn.0060ff10
push ecx
mov byte [esp + 0x50], 2
mov ecx, esp
mov dword [esp + 0x28], esp
jmp 0x4c87d2
mov al, byte [esi + 0x34a]
mov cl, byte [esp + 0x13]
cmp al, cl
jne 0x4c8724
test al, al
jne 0x4c8608
lea edi, [esi + 0x2c0]
mov byte [esi + 0x34a], cl
push 0
mov ecx, edi
call fcn.0060d6a0
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4c8744
xor al, al
jmp 0x4c874c
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
xor bx, bx
xor ebp, ebp
mov bl, al
test bx, bx
jle 0x4c87a8
movsx edx, bp
push edx
push 0
mov ecx, edi
call fcn.0060d6a0
mov ecx, eax
call fcn.00413600
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x18]
call fcn.006101a0
lea ecx, [esp + 0x14]
call fcn.00610330
cmp ax, 4
jle 0x4c87a2
push 3
lea ecx, [esp + 0x18]
call fcn.00610190
cmp al, byte [esp + 0x13]
je 0x4c881b
inc ebp
cmp bp, bx
jl 0x4c8758
push 0
push 1
push ecx
mov byte [esi + 0x349], 0
mov ecx, esp
mov dword [esp + 0x58], esp
push 6
push 0x7033ac
call fcn.0060ff10
push ecx
mov byte [esp + 0x50], 3
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x70345c
call fcn.0060ff10
mov ecx, 0x71b930
mov byte [esp + 0x50], 1
call fcn.006115e0
mov ecx, esi
call fcn.004c8460
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 0
call fcn.0060ffb0
lea ecx, [esp + 0x48]
mov dword [esp + 0x40], 0xffffffff
call fcn.0060ffb0
xor ax, ax
jmp 0x4c896f
push 0
lea ecx, [esp + 0x18]
call fcn.00610190
xor ebx, ebx
lea ecx, [esp + 0x14]
push ebx
mov byte [esi + 0x2e4], al
call fcn.00610190
test al, al
jbe 0x4c8608
lea eax, [ebx + 3]
lea ecx, [esp + 0x14]
push eax
call fcn.00610190
movsx ecx, bx
push 0
inc ebx
mov byte [ecx + esi + 0x2e5], al
lea ecx, [esp + 0x18]
call fcn.00610190
xor dx, dx
mov dl, al
cmp bx, dx
jl 0x4c8840
jmp 0x4c8608
xor edi, edi
cmp ebx, edi
jbe 0x4c88e0
cmp ebx, ecx
jne 0x4c88e0
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x4c8888
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c88e0
mov eax, dword [ebp + 4]
cmp eax, edi
je 0x4c88b2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c88a9
cmp al, 0xff
je 0x4c88a9
dec al
mov byte [ecx], al
jmp 0x4c88b2
push ecx
call fcn.00697880
add esp, 4
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x4c88c7
mov eax, 0x6ce1f8
mov dword [ebp + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebp + 8], ecx
mov esi, dword [esi + 0xc]
mov dword [ebp + 0xc], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4c8919
push 1
push ebx
mov ecx, ebp
call fcn.00414210
test al, al
je 0x4c8919
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c88fa
mov esi, 0x6ce1f8
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
mov byte [ebp], 0
mov eax, dword [esp + 0x2c]
xor esi, esi
cmp eax, esi
je 0x4c8940
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c8937
cmp al, 0xff
je 0x4c8937
dec al
mov byte [ecx], al
jmp 0x4c8940
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov byte [esp + 0x40], 0
call fcn.0060ffb0
lea ecx, [esp + 0x48]
mov dword [esp + 0x40], 0xffffffff
call fcn.0060ffb0
mov ax, 1
mov ecx, dword [esp + 0x38]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x34
ret 8