Function at 0x87e018
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
lea eax, [edi + 0x160]
jmp 0x91e2dc
mov dword [edi + 0x110], 0
jmp 0x856bba
mov byte [ecx], 0
sete ch
cmovle cx, si
lea ecx, [edi + 0x144]
jmp 0x85a541
push 0
jmp 0x4f22a1
push ebp
bts ax, bp
mov ebp, esp
push 0xffffffffffffffff
jmp 0x8ce80c
jb 0x87ec10
mov eax, dword [esi]
ror cx, 0x28
mov dword [esi + 0x10], 0
lea ecx, [edi + 0x100]
jmp 0x8bd308
mov dword [edi + 0x118], 0
mov dword [edi + 0x128], 0
cwde
mov dword [edi + 0x12c], 0xf
mov byte [edi + 0x118], 0
setbe ah
cbw
mov dword [edi + 0x144], 0
movsx ax, dh
setnp al
mov dword [edi + 0x154], 0
nop
lahf
not ax
mov dword [edi + 0x158], 0xf
lahf
mov byte [edi + 0x144], 0
mov ax, si
mov ax, 0x8c0b
push fcn.004787b0
movzx ax, dl
cwde
push 0x478ac0
jmp 0x946b61
mov dword [edi + 0x88], 0
bswap bx
mov dword [edi + 0x8c], 0
movzx ebx, dx
mov esi, 0x2d2604b5
mov dword [edi + 0x90], 0
not si
cwde
mov al, 0xb
mov dword [edi + 0x94], 0
movzx esi, ax
lahf
mov esi, eax
mov dword [edi + 0x98], 0
cwde
xchg esi, eax
mov dword [edi + 0x9c], 0
mov dword [edi + 0xa0], 0
cbw
cmovl bx, bx
movzx esi, di
mov dword [edi + 0xb0], 0
not ebx
mov dword [edi + 0xb4], 0xf
movzx bx, dh
not ah
mov byte [edi + 0xa0], 0
not si
movsx ebx, si
xchg si, ax
mov dword [edi + 0xb8], 0
mov dword [edi + 0xc8], 0
mov dword [edi + 0xcc], 0xf
mov byte [edi + 0xb8], 0
mov si, sp
setge bh
lea ebx, [edi + 0xd0]
mov dword [ebx], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
jmp 0x8f56c8
jb 0x850d3e
mov ecx, dword [edi + 0x100]
jmp 0x850d3e
mov byte [edi + 0x58], 0
mov dword [edi + 0x70], 0
mov ebx, edi
mov bl, 0x25
lahf
mov dword [edi + 0x74], 0
mov bx, sp
mov eax, 0xea1897aa
seto ah
mov dword [edi + 0x78], 0
not esi
mov dword [edi + 0x7c], 0
cmova si, ax
setnp al
mov dword [edi + 0x80], 0
cwde
jmp 0x97652d
push edi
bt di, 0xbd
cmp esi, 0x89930834
mov eax, dword [0x75868c]
adc bl, ch
adc edi, 0x8596668e
xor eax, ebp
xchg bh, bl
movsx ebx, bx
push eax
lea eax, [ebp - 0xc]
cmovg edi, esi
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ebx, 0xdbac8284
mov dword [edi + 0x10], 0
xchg si, si
not ebx
mov dword [edi + 0x20], 0
movsx eax, dx
mov dword [edi + 0x24], 0xf
mov eax, ebp
lahf
not esi
mov byte [edi + 0x10], 0
xchg esi, eax
jmp 0x8d3306
mov byte [eax], 0
test sp, 0xf01c
cmp dword [edi + 0x114], 0x10
jmp 0x8a682d
jb 0x8c0550
mov eax, dword [ebx]
stc
clc
mov dword [ebx + 0x10], 0
cmp ebp, 0x4ab92c26
mov byte [eax], 0
sbb al, 0xc
mov eax, esi
cmp bx, 0xdd01
test bp, 0xac8f
cmp dword [esi + 0x14], 0x10
jmp 0x87ec04
push 0x4c9d70
bts eax, ebx
adc al, 0x35
xchg ah, al
mov eax, dword fs:[0]
test ebp, 0xd60b5496
push eax
bts eax, ebx
or ax, di
push ecx
shr eax, cl
clc
add al, al
push ebx
btr ebx, 0xb5
push esi
jmp 0x8b1abe
mov dword [ebp - 4], 1
xchg ah, ah
mov dword [edi + 0x28], 0
mov dword [edi + 0x38], 0
mov eax, esi
xchg ah, ah
mov dword [edi + 0x3c], 0xf
cwde
cbw
movsx esi, sp
mov byte [edi + 0x28], 0
lahf
mov dword [edi + 0x40], 0
cbw
movzx esi, bx
cwde
mov dword [edi + 0x50], 0
cbw
mov dword [edi + 0x54], 0xf
setns bh
mov byte [edi + 0x40], 0
mov bl, 0xa5
movzx esi, bx
mov dword [edi + 0x58], 0
mov dword [edi + 0x68], 0
lahf
movsx bx, cl
mov dword [edi + 0x6c], 0xf
jmp 0x8b147f
jb 0x8d3e92
mov ecx, dword [edi + 0xa0]
cmovo ax, di
stc
mov dword [edi + 0xb0], 0
sbb eax, ebp
mov eax, ebx
cmp esp, 0x37986524
mov byte [ecx], 0
cmp dword [ebx + 0x14], 0x10
jmp 0x8c0546
mov byte [ebx], 0
lea esi, [edi + 0xe8]
mov dword [esi], 0
movsx eax, bp
mov dword [esi + 0x10], 0
movzx ax, al
jmp 0x945444
mov byte [ebp - 4], 0x19
push eax
call fcn.00618028
mov byte [ebp - 4], 0x1a
ror ch, 0x3c
btr ecx, 0x8a
lea ecx, [edi + 0xa0]
stc
mov byte [edi], 1
cmp eax, 0xf9a58d82
cmp ecx, edi
mov word [edi + 8], 0x114
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 0
test bx, sp
mov dword [edi + 0x138], 0
cmc
cmp edx, ebp
cmp dword [edi + 0xb4], 0x10
jmp 0x8d3e81
mov dword [esi + 0x14], 0xf
cmovp ax, cx
cbw
lahf
mov byte [esi], 0
cwde
not al
mov dword [edi + 0x100], 0
mov al, 0x32
mov dword [edi + 0x110], 0
movzx ax, ah
movsx eax, bx
mov dword [edi + 0x114], 0xf
mov byte [edi + 0x100], 0
cbw
jmp 0x88d473
push 4
mov ax, 0x4e05
push 0x20
jmp 0x84ed29
mov dword [edi + 0x84], 0
movsx ebx, bx
jmp 0x8a5a14