Function at 0x14005f670
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
movaps xmmword [rsp + 0x290], xmm9
movaps xmmword [rsp + 0x280], xmm8
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm6
mov r14, rcx
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0x1d8], r9
mov qword [rsp + 0x1e0], rax
test rax, rax
je 0x14005f71c
test byte [r9], 1
mov qword [rsp + 0x1e8], 0
mov byte [rsp + 0x1f0], 1
jne 0x14005f6fb
mov rsi, qword [r8 + 0x70]
mov rax, rsi
mov rbx, rdx
mov rdi, r8
dec rax
je 0x14005f702
bsr rax, rax
xor rax, 0x3f
jmp 0x14005f707
mov byte [r14 + 8], 2
jmp 0x14005f721
mov eax, 0x40
mov dl, 0x40
sub dl, al
lea rcx, [rsp + 0x1d8]
call fcn.140061940
test al, 1
je 0x14005f767
mov byte [r14 + 8], 0
movabs rax, 0x8000000000000000
mov qword [r14], rax
mov rax, r14
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x280]
movaps xmm9, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx ecx, dl
mov eax, ecx
add eax, eax
add rax, qword [rdi + 0x68]
xor edx, edx
cmp rsi, rcx
cmova rdx, rax
mov qword [rsp + 0x190], rdx
jbe 0x14005f850
mov r8, rdi
movzx r13d, byte [rax + 1]
mov rdx, qword [rdi + 0x58]
cmp rdx, r13
jbe 0x140061308
shl r13d, 7
add r13, qword [r8 + 0x50]
movzx eax, byte [rax]
test al, al
movzx ebp, byte [rbx + 0x101]
mov r15, rbx
movzx r12d, byte [rbx + 0x102]
cmove r12d, ebp
mov ecx, r12d
and cl, 0xf
mov edx, 1
shl edx, cl
mov dword [rsp + 0x4c], edx
test al, al
je 0x14005f85a
movzx r10d, byte [rsp + 0x1f0]
lea ecx, [r10 + 1]
mov eax, ecx
and al, 7
mov r11, qword [rsp + 0x1e0]
mov r9, qword [rsp + 0x1e8]
cmp cl, 8
jbe 0x14005f863
lea rdx, [r9 + 2]
cmp rdx, r11
ja 0x14005f71c
cmp r9, 0xfffffffffffffffe
jae 0x14006147c
mov rsi, qword [rsp + 0x1d8]
movzx edi, byte [rsi + r9]
mov ecx, r10d
and cl, 7
shr dil, cl
mov edx, r10d
neg dl
mov bl, 0xff
mov ecx, eax
shl bl, cl
not bl
and bl, byte [rsi + r9 + 1]
and dl, 7
mov ecx, edx
shl bl, cl
or bl, dil
mov edx, 1
jmp 0x14005f89d
mov byte [r14 + 8], 1
jmp 0x14005f721
xor edi, edi
mov bl, 2
jmp 0x14005f8ff
lea rdx, [r9 + 1]
cmp rdx, r11
ja 0x14005f71c
cmp r9, 0xffffffffffffffff
je 0x140061428
mov rsi, qword [rsp + 0x1d8]
movzx ecx, byte [rsi + r9]
movzx edx, r10b
and edx, 7
bt ecx, edx
setb bl
xor edx, edx
cmp r10b, 7
sete dl
lea rcx, [rdx + r9]
mov qword [rsp + 0x1e8], rcx
mov byte [rsp + 0x1f0], al
add rdx, r9
inc rdx
cmp rdx, r11
ja 0x14005f71c
cmp rcx, 0xffffffffffffffff
je 0x140061428
add r10b, 2
and r10b, 7
xor edx, edx
cmp al, 7
sete dl
add rdx, rcx
movzx ecx, byte [rsi + rcx]
mov qword [rsp + 0x1e8], rdx
mov byte [rsp + 0x1f0], r10b
cmp bl, 1
sete bl
movzx eax, al
bt ecx, eax
setb dil
movabs rsi, 0x8000000000000000
mov rax, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x50], r8
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x1d8]
mov r8, r15
mov r9, r13
call fcn.14005cc70
cmp qword [rsp + 0xb0], rsi
jne 0x14005f96c
mov byte [r14 + 8], 0
mov qword [r14], rsi
jmp 0x14005f72e
mov qword [rsp + 0x188], r13
mov byte [rsp + 0x67], bl
mov dword [rsp + 0x1fc], edi
mov dword [rsp + 0x1b4], r12d
mov dword [rsp + 0x1b0], ebp
mov qword [rsp + 0x218], r15
mov qword [rsp + 0x130], r14
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x230], rcx
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x220], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0xa0], 0
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x138], rax
mov rax, rcx
mov qword [rsp + 0x160], rcx
test rcx, rcx
je 0x14005fb34
lea rdi, [rsp + 0x82]
lea rbx, [rsp + 0x88]
mov rax, qword [rsp + 0x160]
lea rax, [rax*8]
lea r15, [rax + rax*4]
xor r12d, r12d
movabs rax, 0x8000000000000000
lea r13, [rax + 1]
lea r14, [rsp + 0xb0]
jmp 0x14005fa67
cmp rbp, r13
mov rax, qword [rsp + 0x90]
sete byte [rax + rsi]
inc rsi
mov qword [rsp + 0x98], rsi
add r12, 0x28
cmp r15, r12
je 0x14005fb34
mov rax, qword [rsp + 0x138]
mov rbp, qword [rax + r12]
cmp word [rsp + 0x80], 0
je 0x14005fa9a
mov rsi, qword [rsp + 0x98]
cmp rsi, qword [rsp + 0x88]
jne 0x14005fa40
mov rcx, rbx
call fcn.140062890
jmp 0x14005fa40
movzx eax, word [rsp + 0x82]
cmp rax, 0x1f
jbe 0x14005fb1a
cmp rbp, r13
sete r8b
mov rcx, r14
mov rdx, rdi
call fcn.1400697c0
cmp word [rsp + 0x80], 0
je 0x14005fae5
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x14005fae5
mov rcx, qword [rsp + 0x90]
mov r8d, 1
call fcn.14002f7a0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
jmp 0x14005fa5a
cmp rbp, r13
sete byte [rsp + rax + 0x84]
inc eax
mov word [rsp + 0x82], ax
jmp 0x14005fa5a
mov r12, qword [rsp + 0x188]
mov r13, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
mov rcx, qword [r12 + 0x20]
mov qword [rsp + 0x170], rcx
mov r9, qword [r12 + 0x28]
cmp rax, r9
mov qword [rsp + 0x240], r9
mov qword [rsp + 0x248], rax
cmovb r9, rax
test r9, r9
je 0x14005fcfc
xor r11d, r11d
lea r8, [0x1402b25c0]
lea rax, [0x1402b3160]
lea r10, [0x1402b25d8]
lea rdi, [0x1402b3190]
lea rbx, [0x1402b31a8]
lea r14, [0x1402b3178]
jmp 0x14005fbd1
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
cmp rdx, r15
jbe 0x14005fcf1
mov byte [rcx + r15], 0
inc r11
cmp r9, r11
je 0x14005fcfc
movzx ecx, byte [r13 + r11]
mov rdx, qword [rsp + 0x170]
movzx r15d, byte [rdx + r11]
movzx ebp, word [rsp + 0x80]
test bp, bp
je 0x14005fc03
mov rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
jmp 0x14005fc1d
movzx edx, word [rsp + 0x82]
lea rsi, [rsp + 0x84]
cmp rdx, 0x20
ja 0x14006135d
cmp rdx, rcx
jbe 0x1400612be
cmp byte [rsi + rcx], 0
je 0x14005fc79
test bp, bp
je 0x14005fc4b
mov rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
cmp rdx, r15
ja 0x14005fc6e
jmp 0x1400612b3
movzx edx, word [rsp + 0x82]
cmp rdx, 0x21
jae 0x14006135d
lea rsi, [rsp + 0x84]
cmp rdx, r15
jbe 0x1400612b3
cmp byte [rsi + r15], 0
jne 0x14005fbc5
test bp, bp
je 0x14005fc98
mov rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
cmp rdx, rcx
ja 0x14005fcbb
jmp 0x1400612bb
movzx edx, word [rsp + 0x82]
cmp rdx, 0x20
ja 0x140061362
lea rsi, [rsp + 0x84]
cmp rdx, rcx
jbe 0x1400612bb
mov byte [rsi + rcx], 0
cmp word [rsp + 0x80], 0
jne 0x14005fba7
movzx edx, word [rsp + 0x82]
cmp rdx, 0x20
ja 0x140061362
lea rcx, [rsp + 0x84]
cmp rdx, r15
ja 0x14005fbc0
mov rcx, r15
mov rax, rbx
jmp 0x1400612be
mov qword [rsp + 0x238], r13
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 4
mov qword [rsp + 0xc0], 0
mov rsi, r12
mov r13, qword [r12 + 0x40]
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0xb0]
mov r8, r13
call fcn.1400675f0
movzx r12d, word [rsp + 0x4c]
shr r12d, 1
mov rax, qword [rsi + 0x70]
mov qword [rsp + 0x180], rax
test rax, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], r12
je 0x14006015f
mov rcx, qword [rsp + 0x188]
mov rsi, qword [rcx + 0x68]
add qword [rsp + 0x180], rsi
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x1c8], rcx
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x68], rax
lea eax, [r12*4]
mov qword [rsp + 0x178], rax
xor r14d, r14d
xorps xmm6, xmm6
jmp 0x14005fde5
inc rsi
inc r14
cmp rsi, qword [rsp + 0x180]
je 0x14006015f
mov qword [rsp + 0x78], rsi
movzx edi, byte [rsi]
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
mov dword [rsp + 0x120], 0
mov rax, qword [rsp + 0x188]
mov rbp, qword [rax + 0x38]
test r13, r13
je 0x14005ff71
xor ebx, ebx
jmp 0x14005fe53
mov rax, qword [rsp + 0x110]
mov byte [rax + r15], sil
inc r15
mov qword [rsp + 0x118], r15
inc rbx
cmp r13, rbx
je 0x14005ff71
movzx eax, byte [rbp + rbx]
cmp r14, rax
jne 0x14005fe47
cmp word [rsp + 0x80], 0
je 0x14005fe7a
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
jmp 0x14005fe94
movzx edx, word [rsp + 0x82]
lea rax, [rsp + 0x84]
cmp rdx, 0x21
jae 0x140061344
cmp rbx, rdx
jae 0x140061113
movzx esi, byte [rax + rbx]
cmp word [rsp + 0x100], 0
je 0x14005fed4
mov r15, qword [rsp + 0x118]
cmp r15, qword [rsp + 0x108]
jne 0x14005fe30
lea rcx, [rsp + 0x108]
call fcn.140062890
jmp 0x14005fe30
movzx eax, word [rsp + 0x102]
cmp rax, 0x1f
jbe 0x14005ff5a
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x102]
mov r8d, esi
call fcn.1400697c0
cmp word [rsp + 0x100], 0
je 0x14005ff25
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x14005ff25
mov rcx, qword [rsp + 0x110]
mov r8d, 1
call fcn.14002f7a0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
jmp 0x14005fe47
mov byte [rsp + rax + 0x104], sil
inc eax
mov word [rsp + 0x102], ax
jmp 0x14005fe47
cmp qword [rsp + 0x1b8], rdi
jbe 0x1400612f1
cmp word [rsp + 0x100], 0
je 0x14005ff9c
mov r9, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x118]
jmp 0x14005ffb6
movzx edx, word [rsp + 0x102]
lea r9, [rsp + 0x104]
cmp rdx, 0x20
ja 0x140061344
lea rax, [rdi + rdi*4]
mov rcx, qword [rsp + 0x1c8]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x1d8]
mov r8d, dword [rsp + 0x4c]
call fcn.14005f0e0
mov rcx, qword [rsp + 0xb0]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x1400603fd
mov qword [rsp + 0x168], rcx
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x50], rax
test r13, r13
je 0x140060101
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x70], rax
mov rdi, qword [rsp + 0x128]
xor ebx, ebx
xor esi, esi
jmp 0x1400600a0
xor r12d, r12d
mov rax, qword [rsp + 0x50]
lea rdx, [rax + r15*4]
lea rcx, [r12*4]
add rcx, qword [rdi + 8]
mov r8, qword [rsp + 0x178]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x58]
add r12, rax
mov qword [rdi + 0x10], r12
mov r12, rax
inc rsi
add rdi, 0x18
cmp r13, rsi
je 0x140060101
movzx eax, byte [rbp + rsi]
cmp r14, rax
jne 0x140060094
mov r15, rbx
imul r15, r12
inc rbx
mov rdx, rbx
imul rdx, r12
cmp r15, rdx
ja 0x140061317
cmp rdx, qword [rsp + 0x70]
ja 0x14006132b
cmp rsi, qword [rsp + 0x68]
jae 0x140061127
mov qword [rdi + 0x10], 0
cmp qword [rdi], r12
jae 0x140060060
mov rcx, rdi
xor edx, edx
mov r8, r12
call fcn.140062720
mov r12, qword [rdi + 0x10]
jmp 0x140060063
mov rdx, qword [rsp + 0x168]
test rdx, rdx
je 0x140060122
shl rdx, 2
mov r8d, 4
mov rcx, qword [rsp + 0x50]
call fcn.14002f7a0
cmp word [rsp + 0x100], 0
mov rsi, qword [rsp + 0x78]
je 0x14005fdd1
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x14005fdd1
mov rcx, qword [rsp + 0x110]
mov r8d, 1
call fcn.14002f7a0
jmp 0x14005fdd1
mov r15, qword [rsp + 0x248]
test r15, r15
movabs rbx, 0x8000000000000000
mov rsi, qword [rsp + 0x218]
mov r14, qword [rsp + 0x190]
mov ebp, dword [rsp + 0x1b4]
mov rdi, qword [rsp + 0x238]
mov r13, qword [rsp + 0x240]
je 0x1400603bf
add r15, rdi
add r13, qword [rsp + 0x170]
mov rax, qword [rsp + 0x208]
mov rdx, qword [rsp + 0x210]
xorps xmm0, xmm0
movaps xmm1, xmmword [0x1402b2550]
jmp 0x1400601d4
dec r13
cmp rdi, r15
je 0x1400603bf
cmp qword [rsp + 0x170], r13
je 0x1400603bf
dec r15
movzx ecx, byte [r15]
movzx r9d, byte [r13 - 1]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x100], r9
cmp cl, r9b
je 0x140061391
cmp rcx, r9
mov r8, r9
cmova r9, rcx
cmovb r8, rcx
lea rcx, [r9 + 1]
cmp r9, rdx
jae 0x140061380
sub rcx, r8
je 0x140061377
cmp rcx, 1
je 0x1400613f3
lea r8, [r8 + r8*2]
lea r9, [rax + r8*8]
lea r10, [rcx + rcx*2]
mov r11, qword [rax + r8*8 + 0x10]
mov rcx, qword [r9 + r10*8 - 8]
cmp r11, rcx
cmovb rcx, r11
test rcx, rcx
je 0x1400601c8
mov r8, qword [rax + r8*8 + 8]
mov r9, qword [r9 + r10*8 - 0x10]
cmp rcx, 4
jae 0x140060273
xor r10d, r10d
jmp 0x140060376
lea r10, [r9 + rcx*4]
cmp r8, r10
jae 0x14006028d
lea r10, [r8 + rcx*4]
cmp r9, r10
jae 0x14006028d
xor r10d, r10d
jmp 0x140060376
mov r10, rcx
and r10, 0xfffffffffffffffc
xor r11d, r11d
nop word [rax + rax]
movups xmm2, xmmword [r8 + r11*4]
movups xmm5, xmmword [r9 + r11*4]
xorps xmm8, xmm8
cmpnltps xmm8, xmm2
xorps xmm6, xmm6
cmpltps xmm6, xmm2
movaps xmm3, xmm5
xorps xmm3, xmm1
movaps xmm7, xmm3
cmpnltps xmm7, xmm5
movaps xmm4, xmm3
cmpltps xmm4, xmm5
andps xmm7, xmm6
orps xmm6, xmm4
andps xmm4, xmm8
movaps xmm8, xmm7
andnps xmm8, xmm5
xorps xmm8, xmm1
movaps xmm9, xmm4
andnps xmm9, xmm8
movaps xmm8, xmm5
andps xmm8, xmm4
orps xmm8, xmm9
andps xmm8, xmm6
movaps xmm9, xmm6
andnps xmm9, xmm1
orps xmm9, xmm8
addps xmm9, xmm2
andps xmm5, xmm7
andnps xmm7, xmm1
orps xmm7, xmm5
movaps xmm5, xmm1
andps xmm5, xmm4
andnps xmm4, xmm7
orps xmm4, xmm5
andps xmm4, xmm6
andnps xmm6, xmm3
orps xmm6, xmm4
addps xmm6, xmm2
movups xmmword [r8 + r11*4], xmm6
movups xmmword [r9 + r11*4], xmm9
add r11, 4
cmp r10, r11
jne 0x1400602a0
cmp rcx, r10
jne 0x140060376
jmp 0x1400601c8
movaps xmm4, xmm2
subss xmm4, xmm3
movaps xmm3, xmm4
movss dword [r8 + r10*4], xmm2
movss dword [r9 + r10*4], xmm3
lea r11, [r10 + 1]
mov r10, r11
cmp rcx, r11
je 0x1400601c8
movss xmm2, dword [r8 + r10*4]
movss xmm3, dword [r9 + r10*4]
ucomiss xmm2, xmm0
jbe 0x1400603a0
ucomiss xmm3, xmm0
ja 0x140060350
movaps xmm4, xmm3
addss xmm4, xmm2
jmp 0x1400603b7
ucomiss xmm3, xmm0
jbe 0x1400603b0
addss xmm3, xmm2
jmp 0x14006035a
movaps xmm4, xmm2
subss xmm4, xmm3
movaps xmm3, xmm2
movaps xmm2, xmm4
jmp 0x14006035a
movzx r15d, byte [rsi + 0x100]
test r15, r15
je 0x140060445
lea eax, [r15*8]
lea rsi, [rax + rax*2]
mov rax, qword [0x14032b618]
movzx eax, byte [rax]
mov edx, 8
mov rcx, rsi
call fcn.14002f790
test rax, rax
je 0x14006148b
mov rdi, rax
jmp 0x14006044a
mov r14, qword [rsp + 0x130]
mov byte [r14 + 8], 1
mov qword [r14], rax
cmp word [rsp + 0x100], 0
je 0x140061269
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x140061269
mov rcx, qword [rsp + 0x110]
mov r8d, 1
call fcn.14002f7a0
jmp 0x140061269
mov edi, 8
and ebp, 0xf
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x198], r15
mov qword [rsp + 0x1a0], rdi
mov qword [rsp + 0x1a8], 0
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x160]
cmp rax, rcx
cmovb rcx, rax
mov qword [rsp + 0x160], rcx
test rcx, rcx
je 0x1400607d2
mov r14, qword [rsp + 0x208]
lea r12d, [r12*4]
lea rbp, [rbx + 2]
xor r15d, r15d
jmp 0x140060507
inc r15
mov rax, qword [rsp + 0x1a0]
lea rcx, [r13*2]
add rcx, r13
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], rbx
mov qword [rax + rcx*8 + 0x10], rdi
inc r13
mov qword [rsp + 0x1a8], r13
cmp r15, qword [rsp + 0x160]
movabs rbx, 0x8000000000000000
je 0x1400607c0
lea rcx, [r15 + r15*4]
mov rdx, qword [rsp + 0x138]
lea rax, [rdx + rcx*8]
mov rcx, qword [rdx + rcx*8]
cmp rcx, rbp
lea rcx, [rbx + rcx + 1]
mov edx, 0
cmovge rcx, rdx
test rcx, rcx
je 0x1400605c9
cmp rcx, 1
jne 0x140060607
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rsi, qword [rax + 0x20]
lea rcx, [rsp + 0xb0]
mov r9, rsi
call fcn.14005bec0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x140], xmm0
lea rcx, [rsp + 0xc8]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x110], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rsp + 0x58]
mov word [rsp + 0x20], ax
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x140]
lea r8, [rsp + 0x100]
mov r9, rsi
call fcn.14005c8e0
jmp 0x14006064c
mov r9, qword [rax + 0x20]
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x190]
movzx ecx, byte [rcx]
mov r10, qword [rsp + 0x58]
mov word [rsp + 0x30], r10w
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xb0]
call fcn.14005b920
jmp 0x14006064c
cmp byte [rsp + 0x50], 0
je 0x14006062a
mov esi, 4
mov edx, 4
mov rcx, r12
call fcn.14002f7c0
test rax, rax
jne 0x14006062f
jmp 0x140061404
mov eax, 4
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
lea rax, [r15 + r15*2]
lea rcx, [r14 + rax*8]
mov rbx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rax, qword [rcx + 0x10]
cmp rdi, rax
cmovb rax, rdi
test rax, rax
je 0x140060790
mov rcx, qword [rcx + 8]
cmp rax, 8
jb 0x14006069c
lea rdx, [rcx + rax*4]
cmp rbx, rdx
jae 0x14006073f
lea rdx, [rbx + rax*4]
cmp rcx, rdx
jae 0x14006073f
xor edx, edx
mov r9, rax
mov r8, rdx
and r9, 3
je 0x1400606ce
mov r10, rdx
nop dword [rax]
movss xmm0, dword [rcx + r10*4]
mulss xmm0, dword [rbx + r10*4]
lea r8, [r10 + 1]
movss dword [rbx + r10*4], xmm0
mov r10, r8
dec r9
jne 0x1400606b0
sub rdx, rax
cmp rdx, 0xfffffffffffffffc
ja 0x140060790
nop dword [rax + rax]
movss xmm0, dword [rcx + r8*4]
mulss xmm0, dword [rbx + r8*4]
movss dword [rbx + r8*4], xmm0
movss xmm0, dword [rcx + r8*4 + 4]
mulss xmm0, dword [rbx + r8*4 + 4]
movss dword [rbx + r8*4 + 4], xmm0
movss xmm0, dword [rcx + r8*4 + 8]
mulss xmm0, dword [rbx + r8*4 + 8]
movss dword [rbx + r8*4 + 8], xmm0
movss xmm0, dword [rcx + r8*4 + 0xc]
mulss xmm0, dword [rbx + r8*4 + 0xc]
movss dword [rbx + r8*4 + 0xc], xmm0
lea rdx, [r8 + 4]
mov r8, rdx
cmp rax, rdx
jne 0x1400606e0
jmp 0x140060790
mov rdx, rax
and rdx, 0xfffffffffffffff8
xor r8d, r8d
nop dword [rax]
movups xmm0, xmmword [rcx + r8*4]
movups xmm1, xmmword [rcx + r8*4 + 0x10]
movups xmm2, xmmword [rbx + r8*4]
mulps xmm2, xmm0
movups xmm0, xmmword [rbx + r8*4 + 0x10]
mulps xmm0, xmm1
movups xmmword [rbx + r8*4], xmm2
movups xmmword [rbx + r8*4 + 0x10], xmm0
add r8, 8
cmp rdx, r8
jne 0x140060750
cmp rax, rdx
jne 0x14006069e
nop dword [rax]
mov rsi, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x1a8]
cmp r13, qword [rsp + 0x198]
jne 0x1400604c0
lea rcx, [rsp + 0x198]
call fcn.140062930
jmp 0x1400604c0
mov rdi, qword [rsp + 0x1a0]
mov r14, qword [rsp + 0x190]
jmp 0x1400607dd
lea r12d, [r12*4]
xor r13d, r13d
shl r13, 3
lea rbx, [r13*2]
add rbx, r13
mov r15, qword [rsp + 0x218]
mov ebp, dword [rsp + 0x1b4]
movzx r13d, byte [rsp + 0x67]
jmp 0x14006084b
cmp byte [rsp + 0x50], 0
je 0x140060825
lea rcx, [rsi*4]
add rcx, qword [rdi + 8]
xor edx, edx
mov r8, r12
call sub.msvcrt.dll_memset
add rsi, qword [rsp + 0x58]
mov qword [rdi + 0x10], rsi
movzx eax, byte [r14]
mov rdx, qword [rdi + 8]
add rdi, 0x18
imul rcx, rax, 0x78
add rcx, r15
add rbx, 0xffffffffffffffe8
mov r8, rsi
mov r9d, ebp
call fcn.140063be0
test rbx, rbx
je 0x140060875
mov rax, qword [rdi]
mov rsi, qword [rdi + 0x10]
sub rax, rsi
mov r8, qword [rsp + 0x58]
cmp rax, r8
jae 0x140060803
mov rcx, rdi
mov rdx, rsi
call fcn.140062720
mov rsi, qword [rdi + 0x10]
jmp 0x14006080a
cmp r13b, 2
je 0x1400608a8
mov eax, r13d
and al, 1
jne 0x1400608a8
mov edx, dword [rsp + 0x1b0]
mov ecx, edx
and cl, 0xf
mov eax, 0xffffffff
shl eax, cl
add eax, dword [rsp + 0x4c]
movzx edi, ax
shr edi, 2
xor ebx, ebx
mov r8, qword [rsp + 0x58]
jmp 0x1400608ba
movzx ebx, byte [r14]
xor edi, edi
mov r8, qword [rsp + 0x58]
mov edx, dword [rsp + 0x1b0]
mov rbp, qword [rsp + 0x318]
cmp r13b, 2
je 0x140060908
cmp byte [rsp + 0x1fc], 0
mov r13, qword [rsp + 0x70]
jne 0x14006090d
and dl, 0xf
mov eax, 1
mov ecx, edx
shl eax, cl
mov edx, 3
mov ecx, dword [rsp + 0x50]
shl edx, cl
mov ecx, edx
sub ecx, eax
movzx r8d, cx
shr r8d, 2
add edx, eax
movzx eax, dx
shr eax, 2
mov dword [rsp + 0x4c], eax
jmp 0x14006090d
mov r13, qword [rsp + 0x70]
test r13, r13
je 0x14006094b
mov r14, r8
lea eax, [r13*8]
lea r12, [rax + rax*2]
mov rax, qword [0x14032b618]
movzx eax, byte [rax]
mov esi, 8
mov edx, 8
mov rcx, r12
call fcn.14002f790
test rax, rax
je 0x140061404
mov r8, r14
jmp 0x140060950
mov eax, 8
mov qword [rsp + 0x140], r13
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 0
mov rcx, qword [rbp]
movabs rax, 0x8000000000000000
mov qword [rbp], rax
cmp rcx, rax
mov qword [rsp + 0x58], r8
jne 0x140060b39
mov rax, qword [rsp + 0x1a8]
test rax, rax
je 0x1400611ad
mov rsi, qword [rsp + 0x1a0]
lea rax, [rax + rax*2]
lea rax, [rsi + rax*8]
mov qword [rsp + 0x50], rax
movzx r14d, word [rsp + 0x58]
mov ecx, dword [rsp + 0x4c]
mov eax, ecx
sub eax, r14d
movzx r13d, ax
movzx eax, cx
mov ecx, r13d
shl ecx, 2
mov qword [rsp + 0x68], rcx
mov ebp, r14d
shl ebp, 2
mov r15, r14
sub r15, rax
mov qword [rsp + 0x70], r13
jmp 0x140060a34
lea rcx, [rsp + 0x140]
call fcn.140062930
mov rax, qword [rsp + 0x148]
lea rcx, [rbx + rbx*2]
mov qword [rax + rcx*8], r13
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], rdi
inc rbx
mov qword [rsp + 0x150], rbx
mov qword [rsi + 0x10], 0
add rsi, 0x18
cmp rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x70]
je 0x1400611ad
mov r12d, 4
mov rax, qword [rsp + 0x58]
cmp word [rsp + 0x4c], ax
je 0x140060a6b
mov rax, qword [0x14032b618]
movzx eax, byte [rax]
mov edx, 4
mov rcx, qword [rsp + 0x68]
call fcn.14002f790
test rax, rax
je 0x140061414
mov r12, rax
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xc0], 0
mov rax, qword [rsp + 0x58]
cmp word [rsp + 0x4c], ax
jbe 0x140060af1
xor edi, edi
lea rbx, [rsp + 0xb0]
jmp 0x140060ac0
mov rax, qword [rsp + 0xb8]
movss dword [rax + rdi*4], xmm6
inc rdi
mov qword [rsp + 0xc0], rdi
mov rax, r15
add rax, rdi
je 0x140060b0e
lea rcx, [r14 + rdi]
mov rdx, qword [rsi + 0x10]
cmp rcx, rdx
jae 0x140061140
mov rax, qword [rsi + 8]
add rax, rbp
movss xmm6, dword [rax + rdi*4]
cmp rdi, qword [rsp + 0xb0]
jne 0x140060aa0
mov rcx, rbx
call fcn.1400629f0
jmp 0x140060aa0
xor edi, edi
mov rbx, qword [rsp + 0x150]
cmp rbx, qword [rsp + 0x140]
je 0x1400609e6
jmp 0x1400609f3
mov r13, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x150]
cmp rbx, qword [rsp + 0x140]
jne 0x1400609f3
jmp 0x1400609e6
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rbp + 8]
movups xmmword [rsp + 0x108], xmm0
mov rdx, qword [rsp + 0x1a8]
mov qword [rsp + 0x250], rdx
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x258], rax
cmp rdx, rax
jne 0x1400614c6
mov rax, qword [rsp + 0x108]
lea r8, [rdx*8]
lea r8, [r8 + r8*2]
lea r9, [rax + r8]
mov r12, qword [rsp + 0x1a0]
add r8, r12
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x170], r9
mov qword [rsp + 0xc8], r9
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0x178], r8
mov qword [rsp + 0xd8], r8
test rdx, rdx
mov r14, qword [rsp + 0x130]
je 0x1400611a0
movzx ecx, bl
imul rcx, rcx, 0x78
add rcx, r15
add rcx, 0x48
mov qword [rsp + 0x138], rcx
movzx esi, di
movzx r8d, word [rsp + 0x58]
movzx r13d, word [rsp + 0x4c]
test si, si
sete r9b
mov rdx, r8
sub rdx, rsi
cmp r8w, si
sete cl
cmp rdx, 1
mov qword [rsp + 0x70], rdx
adc rdx, 0
mov qword [rsp + 0x1d0], rdx
cmp r13w, r8w
mov qword [rsp + 0x78], rsi
jae 0x140060cf5
lea rbp, [rax + 0x18]
mov rbx, qword [rax]
movabs rdi, 0x8000000000000000
cmp rbx, rdi
je 0x140061190
mov r15, qword [rax + 8]
mov rcx, qword [rax + 0x10]
lea rax, [r12 + 0x18]
mov rdx, qword [rsp + 0x138]
cmp qword [rdx + 0x10], rcx
jae 0x140061502
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xd0], rax
mov byte [r14 + 8], 1
mov qword [r14], rdi
test rbx, rbx
je 0x140060cc9
shl rbx, 2
mov r8d, 4
mov rcx, r15
mov rdx, rbx
call fcn.14002f7a0
lea rcx, [rsp + 0xb0]
call fcn.14006a090
lea rcx, [rsp + 0x140]
call fcn.14005b660
lea rcx, [rsp + 0x198]
call fcn.14005b660
jmp 0x140061269
mov qword [rsp + 0x168], r13
mov rdx, r8
mov qword [rsp + 0x160], r8
sub r13, r8
mov qword [rsp + 0x188], r13
lea rdx, [r13*4]
mov qword [rsp + 0x68], rdx
or r9b, cl
mov byte [rsp + 0x190], r9b
lea rcx, [rsi*4]
mov qword [rsp + 0x1b8], rcx
lea rcx, [rsi*4 + 0x10]
mov qword [rsp + 0x1c8], rcx
lea rcx, [0x1402b30a0]
mov qword [rsp + 0x128], rcx
movabs rdi, 0x8000000000000000
mov r13, qword [rsp + 0x138]
jmp 0x140060d87
mov rcx, qword [rsp + 0x50]
mov r12, rcx
mov rax, rbp
cmp rbp, qword [rsp + 0x170]
je 0x140061185
lea rbp, [rax + 0x18]
mov rbx, qword [rax]
cmp rbx, rdi
je 0x140061190
mov r15, qword [rax + 8]
cmp r12, qword [rsp + 0x178]
je 0x140061151
mov rcx, qword [rax + 0x10]
lea rax, [r12 + 0x18]
cmp qword [r13 + 0x10], rcx
jb 0x140060c97
mov qword [rsp + 0x50], rax
lea rax, [rcx + rsi]
cmp rax, rsi
jb 0x14006170d
mov rdx, qword [r12 + 0x10]
cmp rax, rdx
ja 0x140061452
test rcx, rcx
je 0x140060fcc
mov rax, qword [r13 + 8]
lea rdx, [rax + rcx*4]
mov r10, qword [r12 + 8]
lea r8, [r10 + rsi*4]
mov rsi, rcx
movabs r9, 0x3fffffffffffffff
and rsi, r9
lea r11, [rcx - 1]
cmp rsi, r11
mov r9, r11
cmovb r9, rsi
cmp r9, 8
jae 0x140060e22
xor r9d, r9d
jmp 0x140060f91
mov qword [rsp + 0x180], rbp
mov qword [rsp + 0x1c0], rbx
cmp rsi, r11
cmovb r11, rsi
mov rsi, qword [rsp + 0x1b8]
add rsi, r10
lea r14, [rsi + r11*4]
add r14, 4
mov rsi, rcx
sub rsi, r11
lea rsi, [rax + rsi*4]
add rsi, 0xfffffffffffffffc
lea r13, [rax + r11*4]
add r13, 4
lea rbp, [r15 + r11*4]
add rbp, 4
cmp r8, rdx
setb dil
cmp rsi, r14
setb bl
cmp r8, r13
setb r11b
cmp rax, r14
setb r13b
cmp r8, rbp
setb sil
cmp r15, r14
setb r14b
test dil, bl
jne 0x140060f6c
and r11b, r13b
movabs rdi, 0x8000000000000000
mov rbx, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x180]
jne 0x140060f5f
and sil, r14b
jne 0x140060f5f
inc r9
mov r11d, r9d
and r11d, 7
mov esi, 8
cmove r11, rsi
sub r9, r11
lea r11, [r9*4]
sub rdx, r11
lea r11, [rax + rcx*4]
add r11, 0xfffffffffffffff0
add r10, qword [rsp + 0x1c8]
xor esi, esi
mov r14, qword [rsp + 0x130]
movups xmm0, xmmword [r10 + rsi*4 - 0x10]
movups xmm1, xmmword [r10 + rsi*4]
movups xmm2, xmmword [rax + rsi*4]
mulps xmm2, xmm0
movups xmm0, xmmword [rax + rsi*4 + 0x10]
mulps xmm0, xmm1
movups xmm1, xmmword [r15 + rsi*4]
movups xmm3, xmmword [r15 + rsi*4 + 0x10]
movups xmm4, xmmword [r11 - 0x10]
movups xmm5, xmmword [r11]
shufps xmm5, xmm5, 0x1b
mulps xmm5, xmm1
addps xmm5, xmm2
shufps xmm4, xmm4, 0x1b
mulps xmm4, xmm3
addps xmm4, xmm0
movups xmmword [r10 + rsi*4 - 0x10], xmm5
movups xmmword [r10 + rsi*4], xmm4
add rsi, 8
add r11, 0xffffffffffffffe0
cmp r9, rsi
jne 0x140060f03
jmp 0x140060f91
xor r9d, r9d
mov r14, qword [rsp + 0x130]
jmp 0x140060f91
xor r9d, r9d
mov r14, qword [rsp + 0x130]
movabs rdi, 0x8000000000000000
mov rbx, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x180]
cmp rdx, rax
je 0x140060fc7
movss xmm0, dword [r8 + r9*4]
mulss xmm0, dword [rax + r9*4]
movss xmm1, dword [r15 + r9*4]
mulss xmm1, dword [rdx - 4]
addss xmm1, xmm0
movss dword [r8 + r9*4], xmm1
lea r10, [r9 + 1]
add rdx, 0xfffffffffffffffc
mov r9, r10
cmp rcx, r10
jne 0x140060f91
mov rdx, qword [r12 + 0x10]
cmp rdx, qword [rsp + 0x168]
jb 0x14006143b
mov rax, qword [rsp + 0x160]
lea esi, [rax*4]
add rsi, qword [r12 + 8]
mov r13d, 4
mov rax, qword [rsp + 0x58]
cmp word [rsp + 0x4c], ax
je 0x140061025
mov rax, qword [0x14032b618]
movzx eax, byte [rax]
mov edx, 4
mov rcx, qword [rsp + 0x68]
call fcn.14002f790
test rax, rax
je 0x14006149d
mov r13, rax
mov rcx, r13
mov rdx, rsi
mov r8, qword [rsp + 0x68]
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0x150]
cmp rsi, qword [rsp + 0x140]
jne 0x140061054
lea rcx, [rsp + 0x140]
call fcn.140062930
mov rax, qword [rsp + 0x148]
lea rcx, [rsi + rsi*2]
mov rdx, qword [rsp + 0x188]
mov qword [rax + rcx*8], rdx
mov qword [rax + rcx*8 + 8], r13
mov qword [rax + rcx*8 + 0x10], rdx
inc rsi
mov qword [rsp + 0x150], rsi
cmp byte [rsp + 0x190], 0
mov rsi, qword [rsp + 0x78]
mov r13, qword [rsp + 0x138]
jne 0x1400610da
mov rcx, rsi
mov rax, qword [rsp + 0x1d0]
xor r8d, r8d
nop word cs:[rax + rax]
mov rdx, qword [r12 + 0x10]
cmp rcx, rdx
jae 0x1400612cb
mov rdx, qword [r12 + 8]
movss xmm0, dword [rdx + rcx*4]
movss dword [rdx + r8], xmm0
add r8, 4
inc rcx
dec rax
jne 0x1400610b0
mov rax, qword [rsp + 0x70]
cmp qword [r12 + 0x10], rax
jb 0x1400610f0
mov rax, qword [rsp + 0x70]
mov qword [r12 + 0x10], rax
test rbx, rbx
je 0x140060d6e
shl rbx, 2
mov r8d, 4
mov rcx, r15
mov rdx, rbx
call fcn.14002f7a0
jmp 0x140060d6e
lea r8, [0x1402b3148]
mov rcx, rbx
call fcn.1401ac3e0
jmp 0x140061737
lea r8, [0x1402b3130]
mov rcx, rsi
mov rdx, qword [rsp + 0x68]
call fcn.1401ac3e0
jmp 0x140061737
lea r8, [0x1402b30e8]
call fcn.1401ac3e0
jmp 0x140061737
mov qword [rsp + 0xb8], rbp
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xd0], rax
test rbx, rbx
je 0x1400611a0
shl rbx, 2
mov r8d, 4
mov rcx, r15
mov rdx, rbx
call fcn.14002f7a0
jmp 0x1400611a0
mov r12, rcx
mov rbp, qword [rsp + 0x170]
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xd0], r12
lea rcx, [rsp + 0xb0]
call fcn.14006a090
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xb0], xmm0
mov rsi, qword [rsp + 0x318]
mov rcx, rsi
call fcn.14005b7c0
mov rax, qword [rsp + 0xc0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsi], xmm0
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
lea rdx, [rdx + rdx*2]
lea rdx, [rcx + rdx*8]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0xb0]
call fcn.1400682d0
mov rax, qword [rsp + 0x110]
mov r14, qword [rsp + 0x130]
mov qword [r14 + 0x10], rax
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [r14], xmm0
lea rcx, [rsp + 0x200]
call fcn.14005b660
cmp word [rsp + 0x80], 0
je 0x1400612a1
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x1400612a1
mov rcx, qword [rsp + 0x90]
mov r8d, 1
call fcn.14002f7a0
lea rcx, [rsp + 0x220]
call fcn.14005b6e0
jmp 0x14005f72e
mov rcx, r15
mov rax, r14
jmp 0x1400612be
mov rax, rdi
mov r8, rax
call fcn.1401ac3e0
jmp 0x140061737
mov qword [rsp + 0xb8], rbp
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
lea r8, [0x1402b30d0]
call fcn.1401ac3e0
jmp 0x140061737
mov rbx, rdi
mov rdx, qword [rsp + 0x1b8]
lea r8, [0x1402b3100]
jmp 0x14006111a
lea r8, [0x1402b3070]
mov rcx, r13
call fcn.1401ac3e0
lea r8, [0x1402b3118]
mov rcx, r15
call fcn.1401b2770
jmp 0x140061737
lea r8, [0x1402b3118]
mov rcx, rdx
mov rdx, qword [rsp + 0x70]
call fcn.1401b26f0
jmp 0x140061737
lea r8, [0x1402b25c0]
mov rcx, rdx
mov edx, 0x20
call fcn.1401b26f0
jmp 0x140061737
mov rcx, rdx
jmp 0x140061368
mov rcx, rdx
mov r8, r10
mov edx, 0x20
call fcn.1401b26f0
jmp 0x140061737
lea rcx, [0x1402b2fd8]
jmp 0x1400613fa
lea r8, [0x1402b2fc0]
call fcn.1401b26f0
jmp 0x140061737
lea rax, str._b0_
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xc0], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
lea rax, [0x1402b3040]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x140]
lea r8, [rsp + 0x100]
lea r9, [rsp + 0xb0]
mov cl, 1
call fcn.140069e10
jmp 0x140061737
lea rcx, [0x1402b2ff0]
call fcn.1401abf80
jmp 0x140061737
mov rcx, rsi
mov rdx, r12
call fcn.14019eb00
jmp 0x140061737
mov ecx, 4
mov rdx, qword [rsp + 0x68]
call fcn.14019eb00
jmp 0x140061737
lea r8, [0x1402b3220]
mov rcx, 0xffffffffffffffff
call fcn.1401b2770
mov rax, qword [rsp + 0x168]
lea rcx, [0x1402b30b8]
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0xb8], rbp
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rcx
mov rcx, rax
mov r8, qword [rsp + 0x128]
call fcn.1401b26f0
jmp 0x140061737
lea r8, [0x1402b3220]
mov rcx, r9
call fcn.1401b2770
mov ecx, 8
mov rdx, rsi
call fcn.14019eb00
jmp 0x140061737
mov qword [rsp + 0xb8], rbp
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
mov ecx, 4
mov rdx, qword [rsp + 0x68]
call fcn.14019eb00
jmp 0x140061737
mov qword [rsp + 0xb0], 0
lea rax, [0x1402b3088]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x250]
lea r8, [rsp + 0x258]
lea r9, [rsp + 0xb0]
xor ecx, ecx
call fcn.140069e10
jmp 0x140061737
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x78]
lea rax, [rcx + rdx]
cmp rax, rdx
jae 0x140061529
lea rcx, [0x1402b30a0]
mov qword [rsp + 0x128], rcx
jmp 0x14006170d
mov rdx, qword [r12 + 0x10]
cmp rax, rdx
jbe 0x14006153f
lea rcx, [0x1402b30a0]
jmp 0x14006144a
lea rax, [0x1402b30b8]
mov qword [rsp + 0x128], rax
test rcx, rcx
je 0x140061705
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx*4]
mov r10, qword [r12 + 8]
mov r9, qword [rsp + 0x78]
lea r12, [r10 + r9*4]
movabs rsi, 0x3fffffffffffffff
and rsi, rcx
lea r9, [rcx - 1]
cmp rsi, r9
mov r11, r9
cmovb r11, rsi
cmp r11, 0x10
jae 0x14006159e
xor r9d, r9d
jmp 0x1400616cf
lea r14, [rcx*4]
cmp rsi, r9
cmovb r9, rsi
lea rsi, [r9*4]
sub r14, rsi
mov rsi, qword [rsp + 0x78]
add rsi, r9
lea rdi, [r10 + rsi*4 + 4]
lea rsi, [r14 + rax]
add rsi, 0xfffffffffffffffc
lea r14, [rax + r9*4]
add r14, 4
lea r9, [r15 + r9*4]
add r9, 4
cmp r12, rdx
setb byte [rsp + 0x58]
cmp rsi, rdi
setb byte [rsp + 0x70]
cmp r12, r14
setb sil
cmp rax, rdi
setb byte [rsp + 0x68]
cmp r12, r9
setb r14b
cmp r15, rdi
setb byte [rsp + 0x178]
xor r9d, r9d
movzx edi, byte [rsp + 0x70]
test byte [rsp + 0x58], dil
jne 0x1400616cf
and sil, byte [rsp + 0x68]
jne 0x1400616cf
and r14b, byte [rsp + 0x178]
jne 0x1400616cf
inc r11
mov r9d, r11d
and r9d, 7
mov esi, 8
cmovne rsi, r9
mov r9, r11
sub r9, rsi
lea r11, [r9*4]
sub rdx, r11
lea r11, [rax + rcx*4]
add r11, 0xfffffffffffffff0
mov rsi, qword [rsp + 0x78]
lea r10, [r10 + rsi*4]
add r10, 0x10
xor esi, esi
movups xmm0, xmmword [r10 + rsi*4 - 0x10]
movups xmm1, xmmword [r10 + rsi*4]
movups xmm2, xmmword [rax + rsi*4]
mulps xmm2, xmm0
movups xmm0, xmmword [rax + rsi*4 + 0x10]
mulps xmm0, xmm1
movups xmm1, xmmword [r15 + rsi*4]
movups xmm3, xmmword [r15 + rsi*4 + 0x10]
movups xmm4, xmmword [r11 - 0x10]
movups xmm5, xmmword [r11]
shufps xmm5, xmm5, 0x1b
mulps xmm5, xmm1
addps xmm5, xmm2
shufps xmm4, xmm4, 0x1b
mulps xmm4, xmm3
addps xmm4, xmm0
movups xmmword [r10 + rsi*4 - 0x10], xmm5
movups xmmword [r10 + rsi*4], xmm4
add rsi, 8
add r11, 0xffffffffffffffe0
cmp r9, rsi
jne 0x140061675
cmp rdx, rax
je 0x140061705
movss xmm0, dword [r12 + r9*4]
mulss xmm0, dword [rax + r9*4]
movss xmm1, dword [r15 + r9*4]
mulss xmm1, dword [rdx - 4]
addss xmm1, xmm0
movss dword [r12 + r9*4], xmm1
lea r10, [r9 + 1]
add rdx, 0xfffffffffffffffc
mov r9, r10
cmp rcx, r10
jne 0x1400616cf
mov qword [rsp + 0x78], r8
mov rax, r13
mov qword [rsp + 0xb8], rbp
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rsp + 0x78]
mov rdx, rax
mov r8, qword [rsp + 0x128]
call fcn.1401b2770
ud2