Function at 0xb5f5e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
lahf
mov eax, edi
cmovbe ecx, esp
mov cx, 0x7b15
mov ecx, esi
call fcn.00e6b32b
lea esp, [esp + 4]
test ebp, 0x249f0628
test eax, eax
mov eax, ebx
je 0xe74743
mov ebx, dword [ebp + 0xc]
mov edi, 0x7a250a9f
movzx edi, bp
mov edi, dword [ebp + 8]
push eax
cbw
mov eax, 0x286e39fe
mov eax, esi
mov dword [esi + 0x18], ebx
call fcn.00e6302a
test eax, eax
jne 0xb5f1e5
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x10]
sub eax, ebx
test ecx, ebp
cmp dh, 0x69
cmp edi, ebx
add dword [ecx], eax
stc
cmp ebp, eax
add ebx, eax
mov dword [ebp + 0xc], ebx
jmp 0xe647a5
pop edi
pop esi
mov eax, 1
movsx bx, cl
cmovo ebx, ebp
bswap ebx
pop ebx
mov esp, ebp
movzx ebp, dx
mov bp, 0x4ce7
pop ebp
ret
push ebp
mov ebp, esp
cmp ebx, edi
cmp ch, 0x93
sub esp, 8
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [ebx]
movzx esi, sp
mov esi, 0x31927001
movsx esi, dx
mov esi, eax
not ah
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 4], edi
mov dword [ebx], 0
call fcn.00b5da32
mov ecx, dword [ebp + 0x14]
test dx, bp
mov dword [ecx], 0
test ebp, 0x554d264b
cmp dword [esi + 0x48], 0x112
je 0xe7247a
cmp dword [esi + 0x4c], 0
je 0xb5f6f9
test edi, edi
jbe 0xb5f682
mov ecx, dword [esi + 0x58]
cmc
cmp bp, si
cmp ecx, 5
jae 0xb5f676
mov eax, dword [ebp + 0xc]
inc dl
mov dl, byte [eax]
mov byte [ecx + esi + 0x5c], dl
inc dword [esi + 0x58]
inc dword [ebx]
inc eax
test esi, ecx
cmp esp, edx
sub edi, 1
mov dword [ebp + 0xc], eax
jne 0xb5f645
mov dword [ebp - 4], edi
test bh, 0x87
cmp edi, 0x34d267cf
cmp dword [esi + 0x58], 5
jb 0xe74786
cmp byte [esi + 0x5c], 0
jne 0xb5f1e5
movzx eax, byte [esi + 0x5d]
bt dx, bx
movzx ecx, byte [esi + 0x5e]
sbb dh, dl
movzx edx, byte [esi + 0x5f]
shl eax, 8
stc
cmp esp, ecx
test cx, di
or eax, ecx
movzx ecx, byte [esi + 0x60]
shl eax, 8
or eax, edx
shl eax, 8
xor dl, 3
and dl, 0xe6
or eax, ecx
not edx
rcr dl, cl
btc dx, 0xec
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], 0xffffffff
not dh
rol edx, 0x57
mov dword [esi + 0x4c], 0
shr dh, cl
mov dword [esi + 0x58], 0
cmc
cmp ebx, 0x56106cc
xadd dl, dl
mov edx, dword [ebp + 8]
cmp dword [esi + 0x24], edx
jae 0xe61251
cmp dword [esi + 0x50], 0
je 0xbde254
mov ecx, dword [esi + 4]
add ecx, dword [esi]
mov edx, dword [esi + 0x10]
xadd ax, ax
mov eax, 0x300
shl eax, cl
test bp, bp
stc
cmc
add eax, 0x736
je 0xb5f77f
mov ecx, eax
mov eax, 0x400
adc edi, 0x5c82c42
adc edi, edi
mov edi, edx
rol dl, cl
movzx edx, ax
rcl ax, cl
bt eax, 0x21
shld ax, bx, 0xa5
mov eax, edx
test dx, 0x3f81
shl edx, 0x10
or eax, edx
clc
cmp al, 0x56
cmp ax, si
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
stc
ror cl, cl
shld di, bx, 9
mov edi, dword [ebp - 4]
and cx, 0x2f26
mov ecx, 1
cmc
xor eax, eax
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov dword [esi + 0x50], eax
jmp 0xbde259
mov ecx, dword [ebp + 0x14]
test cx, bx
test bl, 0x35
pop edi
shl bx, cl
inc bx
movzx esi, bp
pop esi
shl bl, 0x8a
sbb bl, bh
mov dword [ecx], 4
shr bx, 0x69
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 1
mov ebx, dword [esi + 0x58]
test bx, dx
test ebx, ebx
jne 0xe646eb
mov ebx, dword [ebp + 0xc]
cmc
cmp edi, 0x14
jb 0xb5ecd6
lea eax, [edi + ebx - 0x14]
jmp 0xb5ed07
cmp dword [esi + 0x48], 0
jne 0xe61265
cmp dword [esi + 0x20], 0
je 0xbd25cd
mov edx, dword [ebp + 0x14]
stc
pop edi
shr ebx, cl
adc bx, sp
pop esi
test dx, cx
mov dword [edx], 2
xor eax, eax
movzx ebx, bx
setl bh
pop ebx
mov esp, ebp
movzx ebp, sp
not bp
pop ebp
ret
sub edi, edi
mov dword [ebp - 8], edi
cmp ebx, 0x14
jae 0xe64726
cmp edi, dword [ebp - 4]
jae 0xe64722
mov eax, dword [ebp + 0xc]
mov dl, byte [edi + eax]
test esi, esi
test bl, 0xf
mov byte [ebx + esi + 0x5c], dl
clc
lea ebx, [ebx + ecx]
lea edi, [edi + ecx]
cmc
cmp ebx, 0x14
jb 0xe646f9
mov dword [ebp - 8], edi
stc
mov dword [esi + 0x58], ebx
cmp ebx, 0x14
jae 0xe64758
lea eax, [esi + 0x5c]
push eax
cbw
movsx eax, cx
mov eax, ebx
mov ecx, esi
call fcn.00e6b32b
add esp, 4
cmc
test cl, 0x88
cmp bx, 0x2369
test eax, eax
je 0xe64ae5
mov edi, dword [ebp + 8]
bswap eax
lahf
lea eax, [esi + 0x5c]
mov dword [esi + 0x18], eax
push eax
bswap eax
mov eax, esi
call fcn.00e6302a
test eax, eax
jne 0xb5f1e5
mov ecx, dword [esi + 0x18]
movzx eax, di
or eax, 0x25cd4096
mov edx, dword [ebp - 8]
sub ecx, ebx
sub ecx, esi
lea eax, [edx + ecx - 0x5c]
inc cx
sub cx, sp
mov ecx, dword [ebp + 0x10]
add dword [ecx], eax
cmc
clc
add dword [ebp + 0xc], eax
stc
mov dword [esi + 0x58], 0
cmc
sub dword [ebp - 4], eax
cmp dword [esi + 0x48], 0x112
je 0xe7247a
mov edi, dword [ebp - 4]
mov bh, 0xaa
mov ebx, dword [ebp + 0x10]
jmp 0xb5f633
mov eax, dword [ebp + 0x10]
btc ebx, 0x54
bswap esi
add dword [eax], edi
mov ecx, dword [ebp + 0x14]
shr bx, cl
pop edi
shl bh, 0x14
bt ebx, edi
pop esi
mov dword [ecx], 3
bswap bx
btc ebx, 7
add ebx, 0x2d424e70
sub eax, eax
mov bx, 0x75c0
mov bx, bp
pop ebx
mov esp, ebp
bswap ebp
movsx ebp, ax
pop ebp
ret
cmp dword [esi + 0x20], 0
jne 0xe7248f
mov edx, dword [ebp + 0x14]
shr bl, cl
mov dword [edx], 1
sub eax, eax
bsr ebx, ebx
adc edi, edi
cmp dword [esi + 0x20], eax
mov al, 0xa4
movzx ebx, si
pop edi
mov bx, 0x2720
pop esi
setne al
bswap bx
movzx bx, cl
pop ebx
mov esp, ebp
not ebp
pop ebp
ret
lea ecx, [edi + ebx]
lea edx, [esi + 0x5c]
cmp ebx, ecx
je 0xe74769
sub edx, ebx
xchg bl, bl
mov bl, byte [eax]
mov byte [edx + eax], bl
inc eax
cmp di, bx
cmp bh, 0xc3
cmp eax, ecx
jne 0xe74755
mov eax, dword [ebp + 0x10]
movsx bx, bh
sub bx, 0x1d1a
btr ebx, 0x13
mov dword [esi + 0x58], edi
sar bl, 0x3e
add dword [eax], edi
and ebx, edx
rcr eax, cl
dec eax
mov eax, dword [ebp + 0x14]
test sp, 0x164a
pop edi
pop esi
btc bx, 0xe4
btc bx, dx
mov dword [eax], 3
adc ebx, ebp
add bh, 0xf8
xor eax, eax
cmovns ebx, esp
movsx bx, cl
xchg ebx, ebx
pop ebx
mov esp, ebp
pop ebp
ret