Function at 0x140058a80
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.1401db830
sub rsp, rax
mov r12, r8
mov r14, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov ecx, 0x88
call fcn.1401daf30
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 0x140058bfb
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.14011c7c0
test al, al
je 0x140058be8
cmp rdi, r13
je 0x140058bc4
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 0x140058bdb
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14004c0b0
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 0x140058b40
mov qword [rbp - 0x60], r13
xor ebx, ebx
mov ecx, reloc.WS2_32.dll_sendto
call fcn.1401daf30
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 0x140058c4c
nop dword [rax + rax]
mov byte [rax], cl
inc ecx
inc rax
cmp rax, r15
jne 0x140058c40
lea rcx, [0x1402f4e20]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x140059859
lea rdx, [rsp + 0x38]
lea ecx, [rax + 4]
call fcn.14017c740
mov ebx, dword [rsp + 0x38]
lea rcx, [0x1402f4e20]
call fcn.1401dadc1
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 0x140058ca0
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 0x140058ce3
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rcx
lea r8, [rbp + 0x60]
mov rdx, r15
mov rcx, r14
call fcn.14004d7e0
xor ebx, ebx
mov ecx, ebx
mov rdx, qword [rbp + 0x1538]
movzx eax, byte [r14 + rcx]
cmp qword [rbp + rax*8 + 0x80], rdx
jae 0x140058e9c
inc rcx
cmp rcx, 0x14
jb 0x140058d10
jne 0x140058e9c
mov rdi, qword [rbp + 0x1528]
mov qword [rdi], rbx
mov qword [rdi + 8], rbx
mov ecx, 0x88
call fcn.1401daf30
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi], rax
test r14, r14
je 0x140058d8d
sub r15, r14
cmp r15, 0x1000
jb 0x140058d81
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x140059759
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.1401daefc
nop
movabs rax, 0x8888888888888889
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140058def
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 0x140058de0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059752
call fcn.1401daefc
movabs rax, 0x8888888888888889
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x140058e54
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 0x140058e3e
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400597b7
mov rcx, r8
call fcn.1401daefc
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 0x140058e85
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.1401daefc
mov rcx, rbx
test rbx, rbx
jne 0x140058e70
mov edx, 0x88
mov rcx, qword [rsp + 0x40]
call fcn.1401daefc
mov rax, rdi
jmp 0x140059817
movzx edx, byte [r14 + rcx]
test rdx, rdx
je 0x140058ebd
mov eax, edx
nop dword [rax + rax]
lea rsi, [rsi + rsi*4]
add rsi, rsi
sub rax, 1
jne 0x140058eb0
cmp rdx, 0x13
jne 0x140058ece
mov qword [rsp + 0x38], 0xffffffffffffffff
jmp 0x140058eda
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 0x140058f12
cmp rdx, rax
ja 0x140059861
lea rcx, [rsp + 0x50]
call fcn.140052e10
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 0x140058fe2
mov rdi, qword [rsp + 0x38]
nop dword [rax + rax]
mov rax, qword [rbx + 8]
cmp rax, rsi
jb 0x140058fd2
cmp rax, rdi
jae 0x140058fd2
cmp r10, qword [rsp + 0x60]
je 0x140058fbd
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 0x140058fd2
mov r8, rbx
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.14004c0b0
mov r10, qword [rsp + 0x58]
inc r12
add rbx, 0x78
cmp r12, r13
jb 0x140058f50
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 0x14005922a
movzx r9d, byte [rsp + 0x30]
mov r8, rbx
mov rdx, r10
mov rcx, r11
call fcn.14004e630
lea r9, [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.14004ef60
mov rsi, qword [rbp + 0x1528]
xor ebx, ebx
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov ecx, 0x88
call fcn.1401daf30
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 0x1400590f3
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 0x1400590dd
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400596b4
mov rcx, r8
call fcn.1401daefc
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
test r14, r14
je 0x14005912c
sub r15, r14
cmp r15, 0x1000
jb 0x140059120
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x140059759
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.1401daefc
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x140059185
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 0x14005917c
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059752
mov rcx, r8
call fcn.1401daefc
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400591ed
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 0x1400591d7
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400597b7
mov rcx, r8
call fcn.1401daefc
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 0x140059805
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.1401daefc
mov rcx, rbx
test rbx, rbx
jne 0x140059210
jmp 0x140059805
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.1401daf30
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 [0x140235630]
movss dword [rbp - 0x30], xmm0
mov r8, rax
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x18]
call fcn.1400525d0
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 0x140059570
movabs rax, 0x222222222222222
cmp rsi, rax
ja 0x140059867
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140052e10
mov qword [rbp - 0x40], r12
nop word [rax + rax]
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x140059832
dec rdi
mov qword [rbp + 0x10], rdi
cmp rdi, 0xffffffffffffffff
jne 0x14005933c
mov rdi, r12
nop dword [rax]
lea rcx, [0x1402f4e20]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x14005986d
lea rdx, [rbp + 0x30]
lea ecx, [rax + 8]
call fcn.14017c740
mov rbx, qword [rbp + 0x30]
lea rcx, [0x1402f4e20]
call fcn.1401dadc1
add rdi, 0x40
cmp rdi, 0x40
jb 0x140059300
jmp 0x1400593aa
lea rsi, [rdi + 1]
mov rbx, r12
mov rax, r12
test rdi, rdi
je 0x140059382
lea rcx, [0x1402f4e20]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x140059875
lea rdx, [rbp + 0x38]
lea ecx, [rax + 8]
call fcn.14017c740
mov rbx, qword [rbp + 0x38]
lea rcx, [0x1402f4e20]
call fcn.1401dadc1
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 0x14005939f
cmp r8, rdi
jne 0x140059340
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.14004f140
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x28]
cmp rax, rdx
je 0x140059414
mov rdi, qword [rax + 0x18]
jmp 0x140059418
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 0x1400594c5
mov rax, qword [r8 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x1400594b0
cmp rcx, rax
je 0x1400594c5
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x1400594a1
test rcx, rcx
je 0x1400594c5
cmp rcx, rdx
je 0x1400594c5
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x1400594da
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x30]
call fcn.14004ec60
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 0x140059542
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 0x14005954b
lea rcx, [rbp - 0x80]
call fcn.14004c0b0
mov rax, qword [rbp - 0x40]
inc rax
mov qword [rbp - 0x40], rax
xor r12d, r12d
cmp rax, qword [rbp + 0x1540]
jb 0x1400592e0
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.14004e630
lea r9, [rsp + 0x40]
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.14004ef60
mov rsi, qword [rbp + 0x1528]
mov qword [rsi], r12
mov qword [rsi + 8], r12
mov ecx, 0x88
call fcn.1401daf30
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 0x14005965c
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 0x140059648
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059648
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1401daefc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
lea rcx, [rbp - 0x30]
call fcn.140051190
nop
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x1400596d1
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 0x1400596bb
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400596bb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1401daefc
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
test r14, r14
je 0x140059706
sub r15, r14
cmp r15, 0x1000
jb 0x1400596fa
add r15, 0x27
mov rcx, qword [r14 - 8]
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x140059759
mov r14, rcx
mov rdx, r15
mov rcx, r14
call fcn.1401daefc
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x140059769
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 0x140059760
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059760
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.1401daefc
nop
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400597d4
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 0x1400597be
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400597be
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1401daefc
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 0x140059805
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x88
call fcn.1401daefc
mov rcx, rbx
test rbx, rbx
jne 0x1400597f0
mov edx, 0x88
mov rcx, qword [rsp + 0x40]
call fcn.1401daefc
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.14000c050
lea rdx, [0x1402c83a0]
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.140011a50
nop
call fcn.140011a50
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