Function at 0x18000a140
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x18004ed78]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov eax, 0x3019
mov esi, r9d
mov word [rsp + 0x20], ax
mov r15, rcx
movabs rax, 0x9d7288dea5afe
mov r14, r8
mov qword [rsp + 0x30], rax
mov edi, edx
mov qword [rsp + 0x30], 0x69b5
mov eax, dword [0x18004e140]
mov al, byte [0x18004e178]
movzx r9d, byte [0x18004e03f]
mov byte [rsp + 0x20], 0x8f
mov byte [rsp + 0x20], 0xae
mov byte [rsp + 0x20], al
movzx eax, word [0x18004e124]
mov rax, qword [0x18004e0d8]
mov qword [rsp + 0x30], rax
movzx eax, word [0x18004e0f0]
mov dword [rsp + 0x24], reloc.mozglue.dll_export_full.dll_Ordinal_115
movzx eax, word [0x18004e0f4]
movzx eax, word [0x18004e120]
mov dword [rsp + 0x28], 0xb4f0
mov word [rsp + 0x20], ax
mov eax, 0x79c
mov dword [rsp + 0x24], 0xc59d9a9c
mov word [rsp + 0x20], ax
movsx eax, byte [0x18004e03a]
mov dword [rsp + 0x24], eax
mov eax, 0xd0
mov dword [rsp + 0x24], 0x7ebbe64e
mov word [rsp + 0x20], ax
movsx rax, word [0x18004e184]
mov dword [rsp + 0x24], 0xb2a
mov byte [rsp + 0x20], reloc.mozglue.dll_export_full.dll_Ordinal_127
mov qword [rsp + 0x38], rax
mov rax, qword [0x18004e160]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x24], 0x25d5cec6
mov rax, qword [0x18004e160]
mov dword [rsp + 0x24], eax
mov eax, 0xb97a
mov qword [rsp + 0x38], 0x721d
mov qword [rsp + 0x38], 0x388d
mov word [rsp + 0x20], ax
mov eax, dword [0x18004f760]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov ecx, dword [0x18004e168]
add eax, 0x3b9
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x30]
cmp rax, rcx
je 0x18000a2b4
mov rax, qword [0x18004e150]
shr rax, 8
mov word [0x18004e104], ax
mov eax, dword [rsp + 0x20]
xor edx, edx
add eax, 0xc93a
mov ecx, 0x82
mov dword [rsp + 0x38], eax
movzx eax, word [0x18004e144]
mov eax, dword [rsp + 0x20]
add eax, 0xa788
mov dword [rsp + 0x20], eax
movzx eax, word [0x18004e100]
cmp ax, cx
movzx eax, word [0x18004e100]
setge dl
xor ecx, ecx
cmp ax, 0x61
setge cl
cmp edx, ecx
jbe 0x18000a34a
mov eax, dword [0x18004e11c]
neg eax
movsx eax, r9b
sbb cl, cl
add cl, 0xbb
movsx edx, cl
movzx ecx, word [0x18004e100]
imul edx, eax
mov al, byte [0x18004e168]
not al
add cl, al
mov eax, dword [rsp + 0x28]
add cl, byte [0x18004e0cc]
and cl, dl
mov byte [0x18004e016], cl
movzx ecx, byte [0x18004e03f]
sub ecx, 0xf2
or eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [0x180036400]
lea rcx, [rsp + 0x40]
movups xmm0, xmmword [str.The_redirection_fa]
mov dword [rsp + 0x60], eax
movups xmm1, xmmword [0x1800363f0]
movzx eax, word [0x180036404]
movups xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x64], ax
movups xmmword [rsp + 0x50], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rsp + 0x20]
sub edi, esi
mov eax, dword [rsp + 0x24]
xor ecx, eax
mov eax, 0xa431
sub eax, ecx
mov dword [rsp + 0x24], eax
mov ebx, dword [rsp + 0x24]
cmp ebx, edi
jae 0x18000a3db
mov rbp, rsi
mov r12d, 1
movzx eax, word [0x18004e100]
mov r8, rbp
sub ax, r12w
mov esi, ebx
add rsi, r15
mov word [0x18004e100], ax
mov rcx, rsi
mov rdx, r14
call fcn.18002b030
test eax, eax
je 0x18000a409
add ebx, r12d
cmp ebx, edi
jb 0x18000a3ab
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18002a1f0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
mov edx, 0x16d
mov eax, 0xb5
mov word [0x18004e144], ax
mov rcx, qword [0x18004e158]
mov rcx, qword [rsp + 0x30]
mov cl, byte [0x18004e03b]
sub rdx, r12
jne 0x18000a40e
mov rax, rsi
jmp 0x18000a3dd