Function at 0x140043de0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x1400df000]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rcx
mov qword [rbp + 7], rcx
xor r12d, r12d
mov r15d, r12d
mov dword [rbp - 0x29], r12d
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], r12
mov qword [rcx + 0x3c], 0x41200000
add rcx, 0x48
call fcn.14000b9d0
nop
mov dword [rsi + 0x128], 0xffffffff
mov qword [rsi + 0x130], r12
mov byte [rsi + 0x138], r12b
mov qword [rsi + 0x140], r12
mov byte [rsi + 0x148], r12b
mov qword [rsi + 0x150], r12
mov byte [rsi + 0x158], r12b
mov qword [rsi + 0x160], r12
mov qword [rsi + 0x168], r12
mov qword [rsi + 0x170], r12
mov byte [rsi + 0x178], r12b
mov byte [rsi + 0x17a], r12b
mov qword [rsi + 0x17c], r12
mov byte [rsi + 0x184], r12b
mov qword [rsi + 0x188], r12
mov qword [rsi + 0x190], r12
mov dword [rsi + 0x198], r12d
mov byte [rsi + 0x19c], r12b
lea rdi, [rsi + 0x1a0]
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
mov edx, 5
mov rcx, rdi
call fcn.14002c340
mov rax, qword [rdi]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov dword [rax + 0x10], ecx
add rax, 0x14
mov qword [rdi + 8], rax
mov byte [rsi + 0x1b8], cl
xorps xmm0, xmm0
movups xmmword [rsi + 0x1c0], xmm0
mov qword [rsi + 0x1d0], r12
mov qword [rsi + 0x1d8], reloc.WS2_32.dll_ntohs
mov byte [rsi + 0x1c0], cl
movups xmmword [rsi + 0x1e0], xmm0
mov qword [rsi + 0x1f0], r12
mov qword [rsi + 0x1f8], reloc.WS2_32.dll_ntohs
mov byte [rsi + 0x1e0], cl
lea rdi, [rsi + 0x200]
mov qword [rbp + 0x17], rdi
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov ecx, 0x60
call fcn.14009eef0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi], rax
mov byte [rsi + 0x210], r12b
mov qword [rsi + 0x218], r12
lea rdi, [rsi + 0x220]
mov qword [rbp + 0x17], rdi
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov ecx, 0x48
call fcn.14009eef0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi], rax
mov qword [rsi + 0x230], r12
mov qword [rsi + 0x238], r12
mov qword [rsi + 0x240], r12
mov qword [rsi + 0x248], r12
mov qword [rsi + 0x250], r12
mov qword [rsi + 0x258], r12
mov qword [rsi + 0x260], r12
mov qword [rsi + 0x268], r12
mov qword [rsi + 0x270], r12
xorps xmm0, xmm0
movups xmmword [rsi + 0x298], xmm0
movups xmmword [rsi + 0x2a8], xmm0
movups xmmword [rsi + 0x2b8], xmm0
mov qword [rsi + 0x288], r12
mov qword [rsi + 0x290], r12
mov dword [rsi + 0x2c8], 0xffffffff
mov dword [rsi + 0x280], 2
mov dword [rsi + 0x2cc], r12d
mov byte [rsi + 0x2d0], r12b
mov dword [rsi + 0x1658], 0xffffffff
mov edx, 0x1571
mov dword [rsi + 0x2d8], edx
mov ecx, 1
lea rdi, [rsi + 0x2dc]
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rdi], edx
inc rcx
lea rdi, [rdi + 4]
cmp rcx, 0x270
jb 0x140044050
mov dword [rsi + 0x2d4], 0x270
mov byte [rsi + 0x165c], 0
mov qword [rsi + 0x1660], r12
mov qword [rsi + 0x1668], r12
mov qword [rsi + 0x1670], r12
mov qword [rsi + 0x1678], r12
mov qword [rsi + 0x1680], r12
mov qword [rsi + 0x1688], r12
mov qword [rsi + 0x1690], r12
mov qword [rsi + 0x1698], r12
mov qword [rsi + 0x16a0], r12
mov qword [rsi + 0x16a8], r12
mov qword [rsi + 0x16b0], r12
xorps xmm0, xmm0
movups xmmword [rsi + 0x16b8], xmm0
mov word [rsi + 0x16c8], 0
mov qword [rsi + 0x16d0], r12
mov qword [rsi + 0x16d8], r12
mov qword [rsi + 0x16e0], r12
mov qword [rsi + 0x16e8], r12
mov qword [rsi + 0x16f0], r12
mov qword [rsi + 0x16f8], r12
mov dword [rsi + 0x1700], 0xffffffff
mov dword [rsi + 0x1704], 0
mov word [rsi + 0x1708], 0
mov dword [rsi + 0x170c], 0xffffffff
lea rdi, [rsi + 0x1710]
mov qword [rbp + 0x17], rdi
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov ecx, 0x48
call fcn.14009eef0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi], rax
mov qword [rsi + 0x1720], r12
mov qword [rsi + 0x1728], r12
mov qword [rsi + 0x1730], r12
lea rax, str.item_history.txt
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], reloc.WS2_32.dll_recv
call fcn.14009ea08
movaps xmm0, xmmword [rbp + 0x17]
movdqa xmmword [rbp + 0x17], xmm0
lea r8, [rbp + 0x17]
mov edx, eax
lea rcx, [rbp - 0x21]
call fcn.1400321f0
or r15d, 3
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], r12
mov qword [rbp - 0x31], 7
mov word [rbp - 0x49], r12w
or r15d, 8
mov dword [rbp - 0x29], r15d
mov edx, 0x104
mov r9d, edx
lea rcx, [rbp - 0x49]
call fcn.140051e40
nop dword [rax]
mov r14d, dword [rbp - 0x39]
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 7
cmova rdx, qword [rbp - 0x49]
mov ecx, r14d
call fcn.14009ea78
mov rbx, rax
mov qword [rbp + 0x17], rax
mov ecx, eax
mov r8, qword [rbp - 0x39]
cmp rcx, r8
ja 0x140044225
mov qword [rbp - 0x39], rcx
lea rax, [rbp - 0x49]
cmp qword [rbp - 0x31], 7
cmova rax, qword [rbp - 0x49]
mov word [rax + rcx*2], r12w
jmp 0x140044275
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x31]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x140044269
mov qword [rbp - 0x39], rcx
lea r9, [rbp - 0x49]
cmp rdi, 7
cmova r9, qword [rbp - 0x49]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14004425e
movzx eax, r12w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [rdx + r8]
mov word [r9 + rax*2], r12w
jmp 0x140044275
mov r9, rdx
lea rcx, [rbp - 0x49]
call fcn.140051e40
cmp ebx, r14d
jae 0x1400441e0
mov eax, dword [rbp + 0x1b]
mov dword [rbp + 0x17], eax
lea rcx, [0x1400df0a8]
mov qword [rbp + 0x1f], rcx
movaps xmm0, xmmword [rbp + 0x17]
movdqa xmmword [rbp + 0x17], xmm0
and r15d, 0xfffffff7
or r15d, 4
mov dword [rbp - 0x29], r15d
test eax, eax
jne 0x140044425
lea rcx, [rsi + 0x1738]
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x49]
call fcn.140032730
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 7
jbe 0x140044304
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400442ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400442ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14009effc
mov qword [rbp - 0x39], r12
mov qword [rbp - 0x31], 7
mov word [rbp - 0x49], r12w
mov rdx, qword [rbp - 9]
cmp rdx, 7
jbe 0x140044358
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044353
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140044353
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14009effc
mov qword [rsi + 0x1758], r12
mov qword [rsi + 0x1760], r12
mov qword [rsi + 0x1768], r12
mov qword [rsi + 0x1770], r12
mov qword [rsi + 0x1778], r12
mov qword [rsi + 0x1780], r12
xorps xmm0, xmm0
movups xmmword [rsi + 0x1790], xmm0
mov qword [rsi + 0x17a0], r12
mov qword [rsi + 0x17a8], 0xf
mov byte [rsi + 0x1790], 0
mov dword [rsi + 0x17b0], 0xffffffff
mov byte [rsi + 0x17b4], 0
lea rcx, [rsi + 0x17b5]
xor edx, edx
mov r8d, 0xff
call sub.VCRUNTIME140.dll_memset
lea rdi, [rsi + 0x18b8]
mov qword [rbp + 0x17], rdi
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov ecx, 0x48
call fcn.14009eef0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi], rax
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14009eb70
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea rdx, [rbp + 0x17]
call fcn.140032e20
int3