Function at 0x18003a8a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rsi, rcx
movabs rax, 0x786fd794848b5a32
mov qword [rbp - 0x50], rax
movabs rax, 0xf8e34b5b61ad24c8
mov qword [rbp - 0x48], rax
movabs rax, 0xb85732a5cc69f237
mov qword [rbp - 0x40], rax
movabs r14, 0x5f82e470f6413e68
mov qword [rbp - 0x38], r14
movabs r12, 0x3d5db2f7f6fe3561
mov qword [rbp - 0x70], r12
movabs r13, 0xbb8c1f3e0fc443a6
mov qword [rbp - 0x68], r13
movabs r15, 0xb85732d1a20c9b5b
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x18003a960
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax + 0xb0]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0xc0]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0xd0]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi], rax
movabs rax, 0x440ed39a93965632
mov qword [rbp - 0x50], rax
movabs rax, 0xbb8c1f6162a137d5
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x18003a9f5
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax + 0x210]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x220]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x230]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x18], rax
movabs rax, 0x522ed7a593935426
mov qword [rbp - 0x50], rax
movabs rax, 0xcdfe7a6d6aa731d3
mov qword [rbp - 0x48], rax
movabs rax, 0xd6325bbde169f832
mov qword [rbp - 0x40], rax
movabs rax, 0x5f82e470c671681c
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18003aac0
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax + 0xb0]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0xc0]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0xd0]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x20], rax
movabs rax, 0x7e38dc9e91907037
mov qword [rbp - 0x50], rax
movabs rax, 0xbb8c1f0e3fb622d0
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x18003ab56
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax + 0x370]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x380]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x390]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x28], rax
movabs rdi, 0x7e6fd794848b5a32
mov qword [rbp - 0x50], rdi
movabs rax, 0xbbbc2f4a61a12aca
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18003abf0
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x38], rax
mov qword [rbp - 0x50], rdi
movabs rax, 0xdefe4f4a61a12aca
mov qword [rbp - 0x48], rax
movabs rax, 0x88395db8d66ff23f
mov qword [rbp - 0x40], rax
movabs rax, 0x5f82e470f6413e58
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x18003aca1
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x40], rax
movabs rax, 0x5c34c092829f7837
mov qword [rbp - 0x50], rax
movabs rax, 0x89e17a4a7cbd10ca
mov qword [rbp - 0x48], rax
movabs rax, 0xb85732d1a23cab04
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x18003ad52
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax + 0x4d0]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x4e0]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x4f0]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x48], rax
movabs rax, 0x511cdf92bb8e6a06
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c1f3e0fa72cca
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801f8c68]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov rcx, qword [rax]
mov qword [rsi + 0x50], rcx
movabs rax, 0x5827db9b979d5a2d
mov qword [rbp - 0x50], rax
movabs rax, 0xbb8c1f3e0ff473f9
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x50]
mov rax, rbx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18003ae40
mov qword [rsp + 0x78], rax
mov rax, qword [0x1801f8c68]
movups xmm0, xmmword [rax + 0x630]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x640]
movups xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x650]
movups xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
call fcn.18003b990
mov qword [rsi + 0x60], rax
mov rcx, qword [0x1801f8c68]
add rcx, 0xb0
lea rax, str.get_pvs
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 7
lea rax, str.48_8D_0D_________33_D2_FF_50
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 0x1c
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x50]
call fcn.1800427a0
mov rcx, qword [rax]
movsxd rax, dword [rcx + 3]
add rcx, 7
add rax, rcx
mov qword [rsi + 0x58], rax
mov rax, qword [0x1801f8c68]
movabs rcx, 0x4f38d699938c6a0c
mov qword [rsp + 0x70], rcx
movabs rcx, 0xd5fe7a4a7ba533f9
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [rbp - 0x80]
xorps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x80], xmm1
lea rcx, [rax + 0x330]
mov r14d, 0x811c9dc5
mov r9d, r14d
lea rax, [rsp + 0x70]
mov rdx, rbx
nop
inc rdx
cmp byte [rax + rdx], 0
jne 0x18003af60
xor r15d, r15d
mov r8d, r15d
test rdx, rdx
je 0x18003af9a
mov eax, r15d
nop word [rax + rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18003af80
mov eax, r9d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.1800260b0
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax + 4]
add rcx, rax
mov eax, 2
add rcx, 8
dec rax
test rcx, rcx
je 0x18003afd5
mov rcx, qword [rcx]
test rax, rax
jne 0x18003afc5
mov qword [rsi + 8], rcx
movabs rax, 0x6229c78798976a0c
mov qword [rsp + 0x70], rax
movabs rax, 0xbbe26d5b7bb022d6
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x1801f8c68]
add rcx, 0x70
mov r9d, r14d
lea rax, [rsp + 0x70]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], r15b
jne 0x18003b025
mov r8d, r15d
test rdx, rdx
je 0x18003b05a
mov rax, r15
nop dword [rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18003b040
mov eax, r9d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.1800260b0
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax + 3]
add rcx, rax
mov edi, 1
mov eax, edi
add rcx, 7
dec rax
test rcx, rcx
je 0x18003b097
mov rcx, qword [rcx]
test rax, rax
jne 0x18003b087
mov qword [rsi + 0x10], rcx
movabs rax, 0x513cd0989a996a0c
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c1f3e0fc443d5
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x1801f8c68]
add rcx, 0x70
mov r9d, r14d
lea rax, [rsp + 0x70]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], r15b
jne 0x18003b0e7
mov r8d, r15d
test rdx, rdx
je 0x18003b11a
mov rax, r15
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18003b100
mov eax, r9d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.1800260b0
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
movsxd rcx, dword [rax + 3]
add rcx, rax
mov rax, rdi
add rcx, 7
dec rax
test rcx, rcx
je 0x18003b153
mov rcx, qword [rcx]
test rax, rax
jne 0x18003b143
mov qword [rsi + 0x30], rcx
cmp qword [rsi + 0x40], r15
je 0x18003b1d8
lea rax, str.prediction_getnylsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x13
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b1af
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0xe0bf9939791795e
mov qword [rsp + 0x20], rax
movabs rax, 0xfedc51614e9d03e6
mov qword [rsp + 0x28], rax
movabs rax, 0xd43664a8c747cd1a
mov qword [rsp + 0x30], rax
movabs rax, 0x1ad2a430c5325b1d
mov qword [rsp + 0x38], rax
movabs rax, 0x1e5937975b2a4214
mov qword [rsp + 0x40], rax
movabs rax, 0x8aea966a024f0338
mov qword [rsp + 0x48], rax
movabs rax, 0xbc16186fc59856ed
mov qword [rsp + 0x50], rax
movabs rax, 0x28c9c898bd672cff
mov qword [rsp + 0x58], rax
movabs rax, 0xb3e59f8fb6ac5d09
mov qword [rsp + 0x60], rax
movabs rcx, 0x5fb65ad60a3e5cee
mov qword [rsp + 0x68], rcx
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r13
movabs rax, 0xb85732d1a20c9b5b
mov qword [rbp - 0x20], rax
movabs rax, 0x5f82e470f6413e68
mov qword [rbp - 0x18], rax
movabs rax, 0x6a0a5be30e691455
mov qword [rbp - 0x10], rax
movabs rax, 0xcfbad62a65216a4a
mov qword [rbp - 8], rax
movabs rax, 0xea5d4d2d80d912af
mov qword [rbp], rax
movabs rax, 0x1a8988ece22365cc
mov qword [rbp + 8], rax
movabs rax, 0xb3e59f8fb6ac0749
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rcx
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmmword [rbp]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x60], xmm0
mov rax, qword [0x1801f8c68]
lea r8, [rsp + 0x20]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov qword [rsi + 0x70], rax
test rax, rax
je 0x18003b3c8
lea rax, str.kv3_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xc
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b39f
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0x580edf9892905433
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c1f3e0fc427c3
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801f8c68]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov qword [rsi + 0x78], rax
test rax, rax
je 0x18003b49a
lea rax, str.random_seed_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x14
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b471
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0x5314df9892905433
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c1f3e0fc443d2
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801f8c68]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov qword [rsi + 0x80], rax
test rax, rax
je 0x18003b56f
lea rax, str.random_int_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x13
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b546
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0x511bdf9892905433
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c1f3e0fb022c9
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801f8c68]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov qword [rsi + 0x88], rax
test rax, rax
je 0x18003b644
lea rax, str.random_float_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b61b
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0x511bdf9892905433
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c6f464ab022c9
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, qword [0x1801f8c68]
lea r8, [rsp + 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov qword [rsi + 0x90], rax
test rax, rax
je 0x18003b719
lea rax, str.random_float_exp_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x19
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b6f0
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0x5c1adf9892905433
mov qword [rbp - 0x70], rax
movabs rax, 0xd7ca715f66b730d3
mov qword [rbp - 0x68], rax
movabs rax, 0xb85732d1a278fa34
mov qword [rbp - 0x60], rax
movabs rax, 0x5f82e470f6413e68
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
movabs rcx, 0xb85732d1a20c9b5b
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rax
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [rbp - 0x60]
xorps xmm1, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x60], xmm1
mov rax, qword [0x1801f8c68]
lea r8, [rbp - 0x70]
mov rdx, qword [rax + 0x370]
call fcn.180042e00
mov qword [rsi + 0x98], rax
test rax, rax
je 0x18003b828
lea rax, str.random_gaussian_float_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x1e
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b7ff
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
movabs rax, 0x5833db90989b6a0c
mov qword [rsp + 0x70], rax
movabs rax, 0xbb8c7a5d6eb637f9
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r13
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, qword [0x1801f8c68]
add rcx, 0x70
lea rax, [rsp + 0x70]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x18003b870
mov edx, r15d
test rbx, rbx
je 0x18003b8a8
mov rax, r15
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x70]
xor eax, r14d
imul r14d, eax, 0x1000193
inc edx
mov eax, edx
cmp rax, rbx
jb 0x18003b890
mov eax, r14d
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
call fcn.1800260b0
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x18003b8d3
movsxd rcx, dword [rax + 3]
add rax, 7
add rax, rcx
dec rdi
test rax, rax
je 0x18003b8e3
mov rax, qword [rax]
test rdi, rdi
jne 0x18003b8d3
mov qword [rsi + 0x68], rax
test rax, rax
je 0x18003b967
lea rax, str.engine_trace_getnulsa
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18001cc30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18003b93e
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d560
lea rdx, [0x18000e2a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x50]
call fcn.18000a900
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret