Function at 0x18004dc40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov ebx, dword [rbp + 0x6f]
lea eax, [rdx + 7]
mov dword [rbp + 0x13], eax
mov edi, edx
mov r8, rcx
cmp edx, eax
jae case.0x18004dca1.136
mov r13, qword [rbp + 0x77]
movzx r12d, byte [rbp + 0x6f]
movzx edx, byte [0x18009c438]
lea eax, [rdi - 0x7f]
lea r10, [0x180000000]
cmp eax, 0xf
ja case.0x18004dca1.129
mov ecx, dword [r10 + rax*4 + 0x4e444]
add rcx, r10
jmp rcx
mov ecx, dword [rbp + 0xf]
mov eax, ecx
or eax, 0xff000000
mov ebx, ecx
cmp ecx, 0x800000
cmovge ebx, eax
jmp case.0x18004dca1.129
xor r15d, r15d
cmp dword [0x180096144], r15d
jbe case.0x18004dca1.129
nop dword [rax]
xor r14d, r14d
cmp dword [0x180096140], r14d
jbe 0x18004e26e
movsxd r8, dword [r13]
add r13, 4
test r8d, r8d
je 0x18004e25e
lea edx, [r8 - 1]
cmp edx, 0x2c
ja case.0x18004dd0c.35
movsxd rax, edx
mov ecx, dword [r10 + rax*4 + 0x4e484]
add rcx, r10
jmp rcx
mov dword [rbp + 0x7f], edx
lea r9, [rbp + 0x7f]
mov edx, 0xea
mov byte [0x18009bd3d], 1
lea r8, [rbp + 0x77]
mov dword [rbp + 0x77], r15d
lea rcx, [rbp - 0x71]
mov dword [rbp - 0x71], r14d
call fcn.18004c880
jmp case.0x18004dd0c.35
mov eax, 0xb0
cmp eax, 0xb0
je 0x18004dd7a
cmp eax, 0x7f30
jne 0x18004dd83
lea eax, [r8 - 5]
mov dword [rbp + 0x77], r15d
lea r8, [rbp - 0x71]
mov dword [rbp - 0x79], eax
lea r9, [rbp + 0x77]
mov dword [rbp - 0x71], r14d
lea rdx, [rbp - 0x79]
mov ecx, 0xfa
call fcn.1800179b0
jmp case.0x18004dd0c.35
mov byte [r8 + r10 + 0x9bd2f], 1
add eax, 0x7e80
cmp eax, 0xfd00
jbe 0x18004dd42
mov eax, 0xa9
cmp eax, 0xa9
je 0x18004ddc6
add eax, 0x62
cmp eax, 0x10b
jb 0x18004dd94
mov esi, 0x59
nop word [rax + rax]
cmp esi, 0x59
je 0x18004ddf7
cmp esi, 0x216
je case.0x18004dd0c.35
jmp 0x18004de9d
lea eax, [r8 - 5]
mov byte [0x18009bd3b], 1
lea r8, [rbp - 0x79]
mov dword [rbp - 0x71], eax
lea r9, [rbp + 0x77]
mov dword [rbp + 0x77], r15d
lea rdx, [rbp - 0x71]
mov dword [rbp - 0x79], r14d
mov ecx, 0xfa
call fcn.1800179b0
jmp case.0x18004dd0c.35
mov byte [0x18009bd45], 1
mov edi, 0xfa
cmp edi, 0xfa
je 0x18004de51
cmp edi, 0x9f2e
je 0x18004de36
cmp edi, 0x13d62
jne 0x18004de8b
mov rax, qword [0x1800829d8]
mov dword [rax + 8], 2
mov rax, qword [0x1800829d8]
mov byte [rax + 0x18], 0
jmp 0x18004de8b
mov rax, qword [0x1800829d8]
mov byte [rax + 0x19], 1
mov rax, qword [0x1800829d8]
mov dword [rax + 0x5c], 0xf
jmp 0x18004de8b
lea rax, [rbp - 0x69]
mov dword [rbp - 0x61], 0x8000
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x61]
lea r8, [rbp - 0x59]
mov qword [rsp + 0x20], 0
lea rdx, [0x18006f990]
mov dword [rbp - 0x69], r15d
mov ecx, 0x70
mov dword [rbp - 0x59], r14d
call fcn.180038300
add edi, 0x9e34
cmp edi, 0x1da9c
jbe 0x18004de03
add esi, 0x1bd
cmp esi, 0x37a
jbe 0x18004ddb0
mov esi, 0xb9
cmp esi, 0xb9
je 0x18004df7c
cmp esi, 0x167
je 0x18004ded9
cmp esi, 0x215
je case.0x18004dd0c.35
jmp 0x18004df83
mov edi, 0xfa
nop
cmp edi, 0xfa
je 0x18004df2e
cmp edi, 0x9f2e
je 0x18004df13
cmp edi, 0x13d62
jne 0x18004df68
mov rax, qword [0x1800829d8]
mov dword [rax + 8], 2
mov rax, qword [0x1800829d8]
mov byte [rax + 0x18], 0
jmp 0x18004df68
mov rax, qword [0x1800829d8]
mov byte [rax + 0x19], 1
mov rax, qword [0x1800829d8]
mov dword [rax + 0x5c], 0x10
jmp 0x18004df68
lea rax, [rbp - 0x51]
mov dword [rbp - 0x49], 0x8000
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x49]
lea r8, [rbp - 0x41]
mov qword [rsp + 0x20], 0
lea rdx, [0x18006f978]
mov dword [rbp - 0x51], r15d
mov ecx, 0x70
mov dword [rbp - 0x41], r14d
call fcn.180038300
add edi, 0x9e34
cmp edi, 0x1da9c
jbe 0x18004dee0
jmp 0x18004df83
mov byte [0x18009bd3c], 1
add esi, 0xae
cmp esi, 0x2c3
jb 0x18004deb4
mov edi, 0x1d
nop word [rax + rax]
mov eax, edi
sub eax, 0x1c
je case.0x18004dd0c.35
cmp eax, 1
jne 0x18004dfdc
lea r9, [rbp - 0x39]
mov byte [0x18009bd33], al
mov r8d, 0x8d
mov dword [rbp - 0x39], 0
lea rdx, [rbp - 0x31]
mov dword [rbp - 0x29], r15d
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x31], r14d
call fcn.18002b5c0
dec edi
cmp edi, 0x1b
ja 0x18004dfa0
cmp dword [0x180082410], 3
jl case.0x18004dd0c.35
cmp dword [0x180082410], 2
jl case.0x18004dd0c.35
mov edi, 0xf6
cmp edi, 0xf6
je 0x18004e018
cmp edi, 0x18e
je case.0x18004dd0c.35
jmp 0x18004e03a
mov r8d, 0x67
mov byte [0x18009bd32], 1
lea rdx, [rbp - 0x21]
mov dword [rbp - 0x21], r15d
lea rcx, [rbp - 0x19]
mov dword [rbp - 0x19], r14d
call fcn.180038b20
add edi, 0x98
cmp edi, 0x226
jb 0x18004e002
cmp dword [0x180082410], 3
jl case.0x18004dd0c.35
cmp dword [0x180082410], 2
jl case.0x18004dd0c.35
mov edi, 0x25
cmp edi, 0x25
je 0x18004e07a
cmp edi, 0x1745
je case.0x18004dd0c.35
jmp 0x18004e09e
xor r9d, r9d
mov byte [0x18009bd31], 1
lea r8, [rbp + 0x77]
mov dword [rbp + 0x77], r15d
lea rdx, [rbp - 0x79]
mov dword [rbp - 0x79], r14d
mov ecx, 0x107
call fcn.180046880
add edi, 0x1720
cmp edi, 0x2e40
jbe 0x18004e067
cmp dword [0x180082410], 3
jl case.0x18004dd0c.35
cmp dword [0x180082410], 2
jl case.0x18004dd0c.35
mov edi, 0x118
nop dword [rax + rax]
mov eax, edi
sub eax, 0x118
je 0x18004e0e4
cmp eax, 1
je case.0x18004dd0c.35
jmp 0x18004e105
lea r8, [rbp - 0x11]
mov byte [0x18009bd43], 1
mov edx, 0xe1
mov dword [rbp + 0x77], r15d
lea rcx, [rbp + 0x77]
mov dword [rbp - 0x11], r14d
call fcn.1800332d0
inc edi
cmp edi, 0x11a
jb 0x18004e0d0
cmp dword [0x180082410], 3
jl case.0x18004dd0c.35
cmp dword [0x180082410], 2
jl case.0x18004dd0c.35
nop dword [rax]
lea r8, [rbp + 0x77]
mov byte [0x18009bd41], 1
lea rdx, [rbp - 0x79]
mov dword [rbp - 0x79], r15d
mov ecx, 0x33
mov dword [rbp + 0x77], r14d
call fcn.180037760
jmp case.0x18004dd0c.35
cmp dword [0x180082410], 3
jl case.0x18004dd0c.35
cmp dword [0x180082410], 2
jl case.0x18004dd0c.35
mov ecx, 0x9f
mov eax, ecx
sub eax, 0x9e
je 0x18004e1c6
cmp eax, 1
jne 0x18004e189
mov byte [0x18009bd42], al
dec ecx
cmp ecx, 0x9d
ja 0x18004e175
nop dword [rax]
nop word [rax + rax]
lea r8, [rbp + 0x77]
mov byte [0x18009bd44], 1
mov edx, 0x3d
mov dword [rbp - 0x79], r15d
lea rcx, [rbp - 0x79]
mov dword [rbp + 0x77], r14d
call fcn.180037ee0
jmp case.0x18004dd0c.35
lea r8, [rbp + 0x77]
mov dword [rbp - 0x79], r15d
lea rdx, [rbp - 0x79]
mov dword [rbp + 0x77], r14d
mov ecx, 0xbd
call fcn.180037c10
jmp case.0x18004dd0c.35
mov byte [rbp + 0x77], 0
lea r9, [rbp - 0x79]
mov dword [rbp - 0x79], r15d
mov r8d, 0x75
mov dword [rbp - 0x71], r14d
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x71]
call fcn.180030470
jmp case.0x18004dd0c.35
mov byte [rbp + 0x77], 1
jmp 0x18004e1e6
mov eax, 0x128
cmp eax, 0x128
je 0x18004e225
add eax, 0x1f
cmp eax, 0x147
jb 0x18004e212
jmp case.0x18004dd0c.35
lea eax, [r8 - 0x1e]
mov byte [0x18009bd33], 1
mov r8d, 0x8d
mov dword [rbp - 9], eax
lea r9, [rbp - 9]
mov dword [rbp + 7], r15d
lea rdx, [rbp - 1]
mov dword [rbp - 1], r14d
lea rcx, [rbp + 7]
call fcn.18002b5c0
mov edi, 0x8e
lea r10, [0x180000000]
inc r14d
cmp r14d, dword [0x180096140]
jb 0x18004dce0
inc r15d
cmp r15d, dword [0x180096144]
jb 0x18004dcd0
movzx edx, byte [0x18009c438]
jmp case.0x18004dca1.129
mov edx, 0xce
xor ecx, ecx
call fcn.1800193e0
mov r13, qword [0x1800932d8]
xor eax, eax
movzx edx, byte [0x18009c438]
xorps xmm0, xmm0
movups xmmword [0x18009bd30], xmm0
mov qword [0x18009bd40], rax
mov byte [0x18009bd48], al
jmp case.0x18004dca1.129
mov eax, dword [r8]
and eax, 0xffffff
mov dword [rbp + 0xf], eax
jmp case.0x18004dca1.129
movzx r9d, byte [rbp + 0x6f]
cmp r9b, 0xe0
jne 0x18004e2e9
mov byte [0x1800a44c0], 1
jmp 0x18004e3f7
cmp r9b, 0xe1
jne 0x18004e2fb
mov byte [0x18009614e], 1
jmp 0x18004e3f7
test r9b, r9b
jns 0x18004e31a
and r9b, 0x7f
movzx eax, r9b
mov byte [rbp + 0x6f], r9b
mov byte [rax + r10 + 0x96660], 0
jmp 0x18004e3f0
mov ecx, 0xf5
nop
mov eax, ecx
sub eax, 0xf5
je 0x18004e3ce
sub eax, 0x30
je 0x18004e350
cmp eax, 0x30
jne 0x18004e3db
test r12b, r12b
je 0x18004e3db
mov byte [0x18009614f], r12b
jmp 0x18004e3db
cmp byte [0x1800a44c0], 0
mov byte [0x1800966e0], r9b
mov byte [0x18009c439], r9b
mov byte [r9 + r10 + 0x96660], 1
je 0x18004e37b
movzx r12d, byte [r9 + r10 + 0x70490]
jmp 0x18004e3db
cmp r9b, 0x3a
jne 0x18004e384
xor dl, 1
cmp byte [0x18009668a], 0
jne 0x18004e3b2
cmp byte [0x180096696], 0
jne 0x18004e3b2
movzx r12d, byte [r9 + r10 + 0x70390]
lea eax, [r12 - 0x61]
cmp al, 0x19
ja 0x18004e3db
test dl, dl
je 0x18004e3db
add r12b, 0xe0
jmp 0x18004e3db
movzx r12d, byte [r9 + r10 + 0x70410]
lea eax, [r12 - 0x41]
cmp al, 0x19
ja 0x18004e3db
test dl, dl
je 0x18004e3db
add r12b, 0x20
jmp 0x18004e3db
movzx eax, byte [0x18009c439]
mov byte [0x18009c43a], al
add ecx, 0x30
cmp ecx, 0x185
jb 0x18004e320
mov byte [0x18009c438], dl
mov byte [0x1800a44c0], 0
mov rax, qword [0x1800a4480]
test rax, rax
je case.0x18004dca1.129
cmp byte [0x1800a44c0], 0
jne case.0x18004dca1.129
call rax
movzx edx, byte [0x18009c438]
jmp case.0x18004dca1.129
mov byte [rbp + 0x6f], 0
inc edi
cmp edi, dword [rbp + 0x13]
jae case.0x18004dca1.136
mov r8, qword [rbp + 0x67]
jmp 0x18004dc83
mov eax, ebx
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret