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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1468
call fcn.1800f6830
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm9
movaps xmmword [rsp + 0x1440], xmm8
movdqa xmmword [rsp + 0x1430], xmm7
movaps xmmword [rsp + 0x1420], xmm6
mov rax, qword [rcx + 0x80]
test byte [rax + 0x68], 4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rbp, qword [rax]
mov rsi, qword [rax + 8]
je 0x18007b6b4
cmp rbp, rsi
je 0x18007b8e1
mov r13, rcx
xorps xmm6, xmm6
lea r15, [rsp + 0x90]
mov r14d, reloc.WS2_32.dll_recv
jmp 0x18007b759
add rbp, 8
cmp rbp, rsi
je 0x18007b8e1
mov rcx, qword [rbp]
test rcx, rcx
je 0x18007b6b0
mov rax, qword [rcx + 0xf0]
mov edx, eax
not edx
test dl, 0xa
jne 0x18007b6b0
test al, 4
je 0x18007b8e1
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
add rcx, 0x139c8
lea rdx, [rsp + 0x90]
call fcn.1800512a0
test al, al
je 0x18007b895
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
sub rax, rcx
cmp rax, 8
mov esi, 8
cmovb rsi, rax
test rcx, rcx
jne 0x18007b8a4
jmp 0x18007b8d9
call fcn.1800c38fc
test ebx, ebx
jne 0x18007b803
add rbp, 8
cmp rbp, rsi
je 0x18007b8e1
mov rdi, qword [rbp]
test rdi, rdi
je 0x18007b74c
mov eax, dword [rdi + 0xf0]
not eax
test al, 6
jne 0x18007b74c
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0xa0], 0
lea rcx, [rdi + 0x134f8]
mov rdx, r15
call fcn.1800512a0
test al, al
je 0x18007b7b7
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
sub rbx, rcx
cmp rbx, 0x10
cmovae rbx, r14
test rcx, rcx
jne 0x18007b7ca
jmp 0x18007b744
xor ebx, ebx
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x18007b744
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18007b73f
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18007bccb
add rdx, 0x27
mov rcx, rax
jmp 0x18007b73f
cmp ebx, 0x10
jne 0x18007b8e1
mov r15b, 1
test byte [rdi + 0xf1], 1
je 0x18007b8e4
mov rax, qword [r13 + 0x80]
test byte [rax + 0x6a], 1
jne 0x18007b91d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0x90], 1
mov rcx, qword [r13]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], Ordinal_79
lea r9, [rsp + 0x90]
mov rdx, rdi
mov r8d, 7
call fcn.180075900
jmp 0x18007b8e4
xor esi, esi
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x18007b8d9
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18007b8d4
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18007bccb
add rdx, 0x27
mov rcx, rax
call fcn.1800c38fc
mov r15b, 1
cmp esi, 8
je 0x18007b8e4
xor r15d, r15d
mov eax, r15d
movaps xmm6, xmmword [rsp + 0x1420]
movaps xmm7, xmmword [rsp + 0x1430]
movaps xmm8, xmmword [rsp + 0x1440]
movaps xmm9, xmmword [rsp + 0x1450]
add rsp, 0x1468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r13 + 0x88]
mov rbx, qword [rcx]
mov r12, qword [rcx + 8]
cmp rbx, r12
je 0x18007bca2
xorps xmm6, xmm6
movaps xmm8, xmmword [0x18018c3c0]
movaps xmm9, xmmword [0x18018c3d0]
movdqa xmm7, xmmword [0x18018c3e0]
jmp 0x18007b992
mov rax, qword [rdi]
mov qword [rsp + 0x90], rax
mov rcx, qword [r13]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 8
mov r8d, 8
lea r9, [rsp + 0x90]
call fcn.180075900
add rbx, 8
cmp rbx, r12
je 0x18007bc9b
mov rdx, qword [rbx]
cmp rdx, rdi
jne 0x18007b951
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x80], 0
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov r8d, 0xffffffff
test rcx, rcx
je 0x18007b9e2
mov rcx, qword [rcx + 0x1e508]
test rcx, rcx
je 0x18007b9e2
mov r8d, dword [rcx + 0x5c0]
mov rcx, qword [r13 + 0x80]
mov rcx, qword [rcx + 0x148]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], r8d
mov rax, qword [rax]
mov rax, qword [rax]
test rax, rax
je 0x18007bc41
mov rsi, qword [rax + 0x10d90]
test rsi, rsi
je 0x18007bc41
mov edx, r8d
shr edx, 0x18
mov r14d, r8d
and r14d, 0xfe000000
cmp r14d, 0x3c000000
jne 0x18007ba6a
mov r9d, dword [rsi + 0x28]
test r9, r9
je 0x18007bc41
xor ebp, ebp
nop word cs:[rax + rax]
mov rcx, qword [rsi + rbp*8 + 0x30]
movzx eax, byte [rcx + 0xc]
cmp edx, eax
je 0x18007ba96
inc rbp
cmp r9, rbp
jne 0x18007ba50
jmp 0x18007bc41
mov eax, dword [rsi + 8]
test rax, rax
je 0x18007bc41
mov rcx, qword [rsi + 0x10]
nop word [rax + rax]
movzx ebp, byte [rcx + 0xc]
cmp edx, ebp
je 0x18007ba96
add rcx, 0x50
dec rax
jne 0x18007ba80
jmp 0x18007bc41
mov dword [rsp + 0x90], r8d
mov rax, qword [rcx]
lea rdx, [rsp + 0x90]
call qword [rax + reloc.WS2_32.dll_htonl]
test rax, rax
je 0x18007bab7
mov rax, qword [rax + 0x48]
jmp 0x18007bab9
xor eax, eax
test rax, rax
je 0x18007bc41
xor ecx, ecx
cmp r14d, 0x3c000000
sete cl
shl rcx, 4
mov esi, dword [rcx + rax + 0x328]
test esi, esi
je 0x18007bc41
mov rbp, qword [rcx + rax + 0x330]
test rbp, rbp
je 0x18007bc41
call fcn.1800c44a0
mov dword [rsp + 0x1414], 0xffffffff
mov dword [rsp + 0x94], eax
mov ecx, 3
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add rax, rcx
add rax, 0xfffffffffffffffe
mov dword [rsp + rcx*4 + 0x8c], eax
cmp rcx, 0x271
je 0x18007bb50
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, ecx
dec eax
mov dword [rsp + rcx*4 + 0x90], eax
add rcx, 2
jmp 0x18007bb0e
mov dword [rsp + 0x90], 0x270
movd xmm0, dword [rsp + 0x94]
pshufd xmm0, xmm0, 0
mov eax, 0x271
movups xmm1, xmmword [rsp + rax*4 - 0x92c]
shufps xmm0, xmm1, 3
shufps xmm0, xmm1, 0x98
andps xmm0, xmm8
movaps xmm2, xmm1
andps xmm2, xmm9
orps xmm2, xmm0
psrld xmm2, 1
movaps xmm0, xmm1
pslld xmm1, 0x1f
psrad xmm1, 0x1f
pand xmm1, xmm7
movdqu xmm3, xmmword [rsp + rax*4 - 0x2fc]
pxor xmm3, xmm1
pxor xmm3, xmm2
movdqu xmmword [rsp + rax*4 + 0x90], xmm3
add rax, 4
cmp rax, 0x4e1
jne 0x18007bb6e
mov eax, dword [rsp + 0xa54]
mov ecx, eax
shr ecx, 0xb
and ecx, dword [rsp + 0x1414]
xor ecx, eax
mov eax, ecx
shl eax, 7
and eax, 0x9d2c5680
xor eax, ecx
mov edx, eax
shl edx, 0xf
and edx, 0xefc60000
xor edx, eax
mov ecx, edx
shr ecx, 0x12
xor ecx, edx
call fcn.180141fe0
call fcn.180141ff8
xor edx, edx
div esi
mov rax, qword [rbp + rdx*8]
test rax, rax
je 0x18007bc41
movss xmm0, dword [rax + 0x14]
movss dword [rsp + 0x54], xmm0
movss xmm0, dword [rax + 0x18]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [rax + 0x1c]
movss dword [rsp + 0x5c], xmm0
movss xmm0, dword [rax + 0x24]
movss dword [rsp + 0x60], xmm0
mov rax, qword [r13 + 0x80]
mov rax, qword [rax + 0x68]
mov rcx, rax
shr rcx, 0xc
and cl, 1
mov byte [rsp + 0x7c], cl
mov rcx, rax
shr rcx, 0xd
and cl, 1
mov byte [rsp + 0x7d], cl
shr rax, 0xe
and al, 1
mov byte [rsp + 0x7e], al
mov rcx, qword [r13]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], Ordinal_79
mov rdx, rdi
mov r8d, 7
lea r9, [rsp + 0x40]
jmp 0x18007b980
mov rax, qword [r13 + 0x80]
cmp byte [rax + 4], 0
mov eax, 0xa
mov edx, Ordinal_301
cmove edx, eax
mov rcx, r13
call fcn.18007bce0
mov rax, qword [r13 + 0x80]
xor byte [rax + 4], 1
jmp 0x18007b8e4
call fcn.180139754
int3