Function at 0x1400ac180
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.140163e60
sub rsp, rax
mov r12, r8
mov r14, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov ecx, 0x88
call fcn.140163924
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 0x1400ac2fb
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.140122cd0
test al, al
je 0x1400ac2e8
cmp rdi, r13
je 0x1400ac2c4
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 0x1400ac2db
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.1400a0da0
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 0x1400ac240
mov qword [rbp - 0x60], r13
xor ebx, ebx
mov ecx, socket
call fcn.140163924
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 0x1400ac34c
nop dword [rax + rax]
mov byte [rax], cl
inc ecx
inc rax
cmp rax, r15
jne 0x1400ac340
lea rcx, [0x14020faa0]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x1400acf59
lea rdx, [rsp + 0x38]
lea ecx, [rax + 4]
call fcn.14014c110
mov ebx, dword [rsp + 0x38]
lea rcx, [0x14020faa0]
call fcn.14016372d
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 0x1400ac3a0
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 0x1400ac3e3
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rcx
lea r8, [rbp + 0x60]
mov rdx, r15
mov rcx, r14
call fcn.1400a24d0
xor ebx, ebx
mov ecx, ebx
mov rdx, qword [rbp + 0x1538]
movzx eax, byte [r14 + rcx]
cmp qword [rbp + rax*8 + 0x80], rdx
jae 0x1400ac59c
inc rcx
cmp rcx, 0x14
jb 0x1400ac410
jne 0x1400ac59c
mov rdi, qword [rbp + 0x1528]
mov qword [rdi], rbx
mov qword [rdi + 8], rbx
mov ecx, 0x88
call fcn.140163924
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi], rax
test r14, r14
je 0x1400ac48d
sub r15, r14
cmp r15, 0x1000
jb 0x1400ac481
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x1400ace59
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.140163960
nop
movabs rax, 0x8888888888888889
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400ac4ef
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 0x1400ac4e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ace52
call fcn.140163960
movabs rax, 0x8888888888888889
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400ac554
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 0x1400ac53e
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aceb7
mov rcx, r8
call fcn.140163960
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 0x1400ac585
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.140163960
mov rcx, rbx
test rbx, rbx
jne 0x1400ac570
mov edx, 0x88
mov rcx, qword [rsp + 0x40]
call fcn.140163960
mov rax, rdi
jmp 0x1400acf17
movzx edx, byte [r14 + rcx]
test rdx, rdx
je 0x1400ac5bd
mov eax, edx
nop dword [rax + rax]
lea rsi, [rsi + rsi*4]
add rsi, rsi
sub rax, 1
jne 0x1400ac5b0
cmp rdx, 0x13
jne 0x1400ac5ce
mov qword [rsp + 0x38], 0xffffffffffffffff
jmp 0x1400ac5da
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 0x1400ac612
cmp rdx, rax
ja 0x1400acf61
lea rcx, [rsp + 0x50]
call fcn.1400a6990
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 0x1400ac6e2
mov rdi, qword [rsp + 0x38]
nop dword [rax + rax]
mov rax, qword [rbx + 8]
cmp rax, rsi
jb 0x1400ac6d2
cmp rax, rdi
jae 0x1400ac6d2
cmp r10, qword [rsp + 0x60]
je 0x1400ac6bd
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 0x1400ac6d2
mov r8, rbx
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.1400a0da0
mov r10, qword [rsp + 0x58]
inc r12
add rbx, 0x78
cmp r12, r13
jb 0x1400ac650
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 0x1400ac92a
movzx r9d, byte [rsp + 0x30]
mov r8, rbx
mov rdx, r10
mov rcx, r11
call fcn.1400a3170
lea r9, [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.1400a3aa0
mov rsi, qword [rbp + 0x1528]
xor ebx, ebx
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov ecx, 0x88
call fcn.140163924
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 0x1400ac7f3
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 0x1400ac7dd
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400acdb4
mov rcx, r8
call fcn.140163960
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
test r14, r14
je 0x1400ac82c
sub r15, r14
cmp r15, 0x1000
jb 0x1400ac820
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x1400ace59
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.140163960
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x1400ac885
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 0x1400ac87c
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ace52
mov rcx, r8
call fcn.140163960
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400ac8ed
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 0x1400ac8d7
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aceb7
mov rcx, r8
call fcn.140163960
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 0x1400acf05
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.140163960
mov rcx, rbx
test rbx, rbx
jne 0x1400ac910
jmp 0x1400acf05
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.140163924
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 [0x1401b3140]
movss dword [rbp - 0x30], xmm0
mov r8, rax
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x18]
call fcn.14009c330
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 0x1400acc70
movabs rax, 0x222222222222222
cmp rsi, rax
ja 0x1400acf67
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.1400a6990
mov qword [rbp - 0x40], r12
nop word [rax + rax]
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x1400acf32
dec rdi
mov qword [rbp + 0x10], rdi
cmp rdi, 0xffffffffffffffff
jne 0x1400aca3c
mov rdi, r12
nop dword [rax]
lea rcx, [0x14020faa0]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x1400acf6d
lea rdx, [rbp + 0x30]
lea ecx, [rax + 8]
call fcn.14014c110
mov rbx, qword [rbp + 0x30]
lea rcx, [0x14020faa0]
call fcn.14016372d
add rdi, 0x40
cmp rdi, 0x40
jb 0x1400aca00
jmp 0x1400acaaa
lea rsi, [rdi + 1]
mov rbx, r12
mov rax, r12
test rdi, rdi
je 0x1400aca82
lea rcx, [0x14020faa0]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x1400acf75
lea rdx, [rbp + 0x38]
lea ecx, [rax + 8]
call fcn.14014c110
mov rbx, qword [rbp + 0x38]
lea rcx, [0x14020faa0]
call fcn.14016372d
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 0x1400aca9f
cmp r8, rdi
jne 0x1400aca40
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.1400a3bb0
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x28]
cmp rax, rdx
je 0x1400acb14
mov rdi, qword [rax + 0x18]
jmp 0x1400acb18
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 0x1400acbc5
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x1400acbb0
cmp rcx, rax
je 0x1400acbc5
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x1400acba1
test rcx, rcx
je 0x1400acbc5
cmp rcx, rdx
je 0x1400acbc5
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x1400acbda
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x30]
call fcn.1400a37a0
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 0x1400acc42
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 0x1400acc4b
lea rcx, [rbp - 0x80]
call fcn.1400a0da0
mov rax, qword [rbp - 0x40]
inc rax
mov qword [rbp - 0x40], rax
xor r12d, r12d
cmp rax, qword [rbp + 0x1540]
jb 0x1400ac9e0
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.1400a3170
lea r9, [rsp + 0x40]
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.1400a3aa0
mov rsi, qword [rbp + 0x1528]
mov qword [rsi], r12
mov qword [rsi + 8], r12
mov ecx, 0x88
call fcn.140163924
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 0x1400acd5c
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 0x1400acd48
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400acd48
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.140163960
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
lea rcx, [rbp - 0x30]
call fcn.1400a54c0
nop
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x1400acdd1
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 0x1400acdbb
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400acdbb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.140163960
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
test r14, r14
je 0x1400ace06
sub r15, r14
cmp r15, 0x1000
jb 0x1400acdfa
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x1400ace59
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.140163960
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x1400ace69
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 0x1400ace60
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ace60
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.140163960
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400aced4
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 0x1400acebe
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400acebe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.140163960
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 0x1400acf05
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.140163960
mov rcx, rbx
test rbx, rbx
jne 0x1400acef0
mov edx, 0x88
mov rcx, qword [rsp + 0x40]
call fcn.140163960
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.14000e460
lea rdx, [0x1401faff0]
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.140015150
nop
call fcn.140015150
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