Function at 0x140050fc0
Capabilities:
Encode data using xor
Execute command
Log keystrokes via polling
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x14006b040]
xor rax, rsp
mov qword [rbp - 8], rax
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140051039
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140051070
cmp byte [0x14006b184], 0
sete byte [0x14006b184]
nop word [rax + rax]
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140051050
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140051050
cmp byte [0x14006b184], 0
setne cl
mov rax, qword [0x14006ba60]
mov byte [rax + 0x58], cl
call fcn.140050ec0
xor edi, edi
mov r15d, 3
cmp byte [0x14006b185], dil
jne 0x1400511d9
mov rbx, qword [0x14006ba60]
mov dword [rbx + 0x4ab0], 0x432a0000
mov dword [rbx + 0x4ab4], 0x41f00000
mov dword [rbx + 0x4a98], 1
mov dword [rbx + 0x4aa0], 0x41200000
mov qword [rbx + 0x4aa4], 0x41200000
mov dword [rbx + 0x4aac], edi
mov dword [rbx + 0x4a94], 1
or dword [rbx + 0x4a90], 0x43
mov dword [rbx + 0x4af0], 0x3f800000
lea rcx, [rbx + 0x4b18]
movss xmm0, dword [rbx + 0x3910]
mov dword [rsp + 0x50], r15d
movss dword [rsp + 0x54], xmm0
lea rdx, [rsp + 0x50]
call fcn.14001e130
mov dword [rbx + 0x3910], 0x40400000
movsd xmm0, qword [str.x_v_:]
movsd qword [rsp + 0x50], xmm0
movzx ecx, word [0x140062460]
mov word [rsp + 0x58], cx
movzx eax, byte [0x140062462]
mov byte [rsp + 0x50], 0x23
xor byte [rsp + 0x51], 0x5c
xor byte [rsp + 0x52], 0x5d
xor byte [rsp + 0x53], 0x5e
xor byte [rsp + 0x54], 0x5f
xor byte [rsp + 0x55], 0x60
xor byte [rsp + 0x56], 0x61
xor byte [rsp + 0x57], 0x62
xor cl, 0x5b
mov byte [rsp + 0x58], cl
xor byte [rsp + 0x59], 0x5c
xor al, 0x5d
mov byte [rsp + 0x5a], al
xor edx, edx
mov r8d, 0x1af
lea rcx, [rsp + 0x50]
call fcn.14000e5e0
mov eax, dword [str._r5__1_]
mov dword [rbp - 0x80], eax
movzx eax, word [0x140062714]
mov word [rbp - 0x7c], ax
mov byte [rbp - 0x80], 0x56
xor byte [rbp - 0x7f], 0x5c
xor byte [rbp - 0x7e], 0x5d
xor byte [rbp - 0x7d], 0x5e
xor al, 0x5f
mov byte [rbp - 0x7c], al
xor byte [rbp - 0x7b], 0x60
lea rcx, [rbp - 0x80]
call fcn.140034f30
call fcn.140010be0
mov ecx, 1
call fcn.140004590
cmp byte [0x14006b184], dil
je 0x1400541aa
mov rax, qword [0x14006ba60]
mov dword [rax + 0x4ab0], 0x44098000
mov dword [rax + 0x4ab4], 0x43fa0000
mov dword [rax + 0x4a98], 1
or dword [rax + 0x4a90], 0x42
mov dword [rax + 0x4af0], edi
movups xmm0, xmmword [0x140062318]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [0x140062328]
movsd qword [rbp - 0x38], xmm0
mov eax, dword [0x140062330]
mov dword [rbp - 0x30], eax
movzx eax, word [0x140062334]
mov word [rbp - 0x2c], ax
mov esi, dword [0x14006b090]
movdqa xmm11, xmmword [0x140062ab0]
movdqa xmm10, xmmword [0x140062e00]
cmp byte [0x140062335], dil
je 0x140051374
mov ecx, edi
cmp esi, 2
jl 0x14005134c
movdqa xmm2, xmmword [0x140062a90]
movdqa xmm3, xmmword [str._a_a_a_a]
movdqa xmmword [rsp + 0x50], xmm10
lea rdx, [rbp - 0x44]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
xorps xmm0, xmm0
pcmpgtd xmm0, xmm1
andps xmm0, xmm3
paddd xmm0, xmm1
psrad xmm0, 3
pslld xmm0, 3
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm1, xmm0
movd dword [rdx - 4], xmm1
lea eax, [rcx + 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
xorps xmm0, xmm0
pcmpgtd xmm0, xmm1
andps xmm0, xmm3
paddd xmm0, xmm1
psrad xmm0, 3
pslld xmm0, 3
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rdx]
xorps xmm1, xmm0
movd dword [rdx], xmm1
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x1400512a0
cmp ecx, 0x1e
jge 0x140051374
movsxd rax, ecx
lea rdx, [rbp - 0x48]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140051366
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x1e
jl 0x140051356
xor edx, edx
mov r8d, 0x12a
lea rcx, [rbp - 0x48]
call fcn.14000e5e0
mov rbx, qword [0x14006ba60]
mov rax, qword [rbx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rbx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
xorps xmm12, xmm12
addss xmm1, xmm12
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm12
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov dword [rsp + 0x50], 0x442c8000
mov dword [rsp + 0x54], 0x44480000
mov eax, dword [0x14006246c]
mov dword [rbp - 0x80], eax
movzx eax, word [0x140062470]
mov word [rbp - 0x7c], ax
mov byte [rbp - 0x80], 0x23
xor byte [rbp - 0x7f], 0x5c
xor byte [rbp - 0x7e], 0x5d
xor byte [rbp - 0x7d], 0x5e
xor al, 0x5f
mov byte [rbp - 0x7c], al
xor byte [rbp - 0x7b], 0x60
mov rax, qword [rbx + 0x4078]
mov byte [rax + 0xcc], 1
mov rbx, qword [rbx + 0x4078]
movsxd r8, dword [rbx + 0x108]
mov rax, qword [rbx + 0x110]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.140003900
mov r14d, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x40cc], eax
jne 0x14005146e
lea r8, [rbp - 0x80]
mov edx, 0xc
mov ecx, eax
call fcn.14001d4f0
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [rsp + 0x50]
mov edx, r14d
lea rcx, [rbp - 0x80]
call fcn.14000b190
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
movss xmm6, dword [0x140062908]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, dword [0x1400628fc]
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov qword [rsp + 0x50], rdi
mov eax, dword [0x140062464]
mov dword [rsp + 0x70], eax
movzx ecx, word [0x140062468]
mov word [rsp + 0x74], cx
movzx eax, byte [0x14006246a]
mov byte [rsp + 0x70], 0x41
xor byte [rsp + 0x71], 0x5c
xor byte [rsp + 0x72], 0x5d
xor byte [rsp + 0x73], 0x5e
xor cl, 0x5f
mov byte [rsp + 0x74], cl
xor byte [rsp + 0x75], 0x60
xor al, 0x61
mov byte [rsp + 0x76], al
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.140035830
test al, al
je 0x14005154c
mov dword [0x14006b188], 1
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, dword [0x14006292c]
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov qword [rsp + 0x50], rdi
mov rax, qword [0x140062258]
mov qword [rsp + 0x70], rax
movdqa xmm8, xmmword [0x1400629e0]
movdqa xmm9, xmmword [0x1400629f0]
cmp byte [0x14006225f], dil
je 0x140051638
mov edx, edi
cmp esi, 2
jl 0x14005161f
movd eax, xmm8
movd xmm2, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x70]
xorps xmm2, xmm1
movd dword [rsp + 0x70], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x74]
xorps xmm2, xmm1
movd dword [rsp + 0x74], xmm2
jmp 0x140051638
lea rcx, [rsp + 0x70]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 8
jl 0x140051624
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.140035830
test al, al
je 0x140051655
mov dword [0x14006b188], 2
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, dword [0x14006293c]
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov qword [rsp + 0x50], rdi
mov eax, dword [0x140062538]
mov dword [rbp - 0x80], eax
movzx eax, byte [0x14006253c]
mov byte [rbp - 0x80], 0x4d
xor byte [rbp - 0x7f], 0x5c
xor byte [rbp - 0x7e], 0x5d
xor byte [rbp - 0x7d], 0x5e
xor al, 0x5f
mov byte [rbp - 0x7c], al
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140035830
test al, al
je 0x1400516f1
mov dword [0x14006b188], r15d
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, dword [0x140062950]
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov qword [rsp + 0x50], rdi
mov rax, qword [0x1400622e8]
mov qword [rbp - 0x80], rax
cmp byte [0x1400622ef], dil
je 0x1400517c5
mov edx, edi
cmp esi, 2
jl 0x1400517ad
movd eax, xmm8
movd xmm2, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x80]
xorps xmm2, xmm1
movd dword [rbp - 0x80], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x7c]
xorps xmm2, xmm1
movd dword [rbp - 0x7c], xmm2
jmp 0x1400517c5
lea rcx, [rbp - 0x80]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 8
jl 0x1400517b1
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140035830
test al, al
je 0x14005191e
movups xmm0, xmmword [str.______t]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [0x140062588]
movsd qword [rbp - 0x38], xmm0
mov eax, dword [str.t4:]
mov dword [rbp - 0x30], eax
movzx eax, word [0x140062594]
mov word [rbp - 0x2c], ax
movzx eax, byte [0x140062596]
mov byte [rbp - 0x2a], al
mov ecx, edi
cmp esi, 2
jl 0x1400518ec
movdqa xmm2, xmmword [0x140062a90]
movdqa xmm3, xmmword [str._a_a_a_a]
movdqa xmmword [rsp + 0x50], xmm10
lea rdx, [rbp - 0x44]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
xorps xmm0, xmm0
pcmpgtd xmm0, xmm1
andps xmm0, xmm3
paddd xmm0, xmm1
psrad xmm0, 3
pslld xmm0, 3
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm1, xmm0
movd dword [rdx - 4], xmm1
lea eax, [rcx + 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
xorps xmm0, xmm0
pcmpgtd xmm0, xmm1
andps xmm0, xmm3
paddd xmm0, xmm1
psrad xmm0, 3
pslld xmm0, 3
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rdx]
xorps xmm1, xmm0
movd dword [rdx], xmm1
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140051840
cmp ecx, 0x1f
jge 0x140051914
movsxd rax, ecx
lea rdx, [rbp - 0x48]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140051906
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x1f
jl 0x1400518f6
lea rcx, [rbp - 0x48]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rbx, qword [0x14006ba60]
mov rax, qword [rbx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rbx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, dword [0x140062918]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm12
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov dword [rsp + 0x50], 0x442c8000
mov dword [rsp + 0x54], 0x443e0000
mov eax, dword [0x14006273c]
mov dword [rsp + 0x70], eax
movzx ecx, word [0x140062740]
mov word [rsp + 0x74], cx
movzx eax, byte [0x140062742]
mov byte [rsp + 0x70], 0x23
xor byte [rsp + 0x71], 0x5c
xor byte [rsp + 0x72], 0x5d
xor byte [rsp + 0x73], 0x5e
xor cl, 0x5f
mov byte [rsp + 0x74], cl
xor byte [rsp + 0x75], 0x60
xor al, 0x61
mov byte [rsp + 0x76], al
mov rax, qword [rbx + 0x4078]
mov byte [rax + 0xcc], 1
mov rbx, qword [rbx + 0x4078]
movsxd r8, dword [rbx + 0x108]
mov rax, qword [rbx + 0x110]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.140003900
mov r14d, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x40cc], eax
jne 0x140051a1e
lea r8, [rsp + 0x70]
mov edx, 0xc
mov ecx, eax
call fcn.14001d4f0
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [rsp + 0x50]
mov edx, r14d
lea rcx, [rsp + 0x70]
call fcn.14000b190
movss xmm7, dword [0x1400628e8]
cmp dword [0x14006b188], 1
jne 0x140052c71
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x140062280]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [0x140062288]
mov dword [rsp + 0x58], edx
movzx eax, word [0x14006228c]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x14006228e]
mov byte [rsp + 0x5e], al
mov ecx, edi
cmp esi, 2
jl 0x140051b41
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062280]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
nop dword [rax + rax]
mov eax, ecx
and eax, 0x80000007
jge 0x140051b60
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xf
jl 0x140051b50
lea rcx, [rsp + 0x50]
call fcn.140034f30
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x1400625a8]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [0x1400625b0]
mov dword [rsp + 0x58], edx
movzx eax, word [0x1400625b4]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x1400625b6]
mov byte [rsp + 0x5e], al
mov ecx, edi
cmp esi, 2
jl 0x140051c54
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x1400625a8]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
nop
mov eax, ecx
and eax, 0x80000007
jge 0x140051c70
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xf
jl 0x140051c60
lea rdx, [0x14006c4d4]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [0x140062478]
movups xmmword [rsp + 0x50], xmm2
movzx eax, byte [0x140062488]
mov byte [rsp + 0x60], al
mov ecx, edi
cmp esi, 2
jl 0x140051d79
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
mov ecx, 0x10
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140051d93
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x11
jl 0x140051d83
lea rdx, [0x14006c4cd]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
lea rdx, [0x14006c4d6]
lea rcx, str.______TargetLine
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
or dword [rcx + 0x4a08], 1
mov dword [rcx + 0x4a20], 0x437a0000
mov dword [rsp + 0x40], 0x41200000
mov dword [rbp - 0x80], 0x3f800000
movsd xmm1, qword [str._b121_b]
movsd qword [rsp + 0x50], xmm1
movzx ecx, word [0x140062298]
mov word [rsp + 0x58], cx
movzx eax, byte [0x14006229a]
mov byte [rsp + 0x50], 0x53
xor byte [rsp + 0x51], 0x5c
xor byte [rsp + 0x52], 0x5d
xor byte [rsp + 0x53], 0x5e
xor byte [rsp + 0x54], 0x5f
xor byte [rsp + 0x55], 0x60
xor byte [rsp + 0x56], 0x61
xor byte [rsp + 0x57], 0x62
xor cl, 0x5b
mov byte [rsp + 0x58], cl
xor byte [rsp + 0x59], 0x5c
xor al, 0x5d
mov byte [rsp + 0x5a], al
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
lea r8, [0x14006b390]
lea rcx, [rsp + 0x50]
call fcn.140039b70
mov rax, qword [0x14006ba60]
or dword [rax + 0x4a08], 1
mov dword [rax + 0x4a20], 0x437a0000
mov dword [rbp - 0x80], 0x443b8000
mov dword [rsp + 0x40], 0x41a00000
mov rax, qword [0x140062520]
mov qword [rsp + 0x50], rax
cmp byte [0x140062527], dil
je 0x140051f84
mov edx, edi
cmp esi, 2
jl 0x140051f61
movd eax, xmm8
movd xmm2, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x50]
xorps xmm2, xmm1
movd dword [rsp + 0x50], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
jmp 0x140051f84
lea rcx, [rsp + 0x50]
nop word [rax + rax]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 8
jl 0x140051f70
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [0x14006b39c]
lea rcx, [rsp + 0x50]
call fcn.140039b70
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
cmp byte [rax + 0xcf], dil
jne 0x140052006
lea rdx, str.Colors
mov r8, rdx
cmp rdx, 0xffffffffffffffff
jae 0x140051ff6
movzx ecx, byte [r8]
test cl, cl
je 0x140051ff6
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140051fed
cmp byte [rax], cl
je 0x140051ff6
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140051fd8
movaps xmm3, xmm12
call fcn.1400380f0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov r8d, 0x28
lea rdx, [0x14006b170]
lea rcx, str.FOV_Circle
call fcn.140040db0
movss xmm6, dword [0x1400629a8]
movaps xmm1, xmm6
movaps xmm0, xmm12
call fcn.140014ed0
mov r8d, 0x28
lea rdx, [0x14006b0d0]
lea rcx, str.Filled_FOV
call fcn.140040db0
movaps xmm1, xmm6
movaps xmm0, xmm12
call fcn.140014ed0
movsd xmm4, qword [0x140062730]
movsd qword [rsp + 0x50], xmm4
movzx ecx, word [0x140062738]
mov word [rsp + 0x58], cx
movzx eax, byte [0x14006273a]
mov byte [rsp + 0x50], 0x54
xor byte [rsp + 0x51], 0x5c
xor byte [rsp + 0x52], 0x5d
xor byte [rsp + 0x53], 0x5e
xor byte [rsp + 0x54], 0x5f
xor byte [rsp + 0x55], 0x60
xor byte [rsp + 0x56], 0x61
xor byte [rsp + 0x57], 0x62
xor cl, 0x5b
mov byte [rsp + 0x58], cl
xor byte [rsp + 0x59], 0x5c
xor al, 0x5d
mov byte [rsp + 0x5a], al
mov r8d, 0x28
lea rdx, [0x14006b0e0]
lea rcx, [rsp + 0x50]
call fcn.140040db0
movsd xmm0, qword [0x140062750]
movsd qword [rbp - 0x58], xmm0
movzx eax, byte [0x140062758]
mov byte [rbp - 0x58], 0x41
xor byte [rbp - 0x57], 0x5c
xor byte [rbp - 0x56], 0x5d
xor byte [rbp - 0x55], 0x5e
xor byte [rbp - 0x54], 0x5f
xor byte [rbp - 0x53], 0x60
xor byte [rbp - 0x52], 0x61
xor byte [rbp - 0x51], 0x62
xor al, 0x5b
mov byte [rbp - 0x50], al
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
cmp byte [rax + 0xcf], dil
jne 0x1400521a2
lea r8, [rbp - 0x58]
lea rax, [rbp - 0x58]
cmp rax, 0xffffffffffffffff
jae 0x14005218e
nop dword [rax + rax]
movzx ecx, byte [r8]
test cl, cl
je 0x14005218e
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140052185
cmp byte [rax], cl
je 0x14005218e
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140052170
movaps xmm3, xmm12
lea rdx, [rbp - 0x58]
call fcn.1400380f0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
or dword [rcx + 0x4a08], 1
mov dword [rcx + 0x4a20], 0x43480000
lea r14, str.Head
mov qword [rbp - 0x28], r14
lea r12, str.Neck
mov qword [rbp - 0x20], r12
lea r13, str.Chest
mov qword [rbp - 0x18], r13
lea rax, str.Pelvis
mov qword [rbp - 0x10], rax
movsxd rax, dword [0x14006c4d8]
mov r9, qword [rbp + rax*8 - 0x28]
movsd xmm0, qword [0x140062300]
movsd qword [rbp - 0x80], xmm0
mov edx, dword [0x140062308]
mov dword [rbp - 0x78], edx
movzx eax, byte [0x14006230c]
mov byte [rbp - 0x74], al
mov ecx, edi
cmp esi, 2
jl 0x1400522ad
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062300]
xorps xmm1, xmm0
movd dword [rbp - 0x80], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x7c]
xorps xmm2, xmm1
movd dword [rbp - 0x7c], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rbp - 0x78], xmm2
mov ecx, 0xc
mov eax, ecx
lea r8, [rbp - 0x80]
add r8, rax
mov eax, ecx
and eax, 0x80000007
jge 0x1400522c6
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [r8], al
inc ecx
inc r8
cmp ecx, 0xd
jl 0x1400522b6
mov rdx, r9
lea rcx, [rbp - 0x80]
call fcn.140038560
test al, al
je 0x14005240a
cmp dword [0x14006c4d8], edi
sete bl
mov qword [rsp + 0x50], rdi
lea r9, [rsp + 0x50]
movzx edx, bl
mov rcx, r14
call fcn.1400457c0
test al, al
je 0x140052311
mov dword [0x14006c4d8], edi
test bl, bl
je 0x14005231a
call fcn.1400119d0
cmp dword [0x14006c4d8], 1
sete bl
lea r9, [rsp + 0x50]
movzx edx, bl
mov rcx, r12
call fcn.1400457c0
test al, al
je 0x140052342
mov dword [0x14006c4d8], 1
test bl, bl
je 0x14005234b
call fcn.1400119d0
cmp dword [0x14006c4d8], 2
sete bl
lea r9, [rsp + 0x50]
movzx edx, bl
mov rcx, r13
call fcn.1400457c0
test al, al
je 0x140052373
mov dword [0x14006c4d8], 2
test bl, bl
je 0x14005237c
call fcn.1400119d0
cmp dword [0x14006c4d8], r15d
sete bl
lea r9, [rsp + 0x50]
movzx edx, bl
lea rcx, str.Pelvis
call fcn.1400457c0
test al, al
je 0x1400523a5
mov dword [0x14006c4d8], r15d
test bl, bl
je 0x1400523ae
call fcn.1400119d0
mov rbx, qword [0x14006ba60]
mov rcx, qword [rbx + 0x4078]
cmp qword [rbx + 0x4ba8], rcx
jne 0x1400523e8
cmp byte [rbx + 0x4c41], dil
je 0x1400523e8
cmp dword [rbx + 0x4bb8], edi
jne 0x1400523e8
mov eax, dword [rbx + 0x4c44]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4c44], eax
test dword [rcx + 0x14], 0x1000000
je 0x1400523f8
mov byte [rbx + 0x3fce], 1
call fcn.140010be0
mov byte [rbx + 0x3fce], dil
dec dword [rbx + 0x5f58]
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov dword [rsp + 0x50], 0x43480000
mov dword [rsp + 0x54], 0x41f00000
movsd xmm0, qword [0x1400622d0]
movsd qword [rbp - 0x80], xmm0
movzx ecx, word [0x1400622d8]
mov word [rbp - 0x78], cx
movzx eax, byte [0x1400622da]
mov byte [rbp - 0x80], 0x41
xor byte [rbp - 0x7f], 0x5c
xor byte [rbp - 0x7e], 0x5d
xor byte [rbp - 0x7d], 0x5e
xor byte [rbp - 0x7c], 0x5f
xor byte [rbp - 0x7b], 0x60
xor byte [rbp - 0x7a], 0x61
xor byte [rbp - 0x79], 0x62
xor cl, 0x5b
mov byte [rbp - 0x78], cl
xor byte [rbp - 0x77], 0x5c
xor al, 0x5d
mov byte [rbp - 0x76], al
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x48]
call fcn.140048eb0
nop
lea r8, [rsp + 0x50]
lea rdx, [0x14006b394]
lea rcx, [rbp - 0x48]
call fcn.140050bf0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140052506
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052501
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140052501
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005888c
movdqa xmm0, xmmword [0x140062a40]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], 0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [0x1400622a0]
movups xmmword [rsp + 0x50], xmm2
mov edx, dword [0x1400622b0]
mov dword [rsp + 0x60], edx
movzx eax, word [0x1400622b4]
mov word [rsp + 0x64], ax
movzx eax, byte [0x1400622b6]
mov byte [rsp + 0x66], al
mov ecx, edi
cmp esi, 2
jl 0x140052635
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x60], xmm2
mov ecx, 0x14
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
nop
mov eax, ecx
and eax, 0x80000007
jge 0x140052650
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x17
jl 0x140052640
lea rdx, [0x14006c4cc]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [0x140062550]
movups xmmword [rbp - 0x48], xmm2
movsd xmm0, qword [0x140062560]
movsd qword [rbp - 0x38], xmm0
cmp byte [0x140062567], 0
je 0x1400527b4
mov edx, edi
cmp esi, 2
jl 0x140052799
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rbp - 0x48], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x44]
xorps xmm2, xmm1
movd dword [rbp - 0x44], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x40]
xorps xmm2, xmm1
movd dword [rbp - 0x40], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x3c]
xorps xmm2, xmm1
movd dword [rbp - 0x3c], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x38]
xorps xmm2, xmm1
movd dword [rbp - 0x38], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x34]
xorps xmm2, xmm1
movd dword [rbp - 0x34], xmm2
jmp 0x1400527b4
lea rcx, [rbp - 0x48]
nop dword [rax]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 0x18
jl 0x1400527a0
lea rdx, [0x14006c4ca]
lea rcx, [rbp - 0x48]
call fcn.140050060
cmp byte [0x14006c4ca], 0
je 0x140052c71
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm0, xmmword [0x1400626f0]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140062700]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [str._._1_]
mov dword [rbp - 0x68], eax
movzx eax, word [0x14006270c]
mov word [rbp - 0x64], ax
cmp byte [0x14006270d], 0
je 0x140052954
mov ecx, edi
cmp esi, 2
jl 0x14005292c
movdqa xmm2, xmmword [0x140062a90]
movdqa xmm3, xmmword [str._a_a_a_a]
movdqa xmmword [rsp + 0x50], xmm10
lea rdx, [rbp - 0x7c]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
nop word [rax + rax]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
xorps xmm0, xmm0
pcmpgtd xmm0, xmm1
andps xmm0, xmm3
paddd xmm0, xmm1
psrad xmm0, 3
pslld xmm0, 3
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm1, xmm0
movd dword [rdx - 4], xmm1
lea eax, [rcx + 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
xorps xmm0, xmm0
pcmpgtd xmm0, xmm1
andps xmm0, xmm3
paddd xmm0, xmm1
psrad xmm0, 3
pslld xmm0, 3
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, r8d
paddb xmm1, xmm0
movd xmm0, dword [rdx]
xorps xmm1, xmm0
movd dword [rdx], xmm1
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140052880
cmp ecx, 0x1e
jge 0x140052954
movsxd rax, ecx
lea rdx, [rbp - 0x80]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140052946
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x1e
jl 0x140052936
lea rdx, [0x14006c4ce]
lea rcx, [rbp - 0x80]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
or dword [rcx + 0x4a08], 1
mov dword [rcx + 0x4a20], 0x43480000
movups xmm2, xmmword [0x140062338]
movups xmmword [rsp + 0x50], xmm2
mov edx, dword [0x140062348]
mov dword [rsp + 0x60], edx
movzx eax, word [0x14006234c]
mov word [rsp + 0x64], ax
cmp byte [0x14006234d], 0
je 0x140052abe
mov ecx, edi
cmp esi, 2
jl 0x140052a95
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x60], xmm2
mov ecx, 0x14
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
nop
mov eax, ecx
and eax, 0x80000007
jge 0x140052ab0
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x16
jl 0x140052aa0
mov dword [rbp - 0x80], 0x447a0000
mov dword [rsp + 0x40], 0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [0x14006c4d0]
lea rcx, [rsp + 0x50]
call fcn.140039b70
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov dword [rsp + 0x50], 0x43480000
mov dword [rsp + 0x54], 0x41f00000
movsd xmm0, qword [0x1400622f0]
movsd qword [rbp - 0x80], xmm0
mov edx, dword [0x1400622f8]
mov dword [rbp - 0x78], edx
movzx eax, word [0x1400622fc]
mov word [rbp - 0x74], ax
movzx eax, byte [0x1400622fe]
mov byte [rbp - 0x72], al
mov ecx, edi
cmp esi, 2
jl 0x140052bd0
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x1400622f0]
xorps xmm1, xmm0
movd dword [rbp - 0x80], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x7c]
xorps xmm2, xmm1
movd dword [rbp - 0x7c], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rbp - 0x78], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rbp - 0x80]
add rdx, rax
nop dword [rax]
mov eax, ecx
and eax, 0x80000007
jge 0x140052bf0
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xf
jl 0x140052be0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x28]
call fcn.140048eb0
nop
lea r8, [rsp + 0x50]
lea rdx, [0x14006b398]
lea rcx, [rbp - 0x28]
call fcn.140050bf0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140052c60
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052c5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140052c5b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005888c
movdqa xmm0, xmmword [0x140062a40]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
cmp dword [0x14006b188], 2
jne 0x14005378b
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm1, dword [rax + 0x28]
subss xmm1, dword [rax + 0x98]
addss xmm1, xmm12
movss xmm0, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x9c]
addss xmm0, dword [0x1400628cc]
movss dword [rax + 0x118], xmm1
movss dword [rax + 0x11c], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [str._r5.__f]
movups xmmword [rsp + 0x50], xmm2
movdqa xmm0, xmm2
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140052da6
mov edx, edi
cmp esi, 2
jl 0x140052d8d
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
jmp 0x140052da6
lea rcx, [rsp + 0x50]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 0x10
jl 0x140052d92
lea rcx, [rsp + 0x50]
call fcn.140034f30
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x1400625b8]
movsd qword [rsp + 0x50], xmm0
movzx eax, word [0x1400625c0]
mov word [rsp + 0x58], ax
cmp byte [0x1400625c1], 0
je 0x140052e41
mov byte [rsp + 0x50], 0x20
xor byte [rsp + 0x51], 0x5c
xor byte [rsp + 0x52], 0x5d
xor byte [rsp + 0x53], 0x5e
xor byte [rsp + 0x54], 0x5f
xor byte [rsp + 0x55], 0x60
xor byte [rsp + 0x56], 0x61
xor byte [rsp + 0x57], 0x62
xor byte [rsp + 0x58], 0x5b
xor byte [rsp + 0x59], 0x5c
lea rdx, [0x14006b388]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [str.]
movups xmmword [rsp + 0x50], xmm2
movzx eax, word [0x140062770]
mov word [rsp + 0x60], ax
movzx eax, byte [0x140062772]
mov byte [rsp + 0x62], al
mov ecx, edi
cmp esi, 2
jl 0x140052f48
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
mov ecx, 0x10
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140052f62
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x13
jl 0x140052f52
lea rdx, [0x14006b389]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [0x1400623d8]
movups xmmword [rsp + 0x50], xmm2
movzx eax, byte [0x1400623e8]
mov byte [rsp + 0x60], al
mov ecx, edi
cmp esi, 2
jl 0x14005306b
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
mov ecx, 0x10
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140053085
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x11
jl 0x140053075
lea rdx, [0x14006b38a]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x140062510]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [0x140062518]
mov dword [rsp + 0x58], edx
movzx eax, word [0x14006251c]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x14006251e]
mov byte [rsp + 0x5e], al
mov ecx, edi
cmp esi, 2
jl 0x140053180
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062510]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
nop word [rax + rax]
mov eax, ecx
and eax, 0x80000007
jge 0x1400531a0
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xf
jl 0x140053190
lea rdx, [0x14006c4c6]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
lea rdx, [0x14006b185]
lea rcx, str.______Debug
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x140062528]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [0x140062530]
mov dword [rsp + 0x58], edx
movzx eax, word [0x140062534]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x140062536]
mov byte [rsp + 0x5e], al
mov ecx, edi
cmp esi, 2
jl 0x1400532ea
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062528]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140053304
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xf
jl 0x1400532f4
lea rdx, [0x14006c4c3]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm1, xmmword [0x140062270]
movups xmmword [rsp + 0x50], xmm1
psrldq xmm1, 0xf
movd eax, xmm1
test al, al
je 0x140053429
mov edx, edi
cmp esi, 2
jl 0x140053410
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062270]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
jmp 0x140053429
lea rcx, [rsp + 0x50]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 0x10
jl 0x140053415
lea rdx, [0x14006c4c7]
lea rcx, [rsp + 0x50]
call fcn.140050060
mov eax, dword [0x140062744]
mov dword [rbp - 0x60], eax
movzx eax, word [0x140062748]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x14006274a]
mov byte [rbp - 0x60], 0x43
xor byte [rbp - 0x5f], 0x5c
xor byte [rbp - 0x5e], 0x5d
xor byte [rbp - 0x5d], 0x5e
xor byte [rbp - 0x5c], 0x5f
xor byte [rbp - 0x5b], 0x60
xor al, 0x61
mov byte [rbp - 0x5a], al
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
cmp byte [rax + 0xcf], 0
jne 0x1400534d5
lea r8, [rbp - 0x60]
lea rax, [rbp - 0x60]
cmp rax, 0xffffffffffffffff
jae 0x1400534c1
movzx ecx, byte [r8]
test cl, cl
je 0x1400534c1
cmp cl, 0x23
jne 0x1400534b8
cmp byte [r8 + 1], cl
je 0x1400534c1
inc r8
cmp r8, 0xffffffffffffffff
jb 0x1400534a5
movaps xmm3, xmm12
lea rdx, [rbp - 0x60]
call fcn.1400380f0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov eax, dword [0x140062310]
mov dword [rsp + 0x40], eax
cmp byte [0x140062313], 0
je 0x140053564
mov edx, edi
cmp esi, 2
jl 0x140053541
movd ecx, xmm8
movd xmm1, ecx
paddb xmm1, xmm10
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
jmp 0x140053564
lea rcx, [rsp + 0x40]
nop word [rax + rax]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 4
jl 0x140053550
mov r8d, 0x28
lea rdx, [0x14006b100]
lea rcx, [rsp + 0x40]
call fcn.140040db0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
cmp byte [0x14006c4c4], 0
je 0x1400535e0
mov r8d, 0x28
lea rdx, [0x14006b0f0]
lea rcx, str.Box_Invisable
call fcn.140040db0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov r8d, 0x28
lea rdx, [0x14006b160]
lea rcx, str.Filled_Box
call fcn.140040db0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov r8d, 0x28
lea rdx, [0x14006b110]
lea rcx, str.Skeleton
call fcn.140040db0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
cmp byte [0x14006c4c4], 0
je 0x1400536e8
mov r8d, 0x28
lea rdx, [0x14006b150]
lea rcx, str.Skeleton_Invisable
call fcn.140040db0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov r8d, 0x28
lea rdx, [0x14006b140]
lea rcx, str.Snaplines
call fcn.140040db0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov r8d, 0x28
lea rdx, [0x14006b0c0]
lea rcx, [0x14005b870]
call fcn.140040db0
cmp dword [0x14006b188], 3
jne 0x14005419b
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
or dword [rcx + 0x4a08], 1
mov dword [rcx + 0x4a20], 0x43480000
movsd xmm0, qword [0x140062540]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [str.233__]
mov dword [rsp + 0x58], edx
movzx eax, byte [0x14006254c]
mov byte [rsp + 0x5c], al
mov ecx, edi
cmp esi, 2
jl 0x140053879
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062540]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140053893
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xd
jl 0x140053883
lea rcx, [rsp + 0x50]
call fcn.140034f30
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
or dword [rcx + 0x4a08], 1
mov dword [rcx + 0x4a20], 0x43480000
mov dword [rbp - 0x80], 0x44bb8000
mov dword [rsp + 0x40], 0x42c80000
movsd xmm0, qword [0x140062260]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [str.:2___]
mov dword [rsp + 0x58], edx
movzx eax, byte [0x14006226c]
mov byte [rsp + 0x5c], al
mov ecx, edi
cmp esi, 2
jl 0x14005399b
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062260]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov ecx, 0xc
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x1400539b5
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0xd
jl 0x1400539a5
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [0x14006b360]
lea rcx, [rsp + 0x50]
call fcn.140039b70
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [0x140062718]
movups xmmword [rsp + 0x50], xmm2
movzx eax, word [0x140062728]
mov word [rsp + 0x60], ax
cmp byte [0x140062729], 0
je 0x140053b02
mov ecx, edi
cmp esi, 2
jl 0x140053ada
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
mov ecx, 0x10
mov eax, ecx
lea rdx, [rsp + 0x50]
add rdx, rax
mov eax, ecx
and eax, 0x80000007
jge 0x140053af4
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rdx], al
inc ecx
inc rdx
cmp ecx, 0x12
jl 0x140053ae4
lea rdx, [0x14006c4c1]
lea rcx, [rsp + 0x50]
call fcn.1400368b0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [0x140062690]
movups xmmword [rsp + 0x70], xmm2
movdqa xmm0, xmm2
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140053c24
mov edx, edi
cmp esi, 2
jl 0x140053c04
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x70], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x74]
xorps xmm2, xmm1
movd dword [rsp + 0x74], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x78]
xorps xmm2, xmm1
movd dword [rsp + 0x78], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x7c]
xorps xmm2, xmm1
movd dword [rsp + 0x7c], xmm2
jmp 0x140053c24
lea rcx, [rsp + 0x70]
nop dword [rax]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 0x10
jl 0x140053c10
lea rdx, [0x14006ba5d]
lea rcx, [rsp + 0x70]
call fcn.1400368b0
cmp byte [0x14006ba5d], 0
je 0x140053fc3
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movups xmm2, xmmword [str._v9_1__r]
movups xmmword [rsp + 0x50], xmm2
movdqa xmm0, xmm2
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140053d54
mov edx, edi
cmp esi, 2
jl 0x140053d33
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
jmp 0x140053d54
lea rcx, [rsp + 0x50]
nop dword [rax + rax]
movzx eax, dl
and al, 7
add al, 0x5b
xor byte [rcx], al
inc edx
lea rcx, [rcx + 1]
cmp edx, 0x10
jl 0x140053d40
lea rdx, [0x14006ba5a]
lea rcx, [rsp + 0x50]
call fcn.1400368b0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x140062568]
movsd qword [rsp + 0x50], xmm0
mov edx, dword [0x140062570]
mov dword [rsp + 0x58], edx
movzx eax, word [0x140062574]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x140062576]
mov byte [rsp + 0x5e], al
cmp esi, 2
jl 0x140053e3f
movd eax, xmm8
movd xmm1, eax
movd ecx, xmm10
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [0x140062568]
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movd eax, xmm9
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movd eax, xmm8
movd xmm2, eax
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, edx
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
mov edi, 0xc
mov eax, edi
lea rcx, [rsp + 0x50]
add rcx, rax
nop dword [rax]
mov eax, edi
and eax, 0x80000007
jge 0x140053e60
dec eax
or eax, 0xfffffff8
inc eax
add al, 0x5b
xor byte [rcx], al
inc edi
inc rcx
cmp edi, 0xf
jl 0x140053e50
lea rdx, [0x14006ba5c]
lea rcx, [rsp + 0x50]
call fcn.1400368b0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [0x140062598]
movsd qword [rsp + 0x50], xmm0
movzx eax, word [0x1400625a0]
mov word [rsp + 0x58], ax
cmp byte [0x1400625a1], 0
je 0x140053f10
mov byte [rsp + 0x50], 0x4e
xor byte [rsp + 0x51], 0x5c
xor byte [rsp + 0x52], 0x5d
xor byte [rsp + 0x53], 0x5e
xor byte [rsp + 0x54], 0x5f
xor byte [rsp + 0x55], 0x60
xor byte [rsp + 0x56], 0x61
xor byte [rsp + 0x57], 0x62
xor byte [rsp + 0x58], 0x5b
xor byte [rsp + 0x59], 0x5c
lea rdx, [0x14006ba59]
lea rcx, [rsp + 0x50]
call fcn.1400368b0
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
movsd xmm0, qword [str._t_7__b]
movsd qword [rsp + 0x50], xmm0
movzx eax, word [0x140062450]
mov word [rsp + 0x58], ax
cmp byte [0x140062451], 0
je 0x140053fb2
mov byte [rsp + 0x50], 0x52
xor byte [rsp + 0x51], 0x5c
xor byte [rsp + 0x52], 0x5d
xor byte [rsp + 0x53], 0x5e
xor byte [rsp + 0x54], 0x5f
xor byte [rsp + 0x55], 0x60
xor byte [rsp + 0x56], 0x61
xor byte [rsp + 0x57], 0x62
xor byte [rsp + 0x58], 0x5b
xor byte [rsp + 0x59], 0x5c
lea rdx, [0x14006ba5b]
lea rcx, [rsp + 0x50]
call fcn.1400368b0
mov rbx, qword [0x14006ba60]
or dword [rbx + 0x4a08], 1
mov dword [rbx + 0x4a20], 0x43480000
movdqa xmm6, xmmword [0x140062cb0]
mov dword [rbp - 0x80], 0x15
movups xmm0, xmmword [rbx + 0x3b40]
movups xmmword [rbp - 0x7c], xmm0
lea rcx, [rbx + 0x4b08]
lea rdx, [rbp - 0x80]
call fcn.14001e270
cmp dword [rbx + 0x4b04], 0x15
je 0x140054015
movups xmmword [rbx + 0x3b40], xmm6
movdqa xmm6, xmmword [0x140062cc0]
mov rbx, qword [0x14006ba60]
mov dword [rsp + 0x50], 0x17
movups xmm0, xmmword [rbx + 0x3b60]
movups xmmword [rsp + 0x54], xmm0
lea rcx, [rbx + 0x4b08]
lea rdx, [rsp + 0x50]
call fcn.14001e270
cmp dword [rbx + 0x4b04], 0x17
je 0x140054059
movups xmmword [rbx + 0x3b60], xmm6
movdqa xmm6, xmmword [0x140062cb0]
mov rbx, qword [0x14006ba60]
mov dword [rsp + 0x50], 0x16
movups xmm0, xmmword [rbx + 0x3b50]
movups xmmword [rsp + 0x54], xmm0
lea rcx, [rbx + 0x4b08]
lea rdx, [rsp + 0x50]
call fcn.14001e270
cmp dword [rbx + 0x4b04], 0x16
je 0x14005409d
movups xmmword [rbx + 0x3b50], xmm6
mov rcx, qword [0x14006ba60]
mov rax, qword [rcx + 0x4078]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4078]
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm7
movss dword [rax + 0x118], xmm0
mov byte [rax + 0x159], 1
mov qword [rsp + 0x50], 0
mov eax, dword [str..211_]
mov dword [rsp + 0x70], eax
movzx ecx, word [0x1400622e0]
mov word [rsp + 0x74], cx
movzx eax, byte [0x1400622e2]
mov byte [rsp + 0x70], 0x75
xor byte [rsp + 0x71], 0x5c
xor byte [rsp + 0x72], 0x5d
xor byte [rsp + 0x73], 0x5e
xor cl, 0x5f
mov byte [rsp + 0x74], cl
xor byte [rsp + 0x75], 0x60
xor al, 0x61
mov byte [rsp + 0x76], al
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.140035830
test al, al
je 0x140054141
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r8, qword [0x14006ba60]
mov eax, dword [r8 + 0x4b08]
cmp eax, 3
jge 0x140054160
mov r15d, eax
test eax, eax
jle 0x14005419b
nop dword [rax + rax]
cdqe
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4b10]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, 0x39f
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8], xmm0
dec dword [r8 + 0x4b08]
mov eax, dword [r8 + 0x4b08]
dec r15d
test r15d, r15d
jg 0x140054160
call fcn.14000b540
call fcn.14000b540
call fcn.140010be0
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400586f0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret