Function at 0x140031ac0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x1e8
mov qword [rsp + 0xb0], r9
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], rcx
mov byte [rsp + 0xcf], r8b
mov rax, qword [rsp + 0xc0]
mov cl, byte [rsp + 0xcf]
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x120], rdx
and cl, 1
mov byte [rsp + 0xa7], cl
mov byte [rsp + 0x11f], cl
mov qword [rsp + 0x110], 0
mov rax, qword [rax + 8]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x108], 0
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x98], rax
cmp rax, rcx
jge 0x140032235
mov rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xc0]
mov rcx, rdx
add rcx, qword [r8]
sub rax, rdx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
mov dword [rsp + 0xf4], 0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x138], rax
cmp qword [rsp + 0x138], 1
setl al
test al, 1
jne 0x140031bba
jmp 0x140031bd4
mov dword [rsp + 0xf4], 0xfffd
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x1e4], 0x1f4
mov dword [rsp + 0x1e0], 0xa
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1d0], rcx
xor eax, eax
cmp rax, rcx
setb al
test al, 1
jne 0x140031c51
mov rax, qword [rsp + 0x88]
lea rcx, str.C:_Program_Files_odinlang_base_runtime_internal.odin
mov edx, 0x1f4
mov r8d, 0xa
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.140084970
mov rax, qword [rsp + 0x80]
mov al, byte [rax]
mov byte [rsp + 0x137], al
movzx eax, byte [rsp + 0x137]
mov ecx, eax
mov dword [rsp + 0x1cc], 0x1f5
mov dword [rsp + 0x1c8], 0x14
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1b8], pe_nt_image_headers64
lea rax, [0x1400c6bd0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x136], al
cmp byte [rsp + 0x136], 0xf0
setae al
test al, 1
jne 0x140031cbb
jmp 0x140031d80
movzx eax, byte [rsp + 0x136]
shl eax, 0x1f
sar eax, 0x1f
mov dword [rsp + 0x130], eax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x1b4], 0x1f8
mov dword [rsp + 0x1b0], 0x11
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1a0], rcx
xor eax, eax
cmp rax, rcx
setb al
test al, 1
jne 0x140031d44
mov rax, qword [rsp + 0x78]
lea rcx, str.C:_Program_Files_odinlang_base_runtime_internal.odin
mov edx, 0x1f8
mov r8d, 0x11
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.140084970
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax]
mov ecx, dword [rsp + 0x130]
xor ecx, 0xffffffff
and eax, ecx
mov ecx, dword [rsp + 0x130]
and ecx, 0xfffd
or eax, ecx
mov dword [rsp + 0xf4], eax
mov eax, 1
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
mov al, byte [rsp + 0x136]
and al, 7
mov byte [rsp + 0x12f], al
mov al, byte [rsp + 0x136]
shr al, 4
movzx eax, al
mov qword [rsp + 0x60], rax
lea rcx, [0x1400c6cd0]
mov rdx, rax
shl rdx, 1
add rcx, rdx
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x19c], 0x1fb
mov dword [rsp + 0x198], 0x1a
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x188], 5
cmp rax, 5
setb al
test al, 1
jne 0x140031e11
mov r9, qword [rsp + 0x60]
lea rcx, str.C:_Program_Files_odinlang_base_runtime_internal.odin
mov edx, 0x1fb
mov r8d, 0x1a
mov qword [rsp + 0x20], 5
call fcn.140084970
mov rcx, qword [rsp + 0x68]
mov al, byte [rcx]
mov cl, byte [rcx + 1]
mov byte [rsp + 0x12e], cl
mov byte [rsp + 0x12d], al
mov rax, qword [rsp + 0x138]
movzx ecx, byte [rsp + 0x12f]
cmp rax, rcx
setl al
test al, 1
jne 0x140031e45
jmp 0x140031e62
mov dword [rsp + 0xf4], 0xfffd
mov eax, 1
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x184], 0x1ff
mov dword [rsp + 0x180], 0xa
mov qword [rsp + 0x178], 1
mov qword [rsp + 0x170], rcx
mov eax, 1
cmp rax, rcx
setb al
test al, 1
jne 0x140031edc
mov rax, qword [rsp + 0x58]
lea rcx, str.C:_Program_Files_odinlang_base_runtime_internal.odin
mov edx, 0x1ff
mov r8d, 0xa
mov r9d, 1
mov qword [rsp + 0x20], rax
call fcn.140084970
mov rax, qword [rsp + 0x50]
mov al, byte [rax + 1]
mov byte [rsp + 0x12c], al
mov al, byte [rsp + 0x12c]
cmp al, byte [rsp + 0x12d]
setb al
test al, 1
jne 0x140031f17
mov al, byte [rsp + 0x12e]
cmp al, byte [rsp + 0x12c]
setb al
test al, 1
jne 0x140031f17
jmp 0x140031f34
mov dword [rsp + 0xf4], 0xfffd
mov eax, 1
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
cmp byte [rsp + 0x12f], 2
sete al
test al, 1
jne 0x140031f45
jmp 0x140031f7c
mov al, byte [rsp + 0x137]
and al, 0x1f
movzx eax, al
shl eax, 6
mov cl, byte [rsp + 0x12c]
and cl, 0x3f
movzx ecx, cl
or eax, ecx
mov dword [rsp + 0xf4], eax
mov eax, 2
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x16c], 0x206
mov dword [rsp + 0x168], 0xa
mov qword [rsp + 0x160], 2
mov qword [rsp + 0x158], rcx
mov eax, 2
cmp rax, rcx
setb al
test al, 1
jne 0x140031ff6
mov rax, qword [rsp + 0x48]
lea rcx, str.C:_Program_Files_odinlang_base_runtime_internal.odin
mov edx, 0x206
mov r8d, 0xa
mov r9d, 2
mov qword [rsp + 0x20], rax
call fcn.140084970
mov rax, qword [rsp + 0x40]
mov al, byte [rax + 2]
mov byte [rsp + 0x12b], al
cmp byte [rsp + 0x12b], 0x80
setb al
test al, 1
jne 0x140032026
mov al, 0xbf
cmp al, byte [rsp + 0x12b]
setb al
test al, 1
jne 0x140032026
jmp 0x140032043
mov dword [rsp + 0xf4], 0xfffd
mov eax, 1
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
cmp byte [rsp + 0x12f], 3
sete al
test al, 1
jne 0x140032054
jmp 0x14003209d
mov al, byte [rsp + 0x137]
and al, 0xf
movzx eax, al
shl eax, 0xc
mov cl, byte [rsp + 0x12c]
and cl, 0x3f
movzx ecx, cl
shl ecx, 6
or eax, ecx
mov cl, byte [rsp + 0x12b]
and cl, 0x3f
movzx ecx, cl
or eax, ecx
mov dword [rsp + 0xf4], eax
mov eax, 3
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x154], 0x20d
mov dword [rsp + 0x150], 0xa
mov qword [rsp + 0x148], 3
mov qword [rsp + 0x140], rcx
mov eax, 3
cmp rax, rcx
setb al
test al, 1
jne 0x140032117
mov rax, qword [rsp + 0x38]
lea rcx, str.xG_n_
mov edx, 0x20d
mov r8d, 0xa
mov r9d, 3
mov qword [rsp + 0x20], rax
call fcn.140084970
mov rax, qword [rsp + 0x30]
mov al, byte [rax + 3]
mov byte [rsp + 0x12a], al
cmp byte [rsp + 0x12a], 0x80
setb al
test al, 1
jne 0x140032147
mov al, 0xbf
cmp al, byte [rsp + 0x12a]
setb al
test al, 1
jne 0x140032147
jmp 0x140032161
mov dword [rsp + 0xf4], 0xfffd
mov eax, 1
mov qword [rsp + 0x90], rax
jmp 0x1400321b7
mov al, byte [rsp + 0x137]
and al, 7
movzx eax, al
shl eax, 0x12
mov cl, byte [rsp + 0x12c]
and cl, 0x3f
movzx ecx, cl
shl ecx, 0xc
or eax, ecx
mov cl, byte [rsp + 0x12b]
and cl, 0x3f
movzx ecx, cl
shl ecx, 6
or eax, ecx
mov cl, byte [rsp + 0x12a]
and cl, 0x3f
movzx ecx, cl
or eax, ecx
mov dword [rsp + 0xf4], eax
mov eax, 4
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x98]
mov r10, qword [rsp + 0x90]
mov r8d, dword [rsp + 0xf4]
mov r9, rcx
add r9, r10
mov qword [rsp + 0x108], r9
mov dword [rsp + 0xdc], r8d
mov qword [rsp + 0xd0], rcx
mov ecx, dword [rsp + 0xdc]
call rax
mov cl, byte [rsp + 0xa7]
cmp al, cl
sete al
and al, 1
cmp al, 0
je 0x140032230
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x110], rax
add rsp, 0x1e8
ret
jmp 0x140031b3b
mov qword [rsp + 0x110], 0xffffffffffffffff
mov rax, 0xffffffffffffffff
add rsp, 0x1e8
ret