Function at 0x14000501c
Capabilities:
Encode data using xor
Inspect section memory permissions

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2e8]
sub rsp, 0x3a8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov dl, 0x1f
call fcn.14005982c
xor r13d, r13d
mov qword [rbp + 0x90], 1
cmp byte [0x1400b64c8], r13b
lea rcx, [rbp + 0x60]
mov dil, 1
sete sil
mov byte [rbp + 0x300], dil
mov byte [rbp + 0x308], sil
call fcn.14000344c
imul rax, qword [rbp + 0x60], 0x3e8
mov rcx, qword [0x1400b6238]
xor edx, edx
div qword [0x1400b6af8]
mov dword [rsp + 0x30], 0x53
xor r9d, r9d
mov dword [rsp + 0x28], r13d
xor r8d, r8d
xor edx, edx
mov qword [rbp + 0xa0], rax
mov dword [rsp + 0x20], r13d
call fcn.1400034d4
mov rcx, qword [0x1400b6238]
call fcn.140003490
lea rdx, [0x1400b52e0]
lea rcx, [0x140067cd0]
call fcn.140003714
test al, al
je 0x1400065da
movss xmm7, dword [0x140067ca4]
lea r15d, [r13 + 8]
movss xmm8, dword [0x140067c5c]
mov r12d, 0xff00ff00
movss xmm14, dword [0x140067c9c]
xorps xmm10, xmm10
movss xmm13, dword [0x140067c7c]
movss xmm11, dword [0x140067cac]
movss xmm12, dword [0x140067c80]
movss xmm15, dword [0x140067c84]
movss xmm9, dword [0x140067cb0]
jmp 0x140005188
lea rcx, [0x1400b53e0]
call fcn.14004e188
lea rdx, [0x1400b53e0]
lea rcx, [0x140067cd2]
call fcn.140003714
test al, al
je 0x14000517c
lea rcx, [rbp + 0x60]
call fcn.14000344c
imul rax, qword [rbp + 0x60], 0x3e8
xor edx, edx
div qword [0x1400b6af8]
mov qword [rbp + 0xa0], rax
mov qword [0x1400b5030], rax
call fcn.140003414
cmp qword [0x1400b6238], rax
sete bl
jne 0x1400051e4
mov rcx, qword [0x1400b5030]
call fcn.14005eda8
test bl, bl
je 0x140005357
mov ecx, 0x24
call fcn.1400033d4
mov word [rsp + 0x60], ax
movzx eax, word [rsp + 0x60]
sar ax, 0xc
mov word [rsp + 0x62], ax
movzx eax, word [rsp + 0x62]
and ax, r15w
mov word [rsp + 0x64], ax
movzx eax, word [rsp + 0x64]
cmp r15w, ax
jne 0x1400052aa
movzx eax, word [rsp + 0x62]
test ax, ax
jns 0x1400052aa
movzx eax, word [rsp + 0x60]
test ax, ax
jns 0x1400052aa
test dil, dil
sete dil
mov byte [rbp + 0x300], dil
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x24
call fcn.1400033d4
mov word [rsp + 0x68], ax
movzx eax, word [rsp + 0x68]
sar ax, 0xc
mov word [rsp + 0x6a], ax
movzx eax, word [rsp + 0x6a]
and ax, r15w
mov word [rsp + 0x6c], ax
movzx eax, word [rsp + 0x6c]
cmp r15w, ax
jne 0x140005357
movzx eax, word [rsp + 0x6a]
test ax, ax
jns 0x140005357
movzx eax, word [rsp + 0x68]
test ax, ax
js 0x140005248
jmp 0x140005357
mov ecx, 0x2d
call fcn.1400033d4
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
sar ax, 0xc
mov word [rsp + 0x72], ax
movzx eax, word [rsp + 0x72]
and ax, r15w
mov word [rsp + 0x74], ax
movzx eax, word [rsp + 0x74]
cmp r15w, ax
jne 0x140005357
movzx eax, word [rsp + 0x72]
test ax, ax
jns 0x140005357
movzx eax, word [rsp + 0x70]
test ax, ax
jns 0x140005357
test sil, sil
sete sil
mov byte [rbp + 0x308], sil
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x2d
call fcn.1400033d4
mov word [rsp + 0x78], ax
movzx eax, word [rsp + 0x78]
sar ax, 0xc
mov word [rsp + 0x7a], ax
movzx eax, word [rsp + 0x7a]
and ax, r15w
mov word [rsp + 0x7c], ax
movzx eax, word [rsp + 0x7c]
cmp r15w, ax
jne 0x140005357
movzx eax, word [rsp + 0x7a]
test ax, ax
jns 0x140005357
movzx eax, word [rsp + 0x78]
test ax, ax
js 0x140005302
call fcn.1400583d8
call fcn.14004abb4
movups xmm0, xmmword [0x1400b6bcc]
lea rcx, [rbp + 0xb0]
movdqu xmmword [rbp + 0xb0], xmm0
call fcn.14004c830
test bl, bl
je 0x1400065a3
mov rcx, qword [0x1400b64c0]
mov r8d, 0xa0ffffff
movss xmm6, dword [0x1400b6c2c]
mov eax, dword [0x1400b6bd8]
movd xmm0, dword [0x1400b6bcc]
add eax, 0xffffffe4
movss xmm4, dword [rcx + 0x6739c]
movss xmm1, dword [rcx + 0x673a4]
movss xmm3, dword [rcx + 0x6417c]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm1
mulss xmm4, xmm4
mulss xmm3, xmm3
mulss xmm6, xmm7
movd xmm7, eax
cvtdq2ps xmm7, xmm7
addss xmm6, xmm0
movss xmm0, dword [rcx + 0x673a0]
mulss xmm0, xmm0
movss dword [rbp - 0x5c], xmm7
addss xmm4, xmm0
movss dword [rbp - 0x60], xmm6
addss xmm4, xmm1
movss xmm1, dword [rcx + 0x64184]
mulss xmm1, xmm1
movd eax, xmm4
movaps xmm2, xmm4
add eax, 0xff800000
sar eax, 1
add eax, 0x20000000
movd xmm0, eax
divss xmm2, xmm0
addss xmm2, xmm0
movss xmm0, dword [rcx + 0x64180]
mulss xmm0, xmm0
addss xmm3, xmm0
mulss xmm2, xmm8
divss xmm4, xmm2
addss xmm3, xmm1
addss xmm4, xmm2
movd eax, xmm3
movaps xmm1, xmm3
mulss xmm4, xmm8
add eax, 0xff800000
sar eax, 1
add eax, 0x20000000
divss xmm4, xmm14
movd xmm0, eax
lea rax, [0x140067cd4]
divss xmm1, xmm0
cvtps2pd xmm2, xmm4
addss xmm1, xmm0
movsd qword [rsp + 0x38], xmm2
mulss xmm1, xmm8
divss xmm3, xmm1
addss xmm3, xmm1
movaps xmm1, xmm7
addss xmm1, xmm10
mulss xmm3, xmm8
movd edx, xmm1
divss xmm3, xmm14
cvtps2pd xmm0, xmm3
movaps xmm3, xmm13
movsd qword [rsp + 0x30], xmm0
movaps xmm0, xmm6
mov qword [rsp + 0x28], rax
movd ecx, xmm0
movd r9d, xmm3
mov byte [rsp + 0x20], r13b
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
mov r14d, 2
xorps xmm0, xmm0
mov rax, qword [rax + 0x48]
test rax, rax
js 0x1400054ee
cvtsi2ss xmm0, rax
jmp 0x140005506
mov rcx, rax
mov rdx, rax
shr rdx, 1
and ecx, 1
or rdx, rcx
cvtsi2ss xmm0, rdx
addss xmm0, xmm0
mov r9, qword [rbp + 0x90]
xor edx, edx
div r9
divss xmm0, xmm11
mov rcx, rax
movabs r10, 0xcccccccccccccccd
mov rax, r10
mul rcx
cvtps2pd xmm1, xmm0
mov rcx, qword [rbp + 0x88]
mov r8, rdx
shr r8, 3
xorps xmm0, xmm0
test rcx, rcx
js 0x14000554a
cvtsi2ss xmm0, rcx
jmp 0x14000555f
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov qword [rsp + 0x50], r9
addss xmm7, xmm12
movsd qword [rsp + 0x48], xmm1
mov rax, r10
mul qword [rbp + 0x98]
divss xmm0, xmm11
mov qword [rsp + 0x40], r8
lea rax, [0x140067cf4]
shr rdx, 3
mov r8d, 0xa0ffffff
movaps xmm3, xmm13
movaps xmm1, xmm7
cvtps2pd xmm2, xmm0
movaps xmm0, xmm6
movd r9d, xmm3
movsd qword [rsp + 0x38], xmm2
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
movd edx, xmm1
movd ecx, xmm0
mov byte [rsp + 0x20], r13b
call fcn.14004bf6c
mov edx, dword [0x1400b50f0]
cmp edx, 0x1e
jge 0x14000564d
movzx ecx, byte [0x1400b4f72]
test ecx, ecx
je 0x140005603
sub ecx, r14d
je 0x1400055fa
cmp ecx, 1
je 0x1400055f1
lea rax, [0x140067de4]
jmp 0x14000560a
lea rax, [0x140067da4]
jmp 0x14000560a
lea rax, [0x140067d70]
jmp 0x14000560a
lea rax, [0x140067d44]
movss xmm0, dword [0x1400b6c24]
lea rcx, [rbp - 0x2c]
mov dword [rsp + 0x38], edx
mov r9d, 0xc0000000
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0x28], 0x14f0
mov edx, 0xff4119ed
movss dword [rsp + 0x20], xmm15
movss dword [rbp - 0x2c], xmm0
mov dword [rbp - 0x28], 0x40000000
call fcn.14004c594
test dil, dil
je 0x140005810
mov eax, dword [0x1400b6bcc]
movaps xmm3, xmm13
movss xmm7, dword [0x1400b6c28]
test eax, eax
subss xmm7, dword [0x140067c90]
cmovs eax, r13d
movd r9d, xmm3
inc eax
mov r8d, r12d
addss xmm7, xmm9
movd xmm8, eax
lea rax, [0x140067e5e]
cvtdq2ps xmm8, xmm8
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
subss xmm7, xmm9
addss xmm8, xmm9
movaps xmm1, xmm7
subss xmm8, xmm9
addss xmm1, xmm10
movaps xmm0, xmm8
movd ecx, xmm0
movd edx, xmm1
call fcn.14004bf6c
movaps xmm1, xmm7
lea rax, [0x140067e7e]
addss xmm1, xmm12
mov qword [rsp + 0x28], rax
movaps xmm3, xmm13
mov byte [rsp + 0x20], r13b
movaps xmm0, xmm8
movd r9d, xmm3
or ebx, 0xffffffff
movd ecx, xmm0
mov r8d, ebx
movd edx, xmm1
call fcn.14004bf6c
movaps xmm1, xmm7
lea rax, [0x140067e92]
addss xmm1, dword [0x140067c88]
movaps xmm3, xmm13
mov qword [rsp + 0x28], rax
movaps xmm0, xmm8
movd r9d, xmm3
movd ecx, xmm0
mov r8d, ebx
mov byte [rsp + 0x20], r13b
movd edx, xmm1
call fcn.14004bf6c
movaps xmm1, xmm7
lea rax, [0x140067ea2]
addss xmm1, dword [0x140067c8c]
movaps xmm3, xmm13
mov qword [rsp + 0x28], rax
movaps xmm0, xmm8
movd r9d, xmm3
movd ecx, xmm0
mov r8d, ebx
mov r14d, 4
mov byte [rsp + 0x20], r13b
movd edx, xmm1
call fcn.14004bf6c
mov eax, dword [0x1400b50f0]
cmp eax, 0xfd20
jge 0x1400057c8
mov dword [rsp + 0x30], eax
movaps xmm1, xmm7
addss xmm1, dword [0x140067c94]
movaps xmm3, xmm13
lea rax, [0x140067eb0]
movaps xmm0, xmm8
mov qword [rsp + 0x28], rax
movd r9d, xmm3
mov r8d, ebx
movd ecx, xmm0
mov r14d, 5
movd edx, xmm1
mov byte [rsp + 0x20], 1
call fcn.14004bf6c
imul eax, r14d, 0xe
lea rcx, [rbp + 0xd0]
inc r14d
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, xmm7
call fcn.14005fa38
movaps xmm3, xmm13
mov qword [rsp + 0x28], rax
movaps xmm1, xmm6
movd r9d, xmm3
movaps xmm0, xmm8
movd edx, xmm1
movd ecx, xmm0
mov r8d, ebx
mov byte [rsp + 0x20], 1
call fcn.14004bf6c
test sil, sil
je 0x14000581a
call fcn.14004c96c
mov rax, qword [0x1400b64c0]
movabs rsi, 0xcccccccccccccccc
mov rdx, qword [rax + 0x6a608]
mov eax, dword [rax + 0x6a5dc]
xor rdx, rsi
xor eax, 0xcccccccc
movsxd rcx, eax
add rcx, rdx
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
movaps xmm3, xmm13
movaps xmm0, xmm14
imul ebx, r14d, 0xe
mov rdi, rax
movd r9d, xmm3
lea rax, [0x140067ec4]
mov r8d, r12d
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
lea ecx, [rbx + 0x64]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd ecx, xmm0
movd edx, xmm1
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
mov rdx, qword [rax + 0x6a608]
mov eax, dword [rax + 0x6a5e0]
xor rdx, rsi
xor eax, 0xcccccccc
movsxd rcx, eax
add rcx, rdx
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
lea ecx, [rbx + 0x72]
movd xmm1, ecx
movaps xmm3, xmm13
cvtdq2ps xmm1, xmm1
mov rsi, rax
lea rax, [0x140067eda]
mov qword [rsp + 0x28], rax
mov r8d, r12d
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
mov rcx, qword [0x1400b64c0]
lea rdx, [rbp + 0xc0]
mov rbx, 0xffffffffcccccccc
mov r8d, 0x10
movsxd rcx, dword [rcx + 0x6a5f8]
xor rcx, rbx
add rcx, rdi
call fcn.140059e58
movaps xmm15, xmmword [rbp + 0xc0]
lea eax, [r14 + 2]
imul edi, eax, 0xe
movdqa xmm0, xmm15
psrldq xmm0, 8
movaps xmm3, xmm13
movq rcx, xmm0
movd r9d, xmm3
shr rcx, 0x20
mov r8d, r12d
mov dword [rsp + 0x40], ecx
movd dword [rsp + 0x38], xmm0
movaps xmm0, xmm14
movq qword [rsp + 0x30], xmm15
movd ecx, xmm0
lea eax, [rdi + 0x64]
movd xmm1, eax
lea rax, [0x140067efc]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
mov ecx, dword [rax + 0x6a5e4]
xor ecx, ebx
movsxd rcx, ecx
add rcx, rsi
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
lea ecx, [rdi + 0x72]
movd xmm1, ecx
lea esi, [r14 + 4]
cvtdq2ps xmm1, xmm1
mov rbx, rax
lea rax, [0x140067f24]
mov qword [rsp + 0x28], rax
mov r8d, r12d
mov byte [rsp + 0x20], 1
movaps xmm3, xmm13
movaps xmm0, xmm14
movd edx, xmm1
movd r9d, xmm3
movd ecx, xmm0
call fcn.14004bf6c
mov rcx, rbx
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
movaps xmm3, xmm13
movaps xmm0, xmm14
imul edi, esi, 0xe
mov rbx, rax
movd r9d, xmm3
lea rax, [0x140067f52]
mov r8d, r12d
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
lea ecx, [rdi + 0x64]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd ecx, xmm0
movd edx, xmm1
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
mov ecx, dword [rax + 0x6a5e8]
xor ecx, 0xcccccccc
movsxd rcx, ecx
add rcx, rbx
call fcn.14005b6ac
lea ecx, [rdi + 0x72]
mov qword [rsp + 0x30], rax
movd xmm1, ecx
movaps xmm3, xmm13
cvtdq2ps xmm1, xmm1
mov qword [rbp - 0x58], rax
mov r12, rax
lea rax, [0x140067f80]
mov edi, 0xff00ff00
mov qword [rsp + 0x28], rax
mov r8d, edi
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
mov rcx, qword [0x1400b64c0]
mov eax, dword [rcx + 0x6a5ec]
xor eax, 0xcccccccc
movsxd rcx, eax
add rcx, r12
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
lea ebx, [rsi + 3]
imul ecx, esi, 0xe
mov r14, rax
lea rax, [0x140067fba]
movaps xmm3, xmm13
mov qword [rsp + 0x28], rax
mov r8d, edi
mov byte [rsp + 0x20], 1
movd r9d, xmm3
sub ecx, 0xffffff80
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd edx, xmm1
movaps xmm0, xmm14
movd ecx, xmm0
call fcn.14004bf6c
mov esi, 4
lea rcx, [r14 + 0x18]
mov r8d, esi
lea rdx, [rbp - 0x50]
call fcn.140059e58
mov ecx, dword [rbp - 0x50]
lea rdx, [rbp + 0x100]
mov r8b, 2
call fcn.14005b080
test al, al
je 0x140005b75
imul eax, ebx, 0xe
movaps xmm3, xmm13
movaps xmm0, xmm14
movd r9d, xmm3
movd ecx, xmm0
mov r8d, edi
add eax, 0x64
inc ebx
movd xmm1, eax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [0x140067ff6]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
lea rcx, [r14 + 0x10]
mov r8d, r15d
lea rdx, [rbp + 0x10]
call fcn.140059e58
mov rcx, qword [rbp + 0x10]
lea rdx, [rbp - 0x4c]
add rcx, 0x18
mov r8d, esi
call fcn.140059e58
mov ecx, dword [rbp - 0x4c]
lea rdx, [rbp + 0x100]
mov r8b, 2
call fcn.14005b080
test al, al
je 0x140005bf8
imul eax, ebx, 0xe
movaps xmm3, xmm13
movaps xmm0, xmm14
movd r9d, xmm3
movd ecx, xmm0
inc ebx
mov r8d, edi
add eax, 0x64
movd xmm1, eax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [0x14006801e]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
lea rcx, [r14 + 0x28]
mov r8d, r15d
lea rdx, [rbp + 0x18]
call fcn.140059e58
mov rcx, qword [rbp + 0x18]
lea rdx, [rbp - 0x48]
add rcx, 0x18
mov r8d, esi
call fcn.140059e58
mov ecx, dword [rbp - 0x48]
lea rdx, [rbp + 0x100]
mov r8b, 2
call fcn.14005b080
test al, al
je 0x140005c7b
imul eax, ebx, 0xe
movaps xmm3, xmm13
movaps xmm0, xmm14
movd r9d, xmm3
movd ecx, xmm0
inc ebx
mov r8d, edi
add eax, 0x64
movd xmm1, eax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [0x140068046]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
imul edi, ebx, 0xe
mov rsi, r13
add edi, 0x64
lea rcx, [rsi + r14]
call fcn.14005b6ac
mov qword [rsp + 0x38], rax
movaps xmm3, xmm13
movd xmm1, edi
lea rax, [0x14006806e]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x30], rsi
mov r8d, 0xff00ff00
mov qword [rsp + 0x28], rax
add edi, 0xe
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
add rsi, r15
cmp rsi, 0x60
jb 0x140005c84
imul edi, ebx, 0xe
lea r15d, [rbx + 0x18]
mov rsi, r13
mov ebx, 8
movabs r12, 0xcccccccccccccccc
add edi, 0x10c
mov rax, qword [0x1400b64c0]
mov rcx, qword [rax + 0x6a610]
xor rcx, r12
add rcx, rsi
call fcn.14005b6ac
mov qword [rsp + 0x38], rax
movaps xmm3, xmm13
movd xmm1, edi
lea rax, [0x140068098]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x30], rsi
mov r8d, 0xff00ff00
mov qword [rsp + 0x28], rax
add edi, 0xe
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
add rsi, rbx
cmp rsi, 0x60
jb 0x140005cfa
mov rax, qword [0x1400b64c0]
mov ecx, dword [rax + 0x6a5fc]
xor ecx, 0xcccccccc
movsxd rcx, ecx
add rcx, r14
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
movaps xmm3, xmm13
movaps xmm0, xmm14
imul edi, r15d, 0xe
mov rbx, rax
movd r9d, xmm3
lea rax, [0x1400680ac]
mov esi, 0xff00ff00
mov qword [rsp + 0x28], rax
mov r8d, esi
mov byte [rsp + 0x20], 1
lea ecx, [rdi + 0x64]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd ecx, xmm0
movd edx, xmm1
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
lea rdx, [rbp - 0x20]
mov r8d, 0xc
movsxd rcx, dword [rax + 0x6a600]
xor rcx, 0xffffffffcccccccc
add rcx, rbx
call fcn.140059e58
movss xmm0, dword [rbp - 0x18]
lea eax, [rdi + 0x72]
movss xmm2, dword [rbp - 0x1c]
mov r8d, esi
movss xmm3, dword [rbp - 0x20]
cvtps2pd xmm0, xmm0
cvtps2pd xmm3, xmm3
movsd qword [rsp + 0x40], xmm0
movaps xmm0, xmm14
movd xmm1, eax
lea rax, [0x1400680e8]
cvtps2pd xmm2, xmm2
cvtdq2ps xmm1, xmm1
movsd qword [rsp + 0x38], xmm2
movsd qword [rsp + 0x30], xmm3
movaps xmm3, xmm13
mov qword [rsp + 0x28], rax
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
mov byte [rsp + 0x20], 1
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
mov rsi, 0xffffffffcccccccc
mov ecx, dword [rax + 0x6a5f0]
xor ecx, esi
movsxd rcx, ecx
add rcx, qword [rbp - 0x58]
call fcn.14005b6ac
mov qword [rsp + 0x30], rax
lea ecx, [r15 + 2]
imul edi, ecx, 0xe
movaps xmm3, xmm13
movaps xmm0, xmm14
movd r9d, xmm3
mov rbx, rax
mov r12d, 0xff00ff00
lea rax, [0x14006814c]
mov r8d, r12d
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
lea ecx, [rdi + 0x64]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd ecx, xmm0
movd edx, xmm1
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
movsxd rcx, dword [rax + 0x6a5f4]
xor rcx, rsi
add rcx, rbx
mov r8d, 0x1c
lea rdx, [rbp - 0x10]
call fcn.140059e58
movss xmm8, dword [rbp - 8]
lea eax, [rdi + 0x72]
movss xmm7, dword [rbp - 0xc]
lea esi, [r15 + 4]
movss xmm6, dword [rbp - 0x10]
mov r8d, r12d
movss xmm9, dword [rbp - 4]
movss xmm10, dword [rbp]
movss xmm11, dword [rbp + 4]
movss xmm12, dword [rbp + 8]
cvtps2pd xmm3, xmm7
cvtps2pd xmm0, xmm6
movd xmm1, eax
lea rax, [0x140068190]
cvtps2pd xmm2, xmm8
cvtdq2ps xmm1, xmm1
movsd qword [rsp + 0x40], xmm2
movsd qword [rsp + 0x38], xmm3
movaps xmm3, xmm13
movsd qword [rsp + 0x30], xmm0
movaps xmm0, xmm14
mov qword [rsp + 0x28], rax
movd ecx, xmm0
movd r9d, xmm3
movd edx, xmm1
mov byte [rsp + 0x20], 1
call fcn.14004bf6c
cvtps2pd xmm0, xmm11
mov r8d, r12d
cvtps2pd xmm3, xmm9
movsd qword [rsp + 0x40], xmm0
movaps xmm0, xmm14
cvtps2pd xmm2, xmm10
imul ebx, esi, 0xe
movsd qword [rsp + 0x38], xmm2
movsd qword [rsp + 0x30], xmm3
movaps xmm3, xmm13
movd r9d, xmm3
movd ecx, xmm0
lea eax, [rbx + 0x64]
movd xmm1, eax
lea rax, [0x1400681dc]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
cvtps2pd xmm0, xmm12
lea eax, [rbx + 0x72]
mov r8d, r12d
movd xmm1, eax
movaps xmm3, xmm13
movsd qword [rsp + 0x30], xmm0
lea rax, [0x140068228]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
mov rax, qword [0x1400b64c0]
movss dword [rax + 0x6a708], xmm6
movss dword [rax + 0x6a70c], xmm7
movss dword [rax + 0x6a710], xmm8
movss dword [rax + 0x6a714], xmm9
movss dword [rax + 0x6a718], xmm10
movss dword [rax + 0x6a71c], xmm11
movss dword [rax + 0x6a720], xmm12
call fcn.140004a74
mov ebx, 0x21
mov ecx, ebx
call fcn.1400033d4
mov word [rbp - 0x80], ax
movzx eax, word [rbp - 0x80]
sar ax, 0xc
mov word [rbp - 0x7e], ax
movzx eax, word [rbp - 0x7e]
lea r15d, [rbx - 0x19]
and ax, r15w
mov word [rbp - 0x7c], ax
movzx eax, word [rbp - 0x7c]
cmp r15w, ax
jne 0x1400060e2
movzx eax, word [rbp - 0x7e]
test ax, ax
jns 0x1400060e2
movzx eax, word [rbp - 0x80]
test ax, ax
jns 0x1400060e2
sub dword [0x1400b4f20], r15d
mov ecx, ebx
call fcn.1400033d4
mov word [rbp - 0x78], ax
movzx eax, word [rbp - 0x78]
sar ax, 0xc
mov word [rbp - 0x76], ax
movzx eax, word [rbp - 0x76]
and ax, r15w
mov word [rbp - 0x74], ax
movzx eax, word [rbp - 0x74]
cmp r15w, ax
jne 0x14000616c
movzx eax, word [rbp - 0x76]
test ax, ax
jns 0x14000616c
movzx eax, word [rbp - 0x78]
test ax, ax
js 0x140006096
jmp 0x14000616c
mov ebx, 0x22
mov ecx, ebx
call fcn.1400033d4
mov word [rbp - 0x70], ax
movzx eax, word [rbp - 0x70]
sar ax, 0xc
mov word [rbp - 0x6e], ax
movzx eax, word [rbp - 0x6e]
and ax, r15w
mov word [rbp - 0x6c], ax
movzx eax, word [rbp - 0x6c]
cmp r15w, ax
jne 0x14000616c
movzx eax, word [rbp - 0x6e]
test ax, ax
jns 0x14000616c
movzx eax, word [rbp - 0x70]
test ax, ax
jns 0x14000616c
add dword [0x1400b4f20], r15d
mov ecx, ebx
call fcn.1400033d4
mov word [rbp - 0x68], ax
movzx eax, word [rbp - 0x68]
sar ax, 0xc
mov word [rbp - 0x66], ax
movzx eax, word [rbp - 0x66]
and ax, r15w
mov word [rbp - 0x64], ax
movzx eax, word [rbp - 0x64]
cmp r15w, ax
jne 0x14000616c
movzx eax, word [rbp - 0x66]
test ax, ax
jns 0x14000616c
movzx eax, word [rbp - 0x68]
test ax, ax
js 0x14000612d
movsxd rcx, dword [0x1400b4f20]
lea rdx, [rbp - 0x44]
add rcx, r14
mov r8d, 4
call fcn.140059e58
lea rcx, [r14 + 0x3f0]
mov r8d, r15d
lea rdx, [rbp + 0x20]
call fcn.140059e58
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x28]
add rcx, 0x628
mov r8d, r15d
call fcn.140059e58
mov rbx, qword [rbp + 0x28]
lea rdx, [rbp + 0x2f0]
mov r8d, 1
lea rcx, [rbx + 0xf8]
call fcn.140059e58
lea eax, [rsi + 2]
mov qword [rsp + 0x30], rbx
imul edi, eax, 0xe
movaps xmm3, xmm13
movaps xmm0, xmm14
movd r9d, xmm3
movd ecx, xmm0
mov r8d, r12d
lea eax, [rdi + 0x64]
movd xmm1, eax
lea rax, [0x140068252]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
movzx ecx, byte [rbp + 0x2f0]
lea eax, [rdi + 0x72]
mov dword [rsp + 0x30], ecx
movaps xmm3, xmm13
movd xmm1, eax
movaps xmm0, xmm14
cvtdq2ps xmm1, xmm1
lea rax, [0x14006827c]
mov r8d, r12d
add esi, 4
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
mov r14d, dword [rbp - 0x44]
movdqa xmm0, xmm15
psrldq xmm0, 8
mov r12d, r13d
movq rax, xmm0
movsxd rbx, eax
mov qword [rbp - 0x58], rbx
test eax, eax
je 0x1400064c8
imul r13d, esi, 0xe
movq r15, xmm15
xorps xmm6, xmm6
mov rcx, r15
call fcn.14005b6ac
movsxd rcx, dword [0x1400b4f20]
lea rdx, [rbp - 0x40]
add rcx, rax
mov r8d, 4
mov rdi, rax
call fcn.140059e58
cmp dword [rbp - 0x40], r14d
jne 0x1400064af
lea rcx, [rdi + 0x3f0]
mov r8d, 8
lea rdx, [rbp + 0x30]
call fcn.140059e58
mov rbx, qword [rbp + 0x30]
lea ecx, [r13 + 0x64]
movd xmm1, ecx
lea rax, [0x140068292]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x30], rbx
mov r8d, 0xff00ff00
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movaps xmm3, xmm13
movaps xmm0, xmm14
movd edx, xmm1
movd r9d, xmm3
movd ecx, xmm0
call fcn.14004bf6c
lea rcx, [rbx + 0x628]
mov r8d, 8
lea rdx, [rbp + 0x38]
call fcn.140059e58
mov rbx, qword [rbp + 0x38]
lea eax, [r13 + 0x72]
movd xmm1, eax
movaps xmm3, xmm13
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x30], rbx
lea rax, [0x1400682b2]
mov qword [rsp + 0x28], rax
mov r8d, 0xff00ff00
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
lea rcx, [rbx + 0xf8]
mov r8d, 1
lea rdx, [rbp + 0x2f8]
call fcn.140059e58
movzx ecx, byte [rbp + 0x2f8]
mov eax, r13d
mov dword [rsp + 0x30], ecx
sub eax, 0xffffff80
movaps xmm3, xmm13
movaps xmm0, xmm14
movd r9d, xmm3
mov r8d, 0xff00ff00
movd ecx, xmm0
add esi, 3
movd xmm1, eax
add r13d, 0x2a
cvtdq2ps xmm1, xmm1
lea rax, [0x1400682d6]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
mov al, byte [rbp + 0x2f0]
cmp byte [rbp + 0x2f8], al
je 0x1400064a8
lea rcx, [rdi + 0xa08]
call fcn.14005b6ac
mov r8d, 4
lea rdx, [rbp - 0x38]
lea rcx, [rax + 0x1b0]
call fcn.140059e58
movss xmm0, dword [rbp - 0x38]
comiss xmm0, xmm6
jbe 0x1400064a8
mov rax, qword [0x1400b64c0]
mov rbx, 0xffffffffcccccccc
mov ecx, dword [rax + 0x6a5fc]
xor ecx, ebx
movsxd rcx, ecx
add rcx, rdi
call fcn.14005b6ac
mov rcx, qword [0x1400b64c0]
lea rdx, [rbp + 0x40]
mov r8d, 0xc
movsxd rcx, dword [rcx + 0x6a600]
xor rcx, rbx
add rcx, rax
call fcn.140059e58
movsd xmm0, qword [rbp + 0x40]
lea rdx, [rbp - 0x60]
mov eax, dword [rbp + 0x48]
lea rcx, [rbp + 0x50]
movsd qword [rbp + 0x50], xmm0
mov dword [rbp + 0x58], eax
call fcn.140006a40
test al, al
je 0x1400064a8
movss xmm1, dword [rbp - 0x5c]
lea rcx, [rbp - 0x34]
movss xmm0, dword [rbp - 0x60]
xor r9d, r9d
movss dword [rbp - 0x30], xmm1
mov r8d, 0xff0f00d7
movss xmm1, dword [0x140068aa8]
movss dword [rbp - 0x34], xmm0
call fcn.14004c368
mov rbx, qword [rbp - 0x58]
inc r12d
add r15, 8
sub rbx, 1
mov qword [rbp - 0x58], rbx
jne 0x140006286
xor r13d, r13d
lea r15d, [r13 + 8]
movzx ecx, r14w
mov edx, r14d
mov dword [rsp + 0x48], ecx
movaps xmm3, xmm13
sar edx, 0x10
movaps xmm0, xmm14
mov dword [rsp + 0x40], edx
mov r8d, 0xff00ff00
mov dword [rsp + 0x38], r14d
imul ebx, esi, 0xe
movd r9d, xmm3
movd ecx, xmm0
lea eax, [rbx + 0x64]
movd xmm1, eax
mov eax, dword [0x1400b4f20]
mov dword [rsp + 0x30], eax
lea rax, [0x1400682e6]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movd edx, xmm1
call fcn.14004bf6c
mov dword [rsp + 0x30], r12d
lea eax, [rbx + 0x72]
movd xmm1, eax
movaps xmm3, xmm13
cvtdq2ps xmm1, xmm1
lea rax, [0x140068316]
mov r12d, 0xff00ff00
mov qword [rsp + 0x28], rax
mov r8d, r12d
mov byte [rsp + 0x20], 1
movaps xmm0, xmm14
movd r9d, xmm3
movd edx, xmm1
movd ecx, xmm0
call fcn.14004bf6c
movss xmm9, dword [0x140067cb0]
xorps xmm10, xmm10
movss xmm8, dword [0x140067c5c]
movss xmm11, dword [0x140067cac]
movss xmm12, dword [0x140067c80]
movss xmm15, dword [0x140067c84]
movss xmm7, dword [0x140067ca4]
lea rcx, [rbp + 0x60]
call fcn.140003b40
call fcn.14004aaa4
lea rdx, [0x1400b52e0]
lea rcx, [0x140067cd0]
call fcn.140003714
mov dil, byte [rbp + 0x300]
mov sil, byte [rbp + 0x308]
test al, al
jne 0x140005188
lea rcx, [0x1400b52e0]
call fcn.14004e188
jmp 0x1400065da