Function at 0x180004db0
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
push rdi
sub rsp, 0x738
mov rax, qword [0x180017040]
xor rax, rsp
mov qword [rsp + 0x728], rax
call fcn.180002460
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jne 0x180004de9
jmp 0x18000634f
mov rcx, qword [rsp + 0xa8]
call fcn.180001eb0
mov qword [rsp + 0x100], rax
cmp qword [rsp + 0x100], 0
jne 0x180004e0e
jmp 0x18000634f
mov rcx, qword [rsp + 0xa8]
call fcn.180002430
mov qword [rsp + 0x118], rax
cmp qword [rsp + 0x118], 0
jne 0x180004e33
jmp 0x18000634f
mov rcx, qword [rsp + 0xa8]
call fcn.180002410
mov qword [rsp + 0x148], rax
cmp qword [rsp + 0x148], 0
jne 0x180004e58
jmp 0x18000634f
mov rcx, qword [rsp + 0x148]
call fcn.180002060
mov qword [rsp + 0x138], rax
cmp qword [rsp + 0x138], 0
jne 0x180004e7d
jmp 0x18000634f
mov rcx, qword [rsp + 0x100]
call fcn.180002190
mov qword [rsp + 0xb0], rax
cmp qword [rsp + 0xb0], 0
jne 0x180004ea2
jmp 0x18000634f
mov rcx, qword [rsp + 0xb0]
call fcn.180002160
mov qword [rsp + 0x110], rax
cmp qword [rsp + 0x110], 0
jne 0x180004ec7
jmp 0x18000634f
mov qword [rsp + 0x690], 0
lea rdx, [rsp + 0x690]
mov rcx, qword [rsp + 0xb0]
call fcn.1800020d0
movzx eax, al
test eax, eax
jne 0x180004ef4
jmp 0x18000634f
mov rcx, qword [rsp + 0xb0]
call fcn.180002130
mov qword [rsp + 0x178], rax
cmp qword [rsp + 0x100], 0
jne 0x180004f19
jmp 0x18000634f
xor edx, edx
mov rcx, qword [rsp + 0x690]
call fcn.180001fc0
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jne 0x180004f3a
jmp 0x18000634f
mov rcx, qword [rsp + 0x70]
call fcn.180001ee0
mov qword [rsp + 0x150], rax
cmp qword [rsp + 0x150], 0
jne 0x180004f5c
jmp 0x18000634f
mov rcx, qword [rsp + 0x150]
call fcn.180001ed0
mov qword [rsp + 0x158], rax
cmp qword [rsp + 0x158], 0
jne 0x180004f81
jmp 0x18000634f
mov rcx, qword [rsp + 0x158]
call fcn.180001eb0
mov qword [rsp + 0x190], rax
cmp qword [rsp + 0x190], 0
jne 0x180004fa6
jmp 0x18000634f
lea rdx, [rsp + 0x6a0]
mov rcx, qword [rsp + 0x118]
call fcn.1800021c0
call fcn.1800044d0
call fcn.180002770
movzx eax, byte [0x180017770]
test eax, eax
je 0x180005066
mov rcx, qword [rsp + 0xa8]
call fcn.180002440
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x198], rax
xor edx, edx
mov rcx, qword [rsp + 0x140]
call qword [rsp + 0x198]
movaps xmm1, xmm0
lea rcx, [0x180017768]
call fcn.180002220
movss xmm1, dword [0x1800158ac]
lea rcx, [0x180017768]
call fcn.1800021f0
lea rax, [rsp + 0x2a0]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x690]
lea rcx, [rsp + 0x2a0]
call fcn.180002730
mov dword [rsp + 0x170], 0
mov edx, 0x18
lea rcx, [rsp + 0x6b8]
call fcn.180002810
lea rcx, [rsp + 0x6b8]
call fcn.180006810
nop
mov dword [rsp + 0x68], 1
movss xmm3, dword [0x1800158b8]
movss xmm2, dword [0x1800158c0]
movss xmm1, dword [0x1800158c4]
lea rcx, [rsp + 0x718]
call fcn.180006bd0
lea rax, [rsp + 0x708]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
xor edx, edx
lea rcx, [rsp + 0x6d0]
call fcn.180006c50
mov dword [rsp + 0x6b4], 0
mov dword [rsp + 0x6b0], 0
mov rcx, qword [rsp + 0x138]
call fcn.180001bc0
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x180005d8a
mov rcx, qword [rsp + 0x58]
call fcn.180001ce0
mov qword [rsp + 0x1a0], rax
cmp qword [rsp + 0x1a0], 0
jne 0x18000513d
jmp 0x180005100
mov rcx, qword [rsp + 0x58]
call fcn.180001d60
movzx eax, al
test eax, eax
jne 0x18000515f
mov rcx, qword [rsp + 0x58]
call fcn.180001d90
movzx eax, al
test eax, eax
je 0x180005161
jmp 0x180005100
lea rcx, [rsp + 0x6f0]
call fcn.180006370
lea rdx, [rsp + 0x6f0]
mov rcx, qword [rsp + 0x58]
call fcn.180001bf0
lea rdx, [rsp + 0x4a8]
lea rcx, [rsp + 0x6f0]
call fcn.180001ae0
lea rcx, [rsp + 0x2b0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2c0]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2d0]
lea rcx, [rsp + 0x2b0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2e0]
lea rcx, [rsp + 0x2c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x2e0]
call fcn.180004990
movss dword [rsp + 0xd0], xmm0
mov rcx, qword [rsp + 0x58]
call fcn.180001d00
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
jne 0x180005241
jmp 0x180005100
mov rcx, qword [rsp + 0x58]
call fcn.180001c70
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x120]
call qword [rax + 0x10]
mov qword [rsp + 0x108], rax
cmp qword [rsp + 0x108], 0
jne 0x180005281
jmp 0x180005100
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x6e0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
cmp dword [0x180017784], 1
jne 0x180005b0c
movzx r8d, byte [rsp + 0x78]
lea rdx, str.ShootingTarget
lea rcx, [rsp + 0x4b8]
call fcn.180010fc0
mov rcx, rax
call fcn.180003bf0
mov rdx, rax
mov rcx, qword [rsp + 0x108]
call fcn.1800018b0
test eax, eax
jne 0x180005b0c
mov ecx, 0x5a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1800056de
movzx r8d, byte [rsp + 0x79]
lea rdx, str.Target201
lea rcx, [rsp + 0x498]
call fcn.180011200
mov rcx, rax
call fcn.180003220
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call fcn.1800016c0
test rax, rax
je 0x1800054ef
mov rcx, qword [rsp + 0x70]
call fcn.180001f10
movzx eax, al
test eax, eax
jne 0x180005422
mov rcx, qword [rsp + 0x690]
call fcn.180001f90
mov byte [rsp + 0x60], al
lea rax, [rsp + 0x1d0]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x300]
lea rcx, [rsp + 0x1d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x690]
call fcn.180001fb0
mov dword [rsp + 0xf0], eax
lea rax, [rsp + 0x310]
lea rcx, [rsp + 0x300]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x310]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc
mov r9d, 6
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xf0]
lea rcx, [rsp + 0x504]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
mov dword [rsp + 0x80], 0
jmp 0x18000543f
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0x1e
jge 0x1800054ef
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x320]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
call fcn.180001d30
mov dword [rsp + 0xf4], eax
lea rax, [rsp + 0x330]
lea rcx, [rsp + 0x320]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x38], 0
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x330]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov edx, dword [rsp + 0xf4]
lea rcx, [rsp + 0x528]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
jmp 0x18000542f
movzx r8d, byte [rsp + 0x7a]
lea rdx, str.Target185
lea rcx, [rsp + 0x488]
call fcn.180011380
mov rcx, rax
call fcn.180003220
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call fcn.1800016c0
test rax, rax
je 0x1800056de
mov rcx, qword [rsp + 0x70]
call fcn.180001f10
movzx eax, al
test eax, eax
jne 0x180005611
mov rcx, qword [rsp + 0x690]
call fcn.180001f90
mov byte [rsp + 0x61], al
lea rax, [rsp + 0x340]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x350]
lea rcx, [rsp + 0x340]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x690]
call fcn.180001fb0
mov dword [rsp + 0xf8], eax
lea rax, [rsp + 0x360]
lea rcx, [rsp + 0x350]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x61]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x360]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc
mov r9d, 6
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xf8]
lea rcx, [rsp + 0x54c]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
mov dword [rsp + 0x84], 0
jmp 0x18000562e
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0x1e
jge 0x1800056de
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x370]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
call fcn.180001d30
mov dword [rsp + 0xfc], eax
lea rax, [rsp + 0x380]
lea rcx, [rsp + 0x370]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x38], 0
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x380]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov edx, dword [rsp + 0xfc]
lea rcx, [rsp + 0x570]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
jmp 0x18000561e
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x180005b0c
movzx r8d, byte [rsp + 0x7b]
lea rdx, str.Core
lea rcx, [rsp + 0x1f0]
call fcn.180011500
mov rcx, rax
call fcn.180002f60
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call fcn.1800016c0
test rax, rax
je 0x1800058e6
mov rcx, qword [rsp + 0x70]
call fcn.180001f10
movzx eax, al
test eax, eax
jne 0x180005819
mov rcx, qword [rsp + 0x690]
call fcn.180001f90
mov byte [rsp + 0x62], al
lea rax, [rsp + 0x390]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3a0]
lea rcx, [rsp + 0x390]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x690]
call fcn.180001fb0
mov dword [rsp + 0xc0], eax
lea rax, [rsp + 0x3b0]
lea rcx, [rsp + 0x3a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x62]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc
mov r9d, 6
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xc0]
lea rcx, [rsp + 0x594]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
mov dword [rsp + 0x88], 0
jmp 0x180005836
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0xc
jge 0x1800058e6
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x3c0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
call fcn.180001d30
mov dword [rsp + 0xc4], eax
lea rax, [rsp + 0x3d0]
lea rcx, [rsp + 0x3c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x38], 0
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x3d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov edx, dword [rsp + 0xc4]
lea rcx, [rsp + 0x5b8]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
jmp 0x180005826
movzx r8d, byte [rsp + 0x7c]
lea rdx, str.Platform
lea rcx, [rsp + 0x478]
call fcn.1800115d0
mov rcx, rax
call fcn.180003a90
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call fcn.1800016c0
test rax, rax
jne 0x180005958
movzx r8d, byte [rsp + 0x7d]
lea rdx, str.apsule
lea rcx, [rsp + 0x470]
call fcn.180011730
mov rcx, rax
call fcn.180003170
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call fcn.1800016c0
test rax, rax
je 0x180005b0c
mov rcx, qword [rsp + 0x70]
call fcn.180001f10
movzx eax, al
test eax, eax
jne 0x180005a3f
mov rcx, qword [rsp + 0x690]
call fcn.180001f90
mov byte [rsp + 0x63], al
lea rax, [rsp + 0x3e0]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3f0]
lea rcx, [rsp + 0x3e0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x690]
call fcn.180001fb0
mov dword [rsp + 0xc8], eax
lea rax, [rsp + 0x220]
lea rcx, [rsp + 0x3f0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x63]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x220]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc
mov r9d, 6
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xc8]
lea rcx, [rsp + 0x5dc]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
mov dword [rsp + 0x8c], 0
jmp 0x180005a5c
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
cmp dword [rsp + 0x8c], 5
jge 0x180005b0c
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x260]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
call fcn.180001d30
mov dword [rsp + 0xcc], eax
lea rax, [rsp + 0x2f0]
lea rcx, [rsp + 0x260]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x38], 0
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov edx, dword [rsp + 0xcc]
lea rcx, [rsp + 0x600]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
jmp 0x180005a4c
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x290]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x280]
lea rcx, [rsp + 0x6e0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x210]
lea rcx, [rsp + 0x290]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x200]
lea rcx, [rsp + 0x280]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rsp + 0xd0]
movss dword [rsp + 0x20], xmm0
lea r9, [rsp + 0x210]
lea r8, [rsp + 0x200]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x108]
call fcn.180004a30
movzx eax, al
test eax, eax
je 0x180005d85
mov rcx, qword [rsp + 0x70]
call fcn.180001f10
movzx eax, al
test eax, eax
jne 0x180005cb8
mov rcx, qword [rsp + 0x690]
call fcn.180001f90
mov byte [rsp + 0x64], al
lea rax, [rsp + 0x1e0]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x400]
lea rcx, [rsp + 0x1e0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov eax, dword [0x1800170c0]
mov dword [rsp + 0xd4], eax
mov rcx, qword [rsp + 0x690]
call fcn.180001fb0
mov dword [rsp + 0xd8], eax
lea rax, [rsp + 0x410]
lea rcx, [rsp + 0x400]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x64]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x410]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x20], eax
mov r9d, 6
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xd8]
lea rcx, [rsp + 0x624]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
mov dword [rsp + 0x90], 0
jmp 0x180005cd5
mov eax, dword [rsp + 0x90]
inc eax
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0xa
jge 0x180005d85
mov rcx, qword [rsp + 0x58]
call fcn.180001df0
lea rcx, [rsp + 0x420]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
call fcn.180001d30
mov dword [rsp + 0xdc], eax
lea rax, [rsp + 0x430]
lea rcx, [rsp + 0x420]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x38], 0
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x430]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov edx, dword [rsp + 0xdc]
lea rcx, [rsp + 0x648]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
jmp 0x180005cc5
jmp 0x180005100
mov edx, 8
lea rcx, [rsp + 0x698]
call fcn.180002810
mov rax, qword [rsp + 0x110]
add rax, 0x30
mov qword [rsp + 0x1a8], rax
lea rdx, [rsp + 0x698]
mov rcx, qword [rsp + 0x1a8]
call fcn.180006a40
jmp 0x180005ddf
xor r8d, r8d
lea rdx, [rsp + 0x460]
lea rcx, [rsp + 0x698]
call fcn.1800064b0
mov rax, qword [rsp + 0x110]
add rax, 0x30
mov qword [rsp + 0x1b0], rax
lea rdx, [rsp + 0x468]
mov rcx, qword [rsp + 0x1b0]
call fcn.180006a00
mov rdx, rax
lea rcx, [rsp + 0x698]
call fcn.180006520
movzx eax, al
test eax, eax
je 0x18000629f
lea rcx, [rsp + 0x698]
call fcn.180006500
cmp qword [rax + 8], 0
jne 0x180005e39
jmp 0x180005dc7
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rcx, qword [rax + 8]
call fcn.180002000
mov byte [rsp + 0x51], al
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rcx, qword [rsp + 0x690]
cmp qword [rax + 8], rcx
jne 0x180005e7b
mov dword [rsp + 0xa0], 1
jmp 0x180005e86
mov dword [rsp + 0xa0], 0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x50], al
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x180005ea7
jmp 0x180005f4b
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x180005ed5
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180005ec5
jmp 0x180005dc7
movzx eax, byte [rsp + 0x51]
test eax, eax
je 0x180005ed3
jmp 0x180005dc7
jmp 0x180005f4b
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180005ee3
jmp 0x180005dc7
movzx eax, byte [rsp + 0x51]
test eax, eax
je 0x180005ef1
jmp 0x180005dc7
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rax, qword [rax + 8]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x690]
mov qword [rsp + 0x1c0], rax
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1c0]
call fcn.180004470
movzx eax, al
test eax, eax
jne 0x180005f4b
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x180005f4b
jmp 0x180005dc7
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rcx, qword [rax + 8]
call fcn.180001ef0
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xb8]
call fcn.180001c70
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x128]
call qword [rax + 0x10]
mov qword [rsp + 0x160], rax
mov rcx, qword [rsp + 0xb8]
call fcn.180001d00
mov qword [rsp + 0x168], rax
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rcx, qword [rax + 8]
call fcn.180001f60
mov rcx, rax
call fcn.180001e80
mov qword [rsp + 0x130], rax
cmp qword [rsp + 0x130], 0
jne 0x180005fe7
jmp 0x180005dc7
mov rcx, qword [rsp + 0xb8]
call fcn.180001ce0
mov qword [rsp + 0x1c8], rax
cmp qword [rsp + 0x1c8], 0
jne 0x18000600c
jmp 0x180005dc7
lea rax, [rsp + 0x6b0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x6d0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x6b4]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x168]
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x690]
call fcn.180003ca0
movzx eax, al
test eax, eax
je 0x18000629a
mov rcx, qword [rsp + 0x70]
call fcn.180001f10
movzx eax, al
test eax, eax
jne 0x180006164
mov rcx, qword [rsp + 0x690]
call fcn.180001f90
mov byte [rsp + 0x65], al
lea rax, [rsp + 0x440]
lea rcx, [rsp + 0x6a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x450]
lea rcx, [rsp + 0x440]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x690]
call fcn.180001fb0
mov dword [rsp + 0xe0], eax
lea rax, [rsp + 0x230]
lea rcx, [rsp + 0x450]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x65]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x230]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa
mov r9d, 6
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xe0]
lea rcx, [rsp + 0x66c]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
mov dword [rsp + 0x94], 0
jmp 0x180006181
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 3
jge 0x18000629a
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rcx, qword [rax + 8]
call fcn.180001f90
mov byte [rsp + 0x66], al
lea rax, [rsp + 0x240]
lea rcx, [rsp + 0x6d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x250]
lea rcx, [rsp + 0x240]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x6b4]
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0x6b0]
mov dword [rsp + 0xe8], eax
lea rcx, [rsp + 0x698]
call fcn.180006500
mov rcx, qword [rax + 8]
call fcn.180001fb0
mov dword [rsp + 0xec], eax
lea rax, [rsp + 0x270]
lea rcx, [rsp + 0x250]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x66]
mov byte [rsp + 0x38], al
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
lea rax, [rsp + 0x270]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x20], eax
mov r9d, 1
mov r8d, dword [rsp + 0xe8]
mov edx, dword [rsp + 0xec]
lea rcx, [rsp + 0x4e0]
call fcn.1800022b0
mov rdx, rax
lea rcx, [rsp + 0x6b8]
call fcn.180006900
jmp 0x180006171
jmp 0x180005dc7
cmp dword [0x180017784], 0
je 0x1800062b1
mov byte [0x180017770], 1
jmp 0x1800062b8
mov byte [0x180017770], 0
movzx eax, byte [0x180017770]
test eax, eax
je 0x180006342
lea rcx, [0x180017768]
call fcn.180002250
movzx eax, al
test eax, eax
je 0x180006342
lea rcx, [rsp + 0x6b8]
call fcn.180006620
movzx eax, al
test eax, eax
jne 0x180006335
lea rax, [rsp + 0x4c8]
mov qword [rsp + 0x180], rax
lea rdx, [rsp + 0x6b8]
mov rcx, qword [rsp + 0x180]
call fcn.180006950
mov qword [rsp + 0x188], rax
mov rdx, qword [rsp + 0x188]
xor ecx, ecx
call fcn.180002680
mov rcx, qword [rsp + 0x70]
call fcn.180002850
call fcn.180002770
lea rcx, [0x180017768]
call fcn.180002290
nop
lea rcx, [rsp + 0x6b8]
call fcn.180006930
mov rcx, qword [rsp + 0x728]
xor rcx, rsp
call fcn.180013810
add rsp, 0x738
pop rdi
pop rsi
ret