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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x16b0
call fcn.140349d50
sub rsp, rax
mov rax, qword [0x1404e1800]
xor rax, rsp
mov qword [rsp + 0x16a0], rax
mov r13, rdx
mov rsi, rcx
mov qword [rsp + 0x80], rdx
xor r15d, r15d
mov dword [rsp + 0x88], r15d
mov rdx, qword [rcx + 0x68]
mov rcx, qword [rcx + 0x60]
call fcn.14006ed54
mov rax, qword [rsi + 0x60]
mov qword [rsi + 0x68], rax
lea rdx, [r13 + 0xd0]
lea rcx, [rsp + 0x98]
call fcn.1401f7cbc
nop
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
lea rdx, [0x1404ffed8]
mov rax, qword [rax + 8]
call qword [case.0x1400ae9d9.0]
test al, al
je 0x14030616a
lea rdx, [0x1404ffed8]
lea rcx, [rsp + 0x98]
call fcn.14007199c
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400ac4b0
nop
lea r8, [0x1404fffb8]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x278]
call fcn.140073778
lea rcx, [rsi + 0x38]
mov rdx, rax
call fcn.14008aed0
lea rcx, [rsp + 0x278]
call fcn.14007a7c0
lea r8, [rsi + 0x58]
lea rdx, [0x1404fffd8]
lea rcx, [rsp + 0x50]
call fcn.14010bf60
mov r8, rsi
lea rdx, [0x1404fff78]
lea rcx, [rsp + 0x50]
call fcn.14010bfbc
lea rdx, str.MaxWaitForNewActionsInMs
lea rcx, [rsp + 0x218]
call fcn.14008c350
nop
lea r8, [rsi + 0x20]
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x50]
call fcn.1400a6d60
nop
lea rcx, [rsp + 0x218]
call fcn.14007a7c0
lea rdx, str.PollingIntervalInMs
lea rcx, [rsp + 0x218]
call fcn.14008c350
nop
lea r8, [rsi + 0x24]
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x50]
call fcn.1400a6d60
nop
lea rcx, [rsp + 0x218]
call fcn.14007a7c0
lea rdx, str.WaitStopProcessThreadInMs
lea rcx, [rsp + 0x218]
call fcn.14008c350
nop
lea r8, [rsi + 0x28]
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x50]
call fcn.1400a6d60
nop
lea rcx, [rsp + 0x218]
call fcn.14007a7c0
lea rdx, str.MaxWaitWithoutConnectionInMs
lea rcx, [rsp + 0x218]
call fcn.14008c350
nop
lea r8, [rsi + 0x2c]
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x50]
call fcn.1400a6d60
nop
lea rcx, [rsp + 0x218]
call fcn.14007a7c0
lea rdx, str.EtwMaxStringLength
lea rcx, [rsp + 0x218]
call fcn.14008c350
nop
lea r8, [rsi + 0x30]
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x50]
call fcn.1400a6d60
nop
lea rcx, [rsp + 0x218]
call fcn.14007a7c0
nop
lea rcx, [rsp + 0x50]
call fcn.14007fb38
or eax, 0xffffffff
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], eax
lea rcx, [rsp + 0x278]
call fcn.14025416c
nop
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call fcn.14010851c
mov ebx, eax
lea rcx, [rsp + 0x278]
call fcn.14007a7c0
mov ecx, 0x80000000
lea eax, [rbx + rcx]
test ecx, eax
jne 0x1403061d1
cmp ebx, 0x80070003
je 0x1403061d1
mov rcx, qword [rsp + 0x16d8]
mov r9d, ebx
lea r8, str.amcorewcd_sourcedynamicdatacollection_srcdynamicdatacollectionconfiguration.cpp
mov edx, VarR8FromUI1
call fcn.14011d6cc
lea rdx, [0x1404ffeb8]
lea rcx, [rsp + 0x98]
call fcn.14007199c
mov rcx, rax
call fcn.1400718cc
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.140071040
nop
mov rbx, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
cmp rbx, r12
je 0x1403067b1
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.1400ac4b0
nop
lea r8, [0x1404ffef8]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x258]
call fcn.140073778
nop
lea r8, [0x1404fff18]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x218]
call fcn.140073778
nop
lea rdx, [0x1404fff38]
lea rcx, [rsp + 0x68]
call fcn.14016e1e0
mov r14d, eax
xor edi, edi
mov r8b, 1
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x238]
call fcn.1400763d0
or r15d, 1
mov dword [rsp + 0x88], r15d
lea r8, [rsp + 0x238]
lea rdx, [rsp + 0x90]
call fcn.1403069e4
mov rax, qword [rsp + 0x90]
cmp rax, qword [0x140500008]
je 0x1403062bc
mov edi, dword [rax + 0x30]
lea rcx, [rsp + 0x238]
call fcn.14007a7c0
lea rcx, [rsp + 0x78]
call fcn.1400ed558
nop
lea r8, [rsp + 0x78]
lea rdx, [0x1404fff98]
lea rcx, [rsp + 0x68]
call fcn.14010bf04
call fcn.140091ae4
mov r15, rax
cmp dword [rax], 5
jbe 0x1403063bf
lea rdx, [rsp + 0x278]
lea rcx, [rsp + 0x78]
call fcn.1400f9e08
cmp qword [rax + 0x18], 8
jb 0x140306317
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0xa0], r14d
lea rax, [rsp + 0x218]
cmp qword [rsp + 0x230], 8
cmovae rax, qword [rsp + 0x218]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x258]
cmp qword [rsp + 0x270], 8
cmovae rax, qword [rsp + 0x258]
mov qword [rsp + 0x70], rax
lea rax, str.New_data_collection_command_received
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea rdx, [0x140458d2a]
mov rcx, r15
call fcn.1400024fc
lea rcx, [rsp + 0x278]
call fcn.14007a7c0
and dword [rsp + 0x70], 0
cmp byte [rsi + 0x58], 0
je 0x1403064bb
or r10d, 0xffffffff
mov dword [rsp + 0x1694], r10d
mov eax, 0x1571
mov dword [rsp + 0x314], eax
mov edx, eax
mov r9d, 1
mov r8d, r9d
mov ecx, r9d
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, r8d
mov dword [rsp + rcx*4 + 0x314], edx
add r8d, r9d
add rcx, r9
mov eax, 0x270
cmp rcx, rax
jl 0x1403063f4
mov dword [rsp + 0x310], eax
lea r15d, [r14 - 1]
lea rax, [rsp + 0x310]
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], Compress
mov dword [rsp + 0x248], r10d
test r14d, r14d
jne 0x140306460
lea rcx, [rsp + 0x238]
call fcn.1401f83f0
mov edx, eax
jmp 0x1403064a0
xor r8d, r8d
xor eax, eax
test r15d, r15d
je 0x14030647d
lea rcx, [rsp + 0x238]
call fcn.1401f83f0
mov r8d, eax
or eax, 0xffffffff
xor edx, edx
div r14d
mov r9d, edx
mov ecx, eax
xor edx, edx
mov eax, r8d
div r14d
cmp eax, ecx
jb 0x140306498
cmp r9d, r15d
jne 0x140306460
xor edx, edx
mov eax, r8d
div r14d
mov r8d, 0x80000000
lea ecx, [rdx + r8]
lea eax, [rcx + r8]
cmp ecx, r8d
cmovae eax, edx
imul eax, eax, 0x3c
mov dword [rsp + 0x70], eax
sub edi, 1
je 0x140306661
sub edi, 1
je 0x1403065f5
sub edi, 1
je 0x14030659a
cmp edi, 1
je 0x14030653c
call fcn.140091ae4
cmp dword [rax], 4
jbe 0x14030676f
lea rcx, [rsp + 0x218]
cmp qword [rsp + 0x230], 8
cmovae rcx, qword [rsp + 0x218]
mov qword [rsp + 0x58], rcx
lea rcx, str.Action_is_currently_unsupported
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea rdx, [0x140458d83]
mov rcx, rax
call fcn.1400056ec
jmp 0x14030676f
mov dword [rsp + 0x60], 4
imul eax, r14d, 0x3c
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x258]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xe0]
call fcn.140305e30
nop
mov rdx, rax
lea rcx, [rsi + 0x60]
call fcn.1402be470
nop
mov rcx, qword [rsp + 0xe8]
jmp 0x14030664e
mov dword [rsp + 0x50], 3
imul eax, r14d, 0x3c
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x258]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xf0]
call fcn.140305e30
nop
mov rdx, rax
lea rcx, [rsi + 0x60]
call fcn.1402be470
nop
mov rcx, qword [rsp + 0xf8]
jmp 0x14030664e
mov dword [rsp + 0x50], 2
imul eax, r14d, 0x3c
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x258]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x100]
call fcn.140305e30
nop
mov rdx, rax
lea rcx, [rsi + 0x60]
call fcn.1402be470
nop
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x14030676f
call fcn.14007e3e0
jmp 0x14030676f
lea r8, [0x1404fff58]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x278]
call fcn.140073778
nop
lea rcx, [rsp + 0x2b8]
call fcn.14025416c
nop
lea r8, [r13 + 0xb0]
mov rdx, rax
lea rcx, [rsp + 0x298]
call fcn.140252e08
nop
lea rcx, [rsp + 0x2b8]
call fcn.14007a7c0
lea r9, [rsp + 0x278]
lea r8, [rsp + 0x258]
lea rdx, [rsp + 0x298]
lea rcx, [rsp + 0x238]
call fcn.140306804
nop
mov dword [rsp + 0x50], 1
imul eax, r14d, 0x3c
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x238]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x258]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x110]
call fcn.140305d74
nop
mov rdx, rax
lea rcx, [rsi + 0x60]
call fcn.1402be470
nop
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x140306745
call fcn.14007e3e0
nop
lea rcx, [rsp + 0x238]
call fcn.14007a7c0
nop
lea rcx, [rsp + 0x298]
call fcn.14007a7c0
nop
lea rcx, [rsp + 0x278]
call fcn.14007a7c0
nop
lea rcx, [rsp + 0x78]
call fcn.14007fb38
nop
lea rcx, [rsp + 0x218]
call fcn.14007a7c0
nop
lea rcx, [rsp + 0x258]
call fcn.14007a7c0
nop
lea rcx, [rsp + 0x68]
call fcn.14007fb38
add rbx, 8
mov r15d, dword [rsp + 0x88]
jmp 0x14030620e
lea rcx, [rsp + 0xc8]
call fcn.14007fa54
nop
lea rcx, [rsp + 0x98]
call fcn.14007fb38
nop
mov rcx, qword [rsp + 0x16a0]
xor rcx, rsp
call fcn.140112420
lea r11, [rsp + 0x16b0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret