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

Disassembly:
and ecx, dword [rsp + 0x29]
add qword [rsp], 0xffffffffbfcd0373
test cx, cx
call fcn.14014c90b
xor rax, 0x1e253bcd
or byte [rax - 0x34], bh
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rbx, rcx
mov qword [rax - 0x70], rcx
mov qword [rax - 0x30], rcx
and dword [rax - 0x78], 0
mov ebp, 0xa
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov r14d, reloc.WS2_32.dll_sendto
mov eax, dword [r14 + rdi]
mov r12d, reloc.WLDAP32.dll_Ordinal_32
mov r13d, 0xffffffff
test al, 1
jne 0x14001fe45
or eax, 1
mov dword [r14 + rdi], eax
mov esi, r12d
add rsi, rdi
call fcn.140084194
mov ecx, eax
mov dword [rsi + 0x1384], r13d
mov dword [rsi + 4], eax
lea edx, [rbp - 9]
lea r8, [rsi + 8]
mov r9d, 0x26f
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
mov dword [r8], ecx
inc edx
lea r8, [r8 + 4]
sub r9, 1
jne 0x14001fe1d
mov dword [rsi], 0x270
mov eax, dword [r14 + rdi]
mov r15d, 0x13a8
test al, 2
jne 0x14001fe64
or eax, 2
mov dword [r14 + rdi], eax
and qword [r15 + rdi], 0
mov qword [r15 + rdi + 8], reloc.WLDAP32.dll_Ordinal_35
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov dword [rsp + 0x20], 1
mov rsi, qword [rbx + 0x10]
cmp rsi, rbp
ja 0x14001feb0
cmp qword [rbx + 0x18], rbp
je 0x14001feb0
jae 0x14001fea1
mov rdx, rbp
sub rdx, rsi
mov rcx, rbx
call fcn.140027920
mov qword [rbx + 0x10], rsi
jmp 0x14001feb0
cmp qword [rbx + 0x18], 0x10
jb 0x14001feb0
mov rcx, rbx
call fcn.140025ac0
mov ecx, r15d
add rcx, rdi
mov qword [rsp + 0x38], rcx
mov edx, r12d
add rdx, rdi
mov qword [rsp + 0x40], rdx
dec rbp
mov rax, qword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x48], rdx
mov esi, 0x40
or rdi, 0xffffffffffffffff
dec rsi
shr rdi, 1
cmp rdi, r13
ja 0x14001fee3
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
sub rax, rcx
cmp rax, 0xffffffffffffffff
jne 0x14001ff28
xor edi, edi
xor r14d, r14d
lea rcx, [rsp + 0x48]
call fcn.140028d34
lea rcx, [rsi - 1]
shl rdi, cl
add rdi, rdi
or rdi, rax
add r14, rsi
cmp r14, 0x40
jb 0x14001ff06
jmp 0x14001ff9a
lea r13, [rax + 1]
lea r12, [r13 - 1]
xor r14d, r14d
xor r15d, r15d
test r12, r12
je 0x14001ff64
lea rcx, [rsp + 0x48]
call fcn.140028d34
lea rcx, [rsi - 1]
shl r14, cl
add r14, r14
or r14, rax
lea rcx, [rsi - 1]
shl r15, cl
add r15, r15
or r15, rdi
cmp r15, r12
jb 0x14001ff3b
xor edx, edx
mov rax, r15
div r13
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, r14
div r13
cmp rax, rcx
jb 0x14001ff84
cmp r8, r12
jne 0x14001ff30
xor edx, edx
mov rax, r14
div r13
mov rdi, rdx
mov rbx, qword [rsp + 0x28]
mov r13d, 0xffffffff
mov rax, qword [rsp + 0x30]
add rax, rdi
lea rcx, str.0123456789abcdefghijklmnopqrstuvwxyz
mov r9b, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x14001ffd7
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14001ffcc
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14001ffdf
mov rcx, rbx
call fcn.140027f14
test rbp, rbp
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
jne 0x14001fec6
mov rax, rbx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret