Function at 0x140007034
Capabilities:
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
mov qword [rax + 0x20], r12
push r13
push r14
push r15
mov eax, 0x15a0
call fcn.140016080
sub rsp, rax
mov rax, qword [0x14006e080]
xor rax, rsp
mov qword [rsp + 0x1598], rax
xor edi, edi
mov dword [rsp + 0x30], edi
lea rcx, [0x140063418]
call fcn.14003340c
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b0], xmm1
mov qword [rsp + 0x1c0], rdi
lea rcx, [rsp + 0xe0]
call fcn.1400067d8
nop
lea r8d, [rdi + 0x1a]
lea rdx, str.configlibraryfolders.vdf
mov rcx, rax
call fcn.140003aa0
xorps xmm0, xmm0
movups xmmword [rsp + 0x190], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1a0], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x190], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x1a0], xmm1
mov qword [rax + 0x10], rdi
lea r12d, [rdi + 0xf]
mov qword [rax + 0x18], r12
mov byte [rax], dil
mov rdx, qword [rsp + 0xf8]
cmp rdx, r12
jbe 0x140007132
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000712d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a36
call fcn.1400158a0
movdqa xmm0, xmmword [0x1400640c0]
movdqu xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0xe0], dil
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x190]
call fcn.1400062d0
call fcn.140014cec
or dword [rsp + 0x1584], 0xffffffff
mov dword [rsp + 0x204], eax
mov edx, 1
mov r8d, 0x270
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x204], eax
inc rdx
cmp rdx, r8
jb 0x14000717f
mov dword [rsp + 0x200], r8d
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x188], rdi
mov r8d, 3
lea rdx, [0x14006343c]
lea rcx, [rsp + 0x170]
call fcn.1400041f4
nop
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov rsi, qword [rsp + 0x180]
lea r14, [rsp + 0x170]
cmp qword [rsp + 0x188], r12
cmova r14, qword [rsp + 0x170]
call fcn.1400143cc
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], di
mov dword [rsp + 0x30], 0xc0
test rsi, rsi
je 0x1400072d5
cmp rsi, 0x7fffffff
ja 0x140007a3c
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.1400143f4
mov rbx, rax
mov rcx, rax
shr rcx, 0x20
test ecx, ecx
jne 0x140007a41
movsxd rdx, ebx
cmp rdx, qword [rsp + 0x50]
ja 0x140007294
mov qword [rsp + 0x50], rdx
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rax, qword [rsp + 0x40]
mov word [rax + rdx*2], di
jmp 0x1400072a6
xor r8d, r8d
sub rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140009f1c
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova r9, qword [rsp + 0x40]
mov dword [rsp + 0x20], ebx
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.1400143f4
shr rax, 0x20
test eax, eax
jne 0x140007a46
mov esi, 0xb0
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x160], xmm0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x160]
call fcn.14000abd4
test eax, eax
jne 0x140007a4e
lea rcx, [rsp + 0x40]
call fcn.140009eb8
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov rbx, qword [rsp + 0x168]
test rbx, rbx
je 0x140007336
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x168]
mov esi, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x160]
movdqa xmmword [rsp + 0x150], xmm0
test rbx, rbx
je 0x14000735c
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x168]
mov esi, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1c8], xmm1
or r14d, 0xffffffff
test rbx, rbx
je 0x1400073ba
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x1400073ae
mov rbx, qword [rsp + 0x168]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x1400073ae
mov rbx, qword [rsp + 0x168]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400073b6
mov rbx, qword [rsp + 0x168]
mov esi, dword [rsp + 0x30]
mov r15, qword [rsp + 0x150]
cmp r15, qword [rsp + 0x1c8]
je 0x140007887
mov eax, dword [r15 + 0x1c]
and eax, 3
cmp al, 3
jne 0x14000741a
test dword [r15 + 0x10], 0x400
je 0x14000740a
cmp dword [r15 + 0x14], 0xa000000c
jne 0x1400073f9
mov eax, 4
jmp 0x140007480
cmp dword [r15 + 0x14], 0xa0000003
jne 0x14000740a
mov eax, 0xa
jmp 0x140007480
movzx eax, byte [r15 + 0x10]
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140007480
test byte [r15 + 0x1c], 2
je 0x140007427
mov r9d, dword [r15 + 0x10]
jmp 0x14000742b
or r9d, 0xffffffff
lea rcx, [r15 + 0x20]
cmp qword [r15 + 0x38], 7
jbe 0x14000743a
mov rcx, qword [r15 + 0x20]
mov r8d, 3
lea rdx, [rsp + 0x1d8]
call fcn.1400146e0
mov edx, eax
test eax, eax
jne 0x140007518
mov eax, dword [rsp + 0x1e8]
bt eax, 0xa
jae 0x14000750a
cmp dword [rsp + 0x1ec], 0xa000000c
jne 0x1400074f3
lea eax, [rdx + 4]
mov r15, qword [rsp + 0x150]
cmp eax, 2
jne 0x140007626
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
lea r8d, [rax + 2]
lea rdx, str..dll
lea rcx, [rsp + 0x60]
call fcn.1400041f4
nop
or esi, 1
mov dword [rsp + 0x30], esi
lea rdx, [rsp + 0xc0]
lea rcx, [r15 + 0x20]
call fcn.140005300
nop
or esi, 2
mov dword [rsp + 0x30], esi
mov r8, qword [rsp + 0x70]
cmp qword [rax + 0x10], r8
jb 0x140007579
mov rcx, qword [rax + 0x10]
sub rcx, r8
cmp qword [rax + 0x10], rcx
jb 0x140007a62
jmp 0x14000754c
cmp dword [rsp + 0x1ec], 0xa0000003
jne 0x14000750a
mov eax, 0xa
jmp 0x140007478
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140007478
sub eax, 2
je 0x14000752e
sub eax, 1
je 0x14000752e
sub eax, 0x32
je 0x14000752e
cmp eax, 0x46
mov ecx, edi
jne 0x140007533
mov ecx, 1
mov eax, ecx
cmp ecx, 1
je 0x140007478
cmp ecx, 9
jne 0x140007a68
jmp 0x140007478
lea rdx, [rsp + 0x60]
mov r13, qword [rsp + 0x78]
cmp r13, r12
cmova rdx, qword [rsp + 0x60]
cmp qword [rax + 0x18], r12
jbe 0x140007568
mov rax, qword [rax]
add rcx, rax
call fcn.14004e580
test eax, eax
jne 0x14000757e
jmp 0x140007621
mov r13, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rdi
mov r8d, 4
lea rdx, str..exe
lea rcx, [rsp + 0x80]
call fcn.1400041f4
nop
or esi, 4
mov dword [rsp + 0x30], esi
lea rdx, [rsp + 0xa0]
lea rcx, [r15 + 0x20]
call fcn.140005300
nop
or esi, 8
mov dword [rsp + 0x30], esi
mov r8, qword [rsp + 0x90]
cmp qword [rax + 0x10], r8
jb 0x14000762b
mov rcx, qword [rax + 0x10]
sub rcx, r8
cmp qword [rax + 0x10], rcx
jb 0x140007a79
lea rdx, [rsp + 0x80]
cmp qword [rsp + 0x98], r12
cmova rdx, qword [rsp + 0x80]
cmp qword [rax + 0x18], r12
jbe 0x140007615
mov rax, qword [rax]
add rcx, rax
call fcn.14004e580
test eax, eax
jne 0x14000762b
mov r15b, 1
jmp 0x14000762e
mov r13, qword [rsp + 0x78]
mov r15b, dil
test sil, 8
je 0x140007695
and esi, 0xfffffff7
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0xb8]
cmp rdx, r12
jbe 0x14000767d
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007678
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a7f
call fcn.1400158a0
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r12
mov byte [rsp + 0xa0], dil
test sil, 4
je 0x1400076e5
and esi, 0xfffffffb
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0x98]
cmp rdx, r12
jbe 0x1400076e5
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400076df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a85
call fcn.1400158a0
nop
test sil, 2
je 0x14000774c
and esi, 0xfffffffd
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0xd8]
cmp rdx, r12
jbe 0x140007734
inc rdx
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000772f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a8b
call fcn.1400158a0
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], r12
mov byte [rsp + 0xc0], dil
test sil, 1
je 0x140007791
and esi, 0xfffffffe
mov dword [rsp + 0x30], esi
cmp r13, r12
jbe 0x140007791
lea rdx, [r13 + 1]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000778c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a91
call fcn.1400158a0
test r15b, r15b
je 0x14000786d
mov rcx, qword [rsp + 0x150]
add rcx, 0x20
lea rdx, [rsp + 0x108]
call fcn.140005300
nop
mov rcx, rax
call fcn.140006b3c
nop
mov rdx, qword [rsp + 0x120]
cmp rdx, r12
jbe 0x1400077ff
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400077fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007a97
call fcn.1400158a0
inc dword [0x14122eae8]
lea rax, [rsp + 0x200]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x38]
call fcn.14000de20
mov eax, eax
imul rdx, rax, 0xfb
cmp edx, 0xfb
jae 0x140007847
jmp 0x140007842
lea rcx, [rsp + 0x38]
call fcn.14000de20
mov edx, eax
imul rdx, rdx, 0xfb
cmp edx, 0x7b
jb 0x14000782f
shr rdx, 0x20
add edx, 0x80000032
lea eax, [rdx - 0x80000000]
mov r13d, 0x80000000
lea ecx, [rdx + r13]
cmp edx, r13d
cmovae ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x150]
call fcn.140005c98
test eax, eax
jne 0x140007a9d
jmp 0x1400073ba
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x1400078d4
mov eax, r14d
lock xadd dword [rcx + 8], eax
add eax, r14d
jne 0x1400078cc
mov rbx, qword [rsp + 0x158]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x1400078cc
mov rcx, qword [rsp + 0x158]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x168]
test rbx, rbx
je 0x140007912
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x140007912
mov rbx, qword [rsp + 0x168]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x140007912
mov rcx, qword [rsp + 0x168]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14000791a
lea rdx, str._nFiles_verified_successfully__nNo_cheats_detected
lea rcx, [0x14122be30]
call fcn.14000aea8
mov rcx, rax
call fcn.14000b0fc
lea rcx, str.pause
call fcn.14003340c
nop
mov rdx, qword [rsp + 0x188]
cmp rdx, r12
jbe 0x140007984
inc rdx
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000797f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007aa5
call fcn.1400158a0
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x188], r12
mov byte [rsp + 0x170], dil
mov rdx, qword [rsp + 0x1a8]
cmp rdx, r12
jbe 0x1400079de
inc rdx
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400079d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007aab
call fcn.1400158a0
movdqa xmm0, xmmword [0x1400640c0]
movdqu xmmword [rsp + 0x1a0], xmm0
mov byte [rsp + 0x190], dil
lea rcx, [rsp + 0x1b0]
call fcn.14000872c
mov rcx, qword [rsp + 0x1598]
xor rcx, rsp
call fcn.140015880
lea r11, [rsp + 0x15a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.14002f928
nop
call fcn.140004848
call fcn.1400049d8
mov ecx, eax
call fcn.1400049d8
nop
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, str.recursive_directory_iterator::recursive_directory_iterator
call fcn.140005a10
nop
call fcn.140003fe0
nop
lea r8, [r15 + 0x20]
lea rcx, str.directory_entry::status
call fcn.140005a10
nop
call fcn.140003fe0
nop
call fcn.14002f928
nop
call fcn.14002f928
nop
call fcn.14002f928
nop
call fcn.14002f928
int3
call fcn.14002f928
int3
mov edx, eax
call fcn.1400058d0
nop
call fcn.14002f928
nop
call fcn.14002f928
int3