Function at 0x14005aac0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x14e0]
mov eax, 0x15e0
call fcn.1401dd870
sub rsp, rax
mov r12, r8
mov r14, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov ecx, 0x88
call fcn.1401dcf70
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
xor ebx, ebx
mov qword [rsp + 0x78], rbx
movdqu xmmword [rbp - 0x58], xmm0
mov r13d, ebx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x48], rbx
mov rcx, qword [r14 + 0x438]
mov rax, qword [rcx]
mov r8d, 0x101
lea rdx, [rsp + 0x68]
call qword [rax + 0x28]
xor edx, edx
mov r8d, 0xa0
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll_memset
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rbp - 0x50]
cmp rsi, r15
je 0x14005ac3b
nop word [rax + rax]
mov byte [rsp + 0x30], 0
mov rbx, qword [r14 + 0x118]
mov rcx, qword [r14 + 0x120]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x30]
mov r8, r12
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.14011e800
test al, al
je 0x14005ac28
cmp rdi, r13
je 0x14005ac04
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [rdi + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x50]
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [rsi + 0x60]
movups xmmword [rdi + 0x60], xmm0
movsd xmm1, qword [rsi + 0x70]
movsd qword [rdi + 0x70], xmm1
add rdi, 0x78
mov qword [rbp - 0x50], rdi
jmp 0x14005ac1b
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14004e0f0
mov r13, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x50]
movzx eax, byte [rsp + 0x30]
inc qword [rbp + rax*8 + 0x80]
add rsi, 0x78
cmp rsi, r15
jne 0x14005ab80
mov qword [rbp - 0x60], r13
xor ebx, ebx
mov ecx, reloc.WS2_32.dll_sendto
call fcn.1401dcf70
mov r14, rax
mov qword [rbp + 0x120], rax
lea r15, [rax + 0x14]
mov qword [rbp + 0x130], r15
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r14], xmm0
mov dword [r14 + 0x10], eax
mov qword [rbp + 0x128], r15
mov ecx, ebx
mov rax, r14
cmp r14, r15
je 0x14005ac8c
nop dword [rax + rax]
mov byte [rax], cl
inc ecx
inc rax
cmp rax, r15
jne 0x14005ac80
lea rcx, [0x1402f8050]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14005b899
lea rdx, [rsp + 0x38]
lea ecx, [rax + 4]
call fcn.14017e780
mov ebx, dword [rsp + 0x38]
lea rcx, [0x1402f8050]
call fcn.1401dce01
mov edx, 0xffffffff
mov dword [rbp + 0x14d4], edx
mov dword [rbp + 0x154], ebx
mov esi, 1
mov ecx, esi
nop word [rax + rax]
mov eax, ebx
shr eax, 0x1e
xor eax, ebx
imul ebx, eax, 0x6c078965
add ebx, ecx
mov dword [rbp + rcx*4 + 0x154], ebx
inc rcx
cmp rcx, 0x270
jb 0x14005ace0
mov dword [rbp + 0x150], 0x270
lea rax, [rbp + 0x150]
mov qword [rbp + 0x60], rax
mov ecx, 0x40
mov rax, 0xffffffffffffffff
dec rcx
shr rax, 1
cmp rax, rdx
ja 0x14005ad23
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rcx
lea r8, [rbp + 0x60]
mov rdx, r15
mov rcx, r14
call fcn.14004f820
xor ebx, ebx
mov ecx, ebx
mov rdx, qword [rbp + 0x1538]
movzx eax, byte [r14 + rcx]
cmp qword [rbp + rax*8 + 0x80], rdx
jae 0x14005aedc
inc rcx
cmp rcx, 0x14
jb 0x14005ad50
jne 0x14005aedc
mov rdi, qword [rbp + 0x1528]
mov qword [rdi], rbx
mov qword [rdi + 8], rbx
mov ecx, 0x88
call fcn.1401dcf70
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi], rax
test r14, r14
je 0x14005adcd
sub r15, r14
cmp r15, 0x1000
jb 0x14005adc1
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14005b799
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.1401dcf3c
nop
movabs rax, 0x8888888888888889
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14005ae2f
sub r13, rcx
imul r13
add rdx, r13
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005ae20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005b792
call fcn.1401dcf3c
movabs rax, 0x8888888888888889
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x14005ae94
mov rcx, qword [rsp + 0x78]
sub rcx, r8
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005ae7e
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005b7f7
mov rcx, r8
call fcn.1401dcf3c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rbx
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14005aec5
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.1401dcf3c
mov rcx, rbx
test rbx, rbx
jne 0x14005aeb0
mov edx, 0x88
mov rcx, qword [rsp + 0x40]
call fcn.1401dcf3c
mov rax, rdi
jmp 0x14005b857
movzx edx, byte [r14 + rcx]
test rdx, rdx
je 0x14005aefd
mov eax, edx
nop dword [rax + rax]
lea rsi, [rsi + rsi*4]
add rsi, rsi
sub rax, 1
jne 0x14005aef0
cmp rdx, 0x13
jne 0x14005af0e
mov qword [rsp + 0x38], 0xffffffffffffffff
jmp 0x14005af1a
lea rax, [rsi + rsi*4]
add rax, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov rdx, qword [rbp + rdx*8 + 0x80]
movabs rax, 0x222222222222222
test rdx, rdx
je 0x14005af52
cmp rdx, rax
ja 0x14005b8a1
lea rcx, [rsp + 0x50]
call fcn.140054e50
mov r12, rbx
mov rbx, qword [rbp - 0x58]
sub rdi, rbx
movabs rax, 0x8888888888888889
imul rdi
lea r13, [rdi + rdx]
sar r13, 6
mov rax, r13
shr rax, 0x3f
add r13, rax
mov r10, qword [rsp + 0x58]
je 0x14005b022
mov rdi, qword [rsp + 0x38]
nop dword [rax + rax]
mov rax, qword [rbx + 8]
cmp rax, rsi
jb 0x14005b012
cmp rax, rdi
jae 0x14005b012
cmp r10, qword [rsp + 0x60]
je 0x14005affd
movups xmm0, xmmword [rbx]
movups xmmword [r10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r10 + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [r10 + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [r10 + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r10 + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [r10 + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [r10 + 0x60], xmm0
movsd xmm1, qword [rbx + 0x70]
movsd qword [r10 + 0x70], xmm1
mov r10, qword [rsp + 0x58]
add r10, 0x78
mov qword [rsp + 0x58], r10
jmp 0x14005b012
mov r8, rbx
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.14004e0f0
mov r10, qword [rsp + 0x58]
inc r12
add rbx, 0x78
cmp r12, r13
jb 0x14005af90
mov rcx, r10
mov r11, qword [rsp + 0x50]
sub rcx, r11
movabs rdi, 0x8888888888888889
mov rax, rdi
imul rcx
lea rbx, [rcx + rdx]
sar rbx, 6
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov rsi, qword [rbp + 0x1540]
cmp rbx, rsi
ja 0x14005b26a
movzx r9d, byte [rsp + 0x30]
mov r8, rbx
mov rdx, r10
mov rcx, r11
call fcn.140050670
lea r9, [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.140050fa0
mov rsi, qword [rbp + 0x1528]
xor ebx, ebx
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov ecx, 0x88
call fcn.1401dcf70
mov qword [rax], rax
mov qword [rax + 8], rax
mov rcx, qword [rsp + 0x40]
mov qword [rsi], rcx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsi + 8]
mov rax, qword [rsp + 0x48]
mov qword [rsi + 8], rax
mov qword [rsp + 0x48], rcx
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x14005b133
mov rcx, qword [rsp + 0x60]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b11d
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005b6f4
mov rcx, r8
call fcn.1401dcf3c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
test r14, r14
je 0x14005b16c
sub r15, r14
cmp r15, 0x1000
jb 0x14005b160
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14005b799
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.1401dcf3c
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x14005b1c5
mov rcx, qword [rbp - 0x60]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b1bc
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005b792
mov rcx, r8
call fcn.1401dcf3c
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x14005b22d
mov rcx, qword [rsp + 0x78]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b217
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005b7f7
mov rcx, r8
call fcn.1401dcf3c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rbx
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14005b845
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.1401dcf3c
mov rcx, rbx
test rbx, rbx
jne 0x14005b250
jmp 0x14005b845
lea rax, [rbp - 0x30]
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
xor r12d, r12d
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r12
lea ecx, [r12 + 0x20]
call fcn.1401dcf70
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], 7
mov qword [rbp + 8], 8
movss xmm0, dword [0x140237250]
movss dword [rbp - 0x30], xmm0
mov r8, rax
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x18]
call fcn.140054610
nop
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
test rsi, rsi
je 0x14005b5b0
movabs rax, 0x222222222222222
cmp rsi, rax
ja 0x14005b8a7
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140054e50
mov qword [rbp - 0x40], r12
nop word [rax + rax]
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x14005b872
dec rdi
mov qword [rbp + 0x10], rdi
cmp rdi, 0xffffffffffffffff
jne 0x14005b37c
mov rdi, r12
nop dword [rax]
lea rcx, [0x1402f8050]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14005b8ad
lea rdx, [rbp + 0x30]
lea ecx, [rax + 8]
call fcn.14017e780
mov rbx, qword [rbp + 0x30]
lea rcx, [0x1402f8050]
call fcn.1401dce01
add rdi, 0x40
cmp rdi, 0x40
jb 0x14005b340
jmp 0x14005b3ea
lea rsi, [rdi + 1]
mov rbx, r12
mov rax, r12
test rdi, rdi
je 0x14005b3c2
lea rcx, [0x1402f8050]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14005b8b5
lea rdx, [rbp + 0x38]
lea ecx, [rax + 8]
call fcn.14017e780
mov rbx, qword [rbp + 0x38]
lea rcx, [0x1402f8050]
call fcn.1401dce01
mov rax, 0xffffffffffffffff
xor edx, edx
div rsi
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, rbx
div rsi
cmp rax, rcx
jb 0x14005b3df
cmp r8, rdi
jne 0x14005b380
xor edx, edx
mov rax, rbx
div rsi
mov rbx, rdx
mov qword [rsp + 0x38], rbx
mov rsi, rbx
shr rsi, 0x38
mov r12, rbx
shr r12, 0x30
mov r13, rbx
shr r13, 0x28
mov rax, rbx
shr rax, 0x20
mov qword [rbp - 0x68], rax
mov rax, rbx
shr rax, 0x18
mov qword [rbp + 0x58], rax
mov rax, rbx
shr rax, 0x10
mov qword [rbp + 0x50], rax
mov rax, rbx
shr rax, 8
mov qword [rbp + 0x48], rax
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.140051180
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x28]
cmp rax, rdx
je 0x14005b454
mov rdi, qword [rax + 0x18]
jmp 0x14005b458
mov rdi, qword [rbp + 0x10]
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp + 0x48]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x50]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x58]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x68]
xor rcx, rax
imul rcx, r8
movzx eax, r13b
xor rcx, rax
imul rcx, r8
movzx eax, r12b
xor rcx, rax
imul rcx, r8
xor rcx, rsi
imul rcx, r8
mov rax, qword [rbp]
and rax, rcx
add rax, rax
mov r8, qword [rbp - 0x18]
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, rdx
je 0x14005b505
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x14005b4f0
cmp rcx, rax
je 0x14005b505
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x14005b4e1
test rcx, rcx
je 0x14005b505
cmp rcx, rdx
je 0x14005b505
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x14005b51a
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x30]
call fcn.140050ca0
mov rcx, qword [rax]
mov qword [rcx + 0x18], rdi
imul r8, qword [rsp + 0x38], 0x78
add r8, qword [rsp + 0x50]
mov rdx, qword [rbp - 0x78]
cmp rdx, qword [rbp - 0x70]
je 0x14005b582
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r8 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [r8 + 0x60]
movups xmmword [rdx + 0x60], xmm0
movsd xmm1, qword [r8 + 0x70]
movsd qword [rdx + 0x70], xmm1
add qword [rbp - 0x78], 0x78
jmp 0x14005b58b
lea rcx, [rbp - 0x80]
call fcn.14004e0f0
mov rax, qword [rbp - 0x40]
inc rax
mov qword [rbp - 0x40], rax
xor r12d, r12d
cmp rax, qword [rbp + 0x1540]
jb 0x14005b320
movabs rdi, 0x8888888888888889
mov r9, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
sub r9, rcx
mov rax, rdi
imul r9
add rdx, r9
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
movzx r9d, byte [rsp + 0x30]
mov rdx, qword [rbp - 0x78]
call fcn.140050670
lea r9, [rsp + 0x40]
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.140050fa0
mov rsi, qword [rbp + 0x1528]
mov qword [rsi], r12
mov qword [rsi + 8], r12
mov ecx, 0x88
call fcn.1401dcf70
mov qword [rax], rax
mov qword [rax + 8], rax
mov rcx, qword [rsp + 0x40]
mov qword [rsi], rcx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsi + 8]
mov rax, qword [rsp + 0x48]
mov qword [rsi + 8], rax
mov qword [rsp + 0x48], rcx
mov r8, qword [rbp - 0x80]
test r8, r8
je 0x14005b69c
mov rcx, qword [rbp - 0x70]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b688
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005b688
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1401dcf3c
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
lea rcx, [rbp - 0x30]
call fcn.1400531d0
nop
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x14005b711
mov rcx, qword [rsp + 0x60]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b6fb
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005b6fb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1401dcf3c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
test r14, r14
je 0x14005b746
sub r15, r14
cmp r15, 0x1000
jb 0x14005b73a
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14005b799
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.1401dcf3c
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x14005b7a9
mov rcx, qword [rbp - 0x60]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b7a0
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005b7a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, r8
call fcn.1401dcf3c
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x14005b814
mov rcx, qword [rsp + 0x78]
sub rcx, r8
mov rax, rdi
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x14005b7fe
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005b7fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1401dcf3c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r12
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 8]
mov qword [rax], r12
mov rcx, qword [rcx]
test rcx, rcx
je 0x14005b845
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.1401dcf3c
mov rcx, rbx
test rbx, rbx
jne 0x14005b830
mov edx, 0x88
mov rcx, qword [rsp + 0x40]
call fcn.1401dcf3c
mov rax, rsi
mov rbx, qword [rsp + 0x1620]
add rsp, 0x15e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.shuffle_sequence_ended
lea rcx, [rbp + 0x138]
call fcn.14000c420
lea rdx, [0x1402ca490]
lea rcx, [rbp + 0x138]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
call fcn.140011e20
nop
call fcn.140011e20
int3
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
int3
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
int3