Function at 0x140005370
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x30], r8
mov r13, rcx
mov qword [rsp + 0x28], rdx
mov esi, 0x99e
mov ecx, 0x1f4a4
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x5014a553
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1993
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xdd
jl 0x1400053a5
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005396
mov esi, 0x82d
mov ecx, 0x1a218
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0xc22e4507
imul r8d
add edx, r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1518
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x162
jl 0x140005404
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400053f5
mov esi, 0x8a0
nop word [rax + rax]
mov ecx, 0xe6dc
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0xaa04313b
imul r8d
add edx, r8d
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x302f
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x148
jl 0x140005470
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005460
mov esi, 0x9b6
mov ecx, 0x1c4ec
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0xca5e83c5
imul r8d
add edx, r8d
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x287b
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1c1
jl 0x1400054d2
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400054c3
mov esi, 0x9d9
mov ecx, 0x210b4
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x3159721f
imul r8d
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x14c0
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xd5
jl 0x140005534
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005525
mov esi, 0x7e6
mov ecx, 0x15d80
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x5014a553
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1993
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1a0
jl 0x140005593
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005584
mov esi, 0x9a4
mov ecx, 0xfaac
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x1b1c9ef7
imul r8d
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x25c5
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1b9
jl 0x1400055f2
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400055e3
mov esi, 0x933
mov ecx, 0x22fa0
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x95ea1395
imul r8d
add edx, r8d
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x36a5
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x19d
jl 0x140005651
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005642
mov esi, 0x7ff
mov ecx, 0xfe5c
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x176e4a23
imul r8d
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x15da
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1e5
jl 0x1400056b3
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400056a4
mov ecx, 0x100
xor r14d, r14d
call fcn.140050bb0
xor edx, edx
mov qword [rsp + 0x20], rax
mov r8d, 0xff
mov rbx, rax
lea rcx, [rax + 1]
call fcn.140053880
xor eax, eax
mov rcx, rbx
nop dword [rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jl 0x140005730
mov rbp, qword [r13 + 8]
xor r15d, r15d
sub rbp, qword [r13]
mov esi, 0x8b7
xor r12d, r12d
mov ecx, 0x2480c
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x34f974af
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x26a9
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x14e
jl 0x140005761
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005752
mov esi, 0x6e5
mov ecx, 0x1a768
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x52ce68c3
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x3177
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x14d
jl 0x1400057c0
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400057b1
mov esi, 0x9a2
mov ecx, 0x1be08
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x72263c4f
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x23e2
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1b5
jl 0x140005820
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005810
mov esi, 0x694
mov ecx, 0x11b24
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x21788c29
imul r8d
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1e98
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x6c
jl 0x140005880
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005870
mov esi, 0xa08
nop dword [rax]
mov ecx, 0x1d144
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x762d10f
imul r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x22a9
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xb8
jl 0x1400058e0
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400058d0
mov esi, 0x644
mov ecx, 0x20d04
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x61f15db
imul r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x29d2
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xc3
jl 0x140005940
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005930
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov r8, rbx
mov r11d, 0x100
nop dword [rax]
movzx r10d, byte [r8]
xor edx, edx
mov rax, r9
div rbp
mov rax, qword [r13]
movzx ecx, byte [rdx + rax]
add r14d, ecx
add r14d, r10d
and r14d, 0x800000ff
jge 0x1400059d0
dec r14d
or r14d, 0xffffff00
inc r14d
movsxd rcx, r14d
inc r9
movzx eax, byte [rcx + rbx]
mov byte [r8], al
inc r8
mov byte [rcx + rbx], r10b
sub r11, 1
jne 0x1400059a0
mov esi, 0x866
nop
mov ecx, 0x255f0
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x902c7dbb
imul r8d
add edx, r8d
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x38d2
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1f2
jl 0x140005a00
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x1400059f0
mov esi, 0x8f0
mov ecx, 0x18e08
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0xa63ac3c7
imul r8d
add edx, r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x18a4
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1af
jl 0x140005a62
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005a53
mov esi, 0x83c
mov ecx, 0x242fc
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x6d62dd3b
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2572
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xdd
jl 0x140005ac4
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005ab5
mov esi, 0x827
mov ecx, 0x20260
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x5bcfac7
imul r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2c9d
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1de
jl 0x140005b23
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005b14
mov esi, 0x877
mov ecx, 0x235b8
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x14e6bb0d
imul r8d
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x30fe
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x12b
jl 0x140005b82
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005b73
mov esi, 0x83d
mov ecx, 0x25d0c
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x23ae2f99
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x3966
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x6d
jl 0x140005be1
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005bd2
mov esi, 0x84d
nop
mov ecx, 0xe4fc
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x5893be6f
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2e3e
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1f2
jl 0x140005c40
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005c30
mov esi, 0x950
mov ecx, 0x1e268
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x91d15d2b
imul r8d
add edx, r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1c17
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xf0
jl 0x140005ca0
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005c90
mov esi, 0x953
mov ecx, 0x1d3c0
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x5a1d6497
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2d74
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1f3
jl 0x140005d02
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005cf3
mov esi, 0x75e
mov ecx, 0xa9d0
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0xf71a0807
imul r8d
add edx, r8d
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2127
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xb5
jl 0x140005d61
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005d52
mov r9, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x20]
test r9, r9
je 0x140005e2b
nop
inc r15d
and r15d, 0x800000ff
jge 0x140005dd9
dec r15d
or r15d, 0xffffff00
inc r15d
movsxd rdx, r15d
movzx r8d, byte [rdx + rbp]
add r12d, r8d
and r12d, 0x800000ff
jge 0x140005dfa
dec r12d
or r12d, 0xffffff00
inc r12d
movsxd rcx, r12d
movzx eax, byte [rcx + rbp]
mov byte [rdx + rbp], al
mov byte [rcx + rbp], r8b
movzx ecx, byte [rdx + rbp]
add rcx, r8
movzx eax, cl
movzx ecx, byte [rax + rbp]
mov rax, qword [rsp + 0x28]
xor byte [rax], cl
inc rax
mov qword [rsp + 0x28], rax
sub r9, 1
jne 0x140005dc0
mov esi, 0x9e7
mov ecx, 0x20e54
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x41294c6d
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1f6e
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x177
jl 0x140005e40
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005e30
mov esi, 0x8ea
mov ecx, 0x1fbf8
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x564ba28b
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2f77
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x112
jl 0x140005ea0
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005e90
mov esi, 0x7b6
mov ecx, 0xb0f4
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x186dbcf7
imul r8d
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x29eb
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x131
jl 0x140005f00
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005ef0
mov esi, 0x6ed
mov ecx, 0x1acf8
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x4786bd93
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1ca2
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x131
jl 0x140005f60
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005f50
mov esi, 0x8b0
mov ecx, 0x11e8c
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0x4cfa0617
imul r8d
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x3536
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0xbd
jl 0x140005fc0
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140005fb0
mov esi, 0x783
mov ecx, 0xc7dc
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
nop
call fcn.14006275c
mov r8d, eax
mov eax, 0xac2337b5
imul r8d
add edx, r8d
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x2f97
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x1d8
jl 0x140006020
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140006010
mov esi, 0x6af
mov ecx, 0xad74
call fcn.140050bf4
mov rdi, rax
xor ebx, ebx
call fcn.14006275c
mov r8d, eax
mov eax, 0x256c233b
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x36ba
sub r8d, ecx
mov dword [rdi + rbx*4], r8d
call fcn.14006275c
inc rbx
cmp rbx, 0x12e
jl 0x140006082
mov edx, 4
mov rcx, rdi
call fcn.140050bec
sub rsi, 1
jne 0x140006073
test rbp, rbp
je 0x1400060df
mov edx, 0x100
mov rcx, rbp
call fcn.140050bec
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret