Function at 0x140008e98
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x15a8]
mov eax, 0x1680
call fcn.140017020
sub rsp, rax
mov rax, qword [0x140054080]
xor rax, rsp
mov qword [rbp + 0x1570], rax
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
cmp rax, 0x8001
je 0x1400098f9
mov edx, 0x8f4650b3
mov rcx, qword [0x140056d70]
call fcn.140008b74
mov r12, rax
mov r8d, 0x104
lea rdx, [rbp + 0x1460]
xor ecx, ecx
call r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
lea rax, [rbp + 0x1460]
or r15, 0xffffffffffffffff
mov r8, r15
inc r8
cmp byte [rax + r8], dil
jne 0x140008f2f
lea rdx, [rbp + 0x1460]
lea rcx, [rsp + 0x48]
call fcn.14000ed44
nop
lea rbx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
setae r14b
cmovae rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
test rsi, rsi
je 0x140008fb2
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x90]
call fcn.140018b20
mov byte [rbp + 0xec], 1
lea rax, [rsi - 1]
mov r8, r15
cmp rax, r15
cmovb r8, rax
add r8, rbx
jmp 0x140008f9f
cmp r8, rbx
je 0x140008fb2
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x90], dil
je 0x140008f97
sub r8, rbx
jmp 0x140008fb5
mov r8, r15
xorps xmm0, xmm0
movups xmmword [rbp + 0x1420], xmm0
mov qword [rbp + 0x1430], rdi
mov qword [rbp + 0x1438], rdi
inc r8
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rsp + 0x48]
test r14b, r14b
cmovne rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x1420]
call fcn.14000ed44
lea rdx, [rbp + 0x1420]
lea rcx, [rsp + 0x48]
call fcn.14000b5f4
mov rdx, qword [rbp + 0x1438]
cmp rdx, 0x10
jb 0x140009043
inc rdx
mov rcx, qword [rbp + 0x1420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000903e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009901
call fcn.140016590
mov r8d, 0xd
lea rdx, str.BugReport.Log
lea rcx, [rsp + 0x48]
call fcn.14000c9bc
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x80]
call fcn.140018b20
lea rcx, [rbp - 0x80]
call fcn.14000adfc
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x80]
call fcn.14000ac7c
cmp qword [rbp + 0x10], rdi
jne 0x14000917f
lea rcx, [rbp + 0x90]
call fcn.140009970
lea rcx, [rbp + 0x90]
call fcn.140009f14
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.140009d94
lea rdx, str.Bug_report
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rcx, rax
call fcn.14000a1c4
lea rdx, str.Cant_Find_BugReport.dll_Please_check_whether_the_correct_version_is_installed__or_download_and_install_again_
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rcx, rax
call fcn.14000a1c4
lea rdx, str.Debug_information:
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rcx, rax
call fcn.14000a1c4
lea rdx, str.HANDLE:
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rdx, r12
mov rcx, rax
call fcn.14000a000
mov rcx, rax
call fcn.14000a1c4
call fcn.140001424
mov rcx, rax
call fcn.14001d004
mov ebx, 0x200
call fcn.14001cfd8
mov r8d, eax
mov eax, 0xa57eb503
imul r8d
add edx, r8d
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x63
sub r8d, ecx
lea edx, [r8 + 0x61]
lea rcx, [rbp + 0x90]
call fcn.14000e5d8
sub rbx, 1
je 0x1400098b9
jmp 0x140009140
mov r8d, 2
lea rcx, [rbp - 0x80]
call fcn.14000afb4
lea rdx, [rbp + 0x1420]
lea rcx, [rbp - 0x80]
call fcn.14000aee8
mov r13d, dword [rax + 8]
add r13d, dword [rax]
xor r8d, r8d
lea rcx, [rbp - 0x80]
call fcn.14000afb4
movsxd r14, r13d
mov rcx, r14
call fcn.140016870
mov r15, rax
cmp qword [rbp + 0x10], rdi
je 0x1400091d4
mov r8, r14
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14000b19c
cmp byte [r15], 0x56
je 0x1400092d0
lea rcx, [rbp + 0x90]
call fcn.140009970
lea rcx, [rbp + 0x90]
call fcn.140009f14
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x90]
call fcn.140009d94
lea rdx, str.Bug_report
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rcx, rax
call fcn.14000a1c4
lea rdx, str.Cant_Find_BugReport.dll_Please_check_whether_the_correct_version_is_installed__or_download_and_install_again_
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rcx, rax
call fcn.14000a1c4
lea rdx, str.Debug_information:
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rcx, rax
call fcn.14000a1c4
lea rdx, str.HANDLE:
lea rcx, [rbp + 0x90]
call fcn.14000e2ec
mov rdx, r12
mov rcx, rax
call fcn.14000a000
mov rcx, rax
call fcn.14000a1c4
call fcn.140001424
mov rcx, rax
call fcn.14001d004
mov ebx, 0x200
call fcn.14001cfd8
mov r8d, eax
mov eax, 0xa57eb503
imul r8d
add edx, r8d
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x63
sub r8d, ecx
lea edx, [r8 + 0x61]
lea rcx, [rbp + 0x90]
call fcn.14000e5d8
sub rbx, 1
je 0x1400098d9
jmp 0x140009291
call fcn.140008c28
mov qword [rsp + 0x40], rdi
xor r9d, r9d
lea r8, [rsp + 0x40]
lea edx, [r9 + 1]
lea rcx, str.D:P_D_OICI_GA___WD__D_OICI_GA___SY__A_OICI_GA___OW_
call qword [sym.imp.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW]
test eax, eax
je 0x140009330
mov edx, 0x923548f3
mov rcx, qword [0x140056d78]
call fcn.140008b74
mov r8, qword [rsp + 0x40]
mov edx, 4
or rcx, 0xffffffffffffffff
call rax
mov edx, 0x19df54
mov rcx, qword [0x140056d70]
call fcn.140008b74
mov rcx, qword [rsp + 0x40]
call rax
mov dword [rbp + 0x1448], 0x84988fa1
mov dword [rbp + 0x144c], 0xd8d9868f
mov dword [rbp + 0x1450], 0x86868ec4
mov byte [rbp + 0x1454], dil
mov ecx, edi
lea rax, [rbp + 0x1448]
xor byte [rax], 0xea
inc ecx
inc rax
cmp ecx, 0xc
jb 0x14000935e
mov dword [rbp + 0x1440], 0x72727b44
mov word [rbp + 0x1444], 0x67
mov ecx, edi
lea rax, [rbp + 0x1440]
xor byte [rax], 0x17
inc ecx
inc rax
cmp ecx, 5
jb 0x140009387
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
movsxd rcx, dword [rax + 0x3c]
mov ebx, dword [rcx + rax + 0x90]
add rbx, rax
jmp 0x1400093c9
mov ecx, dword [rbx + 0xc]
add rcx, rsi
lea rdx, [rbp + 0x1448]
call fcn.140020530
test eax, eax
je 0x1400093d3
add rbx, 0x14
cmp dword [rbx + 0xc], edi
jne 0x1400093af
jmp 0x14000945b
lea rcx, [rbp + 0x1448]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0x1440]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
mov ebx, dword [rbx + 0x10]
add rbx, rsi
mov edx, 0x19907f57
mov rcx, qword [0x140056d70]
call fcn.140008b74
mov rsi, rax
jmp 0x140009418
cmp rcx, r12
je 0x140009422
add rbx, 8
mov rcx, qword [rbx]
test rcx, rcx
jne 0x14000940f
jmp 0x14000945b
mov dword [rsp + 0x40], edi
lea r9, [rsp + 0x40]
mov r8d, 4
mov r12d, 0x1000
mov edx, r12d
mov rcx, rbx
call rsi
lea rax, [0x140008e20]
mov qword [rbx], rax
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov edx, r12d
mov rcx, rbx
call rsi
lea eax, [r13 - 1]
movsxd r12, eax
mov rcx, r12
call fcn.140016870
mov rsi, rax
mov r13d, 1
test r12, r12
jle 0x14000948d
sub r15, rax
mov rdx, r12
mov cl, byte [r15 + rax + 1]
mov byte [rax], cl
add rax, r13
sub rdx, r13
jne 0x14000947e
test r14, r14
jle 0x1400094c1
mov rax, rsi
mov rcx, r14
xor byte [rax], 0x36
add rax, r13
sub rcx, r13
jne 0x140009498
mov rcx, rsi
mov rdx, r14
not byte [rcx]
add rcx, r13
sub rdx, r13
jne 0x1400094a9
mov rax, rsi
xor byte [rax], 0x51
add rax, r13
sub r14, r13
jne 0x1400094b6
call fcn.140015974
or dword [rbp + 0x1414], 0xffffffff
mov dword [rbp + 0x94], eax
mov rdx, r13
mov r8d, 0x270
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x94], eax
add rdx, r13
cmp rdx, r8
jb 0x1400094dc
mov dword [rbp + 0x90], r8d
mov eax, 2
mov dword [rsp + 0x70], eax
lea r15d, [rax + 2]
mov dword [rsp + 0x74], r15d
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], 8
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.14000dcf4
mov ebx, eax
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x70]
call fcn.14000dcf4
mov r8d, ebx
mov edx, eax
lea rcx, [rbp + 0x1420]
call fcn.140006f88
mov rdx, qword [rbp + 0x1438]
cmp rdx, 0x10
jb 0x140009595
inc rdx
mov rcx, qword [rbp + 0x1420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009590
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009907
call fcn.140016590
mov qword [rbp + 0x1430], rdi
mov qword [rbp + 0x1438], 0xf
mov byte [rbp + 0x1420], dil
mov dword [rsp + 0x40], edi
mov edx, 0x188c6788
mov rcx, qword [0x140056d68]
call fcn.140008b74
lea rbx, [rax + 0x12]
mov edx, 0x2a6048e
mov rcx, qword [0x140056d70]
call fcn.140008b74
xor r9d, r9d
mov r8d, r13d
xor edx, edx
xor ecx, ecx
call rax
mov r14, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x68], r12
mov dword [rbp + 0x1420], 0x163b0d20
mov dword [rbp + 0x1424], 0x1b191516
mov dword [rbp + 0x1428], 0x132c1f0e
mov dword [rbp + 0x142c], 0x1b0f0e08
mov dword [rbp + 0x1430], 0x171f3716
mov dword [rbp + 0x1434], 0x30815
mov ecx, edi
lea rax, [rbp + 0x1420]
xor byte [rax], 0x7a
add ecx, r13d
add rax, r13
cmp ecx, 0x17
jb 0x140009636
lea r8, [rbp + 0x1420]
lea rdx, [rsp + 0x40]
call fcn.1400149d4
mov rdx, rbx
mov ecx, dword [rsp + 0x40]
call fcn.140014c50
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 0x1000
lea r9, [rsp + 0x68]
xor r8d, r8d
lea rdx, [rsp + 0x30]
or r15, 0xffffffffffffffff
mov rcx, r15
call fcn.140014c73
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
cmp rdx, rsi
jae 0x1400096ac
test rcx, rcx
je 0x1400096d0
mov al, byte [rsi]
add rsi, r13
mov byte [rdx], al
add rdx, r13
sub rcx, r13
jne 0x14000969b
jmp 0x1400096d0
lea r8, [rcx - 1]
add r8, rsi
lea r9, [rcx - 1]
add r9, rdx
test rcx, rcx
je 0x1400096d0
mov al, byte [r8]
sub r8, r13
mov byte [r9], al
sub r9, r13
sub rcx, r13
jne 0x1400096bf
mov dword [rbp + 0x1420], 0x14361228
mov dword [rbp + 0x1424], 0x5031209
mov dword [rbp + 0x1428], 0x140f3012
mov dword [rbp + 0x142c], 0xa071312
mov dword [rbp + 0x1430], 0x90b032b
mov word [rbp + 0x1434], 0x1f14
mov byte [rbp + 0x1436], dil
mov edx, edi
lea rax, [rbp + 0x1420]
xor byte [rax], 0x66
add edx, r13d
add rax, r13
cmp edx, 0x16
jb 0x14000971b
lea r8, [rbp + 0x1420]
lea rdx, [rsp + 0x40]
call fcn.1400149d4
mov rdx, rbx
mov ecx, dword [rsp + 0x40]
call fcn.140014c50
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.140014c73
mov qword [rsp + 0x38], rdi
mov edx, 0xed74f3
mov rcx, qword [0x140056d68]
call fcn.140008b74
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call rax
mov edx, 0x1a8ef8
mov rcx, qword [0x140056d68]
call fcn.140008b74
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x38]
call rax
mov dword [rbp + 0x1420], 0x2c1a3903
mov dword [rbp + 0x1424], 0x220b3924
mov dword [rbp + 0x1428], 0x23241e3f
mov dword [rbp + 0x142c], 0x228212a
mov dword [rbp + 0x1430], 0x2e28272f
mov word [rbp + 0x1434], 0x39
lea rax, [rbp + 0x1420]
xor byte [rax], 0x4d
add edi, r13d
add rax, r13
cmp edi, 0x15
jb 0x1400097f0
lea r8, [rbp + 0x1420]
lea rdx, [rsp + 0x40]
call fcn.1400149d4
mov rdx, rbx
mov ecx, dword [rsp + 0x40]
call fcn.140014c50
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.140014c73
nop
lea rcx, [rbp + 0x30]
call fcn.14000ad7c
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x30]
call fcn.140015778
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140009883
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
mov r12d, 0x1000
cmp rdx, r12
jb 0x14000987e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400098b3
call fcn.140016590
mov rcx, qword [rbp + 0x1570]
xor rcx, rsp
call fcn.140016570
lea r11, [rsp + 0x1680]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400213a0
nop
lea rcx, [rbp + 0x90]
call fcn.14000a1c4
lea rcx, [rbp + 0x90]
call fcn.140009cf8
xor ecx, ecx
call fcn.14001cd5c
nop
lea rcx, [rbp + 0x90]
call fcn.14000a1c4
lea rcx, [rbp + 0x90]
call fcn.140009cf8
xor ecx, ecx
call fcn.14001cd5c
nop
xor ecx, ecx
call fcn.14001cd5c
nop
call fcn.1400213a0
nop
call fcn.1400213a0
int3