Function at 0x18003e960
Capabilities:
Check for time delay via gettickcount
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r14
sub rsp, 0x130
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
mov rax, qword [0x1800d1f40]
xor rax, rsp
mov qword [rsp + 0xa0], rax
call fcn.1800658e0
mov rax, qword [0x1801256e0]
xor esi, esi
test rax, rax
je 0x18003e9cf
mov rcx, qword [rax + 0x98]
jmp 0x18003e9d2
mov rcx, rsi
cmp dword [rcx + 0x28], 0
jne 0x18003e9dd
call fcn.18002be10
call fcn.18002ae40
call fcn.180007970
mov eax, dword [0x180127170]
test eax, eax
jne 0x18003e9fd
mov dword [0x180127148], 0x5d
jmp 0x18003ea2e
cmp eax, 1
jne 0x18003ea0e
mov dword [0x180127148], 0x2d
jmp 0x18003ea2e
cmp eax, 2
jne 0x18003ea1f
mov dword [0x180127148], 0x2e
jmp 0x18003ea2e
cmp eax, 3
jne 0x18003ea2e
mov dword [0x180127148], 0x73
cmp byte [0x1801260d9], 0
je 0x18003eadb
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
mov rcx, qword [0x1801256e0]
mov rcx, qword [rcx + 0x4088]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.1800060f0
mov r8, rax
lea rcx, [0x18011c888]
call fcn.180003670
mov r9d, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
mov eax, edi
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x74], xmm0
movss xmm1, dword [0x18009e360]
movss dword [rsp + 0x28], xmm1
mov eax, dword [0x18011c7ac]
mov dword [rsp + 0x20], eax
movss xmm2, dword [0x1800f7c1c]
lea rdx, [rsp + 0x70]
mov rcx, r8
call fcn.1800241c0
call fcn.18003b7d0
cmp byte [0x18012692f], 0
je 0x18003eb64
mov eax, dword [0x180126920]
test eax, eax
jne 0x18003eaff
mov dword [0x1801258cc], 2
jmp 0x18003eb5f
cmp eax, 1
jne 0x18003eb0c
mov dword [0x1801258cc], eax
jmp 0x18003eb5f
cmp eax, 2
jne 0x18003eb1d
mov dword [0x1801258cc], 5
jmp 0x18003eb5f
cmp eax, 3
jne 0x18003eb2e
mov dword [0x1801258cc], 6
jmp 0x18003eb5f
cmp eax, 4
jne 0x18003eb3f
mov dword [0x1801258cc], 3
jmp 0x18003eb5f
cmp eax, 5
jne 0x18003eb50
mov dword [0x1801258cc], 4
jmp 0x18003eb5f
cmp eax, 6
jne 0x18003eb5f
mov dword [0x1801258cc], 0x45
call fcn.18003d670
cmp byte [0x1801256de], 0
je 0x18003ec0b
mov eax, dword [0x18012691c]
test eax, eax
jne 0x18003eb87
mov dword [0x180126918], 2
jmp 0x18003ebe8
cmp eax, 1
jne 0x18003eb94
mov dword [0x180126918], eax
jmp 0x18003ebe8
cmp eax, 2
jne 0x18003eba5
mov dword [0x180126918], 5
jmp 0x18003ebe8
cmp eax, 3
jne 0x18003ebb6
mov dword [0x180126918], 6
jmp 0x18003ebe8
cmp eax, 4
jne 0x18003ebc8
mov edi, 0x10
mov dword [0x180126918], edi
jmp 0x18003ebed
cmp eax, 5
jne 0x18003ebd9
mov dword [0x180126918], 0x12
jmp 0x18003ebe8
cmp eax, 6
jne 0x18003ebe8
mov dword [0x180126918], 0x45
mov edi, 0x10
mov eax, dword [0x1801258c8]
cmp eax, 1
jbe 0x18003ec04
cmp eax, 2
jne 0x18003ec10
call fcn.18003e1e0
jmp 0x18003ec10
call fcn.18003df70
jmp 0x18003ec10
mov edi, 0x10
cmp byte [0x180127174], 0
je 0x18003ec29
mov cl, 1
call fcn.18003ae90
mov byte [0x18012714d], 1
jmp 0x18003ec40
cmp byte [0x18012714d], 0
je 0x18003ec39
xor ecx, ecx
call fcn.18003ae90
mov byte [0x18012714d], 0
cmp byte [0x18012692a], 0
je 0x18003ec59
mov cl, 1
call fcn.18003b090
mov byte [0x180126929], 1
jmp 0x18003ec70
cmp byte [0x180126929], 0
je 0x18003ec69
xor ecx, ecx
call fcn.18003b090
mov byte [0x180126929], 0
cmp byte [0x1801260d8], 0
je 0x18003ec89
mov cl, 1
call fcn.18003afc0
mov byte [0x1801256da], 1
jmp 0x18003eca0
cmp byte [0x1801256da], 0
je 0x18003ec99
xor ecx, ecx
call fcn.18003afc0
mov byte [0x1801256da], 0
jmp 0x18003eca7
lea rax, [0x180127280]
mov qword [rsp + 0x28], rax
lea rax, [0x18012727c]
mov qword [rsp + 0x20], rax
lea r9, [0x180127278]
movss xmm2, dword [0x1801260f4]
movss xmm1, dword [0x1801260dc]
movss xmm0, dword [0x1800f7658]
call fcn.180003720
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x180127218]
sub eax, ecx
cmp eax, 1
jb 0x18003ed28
cmp dword [0x180127214], ecx
je 0x18003ed1c
movss xmm0, dword [0x180127278]
addss xmm0, dword [0x18009e4b8]
movss dword [0x180127278], xmm0
mov dword [0x180127214], ecx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x180127218], eax
xorps xmm8, xmm8
movss xmm0, dword [0x180127278]
movss xmm6, dword [0x18009e304]
comiss xmm8, xmm0
jbe 0x18003ed4e
addss xmm0, xmm6
movss dword [0x180127278], xmm0
lea rax, [0x1801260f4]
mov qword [rsp + 0x28], rax
lea rax, [0x1801260dc]
mov qword [rsp + 0x20], rax
lea r9, [0x1800f7658]
movss xmm2, dword [0x180127280]
movss xmm1, dword [0x18012727c]
call fcn.1800037d0
cmp byte [0x1800d33c4], 0
je 0x1800427cb
mov rax, qword [0x1801256e0]
movss xmm2, dword [rax + 0x10]
subss xmm2, dword [0x18009e49c]
mulss xmm2, dword [0x18009e2c8]
movss xmm1, dword [rax + 0x14]
subss xmm1, dword [0x18009e498]
mulss xmm1, dword [0x18009e2c8]
movss dword [rax + 0x3f98], xmm2
movss dword [rax + 0x3f9c], xmm1
mov qword [rax + 0x3fa0], 0
mov dword [rax + 0x3f8c], 2
or dword [rax + 0x3f88], 3
mov dword [rax + 0x3fa8], 0x44160000
mov dword [rax + 0x3fac], 0x43fa0000
mov dword [rax + 0x3f90], 1
movsd xmm0, qword [0x18009e0d8]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x18009e0e0]
mov byte [rsp + 0x70], 0x50
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor byte [rsp + 0x74], 0x39
xor byte [rsp + 0x75], 0x3a
xor byte [rsp + 0x76], 0x3b
xor byte [rsp + 0x77], 0x3c
xor al, 0x3d
mov byte [rsp + 0x78], al
xor edx, edx
lea r8d, [rdx + 0x2b]
lea rcx, [rsp + 0x70]
call fcn.18000de40
movups xmm0, xmmword [str.eCQ]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x18009e200]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x18009e208]
mov dword [rsp + 0x68], eax
movzx eax, word [0x18009e20c]
mov word [rsp + 0x6c], ax
movzx eax, byte [0x18009e20e]
mov byte [rsp + 0x6e], al
mov r8d, esi
mov r14d, dword [0x1800d1f90]
cmp r14d, 2
jl 0x18003efdf
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm7, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x18003eee0
cmp r8d, 0x1f
jge 0x18003f020
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1f
jl 0x18003eff0
lea rcx, [rsp + 0x50]
call fcn.18002def0
movsd xmm0, qword [0x18009e090]
movsd qword [rsp + 0x80], xmm0
movzx ecx, word [0x18009e098]
mov word [rsp + 0x88], cx
movzx eax, byte [0x18009e09a]
mov byte [rsp + 0x80], 0x63
xor byte [rsp + 0x81], 0x36
xor byte [rsp + 0x82], 0x37
xor byte [rsp + 0x83], 0x38
xor byte [rsp + 0x84], 0x39
xor byte [rsp + 0x85], 0x3a
xor byte [rsp + 0x86], 0x3b
xor byte [rsp + 0x87], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x88], cl
xor byte [rsp + 0x89], 0x3e
xor al, 0x3f
mov byte [rsp + 0x8a], al
mov rbx, qword [0x1801256e0]
mov qword [rsp + 0x30], rsi
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
movss xmm12, dword [0x18009e4d4]
movss dword [rsp + 0x20], xmm12
movss xmm3, dword [0x18009e4b4]
movss xmm2, dword [rbx + 0x3bf8]
lea rdx, [rsp + 0x70]
mov rcx, qword [rbx + 0x3bf0]
call fcn.180028220
movss xmm0, dword [rsp + 0x70]
addss xmm0, dword [0x18009e2fc]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov rax, qword [rbx + 0x3e88]
movss xmm4, dword [rax + 0x20]
movss xmm0, dword [rbx + 0x37e0]
movss xmm3, dword [rbx + 0x37e4]
mov byte [rax + 0x98], 1
mov rax, qword [rbx + 0x3e88]
subss xmm4, xmm1
subss xmm4, xmm0
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm4, xmm0
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm3
movss dword [rax + 0xe0], xmm4
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm4
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
movsd xmm0, qword [0x18009e090]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18009e098]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18009e09a]
mov byte [rsp + 0x40], 0x63
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3e
xor al, 0x3f
mov byte [rsp + 0x4a], al
lea rcx, [rsp + 0x40]
call fcn.18002def0
mov r8, qword [0x1801256e0]
mov rcx, qword [r8 + 0x3e88]
movsd xmm0, qword [rcx + 0xe0]
movsd qword [rsp + 0x70], xmm0
movss xmm0, dword [rcx + 0x238]
cmp qword [rcx + 0x190], 0
jne 0x18003f232
cmp qword [r8 + 0x42f0], 0
je 0x18003f23a
movss xmm0, dword [rcx + 0x208]
subss xmm0, dword [rcx + 0xe0]
addss xmm0, dword [rsp + 0x70]
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [rsp + 0x74]
addss xmm0, dword [0x18009e3cc]
addss xmm0, xmm6
movss dword [rsp + 0x84], xmm0
mov byte [rcx + 0x98], 1
movaps xmm0, xmmword [0x18009e650]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180003670
mov r9d, eax
mov rcx, qword [r8 + 0x3e88]
movss dword [rsp + 0x20], xmm6
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x70]
mov rcx, qword [rcx + 0x280]
call fcn.180023910
lea rcx, [rsp + 0x98]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
cmp byte [0x180127210], 0
jne 0x18003f2e5
mov byte [0x180127210], 1
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, dword [0x18009e400]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, dword [0x18009e3f8]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, dword [0x18011c83c]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, dword [0x18011c840]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov qword [rsp + 0x70], 0
movsd xmm0, qword [0x18009e0b8]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18009e0c0]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18009e0c2]
mov byte [rsp + 0x40], 0x41
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3e
xor al, 0x3f
mov byte [rsp + 0x4a], al
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.18002e7a0
call fcn.18000abe0
test al, al
je 0x18003f44d
mov dword [0x18011c838], 2
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, dword [0x18011c844]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, dword [0x18011c848]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov qword [rsp + 0x70], 0
movsd xmm0, qword [str.c_DMXVeNMV35B]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e1e8]
mov dword [rsp + 0x48], eax
movzx eax, word [0x18009e1ec]
mov word [rsp + 0x4c], ax
cmp byte [0x18009e1ed], 0
je 0x18003f650
mov r8d, esi
cmp r14d, 2
jl 0x18003f60e
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.c_DMXVeNMV35B]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x18003f620
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.18002e7a0
call fcn.18000abe0
test al, al
je 0x18003f672
mov dword [0x18011c838], 3
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, dword [0x18011c84c]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, dword [0x18011c850]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov qword [rsp + 0x80], 0
mov eax, dword [0x18009e1bc]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x18009e1c0]
mov byte [rsp + 0x70], 0x4d
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor al, 0x39
mov byte [rsp + 0x74], al
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x70]
call fcn.18002e7a0
call fcn.18000abe0
test al, al
je 0x18003f765
mov dword [0x18011c838], 4
movss xmm13, dword [0x18009e430]
movss xmm11, dword [0x18009e454]
movss xmm7, dword [0x18009e444]
jmp 0x1800425e2
cmp dword [0x18011c838], 2
jne 0x180041395
call fcn.180011950
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm8
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
movss xmm13, dword [0x18009e430]
addss xmm2, xmm13
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
cmp dword [0x180127184], 0
sete dl
mov eax, dword [str.t_ZZVN_]
mov dword [rsp + 0x70], eax
movzx ecx, word [0x18009e048]
mov word [rsp + 0x74], cx
movzx eax, byte [0x18009e04a]
mov byte [rsp + 0x70], 0x41
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor cl, 0x39
mov byte [rsp + 0x74], cl
xor byte [rsp + 0x75], 0x3a
xor al, 0x3b
mov byte [rsp + 0x76], al
lea rcx, [rsp + 0x70]
call fcn.180044900
test al, al
je 0x18003f857
mov edx, esi
mov dword [0x180127184], edx
jmp 0x18003f85d
mov edx, dword [0x180127184]
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm8
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, dword [0x18009e458]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
cmp edx, 0x10
sete dl
movsd xmm0, qword [str.aD__IRJ_]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18009e040]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18009e042]
mov byte [rsp + 0x40], 0x54
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3e
xor al, 0x3f
mov byte [rsp + 0x4a], al
lea rcx, [rsp + 0x40]
call fcn.180044900
test al, al
je 0x18003f949
mov dword [0x180127184], edi
jmp 0x18003f94f
mov edi, dword [0x180127184]
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm8
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, dword [0x18009e464]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
cmp edi, 0x57
sete dl
movsd xmm0, qword [0x18009e168]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18009e170]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18009e172]
mov byte [rsp + 0x40], 0x41
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3e
xor al, 0x3f
mov byte [rsp + 0x4a], al
lea rcx, [rsp + 0x40]
call fcn.180044900
test al, al
je 0x18003fa3d
mov dword [0x180127184], 0x57
call fcn.180011a70
mov eax, dword [0x180127184]
movss xmm11, dword [0x18009e454]
movss xmm7, dword [0x18009e444]
movss xmm9, dword [0x18009e474]
test eax, eax
jne 0x1800408d4
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm11
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x43480000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, str.ABE
call fcn.18000b1f0
movups xmm0, xmmword [str.pXVZU_eTS]
movups xmmword [rsp + 0x50], xmm0
movzx eax, word [0x18009e198]
mov word [rsp + 0x60], ax
cmp byte [0x18009e199], 0
je 0x18003fca0
mov r8d, esi
cmp r14d, 2
jl 0x18003fc5f
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x18003fb60
cmp r8d, 0x12
jge 0x18003fca0
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x18003fc70
lea rdx, [0x18012692f]
lea rcx, [rsp + 0x50]
call fcn.18002faa0
movsd xmm0, qword [0x18009e028]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e030]
mov dword [rsp + 0x48], eax
cmp byte [0x18009e033], 0
je 0x18003fe20
mov r8d, esi
cmp r14d, 2
jl 0x18003fde5
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18009e028]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x18003fdf0
mov dword [rsp + 0x20], 7
lea r9, str.Right_Button
lea rdx, [0x180126920]
lea rcx, [rsp + 0x40]
call fcn.180031840
movsd xmm0, qword [str.qDVO]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x18009e140]
mov byte [rsp + 0x70], 0x44
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor byte [rsp + 0x74], 0x39
xor byte [rsp + 0x75], 0x3a
xor byte [rsp + 0x76], 0x3b
xor byte [rsp + 0x77], 0x3c
xor al, 0x3d
mov byte [rsp + 0x78], al
lea rdx, [0x1801260d9]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movsd xmm0, qword [str.aWE_NerM_L_]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e248]
mov dword [rsp + 0x48], eax
cmp byte [0x18009e24b], 0
je 0x180040010
mov r8d, esi
cmp r14d, 2
jl 0x18003ffc8
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.aWE_NerM_L_]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x18003ffe0
lea rdx, [0x18012714f]
lea rcx, [rsp + 0x40]
call fcn.18002faa0
movaps xmm1, xmm12
movaps xmm0, xmm8
call fcn.1800116d0
mov rdx, qword [0x1801256e0]
mov rax, qword [rdx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3e88]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss dword [rax + 0xe0], xmm1
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm1
movss dword [rax + 0xf8], xmm0
call fcn.18000b320
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
movss xmm10, dword [0x18009e484]
addss xmm0, xmm10
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x43480000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, [0x180097bd0]
call fcn.18000b1f0
movsd xmm0, qword [str.t_ZZVNeRPZ_SV9]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e0f0]
mov dword [rsp + 0x48], eax
cmp byte [0x18009e0f3], 0
je 0x180040290
mov r8d, esi
cmp r14d, 2
jl 0x180040249
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.t_ZZVNeRPZ_SV9]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180040260
mov dword [rsp + 0x20], 7
lea r9, str.Head
lea rdx, [0x180127164]
lea rcx, [rsp + 0x40]
call fcn.180031840
movups xmm0, xmmword [str.t_ZZVNeoPQP4__E]
movups xmmword [rsp + 0x50], xmm0
movzx eax, byte [0x18009e1d8]
mov byte [rsp + 0x60], al
mov r8d, esi
cmp r14d, 2
jl 0x18004040f
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180040310
cmp r8d, 0x11
jge 0x180040450
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x180040420
mov dword [rsp + 0x80], 0x42480000
mov dword [rsp + 0x70], 0
lea rbx, str.__.2f
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [0x18011c7a4]
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.180031ec0
movups xmm0, xmmword [str.t_ZZVNexTMK___Dt_ZZVNeTP__]
movups xmmword [rsp + 0x50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x180040630
mov r8d, esi
cmp r14d, 2
jl 0x1800405ef
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1800404f0
cmp r8d, 0x10
jge 0x180040630
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x180040600
mov dword [rsp + 0x70], 0x447a0000
mov dword [rsp + 0x80], 0x41a00000
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
lea r8, [0x1800f765c]
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.180031ec0
movsd xmm0, qword [str.t_ZZVNezRH_]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18009e130]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18009e132]
mov byte [rsp + 0x40], 0x41
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3e
xor al, 0x3f
mov byte [rsp + 0x4a], al
mov dword [rsp + 0x70], 0x44480000
mov dword [rsp + 0x80], 0x41a00000
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
lea r8, [0x1800f7c1c]
mov edx, 8
lea rcx, [rsp + 0x40]
call fcn.180031ec0
movsd xmm0, qword [0x18009e178]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e180]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x18009e184]
mov byte [rsp + 0x4c], al
mov r8d, esi
cmp r14d, 2
jl 0x18004083d
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18009e178]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180040850
mov dword [rsp + 0x70], 0x64
mov dword [rsp + 0x80], 1
lea rax, [0x180097fe4]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
lea r8, [0x18011c7ac]
mov edx, 4
lea rcx, [rsp + 0x40]
call fcn.180031ec0
call fcn.18000b320
mov eax, dword [0x180127184]
jmp 0x1800408e4
lea rbx, str.__.2f
movss xmm10, dword [0x18009e484]
cmp eax, 0x10
jne 0x1800412eb
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm11
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x435b0000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, str.ABE
call fcn.18000b1f0
movups xmm0, xmmword [str.pXVZU_ehOWX_0]
movups xmmword [rsp + 0x50], xmm0
movzx eax, word [0x18009e078]
mov word [rsp + 0x60], ax
cmp byte [0x18009e079], 0
je 0x180040b20
mov r8d, esi
cmp r14d, 2
jl 0x180040adf
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1800409e0
cmp r8d, 0x12
jge 0x180040b20
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x180040af0
lea rdx, [0x1801256de]
lea rcx, [rsp + 0x50]
call fcn.18002faa0
movups xmm0, xmmword [0x18009e100]
movups xmmword [rsp + 0x50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x180040cd0
mov r8d, esi
cmp r14d, 2
jl 0x180040c8f
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180040b90
cmp r8d, 0x10
jge 0x180040cd0
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x180040ca0
mov dword [rsp + 0x20], 7
lea r9, str.Right_Button
lea rdx, [0x18012691c]
lea rcx, [rsp + 0x50]
call fcn.180031840
movsd xmm0, qword [str.aD__IRJ]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e268]
mov dword [rsp + 0x48], eax
movzx eax, word [0x18009e26c]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x18009e26e]
mov byte [rsp + 0x4e], al
mov r8d, esi
cmp r14d, 2
jl 0x180040e2e
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.aD__IRJ]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x180040e40
lea rdx, [0x1801260f1]
lea rcx, [rsp + 0x40]
call fcn.18002faa0
call fcn.18000b320
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm10
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x435b0000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, [0x180097bd0]
call fcn.18000b1f0
movups xmm0, xmmword [0x18009e110]
movups xmmword [rsp + 0x50], xmm0
mov eax, dword [str._2_I]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x18009e124]
mov byte [rsp + 0x64], al
mov r8d, esi
cmp r14d, 2
jl 0x18004107f
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180040f80
cmp r8d, 0x15
jge 0x1800410c0
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x180041090
mov dword [rsp + 0x70], 0x42480000
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
lea r8, [0x1800d33b8]
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.180031ec0
movups xmm0, xmmword [0x18009e210]
movups xmmword [rsp + 0x50], xmm0
mov eax, dword [0x18009e220]
mov dword [rsp + 0x60], eax
cmp byte [0x18009e223], 0
je 0x1800412a0
mov r8d, esi
cmp r14d, 2
jl 0x18004125f
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180041160
cmp r8d, 0x14
jge 0x1800412a0
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x180041270
mov dword [rsp + 0x70], 0x43fa0000
mov dword [rsp + 0x80], 0x41a00000
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
lea r8, [0x1800f765c]
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.180031ec0
call fcn.18000b320
mov eax, dword [0x180127184]
cmp eax, 0x57
jne 0x1800413c8
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, dword [0x18009e450]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x435b0000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, str.Friend_List
call fcn.18000b1f0
call fcn.18003e450
call fcn.18000b320
jmp 0x1800413c8
lea rbx, str.__.2f
movss xmm13, dword [0x18009e430]
movss xmm11, dword [0x18009e454]
movss xmm7, dword [0x18009e444]
movss xmm9, dword [0x18009e474]
movss xmm10, dword [0x18009e484]
cmp dword [0x18011c838], 3
jne 0x1800425d5
call fcn.180011950
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm8
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm13
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
cmp dword [0x180127184], 2
sete dl
lea rcx, str.Visual
call fcn.180044900
test al, al
je 0x180041470
mov dword [0x180127184], 2
call fcn.180011a70
cmp dword [0x180127184], 2
jne 0x1800425d5
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm11
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x435b0000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, str.ABE
call fcn.18000b1f0
mov eax, dword [str.wYO8VRYM_IZU__]
mov dword [rsp + 0x80], eax
cmp byte [0x18009e08f], 0
je 0x180041610
mov r8d, esi
cmp r14d, 2
jl 0x1800415c0
movdqa xmm3, xmmword [0x18009e560]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x18009e770]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x18009e770]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.5555555555555555]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x80], xmm2
mov r8d, 4
cmp r8d, 4
jae 0x180041610
mov eax, r8d
lea r9, [rsp + 0x80]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1800415e0
lea rdx, [0x1801256d9]
lea rcx, [rsp + 0x80]
call fcn.18002faa0
movaps xmm1, xmm12
movaps xmm0, xmm8
call fcn.1800116d0
mov rdx, qword [0x1801256e0]
mov rax, qword [rdx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3e88]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss dword [rax + 0xe0], xmm1
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm1
movss dword [rax + 0xf8], xmm0
mov dword [rsp + 0x40], 0xeab1a785
mov dword [rsp + 0x44], 0xa1a1a388
mov word [rsp + 0x48], 0xbd
mov byte [rsp + 0x4a], 1
mov rcx, rsi
nop word [rax + rax]
lea eax, [rcx - 0x39]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 9
jb 0x1800416a0
mov byte [rsp + 0x4a], 0
mov r8d, 0x100a0
lea rdx, [0x18011c818]
lea rcx, [rsp + 0x40]
call fcn.180032840
movups xmm0, xmmword [0x18011c818]
movups xmmword [0x18011c8b8], xmm0
movsd xmm0, qword [0x18009dff8]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x18009e000]
mov byte [rsp + 0x70], 0x53
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor byte [rsp + 0x74], 0x39
xor byte [rsp + 0x75], 0x3a
xor byte [rsp + 0x76], 0x3b
xor byte [rsp + 0x77], 0x3c
xor al, 0x3d
mov byte [rsp + 0x78], al
lea rdx, [0x18012611f]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movaps xmm1, xmm12
movaps xmm0, xmm8
call fcn.1800116d0
mov rdx, qword [0x1801256e0]
mov rax, qword [rdx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3e88]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss dword [rax + 0xe0], xmm1
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm1
movss dword [rax + 0xf8], xmm0
movsd xmm0, qword [str.f_RTNTR]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e010]
mov dword [rsp + 0x48], eax
movzx eax, word [0x18009e014]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x18009e016]
mov byte [rsp + 0x4e], al
mov r8d, esi
cmp r14d, 2
jl 0x1800418c0
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.f_RTNTR]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x1800418d0
mov r8d, 0x100a0
lea rdx, [0x18011c7f8]
lea rcx, [rsp + 0x40]
call fcn.180032840
movups xmm0, xmmword [0x18011c7f8]
movups xmmword [0x18011c8a8], xmm0
movsd xmm0, qword [str.q_DLXTXY]
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [0x18009e0d0]
mov byte [rsp + 0x70], 0x44
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor byte [rsp + 0x74], 0x39
xor byte [rsp + 0x75], 0x3a
xor byte [rsp + 0x76], 0x3b
xor byte [rsp + 0x77], 0x3c
xor al, 0x3d
mov byte [rsp + 0x78], al
lea rdx, [0x18012692c]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movaps xmm1, xmm12
movaps xmm0, xmm8
call fcn.1800116d0
mov rdx, qword [0x1801256e0]
mov rax, qword [rdx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3e88]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss dword [rax + 0xe0], xmm1
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm1
movss dword [rax + 0xf8], xmm0
movups xmm1, xmmword [0x18009e1a8]
movups xmmword [rsp + 0x50], xmm1
mov eax, dword [0x18009e1b8]
mov dword [rsp + 0x60], eax
cmp byte [0x18009e1bb], 0
je 0x180041b70
mov r8d, esi
cmp r14d, 2
jl 0x180041b2f
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180041a30
cmp r8d, 0x14
jge 0x180041b70
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x180041b40
mov r8d, 0x100a0
lea rdx, [0x18011c828]
lea rcx, [rsp + 0x50]
call fcn.180032840
movups xmm0, xmmword [0x18011c828]
movups xmmword [0x18011c878], xmm0
movsd xmm0, qword [str.SVTMRehXFK_]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e160]
mov dword [rsp + 0x48], eax
cmp byte [0x18009e163], 0
je 0x180041d10
mov r8d, esi
cmp r14d, 2
jl 0x180041cc9
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.SVTMRehXFK_]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180041ce0
lea rdx, [0x18012611d]
lea rcx, [rsp + 0x40]
call fcn.18002faa0
movaps xmm1, xmm12
movaps xmm0, xmm8
call fcn.1800116d0
mov rdx, qword [0x1801256e0]
mov rax, qword [rdx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3e88]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss dword [rax + 0xe0], xmm1
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm1
movss dword [rax + 0xf8], xmm0
movups xmm1, xmmword [str.aSOL]
movups xmmword [rsp + 0x50], xmm1
movzx eax, word [0x18009e238]
mov word [rsp + 0x60], ax
cmp byte [0x18009e239], 0
je 0x180041f20
mov r8d, esi
cmp r14d, 2
jl 0x180041edf
movdqa xmm5, xmmword [0x18009e560]
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm6, xmmword [0x18009e5b0]
movdqa xmm0, xmmword [str.5555555555555555]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x54]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180041de0
cmp r8d, 0x12
jge 0x180041f20
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x180041ef0
mov r8d, 0x100a0
lea rdx, [0x18011c7e8]
lea rcx, [rsp + 0x50]
call fcn.180032840
movups xmm0, xmmword [0x18011c7e8]
movups xmmword [0x18011c898], xmm0
call fcn.18000b320
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm10
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x435b0000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, [0x180097bd0]
call fcn.18000b1f0
mov dword [rsp + 0x70], 0xafa7a18b
mov word [rsp + 0x74], 0xb8
mov byte [rsp + 0x76], 1
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x39]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 5
jb 0x180042000
mov byte [rsp + 0x76], 0
lea rdx, [0x180127175]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movaps xmm1, xmm12
movaps xmm0, xmm8
call fcn.1800116d0
mov rdx, qword [0x1801256e0]
mov rax, qword [rdx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3e88]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss dword [rax + 0xe0], xmm1
movss xmm0, dword [rax + 0xf8]
maxss xmm0, xmm1
movss dword [rax + 0xf8], xmm0
mov dword [rsp + 0x40], 0xafa7a18b
mov dword [rsp + 0x44], 0xa18eecb8
mov dword [rsp + 0x48], 0xa3bfa3
mov byte [rsp + 0x4c], 1
mov rcx, rsi
nop word [rax + rax]
lea eax, [rcx - 0x39]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xb
jb 0x1800420a0
mov byte [rsp + 0x4c], 0
mov r8d, 0x100a0
lea rdx, [0x18011c808]
lea rcx, [rsp + 0x40]
call fcn.180032840
movups xmm0, xmmword [0x18011c808]
movups xmmword [0x18011c8c8], xmm0
movsd xmm0, qword [0x18009e080]
movsd qword [rsp + 0x70], xmm0
movzx eax, word [0x18009e088]
mov word [rsp + 0x78], ax
cmp byte [0x18009e089], 0
je 0x18004212f
mov byte [rsp + 0x70], 0x44
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor byte [rsp + 0x74], 0x39
xor byte [rsp + 0x75], 0x3a
xor byte [rsp + 0x76], 0x3b
xor byte [rsp + 0x77], 0x3c
xor byte [rsp + 0x78], 0x3d
xor byte [rsp + 0x79], 0x3e
lea rdx, [0x18012692d]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movsd xmm0, qword [str.s__TeRF_]
movsd qword [rsp + 0x40], xmm0
movzx ecx, word [0x18009e258]
mov word [rsp + 0x48], cx
movzx eax, byte [0x18009e25a]
mov byte [rsp + 0x40], 0x46
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x48], cl
xor byte [rsp + 0x49], 0x3e
xor al, 0x3f
mov byte [rsp + 0x4a], al
lea rdx, [0x18012611e]
lea rcx, [rsp + 0x40]
call fcn.18002faa0
mov eax, dword [0x18009dfec]
mov dword [rsp + 0x70], eax
movzx ecx, word [0x18009dff0]
mov word [rsp + 0x74], cx
movzx eax, byte [0x18009dff2]
mov byte [rsp + 0x70], 0x48
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor cl, 0x39
mov byte [rsp + 0x74], cl
xor byte [rsp + 0x75], 0x3a
xor al, 0x3b
mov byte [rsp + 0x76], al
lea rdx, [0x1801260f0]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movsd xmm0, qword [str.tDZWK]
movsd qword [rsp + 0x70], xmm0
movzx eax, word [0x18009dfe8]
mov word [rsp + 0x78], ax
cmp byte [0x18009dfe9], 0
je 0x180042255
mov byte [rsp + 0x70], 0x41
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor byte [rsp + 0x74], 0x39
xor byte [rsp + 0x75], 0x3a
xor byte [rsp + 0x76], 0x3b
xor byte [rsp + 0x77], 0x3c
xor byte [rsp + 0x78], 0x3d
xor byte [rsp + 0x79], 0x3e
lea rdx, [0x18012611c]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
mov eax, dword [0x18009e0f4]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x18009e0f8]
mov byte [rsp + 0x70], 0x48
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor al, 0x39
mov byte [rsp + 0x74], al
lea rdx, [0x1801256df]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
mov rax, qword [str.fXO]
mov qword [rsp + 0x70], rax
cmp byte [str._RDToPT_SJ_], 0
je 0x180042410
mov r8d, esi
cmp r14d, 2
jl 0x1800423c8
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x70]
xorps xmm2, xmm1
movd dword [rsp + 0x70], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x74]
xorps xmm2, xmm1
movd dword [rsp + 0x74], xmm2
mov r8d, 8
cmp r8d, 8
jae 0x180042410
mov eax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x1800423e0
lea rdx, [0x180126928]
lea rcx, [rsp + 0x70]
call fcn.18002faa0
movsd xmm0, qword [0x18009e148]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x18009e150]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x18009e154]
mov byte [rsp + 0x4c], al
mov r8d, esi
cmp r14d, 2
jl 0x180042553
movdqa xmm4, xmmword [0x18009e770]
movdqa xmm2, xmmword [0x18009e560]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18009e148]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm3, xmmword [0x18009e590]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x18009e5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18009e610]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x44]
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
mov r8d, 8
mov eax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180042560
mov dword [rsp + 0x70], 0x43fa0000
mov dword [rsp + 0x80], 0x41a00000
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
lea r8, [0x1800d33bc]
mov edx, 8
lea rcx, [rsp + 0x40]
call fcn.180031ec0
call fcn.18000b320
cmp dword [0x18011c838], 4
jne 0x1800427cb
call fcn.180011950
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm8
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm13
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
cmp dword [0x180127184], 0xde
sete dl
lea rcx, str.DEBUG
call fcn.180044900
test al, al
je 0x180042680
mov dword [0x180127184], 0xde
call fcn.180011a70
cmp dword [0x180127184], 0xde
jne 0x1800427c6
mov rcx, qword [0x1801256e0]
mov rax, qword [rcx + 0x3e88]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e88]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm11
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
addss xmm2, xmm7
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov dword [rsp + 0x70], 0x435b0000
mov dword [rsp + 0x74], 0x43ab0000
lea rdx, [rsp + 0x70]
lea rcx, str.DEBUG
call fcn.18000b1f0
mov eax, dword [0x18009e19c]
mov dword [rsp + 0x70], eax
movzx eax, word [0x18009e1a0]
mov word [rsp + 0x74], ax
mov byte [rsp + 0x70], 0x2d
xor byte [rsp + 0x71], 0x36
xor byte [rsp + 0x72], 0x37
xor byte [rsp + 0x73], 0x38
xor al, 0x39
mov byte [rsp + 0x74], al
xor byte [rsp + 0x75], 0x3a
lea rcx, [rsp + 0x70]
call fcn.18002def0
mov dword [rsp + 0x20], 4
lea r9, str.Apps
lea rdx, [0x180127170]
lea rcx, str.Menu_Bind
call fcn.180031840
lea rdx, [0x180127174]
lea rcx, str.No_Recoil
call fcn.18002faa0
lea rdx, [0x18012692a]
lea rcx, str.No_Reload
call fcn.18002faa0
lea rdx, [0x1801260d8]
lea rcx, str.No_Spread
call fcn.18002faa0
call fcn.18000b320
call fcn.180010180
call fcn.18000a4d0
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x94]
mov rcx, qword [0x1801258c0]
call fcn.1800644d0
mov r9d, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.OPENGL32.dll_glViewport]
mov ecx, 0x4000
call qword [sym.imp.OPENGL32.dll_glClear]
mov rax, qword [0x1801256e0]
mov rcx, qword [rax + 0x4088]
mov rcx, qword [rcx]
add rcx, 0x48
cmp byte [rcx], 0
cmove rcx, rsi
call fcn.18002b690
mov rcx, qword [0x1801258c0]
call fcn.18006dbf0
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800793e0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
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]
mov rsp, r11
pop r14
ret