Function at 0x18007df80
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1802fe080]
xor rax, rsp
mov qword [rbp - 0x29], rax
mov r14, rcx
xor esi, esi
mov dword [rsp + 0x20], esi
lea r13, [rcx + 0x20]
lea r12, [rcx + 0x24]
movss xmm0, dword [r13]
movss xmm1, dword [r12]
comiss xmm0, xmm1
jbe 0x18007dff6
movss dword [r13], xmm1
movss dword [r12], xmm0
mov ecx, dword [0x1802fedb8]
mov rax, qword gs:[0x58]
mov edi, 4
mov rbx, qword [rax + rcx*8]
lea r15, [0x180308320]
mov eax, dword [rbx + rdi]
cmp dword [0x1803096ac], eax
jle 0x18007e097
lea rcx, [0x1803096ac]
call fcn.18008fc08
cmp dword [0x1803096ac], 0xffffffff
jne 0x18007e097
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x1803096a4], 0xffffffff
mov dword [0x180308324], eax
mov r8d, 1
nop dword [rax]
nop word [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, r8d
mov dword [r15 + r8*4 + 4], eax
inc r8
cmp r8, 0x270
jb 0x18007e060
mov dword [0x180308320], 0x270
lea rcx, [0x1803096ac]
call fcn.18008fb9c
mov eax, dword [rbx + rdi]
cmp dword [0x1803096a8], eax
jle 0x18007e0fa
lea rcx, [0x1803096a8]
call fcn.18008fc08
cmp dword [0x1803096a8], 0xffffffff
jne 0x18007e0fa
cvttss2si r8d, dword [r13]
mov eax, 0x3e8
cdq
idiv r8d
movsxd rbx, eax
mov qword [0x1803096b0], 0
lea rcx, [rbp - 0x31]
call fcn.180082530
mov rdx, qword [rax]
mov qword [0x1803096b0], rdx
mov qword [0x1803096b8], rbx
lea rcx, [0x1803096a8]
call fcn.18008fb9c
mov qword [rbp - 0x39], 0
lea rcx, [rbp - 0x39]
call qword [sym.imp.USER32.dll_GetCursorPos]
cmp byte [r14 + 8], 0
je 0x18007eba5
cmp byte [0x180301a79], 0
jne 0x18007eba5
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x18007eba5
cmp byte [r14 + 0x28], 0
je 0x18007e162
lea rdx, [rsp + 0x28]
mov rcx, qword [0x180301fe0]
call fcn.180057bf0
mov esi, 1
cmp qword [rax + 8], 0
je 0x18007e162
movzx ebx, sil
jmp 0x18007e164
xor bl, bl
test sil, 1
je 0x18007e19b
and esi, 0xfffffffe
cmp byte [rsp + 0x38], 0
je 0x18007e19b
cmp qword [0x180301a70], 0
je 0x18007e19b
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x18007e19b
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x18007eba5
lea rdx, [rbp - 0x69]
mov rcx, qword [0x180301fe0]
call fcn.180057b00
nop
or esi, 2
mov dword [rsp + 0x20], esi
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.180059580
mov r15, rax
or esi, 4
mov dword [rsp + 0x20], esi
mov rdi, qword [0x180301a70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x79], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rsp + 0x40]
call fcn.1800049e0
nop
or esi, 8
mov dword [rsp + 0x20], esi
lea rdx, [rsp + 0x40]
lea rcx, [0x180301ee8]
call fcn.18005ed30
mov rbx, rax
mov rdx, rdi
lea rcx, [0x180301ee8]
call fcn.18005ea90
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call r9
mov r8, rax
mov qword [rbp - 0x51], rdi
mov byte [rbp - 0x41], 0
mov qword [rbp - 0x49], rax
or esi, 0x20
or esi, 0x10
mov dword [rsp + 0x20], esi
mov rdx, qword [r15 + 8]
cmp rdx, rax
je 0x18007e281
test rdx, rdx
je 0x18007e28c
test rax, rax
je 0x18007e28c
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
jne 0x18007e28c
cmp byte [r14 + 0x29], 0
je 0x18007e28c
mov bl, 1
jmp 0x18007e28e
xor bl, bl
test sil, 0x10
je 0x18007e297
and esi, 0xffffffef
test sil, 8
je 0x18007e2f1
and esi, 0xfffffff7
mov rdx, qword [rbp - 0x71]
cmp rdx, 0xf
jbe 0x18007e2df
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007e2da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18007e2da
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180090104
movdqa xmm0, xmmword [0x1802f04b0]
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rsp + 0x40], 0
test sil, 4
je 0x18007e334
and esi, 0xfffffffb
mov dword [rsp + 0x20], esi
cmp byte [rsp + 0x38], 0
je 0x18007e334
cmp qword [0x180301a70], 0
je 0x18007e334
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x18007e334
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x30], 0
test sil, 2
je 0x18007e365
cmp byte [rbp - 0x59], 0
je 0x18007e365
cmp qword [0x180301a70], 0
je 0x18007e365
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x18007e365
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x18007eba5
lea rcx, [rbp - 0x31]
call fcn.180082530
mov rcx, qword [rbp - 0x31]
mov rdx, rcx
sub rdx, qword [0x1803096b0]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x1803096b8]
je 0x18007e3c1
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x18007eba5
mov qword [0x1803096b0], rcx
mov ebx, 0x80000000
cmp byte [r14 + 0x2a], 0
je 0x18007e4c8
lea r15, [0x180308320]
mov rcx, r15
call fcn.180075250
mov ecx, eax
imul rcx, rcx, 0xb
cmp ecx, 3
ja 0x18007e41c
mov rcx, r15
call fcn.180075250
mov ecx, eax
imul rdx, rcx, 0xb
cmp edx, 4
jb 0x18007e3f2
shr rdx, 0x20
add edx, 0x7ffffffb
lea eax, [rdx + rbx]
lea edi, [rdx - 0x80000000]
cmp edx, ebx
jmp 0x18007e431
shr rcx, 0x20
add ecx, 0x7ffffffb
lea eax, [rcx + rbx]
lea edi, [rcx - 0x80000000]
cmp ecx, ebx
cmovae edi, eax
add edi, dword [rbp - 0x39]
mov rcx, r15
call fcn.180075250
mov ecx, eax
imul rcx, rcx, 0xb
cmp ecx, 0xb
jae 0x18007e463
cmp ecx, 4
jae 0x18007e463
nop
mov rcx, r15
call fcn.180075250
mov ecx, eax
imul rcx, rcx, 0xb
cmp ecx, 4
jb 0x18007e450
shr rcx, 0x20
add ecx, 0x7ffffffb
lea eax, [rcx + rbx]
lea edx, [rcx - 0x80000000]
cmp ecx, ebx
cmovae edx, eax
add edx, dword [rbp - 0x35]
movzx ebx, dx
shl rbx, 0x10
movzx eax, di
or rbx, rax
mov r9, rbx
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x180301a80]
call qword [sym.imp.USER32.dll_PostMessageA]
mov r9, rbx
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x180301a80]
call qword [sym.imp.USER32.dll_PostMessageA]
mov ebx, 0x80000000
jmp 0x18007e51f
movzx r9d, word [rbp - 0x35]
shl r9d, 0x10
movzx eax, word [rbp - 0x39]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x180301a80]
call qword [sym.imp.USER32.dll_PostMessageA]
movzx r9d, word [rbp - 0x35]
shl r9d, 0x10
movzx eax, word [rbp - 0x39]
or r9, rax
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x180301a80]
call qword [sym.imp.USER32.dll_PostMessageA]
lea r15, [0x180308320]
movss xmm9, dword [r12]
movaps xmm10, xmm9
subss xmm10, dword [r13]
mulss xmm10, dword [0x1802f02d4]
addss xmm9, dword [r13]
mulss xmm9, dword [0x1802f02d4]
lea rdi, [0x180308328]
xorps xmm1, xmm1
movss xmm3, dword [0x1802f0260]
movss xmm2, dword [0x1802f0318]
mov edx, dword [0x180308320]
cmp edx, 0x270
jne 0x18007e5c4
mov r8, rdi
mov r9d, edx
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 + 0x630]
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x18007e580
mov edx, dword [0x180308320]
jmp 0x18007e69e
cmp edx, 0x4e0
jb 0x18007e69e
xor r8d, r8d
mov eax, dword [r8 + r15 + 0x9c4]
mov edx, eax
xor edx, dword [r8 + r15 + 0x9c8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + r15 + 0xff8]
shr edx, 1
xor ecx, edx
mov dword [r8 + r15 + 4], ecx
add r8, 4
cmp r8, 0x38c
jb 0x18007e5d3
mov r8d, 0x38c
nop dword [rax]
mov eax, dword [r8 + r15 + 0x9c4]
mov edx, eax
xor edx, dword [r8 + r15 + 0x9c8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 + r15 - 0x388]
mov dword [r8 + r15 + 4], ecx
add r8, 4
cmp r8, 0x9bc
jb 0x18007e620
mov edx, dword [0x1803096a0]
and edx, ebx
mov eax, dword [0x180308324]
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [0x180308954]
mov dword [0x180308ce0], ecx
xor edx, edx
mov dword [0x180308320], edx
mov eax, edx
mov ecx, dword [r15 + rax*4 + 4]
inc edx
mov dword [0x180308320], edx
mov eax, ecx
shr eax, 0xb
and eax, dword [0x1803096a4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
subss xmm7, xmm1
addss xmm7, xmm1
mulss xmm7, xmm3
addss xmm7, xmm7
subss xmm7, xmm2
mov rcx, r15
call fcn.180075250
mov eax, eax
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
subss xmm6, xmm1
addss xmm6, xmm1
mulss xmm6, xmm3
addss xmm6, xmm6
subss xmm6, xmm2
movaps xmm8, xmm6
mulss xmm8, xmm6
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm8, xmm0
comiss xmm2, xmm8
jbe 0x18007e561
ucomiss xmm7, xmm1
jp 0x18007e745
je 0x18007e561
ucomiss xmm6, xmm1
jp 0x18007e750
je 0x18007e561
comiss xmm8, dword [0x1802f0274]
jbe 0x18007e76b
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
movaps xmm1, xmm0
jmp 0x18007e7f4
movaps xmm2, xmm6
movss xmm0, dword [0x1802f05a0]
andps xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movaps xmm1, xmm7
andps xmm1, xmm0
movss dword [rbp - 0x31], xmm1
lea rax, [rsp + 0x20]
lea rcx, [rbp - 0x31]
comiss xmm2, xmm1
cmovbe rax, rcx
movss xmm0, dword [rax]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_ilogbf]
mov edi, eax
mov ebx, eax
neg ebx
mov edx, ebx
movaps xmm0, xmm7
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_scalbnf]
movaps xmm7, xmm0
mov edx, ebx
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_scalbnf]
movaps xmm8, xmm0
mulss xmm8, xmm8
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm8, xmm1
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1802f0330]
addss xmm1, xmm0
mulss xmm1, dword [0x1802f0460]
divss xmm1, xmm8
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18007e812
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x18007e81d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mulss xmm6, xmm7
mulss xmm6, xmm10
addss xmm6, xmm9
movss dword [rbp - 0x31], xmm6
mov eax, dword [0x180300368]
test eax, eax
jne 0x18007e85d
lea rax, [rbp - 0x31]
movss xmm0, dword [r13]
comiss xmm0, xmm6
cmova rax, r13
comiss xmm6, dword [r12]
cmova rax, r12
movss xmm6, dword [rax]
jmp 0x18007eb7c
cmp eax, 1
jne 0x18007eb71
mov rcx, r15
call fcn.180075250
mov ecx, eax
lea r14, [rcx + rcx*2]
test r14d, r14d
jne 0x18007e894
nop dword [rax]
mov rcx, r15
call fcn.180075250
mov ecx, eax
lea r14, [rcx + rcx*2]
cmp r14d, 1
jb 0x18007e880
shr r14, 0x20
mov rcx, r15
call fcn.180075250
mov ecx, eax
lea rsi, [rcx + rcx*2]
cmp esi, 3
jae 0x18007e8c3
cmp esi, 1
jae 0x18007e8c3
mov rcx, r15
call fcn.180075250
mov ecx, eax
lea rsi, [rcx + rcx*2]
cmp esi, 1
jb 0x18007e8b0
shr rsi, 0x20
lea rdx, [rbp - 0x69]
mov rcx, qword [0x180301fe0]
call fcn.180057b00
nop
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.180059580
mov r15, rax
mov rdi, qword [0x180301a70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x79], xmm1
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x40]
call fcn.1800049e0
nop
lea rdx, [rsp + 0x40]
lea rcx, [0x180301ee8]
call fcn.18005ed30
mov rbx, rax
mov rdx, rdi
lea rcx, [0x180301ee8]
call fcn.18005ea90
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call r9
mov r8, rax
mov qword [rbp - 0x51], rdi
mov byte [rbp - 0x41], 0
mov qword [rbp - 0x49], rax
mov rdx, qword [r15 + 8]
cmp rdx, rax
jne 0x18007e96c
mov bl, 1
jmp 0x18007e98f
test rdx, rdx
je 0x18007e98d
test r8, r8
je 0x18007e98d
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
sete bl
jmp 0x18007e98f
xor bl, bl
mov rdx, qword [rbp - 0x71]
cmp rdx, 0xf
jbe 0x18007e9ce
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007e9c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18007e9c9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180090104
movdqa xmm0, xmmword [0x1802f04b0]
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rsp + 0x40], 0
cmp byte [rsp + 0x38], 0
je 0x18007ea16
cmp qword [0x180301a70], 0
je 0x18007ea16
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x18007ea16
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x30], 0
cmp byte [rbp - 0x59], 0
je 0x18007ea41
cmp qword [0x180301a70], 0
je 0x18007ea41
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x18007ea41
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
cvttss2si ecx, dword [r13]
cvttss2si eax, dword [r12]
sub ecx, r14d
mov r14d, 0x80000000
test bl, bl
je 0x18007ead4
lea edx, [rax + rsi]
lea eax, [rcx - 0x80000000]
lea esi, [rcx + r14]
cmp ecx, r14d
cmovae esi, eax
lea eax, [rdx - 0x80000000]
lea r8d, [rdx + r14]
cmp edx, r14d
cmovae r8d, eax
sub r8d, esi
cmp r8d, 0xffffffff
je 0x18007eb03
lea ebx, [r8 + 1]
lea r15, [0x180308320]
mov rcx, r15
call fcn.180075250
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x18007eb52
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x18007eb52
nop dword [rax]
mov rcx, r15
call fcn.180075250
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x18007eac0
jmp 0x18007eb52
add ecx, 0xfffffffc
lea edx, [rax - 4]
add edx, esi
lea eax, [rcx - 0x80000000]
lea esi, [rcx + r14]
cmp ecx, r14d
cmovae esi, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r14]
cmp edx, r14d
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x18007eb13
lea rcx, [0x180308320]
call fcn.180075250
mov ecx, eax
jmp 0x18007eb56
lea ebx, [rcx + 1]
lea r15, [0x180308320]
mov rcx, r15
call fcn.180075250
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x18007eb52
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x18007eb52
nop
mov rcx, r15
call fcn.180075250
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x18007eb40
shr rcx, 0x20
add ecx, esi
lea edx, [rcx - 0x80000000]
cmp ecx, r14d
lea eax, [rcx + r14]
cmovae edx, eax
movd xmm6, edx
cvtdq2ps xmm6, xmm6
jmp 0x18007eb7c
cmp eax, 2
jne 0x18007eb7c
movss xmm6, dword [r12]
lea rcx, [rbp - 0x31]
call fcn.180082530
mov rcx, qword [rax]
mov qword [0x1803096b0], rcx
cvttss2si ecx, xmm6
mov eax, 0x3e8
cdq
idiv ecx
movsxd rcx, eax
mov qword [0x1803096b8], rcx
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.18008fb40
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret