Function at 0x140003a90
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x268]
sub rsp, 0x340
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14000f070]
xor rax, rsp
mov qword [rbp + 0x198], rax
xor r12d, r12d
mov dword [rbp + 0x150], r12d
lea edx, [r12 + 1]
mov rcx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_UpdateWindow]
lea r9d, [r12 + 2]
mov r8b, 0xff
xor edx, edx
mov rcx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
cmp dword [rbp + 0x150], 0x12
je 0x140005e13
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x14000f1a8]
lea rcx, [rbp + 0x148]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140003b93
lea rcx, [rbp + 0x148]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x148]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov rcx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_UpdateWindow]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10c], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x11c], xmm1
movdqu xmmword [rbp + 0x12c], xmm0
mov qword [rbp + 0x13c], r12
mov dword [rbp + 0x108], 0x3c
lea rdx, [rbp + 0x108]
mov rcx, qword [0x14000f1b8]
call qword [sym.imp.USER32.dll_GetWindowInfo]
mov eax, dword [rbp + 0x128]
sub eax, dword [rbp + 0x120]
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0x124]
sub eax, dword [rbp + 0x11c]
mov dword [rbp + 0xc0], eax
mov rcx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x140003ca2
mov ecx, dword [rbp + 0xc4]
inc ecx
mov eax, dword [rbp + 0xc0]
inc eax
mov r9d, dword [rbp + 0x120]
dec r9d
mov r8d, dword [rbp + 0x11c]
dec r8d
mov dword [rsp + 0x30], 0x40
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
xor edx, edx
mov rcx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_SetWindowPos]
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x14000f1a8]
mov rcx, qword [0x14000f1c0]
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x14000f180]
mov rax, qword [rcx]
lea rdx, [rbp + 0xc0]
call qword [rax + 0x1d0]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x14000f1c0]
cmp rcx, rax
jne 0x140003cdb
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x14000f1a8]
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x140003ce6
mov rax, qword [0x14000f1f8]
mov byte [rax + 0x38], 1
mov rcx, qword [0x14000f180]
mov rax, qword [rcx]
call qword [rax + 0x180]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov rcx, qword [0x14000f180]
mov rax, qword [rcx]
lea rdx, [rbp - 0x10]
call qword [rax + 0x178]
movabs rdi, 0x7fffffffffffffff
cmp qword [0x14000f1d0], r12
je 0x140005dae
mov ecx, 0x60
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edi, 4
lea esi, [rdi + 0x1b]
mov ebx, dword [reloc.d2d1.dll_Ordinal_1]
test ax, ax
je 0x1400040d5
cmp byte [0x14000f001], r12b
jne 0x1400040cc
cmp byte [section..data], r12b
jne 0x140003f15
mov byte [section..data], 1
movups xmm0, xmmword [0x14000b5f8]
movups xmmword [rbp - 0x70], xmm0
mov eax, dword [0x14000b608]
mov dword [rbp - 0x60], eax
cmp byte [0x14000b60b], r12b
je 0x140003f0c
mov ecx, r12d
cmp ebx, 2
jl 0x140003ed4
movdqa xmm5, xmmword [0x14000b7a0]
movdqa xmm4, xmmword [0x14000b810]
movd xmm6, edi
movdqa xmm7, xmmword [0x14000b7c0]
movd xmm8, esi
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x6c]
mov r8d, dword [rbp - 0x10]
nop
movd xmm2, ecx
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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
pxor xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
pxor xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x140003dd0
cmp ecx, 0x14
jge 0x140003f0c
movsxd rax, ecx
lea r8, [rbp - 0x70]
add r8, rax
nop
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x36
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x14
jl 0x140003ee0
lea rdx, [rbp - 0x70]
jmp 0x1400040c0
mov byte [section..data], r12b
movups xmm0, xmmword [str._rKI]
movups xmmword [rbp - 0x70], xmm0
mov eax, dword [str.fwaCJ]
mov dword [rbp - 0x60], eax
movzx eax, byte [0x14000b624]
mov byte [rbp - 0x5c], al
mov ecx, r12d
cmp ebx, 2
jl 0x140004084
movdqa xmm5, xmmword [0x14000b7a0]
movdqa xmm4, xmmword [0x14000b810]
movd xmm6, edi
movdqa xmm7, xmmword [0x14000b7c0]
movd xmm8, esi
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x6c]
mov r8d, dword [rbp - 0x10]
nop dword [rax]
movd xmm2, ecx
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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
pxor xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
pxor xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x140003f80
cmp ecx, 0x15
jge 0x1400040bc
movsxd rax, ecx
lea r8, [rbp - 0x70]
add r8, rax
nop
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x36
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x15
jl 0x140004090
lea rdx, [rbp - 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001280
mov byte [0x14000f001], 1
jmp 0x1400040dc
mov byte [0x14000f001], r12b
cmp byte [section..data], r12b
je 0x140005da4
mov ecx, 0x50
cmp byte [0x14000f1cc], r12b
jne 0x140004126
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140004140
mov byte [0x14000f1cc], 1
mov rax, qword [0x14000f1f8]
inc byte [rax + 3]
mov rax, qword [0x14000f1f8]
cmp byte [rax + 3], 2
jle 0x140004140
mov byte [rax + 3], r12b
jmp 0x140004140
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ecx, byte [0x14000f1cc]
test ax, ax
cmove ecx, r12d
mov byte [0x14000f1cc], cl
mov rax, qword [0x14000f1f0]
mov edx, dword [rax + 0xc]
dec edx
lea rcx, [rbp + 0x178]
call fcn.1400062f0
nop
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0xa0]
call fcn.140001bf0
movss xmm10, dword [0x14000b720]
movss dword [rsp + 0x38], xmm10
movss xmm0, dword [0x14000b718]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm0
xorps xmm9, xmm9
xorps xmm3, xmm3
xorps xmm2, xmm2
movss xmm6, dword [0x14000b764]
movaps xmm1, xmm6
mov rcx, rax
call fcn.140002c50
mov rax, qword [0x14000f1f8]
movzx ecx, byte [rax + 3]
test cl, cl
jne 0x1400043b8
movups xmm0, xmmword [0x14000b628]
movups xmmword [rbp - 0x70], xmm0
movzx eax, word [0x14000b638]
mov word [rbp - 0x60], ax
movzx eax, byte [0x14000b63a]
mov byte [rbp - 0x5e], al
mov r8d, r12d
cmp ebx, 2
jl 0x140004339
movdqa xmm5, xmmword [0x14000b7a0]
movdqa xmm4, xmmword [0x14000b810]
movd xmm7, edi
movdqa xmm8, xmmword [0x14000b7c0]
movd xmm11, esi
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x6c]
mov edx, dword [rbp - 0x10]
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, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm11
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm11
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140004230
cmp r8d, 0x13
jge 0x140004380
movsxd rax, r8d
lea r9, [rbp - 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x140004350
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xa0]
call fcn.140001cc0
movss xmm0, dword [0x14000b71c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
jmp 0x140004793
cmp cl, 1
jne 0x14000459a
movups xmm0, xmmword [0x14000b640]
movups xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [0x14000b650]
movsd qword [rbp - 0x60], xmm1
cmp byte [0x14000b657], 0
je 0x140004569
mov r8d, r12d
cmp ebx, 2
jl 0x140004533
movdqa xmm5, xmmword [0x14000b7a0]
mov edx, r12d
movdqa xmm4, xmmword [0x14000b810]
movd xmm7, edi
movdqa xmm8, xmmword [0x14000b7c0]
movd xmm11, esi
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x6c]
mov r8d, dword [rbp - 0x10]
nop dword [rax]
movd xmm2, edx
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, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm11
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 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, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm11
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x18
jl 0x140004430
jmp 0x140004569
lea r9, [rbp - 0x70]
nop word [rax + rax]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x18
jl 0x140004540
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xa0]
call fcn.140001cc0
movss xmm0, dword [0x14000b71c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm10
jmp 0x14000478c
movups xmm0, xmmword [0x14000b658]
movups xmmword [rbp - 0x70], xmm0
mov eax, dword [0x14000b668]
mov dword [rbp - 0x60], eax
movzx eax, word [0x14000b66c]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x14000b66e]
mov byte [rbp - 0x5a], al
mov r8d, r12d
cmp ebx, 2
jl 0x140004719
movdqa xmm5, xmmword [0x14000b7a0]
movdqa xmm4, xmmword [0x14000b810]
movd xmm7, edi
movdqa xmm8, xmmword [0x14000b7c0]
movd xmm11, esi
movdqa xmm0, xmmword [str.6666666666666666]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x6c]
mov edx, dword [rbp - 0x10]
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, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm11
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm11
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14000b7e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140004610
cmp r8d, 0x17
jge 0x140004760
movsxd rax, r8d
lea r9, [rbp - 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140004730
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xa0]
call fcn.140001cc0
movss xmm0, dword [0x14000b71c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm9
movss dword [rsp + 0x20], xmm10
movss xmm3, dword [0x14000b768]
movaps xmm2, xmm9
movaps xmm1, xmm6
mov rcx, rax
call fcn.140002c50
mov rax, qword [0x14000f1f8]
cmp byte [rax + 1], 0
jle 0x140005d85
mov byte [rax + 0x1c], 1
mov dword [rsp + 0x54], r12d
mov rsi, qword [0x14000f1f0]
mov r13d, dword [0x14000fba0]
mov r15d, dword [0x14000f23c]
cmp dword [rsi + 0xc], 0
jle 0x140005a78
mov r14, r12
mov qword [rbp - 0x20], r12
movzx edi, byte [rsp + 0x50]
movzx ebx, byte [rsp + 0x50]
movss xmm11, dword [0x14000b750]
nop dword [rax]
lea rax, [r14 + 2]
lea rax, [rax + rax*2]
add rax, rax
movsd xmm1, qword [rsi + rax*8]
mov eax, dword [rsi + rax*8 + 8]
mov dword [rbp - 0x68], eax
movsd xmm6, qword [rsi]
mov eax, dword [rsi + 8]
mov dword [rbp - 8], eax
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
movaps xmm7, xmm1
shufps xmm7, xmm7, 0x55
movsd qword [rbp - 0x70], xmm1
subss xmm0, xmm7
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm8, xmm0
movsd qword [rbp - 0x10], xmm6
movss xmm14, dword [rbp - 0x70]
subss xmm6, xmm14
movaps xmm1, xmm11
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
movss xmm0, dword [rbp - 8]
movss xmm15, dword [rbp - 0x68]
subss xmm0, xmm15
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x140004894
sqrtss xmm8, xmm8
jmp 0x1400048a1
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
movss xmm0, dword [0x14000b754]
comiss xmm0, xmm8
ja 0x140005a5b
movups xmm1, xmmword [rsi + 0x14]
movaps xmmword [rbp + 0x60], xmm1
movups xmm4, xmmword [rsi + 0x24]
movaps xmmword [rbp + 0x70], xmm4
movups xmm0, xmmword [rsi + 0x34]
movaps xmmword [rbp + 0x80], xmm0
movups xmm2, xmmword [rsi + 0x44]
movaps xmmword [rbp + 0x90], xmm2
shufps xmm4, xmm4, 0xff
mulss xmm4, xmm7
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm14
addss xmm4, xmm1
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm15
addss xmm4, xmm0
shufps xmm2, xmm2, 0xff
addss xmm4, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm4
movsd xmm3, qword [str.333333]
comisd xmm3, xmm0
jbe 0x140004925
movaps xmm6, xmm9
movaps xmm12, xmm9
jmp 0x1400049ec
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movss xmm6, dword [rbp + 0x70]
mulss xmm6, xmm7
movss xmm0, dword [rbp + 0x60]
mulss xmm0, xmm14
addss xmm6, xmm0
movss xmm1, dword [rbp + 0x80]
mulss xmm1, xmm15
addss xmm6, xmm1
addss xmm6, dword [rbp + 0x90]
mulss xmm6, xmm2
divss xmm6, xmm4
addss xmm6, xmm2
xorps xmm12, xmm12
cvtsi2ss xmm12, r15d
movss xmm2, dword [rbp + 0x74]
mulss xmm2, xmm7
movss xmm0, dword [rbp + 0x64]
mulss xmm0, xmm14
addss xmm2, xmm0
movss xmm1, dword [rbp + 0x84]
mulss xmm1, xmm15
addss xmm2, xmm1
addss xmm2, dword [rbp + 0x94]
mulss xmm2, xmm3
divss xmm2, xmm4
addss xmm2, xmm3
subss xmm12, xmm2
movss xmm0, dword [0x14000b784]
comiss xmm0, xmm6
ja 0x140005a5b
comiss xmm0, xmm12
ja 0x140005a5b
movsd xmm3, qword [str.333333]
lea eax, [r13 + 0x190]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
ja 0x140005a5b
lea eax, [r15 + 0x190]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm12, xmm0
ja 0x140005a5b
ucomiss xmm6, xmm9
jp 0x140004a27
je 0x140005a5b
ucomiss xmm12, xmm9
jp 0x140004a33
je 0x140005a5b
lea r12, [r14 + r14*2]
add r12, r12
movzx r14d, byte [rsi + r12*8 + 0x54]
mov byte [rsp + 0x50], 0
cmp dword [rsi + r12*8 + 0x58], 1
jne 0x140004a5c
addss xmm7, xmm10
mov r14b, 2
mov byte [rsp + 0x50], 1
jmp 0x140004aab
cmp r14b, 1
jne 0x140004a76
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
addsd xmm0, qword [0x14000b740]
mov r14b, 2
jmp 0x140004aa7
cmp r14b, 2
jne 0x140004a90
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
addsd xmm0, qword [0x14000b730]
mov r14b, 6
jmp 0x140004aa7
test r14b, r14b
jne 0x140004aab
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
addsd xmm0, qword [0x14000b748]
mov r14b, 1
cvtpd2ps xmm7, xmm0
movups xmm0, xmmword [rsi + 0x14]
movaps xmmword [rbp + 0x20], xmm0
movups xmm4, xmmword [rsi + 0x24]
movaps xmmword [rbp + 0x30], xmm4
movups xmm1, xmmword [rsi + 0x34]
movaps xmmword [rbp + 0x40], xmm1
movups xmm2, xmmword [rsi + 0x44]
movaps xmmword [rbp + 0x50], xmm2
shufps xmm4, xmm4, 0xff
mulss xmm4, xmm7
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm14
addss xmm4, xmm0
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm15
addss xmm4, xmm1
shufps xmm2, xmm2, 0xff
addss xmm4, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm4
comisd xmm3, xmm0
jbe 0x140004b0f
movaps xmm11, xmm9
movaps xmm13, xmm9
jmp 0x140004baf
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movss xmm11, dword [rbp + 0x30]
mulss xmm11, xmm7
movss xmm0, dword [rbp + 0x20]
mulss xmm0, xmm14
addss xmm11, xmm0
movss xmm1, dword [rbp + 0x40]
mulss xmm1, xmm15
addss xmm11, xmm1
addss xmm11, dword [rbp + 0x50]
mulss xmm11, xmm2
divss xmm11, xmm4
addss xmm11, xmm2
xorps xmm13, xmm13
cvtsi2ss xmm13, r15d
movss xmm2, dword [rbp + 0x34]
mulss xmm2, xmm7
movss xmm0, dword [rbp + 0x24]
mulss xmm0, xmm14
addss xmm2, xmm0
movss xmm1, dword [rbp + 0x44]
mulss xmm1, xmm15
addss xmm2, xmm1
addss xmm2, dword [rbp + 0x54]
mulss xmm2, xmm3
divss xmm2, xmm4
addss xmm2, xmm3
subss xmm13, xmm2
movaps xmm0, xmm12
subss xmm0, xmm13
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm1, qword [0x14000b738]
cvtpd2ps xmm7, xmm1
comiss xmm7, dword [0x14000b77c]
ja 0x140005a4e
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si edx, xmm0
lea rcx, [rsp + 0x68]
call fcn.1400062f0
mov rsi, rax
mov rax, qword [rax + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rax, rdx
jae 0x140004c1b
lea rcx, [rax + 1]
mov qword [rsi + 0x10], rcx
mov rcx, rsi
cmp rdx, 0x10
jb 0x140004c13
mov rcx, qword [rsi]
mov word [rcx + rax], 0x6d
jmp 0x140004c2f
mov r9b, 0x6d
movzx r8d, dil
mov edx, 1
mov rcx, rsi
call fcn.140001960
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0xe8], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbp + 0xf8], xmm1
xor r13d, r13d
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r13b
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x140004c92
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004c8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005bcb
call fcn.140009b84
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rax, qword [0x14000f1f0]
movss xmm0, dword [rax + r12*8 + 0x5c]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si edx, xmm0
lea rcx, [rbp]
call fcn.1400062f0
mov rsi, rax
mov rax, qword [rax + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rax, rdx
jae 0x140004cf0
lea rcx, [rax + 1]
mov qword [rsi + 0x10], rcx
mov rcx, rsi
cmp rdx, 0x10
jb 0x140004ce8
mov rcx, qword [rsi]
mov word [rcx + rax], 0x73
jmp 0x140004d04
mov r9b, 0x73
movzx r8d, bl
mov edx, 1
mov rcx, rsi
call fcn.140001960
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0xc8], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbp + 0xd8], xmm1
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140004d63
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004d5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005bd2
call fcn.140009b84
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
cmp byte [rsp + 0x50], 0
je 0x140004deb
mov eax, dword [0x14000b670]
mov dword [rsp + 0x5c], eax
movzx eax, word [0x14000b674]
mov word [rsp + 0x60], ax
movzx eax, byte [0x14000b676]
mov byte [rsp + 0x5c], 0x69
xor byte [rsp + 0x5d], 0x37
xor byte [rsp + 0x5e], 0x38
xor byte [rsp + 0x5f], 0x39
xor byte [rsp + 0x60], 0x3a
xor byte [rsp + 0x61], 0x3b
xor al, 0x3c
mov byte [rsp + 0x62], al
lea rax, [rsp + 0x5c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140004dd0
lea rdx, [rsp + 0x5c]
lea rcx, [rbp + 0xc8]
call fcn.140003390
mov rax, qword [0x14000f1f8]
movzx ecx, byte [rax + 3]
movss xmm14, dword [0x14000b780]
test cl, cl
jne 0x14000549a
movd xmm3, dword [0x14000f23c]
movd xmm2, dword [0x14000f238]
movss dword [rsp + 0x40], xmm10
movss xmm15, dword [0x14000b750]
movaps xmm1, xmm12
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
comiss xmm8, xmm14
jbe 0x1400050c4
movss dword [rsp + 0x38], xmm10
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm9
movss dword [rsp + 0x20], xmm15
movaps xmm0, xmm6
call fcn.140002b80
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm13
movaps xmm2, xmm11
movaps xmm1, xmm12
movaps xmm0, xmm6
call fcn.1400026f0
lea rax, [rbp - 0x48]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r13
lea r15, [rbp + 0xe8]
cmp qword [rbp + 0x100], 0x10
cmovae r15, qword [rbp + 0xe8]
mov r14, qword [rbp + 0xf8]
movabs r12, 0x7fffffffffffffff
cmp r14, 0x10
jae 0x140004f07
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x30], 0xf
jmp 0x140004f77
mov rsi, r14
or rsi, 0xf
cmp rsi, r12
cmova rsi, r12
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140004f51
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e81
mov rcx, rax
call fcn.140009b48
mov rcx, rax
test rax, rax
je 0x140005bd9
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140004f60
test rcx, rcx
je 0x140004f5d
call fcn.140009b48
jmp 0x140004f60
mov rax, r13
mov qword [rbp - 0x48], rax
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x38], r14
lea rax, [rsp + 0x68]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
lea r15, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0x10
cmovae r15, qword [rbp + 0xc8]
mov r14, qword [rbp + 0xd8]
cmp r14, 0x10
jae 0x140004fc9
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x68], xmm0
mov qword [rbp - 0x80], 0xf
jmp 0x14000503a
mov rsi, r14
or rsi, 0xf
cmp rsi, r12
cmova rsi, r12
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140005013
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e87
mov rcx, rax
call fcn.140009b48
mov rcx, rax
test rax, rax
je 0x140005be0
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140005022
test rcx, rcx
je 0x14000501f
call fcn.140009b48
jmp 0x140005022
mov rax, r13
mov qword [rsp + 0x68], rax
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x78], r14
movsxd rax, dword [rsp + 0x54]
lea rcx, [rax + rax*2]
shl rcx, 4
mov rdx, qword [0x14000f1f0]
add rdx, 0x6d
add rdx, rcx
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140005080
lea rcx, [rbp + 0xa0]
call fcn.140003390
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm9
lea r8, [rbp - 0x48]
lea rdx, [rsp + 0x68]
jmp 0x140005a00
movss xmm0, dword [0x14000b778]
comiss xmm8, xmm0
jbe 0x140005367
divss xmm8, xmm14
movaps xmm14, xmm10
subss xmm14, xmm8
movss dword [rsp + 0x38], xmm8
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm15
movaps xmm0, xmm6
call fcn.140002b80
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm13
movaps xmm2, xmm11
movaps xmm1, xmm12
movaps xmm0, xmm6
call fcn.1400026f0
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
lea r15, [rbp + 0xe8]
cmp qword [rbp + 0x100], 0x10
cmovae r15, qword [rbp + 0xe8]
mov r14, qword [rbp + 0xf8]
movabs r12, 0x7fffffffffffffff
cmp r14, 0x10
jae 0x1400051b4
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x68], xmm0
mov qword [rbp - 0x80], 0xf
jmp 0x140005225
mov rsi, r14
or rsi, 0xf
cmp rsi, r12
cmova rsi, r12
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x1400051fe
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e8d
mov rcx, rax
call fcn.140009b48
mov rcx, rax
test rax, rax
je 0x140005be7
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000520d
test rcx, rcx
je 0x14000520a
call fcn.140009b48
jmp 0x14000520d
mov rax, r13
mov qword [rsp + 0x68], rax
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x78], r14
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r13
lea r15, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0x10
cmovae r15, qword [rbp + 0xc8]
mov r14, qword [rbp + 0xd8]
cmp r14, 0x10
jae 0x140005274
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x30], 0xf
jmp 0x1400052e4
mov rsi, r14
or rsi, 0xf
cmp rsi, r12
cmova rsi, r12
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x1400052be
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e7b
mov rcx, rax
call fcn.140009b48
mov rcx, rax
test rax, rax
je 0x140005bee
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400052cd
test rcx, rcx
je 0x1400052ca
call fcn.140009b48
jmp 0x1400052cd
mov rax, r13
mov qword [rbp - 0x48], rax
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x38], r14
movsxd rax, dword [rsp + 0x54]
lea rcx, [rax + rax*2]
shl rcx, 4
mov rdx, qword [0x14000f1f0]
add rdx, 0x6d
add rdx, rcx
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140005323
lea rcx, [rbp + 0xa0]
call fcn.140003390
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm14
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x48]
jmp 0x140005a00
divss xmm8, xmm0
movaps xmm14, xmm10
subss xmm14, xmm8
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm15
movaps xmm0, xmm6
call fcn.140002b80
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm13
movaps xmm2, xmm11
movaps xmm1, xmm12
movaps xmm0, xmm6
call fcn.1400026f0
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x68]
call fcn.140001bf0
mov rsi, rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r14, rax
movsxd rcx, dword [rsp + 0x54]
lea rdx, [rcx + rcx*2]
shl rdx, 4
mov rcx, qword [0x14000f1f0]
add rcx, 0x6d
add rdx, rcx
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140005460
lea rcx, [rbp + 0xa0]
call fcn.140003390
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x38], xmm14
mov r8, rsi
mov rdx, r14
jmp 0x1400059f9
cmp cl, 1
jne 0x1400057aa
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
movss dword [rsp + 0x48], xmm10
movss xmm15, dword [0x14000b750]
movaps xmm3, xmm13
movaps xmm2, xmm11
movaps xmm1, xmm12
comiss xmm8, xmm14
jbe 0x1400055c1
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm7
movaps xmm0, xmm6
call fcn.1400026f0
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x68]
call fcn.140001bf0
mov rsi, rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r14, rax
movsxd rcx, dword [rsp + 0x54]
lea rdx, [rcx + rcx*2]
shl rdx, 4
mov rcx, qword [0x14000f1f0]
add rcx, 0x6d
add rdx, rcx
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140005580
lea rcx, [rbp + 0xa0]
call fcn.140003390
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm9
mov r8, rsi
mov rdx, r14
jmp 0x140005a00
movss xmm0, dword [0x14000b778]
comiss xmm8, xmm0
jbe 0x1400056c1
divss xmm8, xmm14
movaps xmm14, xmm10
subss xmm14, xmm8
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm7
movaps xmm0, xmm6
call fcn.1400026f0
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x68]
call fcn.140001bf0
mov rsi, rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r14, rax
movsxd rcx, dword [rsp + 0x54]
lea rdx, [rcx + rcx*2]
shl rdx, 4
mov rcx, qword [0x14000f1f0]
add rcx, 0x6d
add rdx, rcx
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x140005680
lea rcx, [rbp + 0xa0]
call fcn.140003390
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm14
mov r8, rsi
mov rdx, r14
jmp 0x140005a00
divss xmm8, xmm0
movaps xmm14, xmm10
subss xmm14, xmm8
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x38], xmm14
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm7
movaps xmm0, xmm6
call fcn.1400026f0
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x68]
call fcn.140001bf0
mov rsi, rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r14, rax
movsxd rcx, dword [rsp + 0x54]
lea rdx, [rcx + rcx*2]
shl rdx, 4
mov rcx, qword [0x14000f1f0]
add rcx, 0x6d
add rdx, rcx
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140005770
lea rcx, [rbp + 0xa0]
call fcn.140003390
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x38], xmm14
mov r8, rsi
mov rdx, r14
jmp 0x1400059f9
movsxd rax, dword [rsp + 0x54]
lea rsi, [rax + rax*2]
shl rsi, 4
lea rax, [rsp + 0x68]
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x68]
mov qword [rbp - 0x58], rax
comiss xmm8, xmm14
jbe 0x140005888
call fcn.140001bf0
mov r15, rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r12, rax
mov rdx, qword [0x14000f1f0]
add rdx, 0x6d
add rdx, rsi
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140005830
lea rcx, [rbp + 0xa0]
call fcn.140003390
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm9
mov r8, r15
mov rdx, r12
jmp 0x140005a00
movss xmm13, dword [0x14000b778]
call fcn.140001bf0
mov r15, rax
comiss xmm8, xmm13
jbe 0x140005955
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r12, rax
mov rdx, qword [0x14000f1f0]
add rdx, 0x6d
add rdx, rsi
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400058f0
lea rcx, [rbp + 0xa0]
call fcn.140003390
divss xmm8, xmm14
movaps xmm1, xmm10
subss xmm1, xmm8
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x30], xmm1
mov r8, r15
mov rdx, r12
jmp 0x140005a00
lea rax, [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov r12, rax
mov rdx, qword [0x14000f1f0]
add rdx, 0x6d
add rdx, rsi
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x1400059a0
lea rcx, [rbp + 0xa0]
call fcn.140003390
divss xmm8, xmm13
movaps xmm1, xmm10
subss xmm1, xmm8
divss xmm7, dword [0x14000b758]
movsx eax, r14b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm0
subss xmm6, xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x38], xmm1
mov r8, r15
mov rdx, r12
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x28], xmm12
movss dword [rsp + 0x20], xmm6
mov r9d, 0xe
lea rcx, [rbp + 0xa0]
call fcn.1400028e0
nop
lea rcx, [rbp + 0xc8]
call fcn.140001e10
nop
lea rcx, [rbp + 0xe8]
call fcn.140001e10
mov rsi, qword [0x14000f1f0]
mov r13d, dword [0x14000fba0]
mov r15d, dword [0x14000f23c]
mov r14, qword [rbp - 0x20]
movss xmm11, dword [0x14000b750]
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
inc r14
mov qword [rbp - 0x20], r14
cmp eax, dword [rsi + 0xc]
jl 0x140004800
xor r12d, r12d
mov r14d, r12d
cmp dword [rsi + 0x1d008], 0
jle 0x140005d85
mov rdi, r12
movss xmm12, dword [0x14000b760]
movss xmm15, dword [0x14000b750]
nop dword [rax]
movups xmm0, xmmword [rsi + 0x14]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x24]
movaps xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x34]
movaps xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x44]
movaps xmmword [rbp + 0x50], xmm1
movsd xmm0, qword [rdi + rsi + 0x1cb58]
movsd qword [rbp - 0x10], xmm0
mov eax, dword [rdi + rsi + 0x1cb60]
mov dword [rbp - 8], eax
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x70]
call fcn.1400063f0
movss xmm11, dword [rbp - 0x70]
movss xmm0, dword [0x14000b784]
comiss xmm0, xmm11
ja 0x140005d71
movss xmm7, dword [rbp - 0x6c]
comiss xmm0, xmm7
ja 0x140005d71
lea eax, [r13 + 0x190]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm11, xmm0
ja 0x140005d71
lea eax, [r15 + 0x190]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm0
ja 0x140005d71
ucomiss xmm11, xmm9
jp 0x140005b4a
je 0x140005d71
ucomiss xmm7, xmm9
jp 0x140005b56
je 0x140005d71
movsd xmm6, qword [rsi]
mov eax, dword [rsi + 8]
mov dword [rbp - 0x18], eax
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
subss xmm0, dword [rdi + rsi + 0x1cb5c]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm8, xmm0
movsd qword [rbp - 0x20], xmm6
subss xmm6, dword [rdi + rsi + 0x1cb58]
movaps xmm1, xmm15
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
movss xmm0, dword [rbp - 0x18]
subss xmm0, dword [rdi + rsi + 0x1cb60]
movaps xmm1, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x140005bf5
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x140005bfe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si edx, xmm0
lea rcx, [rbp]
call fcn.1400062f0
nop
mov r8b, 0x6d
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.140001450
nop
lea rcx, [rbp]
call fcn.140001e10
lea rax, [rsp + 0x68]
mov qword [rbp - 0x58], rax
mov eax, dword [str.rRY_:]
mov dword [rsp + 0x54], eax
movzx eax, byte [0x14000b67c]
mov byte [rsp + 0x54], 0x44
xor byte [rsp + 0x55], 0x37
xor byte [rsp + 0x56], 0x38
xor byte [rsp + 0x57], 0x39
xor al, 0x3a
mov byte [rsp + 0x58], al
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 0xf
lea rax, [rsp + 0x54]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140005c80
lea rdx, [rsp + 0x54]
lea rcx, [rsp + 0x68]
call fcn.140003390
lea rax, [rsp + 0x68]
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x48]
call fcn.140001bf0
mov rbx, rax
mov qword [rbp - 0x58], rax
mov rdx, rax
lea rcx, [rbp]
call fcn.140001bf0
movss dword [rsp + 0x38], xmm10
movss dword [rsp + 0x30], xmm10
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm7
movaps xmm2, xmm11
movaps xmm1, xmm12
mov rcx, rax
call fcn.140002c50
lea rdx, [rsp + 0x68]
lea rcx, [rbp]
call fcn.140001bf0
addss xmm7, xmm12
subss xmm7, xmm10
movss dword [rsp + 0x38], xmm10
movss dword [rsp + 0x30], xmm10
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm7
movaps xmm2, xmm11
movaps xmm1, xmm12
mov rcx, rax
call fcn.140002c50
nop
mov rcx, rbx
call fcn.140001e10
nop
lea rcx, [rsp + 0x68]
call fcn.140001e10
nop
lea rcx, [rbp + 0xa0]
call fcn.140001e10
mov rsi, qword [0x14000f1f0]
mov r13d, dword [0x14000fba0]
mov r15d, dword [0x14000f23c]
inc r14d
add rdi, 0xc
cmp r14d, dword [rsi + 0x1d008]
jl 0x140005aa0
mov edx, dword [rbp + 0xc4]
mov ecx, dword [rbp + 0xc0]
call qword [0x14000f1d0]
nop
lea rcx, [rbp + 0x178]
call fcn.140001e10
movabs rdi, 0x7fffffffffffffff
mov rcx, qword [0x14000f180]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x188]
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
movabs rcx, 0x7ffffffffffffffd
cmp rax, rcx
jg 0x140005e06
inc rax
mov qword [rbp - 0x20], rax
jmp 0x140005e0a
mov qword [rbp - 0x20], rdi
lea rcx, [rbp - 0x20]
call fcn.140001ad0
mov rcx, qword [rbp + 0x198]
xor rcx, rsp
call fcn.140009f50
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140003270
nop
call fcn.140003270
nop
call fcn.140003270
nop
call fcn.140003270
int3