Function at 0x140045540
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x1400a45f8]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov r13, qword [rbp + 0x90]
mov r12d, ecx
mov ebx, dword [rbp + 0x98]
xor ecx, ecx
mov r14, qword [rbp + 0xa8]
mov rax, r9
movzx r15d, word [rbp + 0xb0]
mov edi, edx
mov rsi, qword [rbp + 0xb8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r8
mov dword [rsp + 0x38], edx
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x30], ecx
test r13, r13
je 0x1400458b9
test rax, rax
je 0x1400458b9
test ebx, ebx
je 0x1400458b9
movzx r8d, r15w
lea rdx, [rbp - 0x78]
mov rcx, r13
call fcn.140029530
movzx eax, r15w
mov r8d, ebx
sub r8d, eax
test r8d, r8d
jle 0x14004563d
movzx eax, r15w
lea rdi, [rbp - 0x78]
add rdi, rax
mov ecx, r8d
mov eax, 0xa5
rep stosb byte [rdi], al
mov edi, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp - 0x40]
call fcn.140054d40
mov rdx, qword [rsp + 0x48]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x40]
mov dword [rsp + 0x20], 0x50
mov ecx, r12d
call fcn.140045120
cmp ax, 0x4a
je 0x140045863
cmp ax, 0xa
je 0x140045863
cmp ax, 4
je 0x140045863
test ax, ax
jne 0x1400458be
cmp r12d, 7
jne 0x1400457ba
lea rdx, [rsp + 0x50]
cmp ebx, 4
jb 0x14004570c
lea ecx, [rbx + 2]
mov r10, rbx
sub r10, rcx
lea rdi, [rbp - 0x30]
add rdi, rcx
lea r8d, [rbx + 1]
sub r8, rcx
lea r9d, [rbx + 3]
sub r9, rcx
mov rcx, rbx
shr rcx, 2
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r10 + rdi - 4]
lea rdi, [rdi - 4]
mov byte [rdx], al
lea rdx, [rdx + 4]
movzx eax, byte [r8 + rdi]
mov byte [rdx - 3], al
movzx eax, byte [rdi]
mov byte [rdx - 2], al
movzx eax, byte [r9 + rdi]
mov byte [rdx - 1], al
sub rcx, 1
jne 0x1400456e0
movzx eax, byte [rsp + 0x52]
movzx edi, byte [rsp + 0x53]
shl edi, 8
or edi, eax
movzx eax, byte [rsp + 0x51]
shl edi, 8
or edi, eax
movzx eax, byte [rsp + 0x50]
shl edi, 8
or edi, eax
mov eax, dword [rbp + 0xa0]
add eax, eax
mov dword [rsp + 0x30], edi
xor eax, edi
jne 0x140045793
test r14, r14
je 0x140045753
movzx r8d, r15w
mov rdx, r14
mov rcx, r13
call fcn.140029530
test rsi, rsi
je 0x14004578c
cmp ebx, 4
jb 0x140045772
lea rcx, [rbp + rbx - 0x7c]
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140029530
movzx eax, word [rsp + 0x32]
mov word [rsp + 0x34], ax
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x36], ax
mov eax, dword [rsp + 0x34]
mov dword [rsi], eax
xor eax, eax
jmp 0x1400458be
test r14, r14
je 0x1400457a9
movzx r8d, r15w
lea rcx, [rsp + 0x50]
mov rdx, r14
call fcn.140029530
test rsi, rsi
je 0x14004578c
cmp ebx, 4
jb 0x140045772
lea rcx, [rsp + rbx + 0x4c]
jmp 0x140045762
cmp r12d, 5
jne 0x1400458b9
cmp edi, 0x12c0216
jne 0x1400458b9
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x50]
shr eax, 2
cmp eax, 1
jb 0x140045803
lea rdx, [rbp - 0x30]
mov edi, eax
lea rdx, [rdx + rax*4]
nop dword [rax + rax]
mov eax, dword [rdx - 4]
lea rdx, [rdx - 4]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdi, 1
jne 0x1400457f0
test r14, r14
je 0x140045819
movzx r8d, r15w
lea rcx, [rsp + 0x50]
mov rdx, r14
call fcn.140029530
test rsi, rsi
je 0x1400458b5
cmp ebx, 0x38
ja 0x1400458b5
cmp ebx, 4
jb 0x140045845
mov r8d, 4
lea rcx, [rsp + rbx + 0x4c]
lea rdx, [rsp + 0x30]
call fcn.140029530
movzx eax, word [rsp + 0x32]
mov word [rsp + 0x34], ax
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x36], ax
mov eax, dword [rsp + 0x34]
mov dword [rsi], eax
xor eax, eax
jmp 0x1400458be
test r14, r14
je 0x140045877
movzx r8d, r15w
mov rdx, r14
mov rcx, r13
call fcn.140029530
test rsi, rsi
je 0x1400458b5
cmp ebx, 0x38
ja 0x1400458b5
cmp ebx, 4
jb 0x14004589b
mov r8d, 4
lea rcx, [rbp + rbx - 0x7c]
lea rdx, [rsp + 0x30]
call fcn.140029530
movzx ecx, word [rsp + 0x32]
mov word [rsp + 0x34], cx
movzx ecx, word [rsp + 0x30]
mov word [rsp + 0x36], cx
mov ecx, dword [rsp + 0x34]
mov dword [rsi], ecx
xor eax, eax
jmp 0x1400458be
mov eax, reloc.WSOCK32.dll_recv
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140077b10
mov rbx, qword [rsp + 0x170]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret