Function at 0x1800038a0
Capabilities:
Log keystrokes via polling

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 - 0x1c8]
sub rsp, 0x2a0
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
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x180067040]
xor rax, rsp
mov qword [rbp + 0xf8], rax
xor r15d, r15d
mov ebx, r15d
mov dword [rbp - 0x70], ebx
mov rax, qword [0x180067460]
sub rax, qword [0x180067458]
sar rax, 3
movabs rdi, 0x20000000000
movabs r14, 0xffffff0000000001
xorps xmm6, xmm6
test rax, rax
je 0x180003d1a
mov r12d, r15d
movabs r13, 0x656e6f72445f5042
nop
cmp byte [0x180067d04], 0
jne 0x180003976
cmp byte [0x180067d02], 0
je 0x180003d17
mov rcx, qword [0x180067460]
mov rdx, qword [0x180067458]
sub rcx, rdx
sar rcx, 3
movsxd rax, r12d
cmp rax, rcx
jae 0x180003d17
cmp qword [rdx + r15], 0
je 0x180003cf2
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, qword [rax + 0x7a5c2c0]
mov qword [0x180067ce0], rcx
test rcx, rcx
je 0x180003cf2
lea rax, [rcx + r14]
cmp rax, rdi
ja 0x180003cf2
mov rax, qword [0x180067458]
mov rsi, qword [rax + r15]
test rsi, rsi
je 0x180003cf2
lea rax, [rsi + r14]
cmp rax, rdi
ja 0x180003cf2
mov rcx, qword [0x180067ce8]
test rcx, rcx
je 0x180003cf2
lea rax, [rcx + r14]
cmp rax, rdi
ja 0x180003cf2
mov rdx, qword [rcx + 0x2e0]
lea rax, [rdx + r14]
cmp rax, rdi
ja 0x180003cf2
mov rax, qword [rdx + 0x638]
test rax, rax
je 0x180003cf2
comisd xmm6, xmmword [rax + 0xb0]
jae 0x180003cf2
mov rcx, qword [rsi + 0x198]
lea rax, [rcx + r14]
cmp rax, rdi
ja 0x180003cf2
test rcx, rcx
je 0x180003cf2
movabs rax, 0xffffff0000000129
add rax, rcx
cmp rax, rdi
ja 0x180003cf2
movups xmm0, xmmword [rcx + 0x128]
movups xmmword [rbp + 0xb0], xmm0
movsd xmm1, qword [rcx + 0x138]
movsd qword [rbp + 0xc0], xmm1
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
xor eax, eax
movups xmmword [rbp + 8], xmm1
mov qword [rbp + 0x18], rax
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
lea r9, [rbp - 0x60]
lea r8, [rbp + 8]
mov rcx, rsi
call fcn.18004ccc0
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0xb0]
mov rcx, qword [0x180067ce8]
call fcn.18004d610
test al, al
je 0x180003cf2
cmp byte [0x180067d04], 0
je 0x180003b55
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.18004c950
mov rdi, rax
or ebx, 1
mov rax, qword [rax + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x180003b05
mov rdi, qword [rdi]
cmp rax, 8
jb 0x180003b55
lea r14, [rax + rdi]
lea r8, [r14 - 7]
sub r8, rdi
mov edx, 0x42
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180003b55
nop dword [rax + rax]
cmp qword [rax], r13
je 0x180004a2a
inc rax
lea r8, [r14 - 7]
sub r8, rax
mov edx, 0x42
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180003b30
xor dil, dil
test bl, 1
je 0x180003b9b
and ebx, 0xfffffffe
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x180003b9b
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a54
call fcn.180050784
movsd xmm6, qword [rsp + 0x78]
movsd xmm7, qword [rsp + 0x70]
test dil, dil
je 0x180003bde
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm2, xmm6
movups xmm0, xmmword [0x180067f98]
movdqa xmmword [rbp + 0x90], xmm0
lea r8, str.Drone
lea rdx, [rbp + 0x90]
unpcklps xmm1, xmm2
movq rcx, xmm1
call fcn.1800023b0
cmp byte [0x180067d02], 0
je 0x180003c58
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.18004c950
mov rdi, rax
or ebx, 2
mov rax, qword [rax + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x180003c07
mov rdi, qword [rdi]
cmp rax, 4
jb 0x180003c58
lea rsi, [rdi + rax]
lea r8, [rsi - 3]
sub r8, rdi
mov edx, 0x42
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180003c58
nop word [rax + rax]
cmp dword [rax], 0x626d6f42
je 0x180004a3f
inc rax
lea r8, [rsi - 3]
sub r8, rax
mov edx, 0x42
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180003c30
xor dil, dil
test bl, 2
je 0x180003c9e
and ebx, 0xfffffffd
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x180003c9e
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003c99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a5b
call fcn.180050784
test dil, dil
je 0x180003cdb
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm7
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm6
movups xmm0, xmmword [0x180067fb8]
movdqa xmmword [rbp + 0x90], xmm0
lea r8, str.Bomb
lea rdx, [rbp + 0x90]
unpcklps xmm1, xmm2
movq rcx, xmm1
call fcn.1800023b0
movabs r14, 0xffffff0000000001
movabs rdi, 0x20000000000
xorps xmm6, xmm6
inc r12d
add r15, 8
mov rcx, qword [0x180067460]
sub rcx, qword [0x180067458]
sar rcx, 3
movsxd rax, r12d
cmp rax, rcx
jb 0x180003960
xor r15d, r15d
mov rax, qword [0x1800674a8]
sub rax, qword [0x1800674a0]
sar rax, 3
test rax, rax
je 0x18000515c
mov rbx, r15
mov qword [rsp + 0x58], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rax
xorps xmm9, xmm9
xorps xmm2, xmm2
movss dword [rbp - 0x6c], xmm2
xorps xmm8, xmm8
movss dword [rsp + 0x48], xmm8
xorps xmm11, xmm11
movss dword [rsp + 0x64], xmm11
xorps xmm12, xmm12
movss dword [rsp + 0x4c], xmm12
xorps xmm13, xmm13
movss dword [rsp + 0x50], xmm13
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r13d, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r8d, eax
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x70], r15d
mov rcx, qword [0x1800674a8]
sub rcx, qword [0x1800674a0]
sar rcx, 3
movss xmm7, dword [0x18005e810]
test rcx, rcx
je 0x180005051
mov rdi, r15
mov qword [rsp + 0x40], r15
mov rcx, r15
lea r8, str.76561198330237683
lea r12, str.Muff1n
movsd xmm14, qword [0x18005e8a0]
movss xmm10, dword [0x18005e7d8]
movsd xmm7, qword [0x18005e8a8]
mov rax, qword [0x1800674a8]
mov rdx, qword [0x1800674a0]
sub rax, rdx
sar rax, 3
cmp rcx, rax
jae 0x180005044
mov r14, qword [rdx + rdi*8]
test r14, r14
je 0x180005006
movabs r10, 0xffffff0000000001
lea rax, [r14 + r10]
movabs r9, 0x20000000000
cmp rax, r9
ja 0x180005006
mov rax, qword [0x180067cf0]
test rax, rax
je 0x180005006
add rax, r10
cmp rax, r9
ja 0x180005006
mov rax, qword [r14 + 0x198]
test rax, rax
je 0x180005006
add rax, r10
cmp rax, r9
ja 0x180005006
mov rcx, qword [0x180067ce0]
test rcx, rcx
je 0x180005006
mov rcx, qword [rcx + 0x1b8]
lea rax, [rcx + r10]
cmp rax, r9
ja 0x180005006
test rcx, rcx
je 0x180005006
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1800051c4
cmp dword [rcx + 0x40], 0
jle 0x1800051c4
mov rax, qword [rax]
test rax, rax
je 0x180005006
cmp dword [rcx + 0x40], 0
jle 0x1800051de
mov rax, qword [rax + 0x30]
test rax, rax
je 0x180005006
mov qword [0x180067ce8], rax
mov rsi, qword [rax + 0x2e0]
test rsi, rsi
je 0x180005006
cmp byte [0x180067d06], 0
je 0x180004036
mov qword [rbp + 0xc8], r8
mov dword [rbp + 0xd0], 0x12
mov dword [rbp + 0xd4], 0x12
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x30]
call fcn.18004ebd0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa0], xmm1
mov qword [rbp + 0xd8], r12
mov dword [rbp + 0xe0], 7
mov dword [rbp + 0xe4], 7
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x30]
call fcn.18004ebd0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x38], xmm1
mov rbx, qword [rsi + 0xaa0]
movabs r10, 0xffffff0000000001
movabs r9, 0x20000000000
test rbx, rbx
je 0x180004036
lea rax, [rbx + r10]
cmp rax, r9
ja 0x180004036
mov rbx, qword [rbx + 0x870]
test rbx, rbx
je 0x180004036
lea rax, [rbx + r10]
cmp rax, r9
ja 0x180004036
mov rbx, qword [rbx + 0x400]
test rbx, rbx
je 0x180004036
lea rax, [rbx + r10]
cmp rax, r9
ja 0x180004036
mov rcx, qword [rbx + 0x370]
test rcx, rcx
je 0x18000400d
lea rdx, [rbp + 0x90]
call fcn.18004fd70
movabs r9, 0x20000000000
movabs r10, 0xffffff0000000001
mov rcx, qword [rbx + 0x308]
test rcx, rcx
je 0x180004036
lea rdx, [rbp - 0x48]
call fcn.18004fd70
movabs r9, 0x20000000000
movabs r10, 0xffffff0000000001
cmp byte [0x180067d0d], 0
je 0x180004092
mov rdi, qword [rsi + 0xaa0]
test rdi, rdi
je 0x18000408d
lea rax, [rdi + r10]
cmp rax, r9
ja 0x18000408d
mov ebx, r15d
cmp dword [0x180067d14], 0
jle 0x180004086
mov rcx, rdi
call fcn.18004f510
inc ebx
cmp ebx, dword [0x180067d14]
jl 0x180004060
movabs r9, 0x20000000000
movabs r10, 0xffffff0000000001
mov byte [0x180067d0d], 0
mov rdi, qword [rsp + 0x40]
cmp byte [0x180067d0e], 0
je 0x1800040bc
mov rcx, qword [rsi + 0xaa0]
test rcx, rcx
je 0x1800040bc
lea rax, [rcx + r10]
cmp rax, r9
ja 0x1800040bc
call fcn.18004faa0
mov byte [0x180067d0e], 0
mov rcx, qword [0x180067ce8]
test rcx, rcx
je 0x180004ffa
mov rax, qword [rcx + 0x2e0]
test rax, rax
je 0x180004ffa
cmp qword [rax + 0x318], 0
je 0x180004ffa
mov rdi, qword [rsi + 0x638]
test rdi, rdi
je 0x180004ff5
comisd xmm6, xmmword [rdi + 0xb0]
jae 0x180004ff5
mov rax, qword [r14 + 0x180]
mov rdx, qword [rax + 0x2b0]
test rdx, rdx
je 0x180004ff5
movabs r10, 0xffffff0000000001
lea rax, [rdx + r10]
movabs r9, 0x20000000000
cmp rax, r9
ja 0x180004ff5
mov rcx, qword [rcx + 0x298]
test rcx, rcx
je 0x180004ff5
lea rax, [rcx + r10]
cmp rax, r9
ja 0x180004ff5
xor r12b, r12b
cmp rdx, rcx
jne 0x18000416f
mov qword [0x180067cf0], r14
mov r12b, 1
mov rbx, qword [rsi + 0x1dc8]
test rbx, rbx
je 0x180004307
lea rax, [rbx + r10]
cmp rax, r9
ja 0x180004307
cmp byte [0x180067d09], 0
je 0x180004280
mov qword [rbx + 0x5b0], r15
mov qword [rbx + 0x5b8], r15
mov qword [rbx + 0x5c0], r15
mov qword [rbx + 0x5c8], r15
mov qword [rbx + 0x5d0], r15
mov qword [rbx + 0x5d8], r15
mov qword [rbx + 0x5e0], r15
mov qword [rbx + 0x5e8], r15
mov qword [rbx + 0x5f0], r15
mov qword [rbx + 0x5f8], r15
mov qword [rbx + 0x600], r15
mov qword [rbx + 0x608], r15
mov qword [rbx + 0x690], r15
mov qword [rbx + 0x698], r15
mov qword [rbx + 0x6a0], r15
mov qword [rbx + 0x640], r15
mov qword [rbx + 0x648], r15
mov qword [rbx + 0x650], r15
mov qword [rbx + 0x628], r15
mov qword [rbx + 0x630], r15
mov qword [rbx + 0x638], r15
mov qword [rbx + 0x6e8], r15
mov qword [rbx + 0x6f0], r15
mov qword [rbx + 0x6f8], r15
mov qword [rbx + 0x6d0], r15
mov qword [rbx + 0x6d8], r15
mov qword [rbx + 0x6e0], r15
mov qword [rbx + 0x658], r15
mov qword [rbx + 0x660], r15
mov qword [rbx + 0x668], r15
mov qword [rbx + 0x6c0], r15
mov qword [rbx + 0x3b8], r15
mov qword [rbx + 0x6b0], r15
cmp byte [0x180067d0b], 0
je 0x180004290
mov byte [rbx + 0x611], 1
cmp byte [0x180067d0a], 0
je 0x1800042ac
movss xmm0, dword [0x1800670b8]
cvtps2pd xmm0, xmm0
movsd qword [rbx + 0x3b0], xmm0
cmp byte [0x180067d07], 0
je 0x1800042bc
mov byte [rbx + 0x578], 1
cmp byte [0x180067d2c], 0
je 0x1800042d6
movabs rax, 0x408f380000000000
mov qword [rbx + 0x550], rax
cmp byte [0x180067d34], 0
je 0x1800042f7
movabs rax, 0x3f9eb851eb851eb8
mov qword [rbx + 0x490], rax
mov qword [rbx + 0x498], rax
cmp byte [0x180067d35], 0
je 0x180004307
mov byte [rsi + 0x1da0], 0
cmp byte [0x180067cfd], 0
je 0x180004356
movsd xmm0, qword [rsi + 0x1e08]
ucomisd xmm0, xmm6
jp 0x180004320
je 0x18000434f
comisd xmm6, xmm0
jbe 0x18000434f
mov rcx, qword [rsi + 0x1e10]
test rcx, rcx
je 0x18000434f
movaps xmm1, xmm9
call fcn.18004df60
movabs r9, 0x20000000000
movabs r10, 0xffffff0000000001
mov qword [rsi + 0x1e08], r15
cmp byte [0x180067d08], 0
je 0x180004370
movabs rax, 0x408f380000000000
mov qword [rdi + 0xb0], rax
cmp byte [0x180067d0c], 0
je 0x18000439e
mov rcx, qword [rsi + 0xb40]
test rcx, rcx
je 0x18000439e
lea rax, [rcx + r10]
cmp rax, r9
ja 0x18000439e
movss xmm0, dword [0x1800670bc]
movss dword [rcx + 0x2a0], xmm0
cmp byte [0x180067d19], 0
je 0x1800043c3
mov rax, qword [rsi + 0x320]
test rax, rax
je 0x1800043c3
movss xmm0, dword [0x1800670c0]
movss dword [rax + 0x170], xmm0
mov rcx, qword [r14 + 0x1dc8]
test rbx, rbx
je 0x180004563
lea rax, [rcx + r10]
cmp rax, r9
ja 0x180004563
test r12b, r12b
jne 0x180004563
cmp byte [0x180067d1a], r12b
je 0x1800044dd
mov qword [rcx + 0x5b0], r15
mov qword [rcx + 0x5b8], r15
mov qword [rcx + 0x5c0], r15
mov qword [rcx + 0x5c8], r15
mov qword [rcx + 0x5d0], r15
mov qword [rcx + 0x5d8], r15
mov qword [rcx + 0x5e0], r15
mov qword [rcx + 0x5e8], r15
mov qword [rcx + 0x5f0], r15
mov qword [rcx + 0x5f8], r15
mov qword [rcx + 0x600], r15
mov qword [rcx + 0x608], r15
mov qword [rcx + 0x690], r15
mov qword [rcx + 0x698], r15
mov qword [rcx + 0x6a0], r15
mov qword [rcx + 0x640], r15
mov qword [rcx + 0x648], r15
mov qword [rcx + 0x650], r15
mov qword [rcx + 0x628], r15
mov qword [rcx + 0x630], r15
mov qword [rcx + 0x638], r15
mov qword [rcx + 0x6e8], r15
mov qword [rcx + 0x6f0], r15
mov qword [rcx + 0x6f8], r15
mov qword [rcx + 0x6d0], r15
mov qword [rcx + 0x6d8], r15
mov qword [rcx + 0x6e0], r15
mov qword [rcx + 0x658], r15
mov qword [rcx + 0x660], r15
mov qword [rcx + 0x668], r15
mov qword [rcx + 0x6c0], r15
mov qword [rcx + 0x3b8], r15
mov qword [rcx + 0x6b0], r15
cmp byte [0x180067d1d], 0
je 0x1800044ed
mov byte [rcx + 0x611], 1
cmp byte [0x180067d1e], 0
je 0x180004509
movss xmm0, dword [0x1800670b8]
cvtps2pd xmm0, xmm0
movsd qword [rcx + 0x3b0], xmm0
cmp byte [0x180067d18], 0
je 0x180004519
mov byte [rcx + 0x578], 1
cmp byte [0x180067d1f], 0
je 0x18000453e
mov rcx, qword [r14 + 0x1dc8]
test rcx, rcx
je 0x18000453e
lea rax, [rcx + r10]
cmp rax, r9
ja 0x18000453e
mov qword [rcx + 0x550], r15
cmp byte [0x180067d1c], 0
je 0x180004563
mov rcx, qword [r14 + 0x1dc8]
test rcx, rcx
je 0x180004563
lea rax, [rcx + r10]
cmp rax, r9
ja 0x180004563
mov byte [rcx + 0x611], 0
cmp byte [0x180067d23], 0
je 0x18000458d
test r12b, r12b
jne 0x18000458d
mov rax, qword [r14 + 0x320]
test rax, rax
je 0x18000458d
movss xmm0, dword [0x1800670c4]
movss dword [rax + 0x170], xmm0
cmp byte [0x180067d21], 0
je 0x180004692
test r12b, r12b
jne 0x180004692
mov rax, qword [r14 + 0x180]
test rax, rax
je 0x180004692
mov rbx, qword [rax + 0x2c8]
test rbx, rbx
je 0x180004692
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0xb60b60b7
imul r8d
add edx, r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x168
sub r8d, ecx
sub r8d, 0xb4
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x90], xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0xb60b60b7
imul r8d
add edx, r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x168
sub r8d, ecx
sub r8d, 0xb4
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x98], xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r9d, eax
mov eax, 0xb60b60b7
imul r9d
add edx, r9d
sar edx, 8
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
imul edx, edx, 0x168
sub r9d, edx
sub r9d, 0xb4
movd xmm0, r9d
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0xa0], xmm0
lea rdx, [rbp + 0x90]
mov rcx, rbx
call fcn.18004d000
cmp byte [0x180067d22], 0
je 0x180004713
test r12b, r12b
jne 0x180004713
lea rax, str.Head
mov qword [rbp + 0xe8], rax
mov dword [rbp + 0xf0], 5
mov dword [rbp + 0xf4], 5
lea rcx, [rbp + 0xe8]
call fcn.18004f200
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movsd qword [rbp + 0xa0], xmm6
xorps xmm1, xmm1
movups xmmword [rbp - 0x48], xmm1
movsd qword [rbp - 0x38], xmm6
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x20], rcx
mov r9, rax
movaps xmm2, xmm14
movaps xmm1, xmm7
mov rcx, r14
call fcn.18004bfa0
cmp byte [0x180067d1b], 0
je 0x180004745
test r12b, r12b
jne 0x180004745
mov rcx, qword [r14 + 0x638]
test rcx, rcx
je 0x180004745
movsd xmm0, qword [rcx + 0xb0]
ucomisd xmm0, xmm6
jp 0x18000473d
je 0x180004745
movaps xmm1, xmm7
call fcn.180050060
cmp byte [0x180067d05], 0
je 0x180004769
mov rcx, qword [rsi + 0x638]
test rcx, rcx
je 0x180004769
movaps xmm1, xmm7
call fcn.180050060
mov byte [0x180067d05], 0
movabs r10, 0xffffff0000000001
movabs r9, 0x20000000000
cmp byte [0x180067d20], 0
je 0x1800047d2
test r12b, r12b
jne 0x1800047d2
mov rcx, qword [r14 + 0xaa0]
test rcx, rcx
je 0x1800047d2
lea rax, [rcx + r10]
cmp rax, r9
ja 0x1800047d2
mov dword [rbp - 0x30], 0xa
mov dword [rbp - 0x2c], 0xa
lea rdx, [rbp - 0x30]
call fcn.18004f7e0
mov byte [0x180067d20], r12b
movabs r9, 0x20000000000
movabs r10, 0xffffff0000000001
mov rax, qword [0x180067ce8]
mov r8, qword [rax + 0x348]
test r8, r8
je 0x180004fee
lea rax, [r8 + r10]
cmp rax, r9
ja 0x180004fee
add r8, 0x22c0
movsd xmm0, qword [r8]
ucomisd xmm0, xmm6
jp 0x18000482a
jne 0x18000482a
movsd xmm0, qword [r8 + 8]
ucomisd xmm0, xmm6
jp 0x18000482a
jne 0x18000482a
movsd xmm0, qword [r8 + 0x10]
ucomisd xmm0, xmm6
jp 0x18000482a
je 0x180004fee
mov rdx, r14
call fcn.18004d2f0
movzx r15d, al
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rax
xorps xmm1, xmm1
movups xmmword [rbp + 0xb0], xmm1
mov qword [rbp + 0xc0], rax
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp + 0x90], xmm1
lea r9, [rbp + 0xb0]
lea r8, [rbp - 0x10]
mov rcx, r14
call fcn.18004ccc0
mov dil, 1
cmp byte [0x180067d03], 0
je 0x1800048d2
movabs r10, 0xffffff0000000001
lea rax, [r10 + 0xf80]
add rax, rsi
movabs r9, 0x20000000000
cmp rax, r9
ja 0x180004feb
movzx ecx, byte [rsi + 0xf80]
lea rax, [r10 + 0xf80]
add rax, r14
cmp rax, r9
ja 0x180004feb
movzx edi, dil
cmp cl, byte [r14 + 0xf80]
mov eax, 0
cmove edi, eax
movsd xmm13, qword [rbp - 0x10]
movaps xmm0, xmm13
addsd xmm0, xmm6
movsd qword [rsp + 0x70], xmm0
movsd xmm14, qword [rbp - 8]
movaps xmm1, xmm14
addsd xmm1, xmm6
movsd qword [rsp + 0x78], xmm1
movsd xmm12, qword [rbp]
movaps xmm8, xmm12
movsd xmm15, qword [rbp + 0xc0]
addsd xmm8, xmm15
movsd qword [rbp - 0x80], xmm8
movaps xmm0, xmm13
subsd xmm0, xmm6
movsd qword [rbp - 0x60], xmm0
movaps xmm1, xmm14
subsd xmm1, xmm6
movsd qword [rbp - 0x58], xmm1
movaps xmm0, xmm12
subsd xmm0, xmm15
movsd qword [rbp - 0x50], xmm0
lea r8, [rbp - 0x48]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180067ce8]
call fcn.18004d610
test al, al
je 0x180004fcd
lea r8, [rbp + 0x90]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x180067ce8]
call fcn.18004d610
test al, al
je 0x180004fcd
mov byte [rsp + 0x60], 0
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.18004c320
movaps xmm11, xmm6
mov rax, qword [r14 + 0x638]
test rax, rax
je 0x1800049a7
movsd xmm11, qword [rax + 0xb0]
mov rbx, qword [r14 + 0x318]
movzx esi, byte [rsp + 0x60]
test sil, sil
jne 0x180004e28
cmp byte [0x1800670b4], sil
je 0x180004e28
test r12b, r12b
jne 0x180004e28
test dil, dil
jne 0x1800049e4
cmp byte [0x180067d03], dil
jne 0x180004e28
test r15b, r15b
jne 0x180004a62
cmp byte [0x1800670b6], r15b
je 0x180004a14
movups xmm0, xmmword [0x180067470]
movdqa xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x10]
call fcn.180002530
cmp byte [0x180067d01], 0
je 0x180004ab0
movups xmm0, xmmword [0x180067470]
jmp 0x180004a9d
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x180003b55
mov dil, 1
jmp 0x180003b58
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x180003c58
mov dil, 1
jmp 0x180003c5b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp byte [0x1800670b5], 0
je 0x180004a8d
movups xmm0, xmmword [0x1800674d8]
movdqa xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x10]
call fcn.180002530
cmp byte [0x180067d01], 0
je 0x180004ab0
movups xmm0, xmmword [0x1800674d8]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.180003120
cmp byte [0x180067cfe], 0
je 0x180004ad3
movups xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rsp + 0x70], xmm0
lea r9, [rsp + 0x70]
mov rcx, rbx
call fcn.180003570
cmp byte [0x180067d00], 0
je 0x180004ba5
movaps xmm6, xmm9
movaps xmm7, xmm9
mov ecx, dword [0x180067d38]
test ecx, ecx
je 0x180004b15
sub ecx, 1
je 0x180004b07
cmp ecx, 1
jne 0x180004b22
movd xmm7, dword [rsp + 0x68]
cvtdq2ps xmm7, xmm7
jmp 0x180004b15
movd xmm7, dword [rsp + 0x68]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm10
movd xmm6, r13d
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm10
movsd qword [rbp - 0x60], xmm13
movsd qword [rbp - 0x58], xmm14
movsd qword [rbp - 0x50], xmm8
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x180067ce8]
call fcn.18004d610
test al, al
je 0x18000503b
movsd xmm1, qword [rsp + 0x70]
cvtpd2ps xmm1, xmm1
movsd xmm2, qword [rsp + 0x78]
cvtpd2ps xmm2, xmm2
movups xmm0, xmmword [0x180067480]
movdqa xmmword [rsp + 0x70], xmm0
movss xmm0, dword [0x18005e810]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x70]
unpcklps xmm1, xmm2
movq rdx, xmm1
movaps xmm1, xmm6
unpcklps xmm1, xmm7
movq rcx, xmm1
call fcn.180002290
movsd xmm9, qword [rbp - 0x40]
movsd xmm10, qword [rbp - 0x48]
cmp byte [0x180067cfc], 0
je 0x180004d18
movaps xmm0, xmm9
movsd xmm8, qword [rbp + 0x98]
subsd xmm0, xmm8
andps xmm0, xmmword [0x18005ed90]
cvtpd2ps xmm7, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x18005e7c0]
cvtps2pd xmm0, xmm0
movaps xmm6, xmm10
subsd xmm6, xmm0
movups xmm0, xmmword [0x180067518]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x90]
call fcn.1800076d0
movaps xmm0, xmm6
subsd xmm0, qword [0x18005e850]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x28], xmm0
movaps xmm1, xmm8
addsd xmm1, qword [0x18005e838]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x24], xmm0
movaps xmm2, xmm6
subsd xmm2, qword [0x18005e868]
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x20], xmm0
movaps xmm1, xmm9
subsd xmm1, qword [0x18005e838]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x1c], xmm0
mov dword [rsp + 0x28], 0xf
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x20]
mov rcx, qword [0x180067d40]
call fcn.1800265b0
movups xmm0, xmmword [0x180067578]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x90]
call fcn.1800076d0
movaps xmm0, xmm6
subsd xmm0, qword [0x18005e858]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x18], xmm0
cvtpd2ps xmm1, xmm8
movss dword [rbp - 0x14], xmm1
subsd xmm6, qword [0x18005e860]
cvtpd2ps xmm0, xmm6
movss dword [rbp - 0x68], xmm0
divsd xmm11, qword [0x18005e8a0]
cvtps2pd xmm0, xmm7
mulsd xmm11, xmm0
subsd xmm8, xmm11
cvtpd2ps xmm0, xmm8
movss dword [rbp - 0x64], xmm0
mov dword [rsp + 0x28], 0xf
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x68]
mov rcx, qword [0x180067d40]
call fcn.1800265b0
cmp byte [0x180067cff], 0
je 0x180004e1b
mov rax, qword [r14 + 0x180]
mov rcx, qword [rax + 0x2b0]
test rcx, rcx
je 0x180004e1b
movabs rax, 0xffffff0000000001
add rax, rcx
movabs rdx, 0x20000000000
cmp rax, rdx
ja 0x180004e1b
cmp qword [rcx + 0x388], 0
je 0x180004e1b
mov eax, dword [rcx + 0x390]
test eax, eax
jle 0x180004e1b
cmp dword [rcx + 0x394], eax
jl 0x180004e1b
movups xmm0, xmmword [rcx + 0x388]
movups xmmword [rbp + 0x90], xmm0
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x90]
call fcn.180001f70
mov rbx, qword [rax + 0x10]
lea rcx, [rbp + 0x50]
call fcn.180001c10
test rbx, rbx
je 0x180004e1b
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x90]
call fcn.180001f70
nop
cmp qword [rax + 0x18], 0xf
jbe 0x180004dcf
mov rax, qword [rax]
subsd xmm10, qword [0x18005e880]
cvtpd2ps xmm2, xmm10
subsd xmm9, qword [0x18005e888]
cvtpd2ps xmm1, xmm9
movups xmm0, xmmword [0x180067548]
movdqa xmmword [rbp + 0x90], xmm0
mov r8, rax
lea rdx, [rbp + 0x90]
unpcklps xmm2, xmm1
movq rcx, xmm2
call fcn.1800023b0
nop
lea rcx, [rbp + 0x70]
call fcn.180001c10
movss xmm10, dword [0x18005e7d8]
xorps xmm9, xmm9
cmp byte [0x180067d36], 0
je 0x18000503b
test r12b, r12b
jne 0x18000503b
test sil, sil
jne 0x18000503b
test dil, dil
je 0x18000503b
test r15b, r15b
je 0x18000503b
lea rdx, [rbp - 0x60]
mov rcx, qword [0x180067ce8]
mov rcx, qword [rcx + 0x348]
call fcn.18004eef0
movsd qword [rbp + 0xb0], xmm13
movsd qword [rbp + 0xb8], xmm14
movss xmm0, dword [0x180067d28]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm15
subsd xmm12, xmm0
movsd qword [rbp + 0xc0], xmm12
lea r8, [rbp + 0xb0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x10]
call fcn.18004e560
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x20], xmm0
mov eax, dword [rsp + 0x68]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp + 0x28], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x70], xmm1
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0xb0]
mov rcx, qword [0x180067ce8]
call fcn.18004d610
test al, al
je 0x18000503b
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.18004e250
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [0x180067cf8], xmm2
movss xmm1, dword [0x180067d30]
comiss xmm1, xmm2
jb 0x18000503b
movss xmm8, dword [rbp - 0x6c]
comiss xmm8, xmm9
jbe 0x180004f53
comiss xmm2, xmm8
ja 0x18000503b
mov rbx, r14
mov qword [rsp + 0x58], rbx
movups xmmword [rbp + 8], xmm6
movsd qword [rbp + 0x18], xmm7
movsd xmm8, qword [rbp + 0x20]
cvtpd2ps xmm8, xmm8
movss dword [rsp + 0x48], xmm8
movsd xmm11, qword [rbp + 0x28]
cvtpd2ps xmm11, xmm11
movss dword [rsp + 0x64], xmm11
movsd xmm12, qword [rsp + 0x70]
cvtpd2ps xmm12, xmm12
movss dword [rsp + 0x4c], xmm12
movsd xmm13, qword [rsp + 0x78]
cvtpd2ps xmm13, xmm13
movss dword [rsp + 0x50], xmm13
movss dword [rbp - 0x6c], xmm2
movsd xmm14, qword [0x18005e8a0]
mov rdi, qword [rsp + 0x40]
xor r15d, r15d
lea r12, str.Muff1n
jmp 0x180004fff
movss xmm8, dword [rsp + 0x48]
movss xmm12, dword [rsp + 0x4c]
movss xmm13, dword [rsp + 0x50]
movsd xmm14, qword [0x18005e8a0]
xor r15d, r15d
lea r12, str.Muff1n
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
lea r8, str.76561198330237683
mov r14d, dword [rbp - 0x70]
inc r14d
mov dword [rbp - 0x70], r14d
inc rdi
mov qword [rsp + 0x40], rdi
movsxd rcx, r14d
mov rax, qword [0x1800674a8]
sub rax, qword [0x1800674a0]
sar rax, 3
cmp rcx, rax
jae 0x180005044
xorps xmm6, xmm6
jmp 0x180003df1
movss xmm11, dword [rsp + 0x64]
jmp 0x180004fcd
mov r8d, dword [rsp + 0x68]
movss xmm7, dword [0x18005e810]
cmp byte [0x180067d36], 0
je 0x18000515c
cmp byte [0x180067d24], 0
je 0x1800050d3
movups xmm0, xmmword [0x1800675b8]
movdqa xmmword [rbp + 0x90], xmm0
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x68], xmm0
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x64], xmm0
lea rcx, [rbp + 0x90]
call fcn.1800076d0
mov r9d, eax
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 0x50
movss xmm2, dword [0x180067d30]
lea rdx, [rbp - 0x68]
mov rcx, qword [0x180067d40]
call fcn.180026a70
test rbx, rbx
je 0x18000515c
movabs rax, 0xffffff0000000001
add rax, rbx
movabs rcx, 0x20000000000
cmp rax, rcx
ja 0x18000515c
cmp byte [0x180067d37], 0
je 0x18000513c
movups xmm0, xmmword [0x180067fa8]
movdqa xmmword [rbp + 0x90], xmm0
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x90]
movaps xmm0, xmm12
unpcklps xmm0, xmm13
movq rdx, xmm0
movaps xmm1, xmm8
unpcklps xmm1, xmm11
movq rcx, xmm1
call fcn.180002290
mov ecx, 2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x18000515c
lea rdx, [rbp + 8]
mov rcx, qword [0x180067ce8]
call fcn.18004d000
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.1800503b0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [rbp - 0x60]
call fcn.1800015b0
lea rdx, [0x180065ae8]
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rbp - 0x60]
call fcn.1800015b0
lea rdx, [0x180065ae8]
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3