Function at 0x1400a16d0
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x230], 0xfffffffffffffffe
mov r12, r8
mov r13, rdx
mov r14, rcx
lea r15, [rdx + 0x38]
mov rsi, qword [rdx + 0x38]
mov qword [rdx + 0x38], 0
test rsi, rsi
je 0x1400a1930
mov qword [rbp + 0x30], rsi
movzx eax, byte [rsi + 0x80]
test al, al
jne 0x1400a17c4
mov rax, qword [r12]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, qword [rdx]
mov byte [rbp + 0x22d], 1
call rax
mov cl, 1
xchg byte [rsi + 0x60], cl
test cl, cl
je 0x1400a175d
mov rax, qword [rax + 0x18]
mov byte [rbp + 0x22d], 1
mov rcx, rdx
call rax
jmp 0x1400a17c4
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x208], rdx
lea rax, [rsi + 0x50]
mov qword [rbp + 0x130], rax
mov rax, qword [rax]
test rax, rax
mov qword [rbp + 0x220], rsi
je 0x1400a1793
mov rcx, qword [rbp + 0x220]
mov rcx, qword [rcx + 0x58]
call qword [rax + 0x18]
mov rax, qword [rbp + 0x210]
mov rsi, qword [rbp + 0x220]
mov qword [rsi + 0x50], rax
mov rax, qword [rbp + 0x208]
mov qword [rsi + 0x58], rax
xor eax, eax
xchg byte [rsi + 0x60], al
movzx eax, byte [rsi + 0x80]
test al, al
je 0x1400a21cb
mov al, 1
xchg byte [rsi + 0x48], al
test al, al
jne 0x1400a17e2
movzx eax, byte [rsi + 0x41]
mov byte [rsi + 0x41], 2
cmp al, 2
jne 0x1400a2182
xor eax, eax
xchg byte [rsi + 0x48], al
mov byte [rbp + 0x160], 4
mov qword [rbp + 0x130], 0
mov byte [rbp + 0x159], 2
movzx eax, byte [0x14026d308]
mov rcx, qword [0x14026d258]
test rcx, rcx
jne 0x1400a1827
call qword [case.0x14000382e.2]
test rax, rax
je 0x1400a33c6
mov rcx, rax
mov qword [0x14026d258], rax
mov r8d, 0x38
xor edx, edx
call qword [case.0x14000382e.1]
test rax, rax
je 0x1400a33c6
mov rcx, qword [rbp + 0x160]
mov qword [rax + 0x30], rcx
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov byte [rbp + 0x22d], 1
mov bl, 2
lea rdx, [0x1401eb6d8]
mov r8d, 0x19
mov qword [rbp + 0x220], rax
mov rcx, rax
call fcn.140070220
mov rsi, qword [rbp + 0x30]
mov dil, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x1400a18c9
mov rax, qword [rsi + 0x50]
mov rcx, qword [rsi + 0x58]
mov qword [rsi + 0x50], 0
xor edx, edx
xchg byte [rsi + 0x60], dl
test rax, rax
je 0x1400a18c9
call qword [rax + 0x18]
xchg byte [rsi + 0x78], dil
test dil, dil
jne 0x1400a18ef
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x70]
mov qword [rsi + 0x68], 0
xor edx, edx
xchg byte [rsi + 0x78], dl
test rax, rax
je 0x1400a18ef
call qword [rax + 8]
mov rax, qword [rbp + 0x30]
lock dec qword [rax]
jne 0x1400a1902
mov rcx, qword [rbp + 0x30]
call fcn.14006f660
cmp bl, 4
je 0x1400a3098
movzx eax, bl
cmp eax, 3
je 0x1400a1930
cmp eax, 2
jne 0x1400a2106
mov rax, qword [rbp + 0x220]
mov qword [r14], rax
mov byte [r14 + 0x70], 2
jmp 0x1400a309d
mov rdi, qword [r13 + 0x30]
test rdi, rdi
je 0x1400a308a
lea rcx, [rdi + 0x10]
mov qword [rbp + 0x28], rcx
call qword [0x14019d380]
mov rax, qword [0x14026d300]
shl rax, 1
test rax, rax
jne 0x1400a2883
mov dword [rbp + 0x1dc], 0
mov qword [rbp - 0x50], r12
mov qword [rbp + 0x200], r15
mov qword [rbp - 0x58], r14
movzx eax, byte [rdi + 0x18]
test al, al
jne 0x1400a33da
cmp qword [rdi + 0x78], 0
mov qword [rbp + 0x120], r13
mov qword [rbp + 0x1d0], rdi
je 0x1400a1dec
mov rax, qword [rdi + 0xd0]
mov qword [rbp + 0x128], rax
mov eax, dword [rdi + 0xd8]
mov dword [rbp + 0x1c0], eax
mov rcx, qword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov r8, r13
call fcn.140098d90
mov rcx, qword [rdi + 0x60]
mov rdx, qword [rdi + 0x68]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r8d, byte [r13]
mov r9, qword [r13 + 8]
mov qword [rbp + 0x1e0], r9
movzx r9d, byte [r13 + 1]
mov byte [rbp + 0x1c8], r9b
mov r9, qword [r13 + 0x18]
mov qword [rbp + 0x208], r9
mov r9, qword [r13 + 0x20]
mov qword [rbp + 0x1f8], r9
neg r9
mov qword [rbp + 0x220], r9
xor r9d, r9d
mov qword [rbp + 0x1e8], r9
pcmpeqd xmm1, xmm1
mov qword [rbp + 0x1f0], r8
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r10d, xmm3
test r10d, r10d
mov qword [rbp + 0x210], rax
jne 0x1400a1aca
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
mov r13, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x1d0]
jne 0x1400a1dec
mov r9, qword [rbp + 0x1e8]
add rax, r9
add rax, 0x10
add r9, 0x10
mov qword [rbp + 0x1e8], r9
jmp 0x1400a1a3f
test r10b, r10b
je 0x1400a338c
lea r10d, [rsi - 1]
and r10d, esi
test r10w, r10w
mov rcx, r11
mov rax, qword [rbp + 0x210]
mov rdx, r14
mov r8, qword [rbp + 0x1f0]
je 0x1400a1a60
mov esi, r10d
tzcnt r10d, esi
add r10, rax
mov r14, rdx
and r10, rdx
neg r10
lea r10, [r10 + r10*8]
mov r11, rcx
lea r15, [rcx + r10*8]
cmp r8d, 1
je 0x1400a1b90
cmp r8d, 2
jne 0x1400a338c
movzx r10d, byte [r15 - 0x48]
cmp r10b, 2
jne 0x1400a1aa0
mov rax, qword [rbp + 0x1e0]
mov r10, qword [rax + 0x10]
mov rdi, qword [r15 - 0x40]
cmp r10, qword [rdi + 0x10]
jne 0x1400a1aa9
mov rax, qword [rbp + 0x1e0]
mov r13, qword [rax + 8]
mov r12, qword [rdi + 8]
mov rdi, r10
neg rdi
mov rbx, 0xffffffffffffffff
nop dword [rax]
lea r9, [rdi + rbx]
cmp r9, 0xffffffffffffffff
je 0x1400a1bc0
movzx r9d, byte [r13 + rbx + 1]
movzx ecx, byte [r12 + rbx + 1]
lea edx, [r9 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or dl, r9b
or r8b, cl
inc rbx
cmp dl, r8b
je 0x1400a1b40
cmp rbx, r10
jb 0x1400a1aa9
jmp 0x1400a1bc0
movzx r10d, byte [r15 - 0x48]
cmp r10b, 1
jne 0x1400a1aa0
movzx r10d, byte [r15 - 0x47]
cmp byte [rbp + 0x1c8], 0
je 0x1400a1bb7
test r10b, r10b
jne 0x1400a1bc0
jmp 0x1400a1aa9
test r10b, r10b
jne 0x1400a1aa9
mov rax, qword [rbp + 0x1f8]
cmp rax, qword [r15 - 0x28]
jne 0x1400a1aa9
mov rdi, qword [r15 - 0x30]
mov r10, 0xffffffffffffffff
nop dword [rax]
mov rax, qword [rbp + 0x220]
lea rcx, [rax + r10]
cmp rcx, 0xffffffffffffffff
je 0x1400a1c3f
mov rax, qword [rbp + 0x208]
movzx ecx, byte [rax + r10 + 1]
movzx edx, byte [rdi + r10 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea r9d, [rdx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
or r8b, cl
or r9b, dl
inc r10
cmp r8b, r9b
je 0x1400a1be0
cmp r10, qword [rbp + 0x1f8]
jb 0x1400a1aa9
lea rax, [r15 - 0x18]
mov qword [rbp + 0x220], rax
xor esi, esi
lea rbx, [rbp + 0xd0]
mov r13, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x1d0]
jmp 0x1400a1c78
mov rcx, rbx
call fcn.14006f750
mov rax, qword [r15 - 8]
test rax, rax
je 0x1400a1dec
dec rax
mov qword [r15 - 8], rax
mov rcx, qword [r15 - 0x18]
lea rdx, [rax + rax*8]
mov eax, dword [rcx + rdx*8 + 0x40]
cmp eax, 0x3b9aca00
je 0x1400a1dec
lea rcx, [rcx + rdx*8]
mov edx, dword [rcx + 0x44]
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqu xmm3, xmmword [rcx + 0x30]
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmmword [rbp + 0x100], xmm3
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
mov dword [rbp + 0x110], eax
mov dword [rbp + 0x114], edx
mov rax, qword [rbp + 0xf8]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x1400a1c70
cmp byte [rbp + 0xe0], 2
jne 0x1400a1d1c
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1400a1c70
jmp 0x1400a1d31
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1400a1c70
mov r12, qword [rbp + 0x108]
mov r14d, dword [rbp + 0x110]
cmp dword [rbp + 0x1c0], 0x3b9aca00
je 0x1400a1db9
mov byte [rbp + 0x22b], 1
call fcn.14016fae0
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x138], edx
mov byte [rbp + 0x22b], 1
lea rcx, [rbp + 0x130]
mov rdx, r12
mov r8d, r14d
call fcn.140159890
cmp edx, 0x3b9aca00
cmove rax, rsi
mov rcx, qword [rbp + 0x128]
cmp rax, rcx
jb 0x1400a1db9
cmp edx, 0x3b9aca00
mov r8, rcx
setne cl
cmp edx, dword [rbp + 0x1c0]
seta dl
cmp rax, r8
jne 0x1400a1c70
and cl, dl
jne 0x1400a1c70
mov byte [rbp + 0x22b], 0
lea rsi, [rbp + 0x130]
lea rdx, [rbp + 0xd0]
mov rcx, rsi
call fcn.140099290
cmp byte [rbp + 0x199], 2
jne 0x1400a270e
mov rdx, qword [r15 - 8]
jmp 0x1400a27cc
mov dword [rbp + 0xa0], 0x3b9aca00
mov dword [rbp + 0x110], 0x3b9aca00
mov r14d, 0x3b9aca00
mov dword [rbp + 0x128], 0
mov dword [rbp + 0x1e8], r14d
mov rcx, qword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov r8, r13
call fcn.140098d90
mov rcx, qword [rdi + 0x60]
mov rdx, qword [rdi + 0x68]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r8d, byte [r13]
mov r9, qword [r13 + 8]
mov qword [rbp + 0x1f0], r9
movzx r9d, byte [r13 + 1]
mov byte [rbp + 0x1c0], r9b
mov r9, qword [r13 + 0x18]
mov qword [rbp + 0x208], r9
mov r9, qword [r13 + 0x20]
mov qword [rbp + 0x1f8], r9
neg r9
mov qword [rbp + 0x220], r9
xor r9d, r9d
mov qword [rbp + 0x1c8], r9
pcmpeqd xmm1, xmm1
mov qword [rbp + 0x210], r8
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r9d, xmm3
test r9d, r9d
jne 0x1400a1f26
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
mov r13, qword [rbp + 0x120]
mov ebx, dword [rbp + 0x1e8]
jne 0x1400a22fd
mov r9, qword [rbp + 0x1c8]
add rax, r9
add rax, 0x10
add r9, 0x10
mov qword [rbp + 0x1c8], r9
jmp 0x1400a1ea0
test r10b, r10b
je 0x1400a336f
lea r9d, [rsi - 1]
and r9d, esi
test r9w, r9w
mov rcx, rax
mov rdx, r12
mov rax, r15
mov r8, qword [rbp + 0x210]
je 0x1400a1eba
mov esi, r9d
tzcnt edi, esi
mov r15, rax
add rdi, rax
mov r12, rdx
and rdi, rdx
mov r9, rdi
neg r9
lea r9, [r9 + r9*8]
mov rax, rcx
lea r9, [rcx + r9*8]
cmp r8d, 1
je 0x1400a2000
cmp r8d, 2
jne 0x1400a336f
movzx r10d, byte [r9 - 0x48]
cmp r10b, 2
jne 0x1400a1f00
mov rcx, qword [rbp + 0x1f0]
mov rcx, qword [rcx + 0x10]
mov r10, qword [r9 - 0x40]
mov qword [rbp + 0x1e0], rcx
cmp rcx, qword [r10 + 0x10]
jne 0x1400a1f09
mov rcx, qword [rbp + 0x1f0]
mov r13, qword [rcx + 8]
mov r11, qword [r10 + 8]
mov r14, qword [rbp + 0x1e0]
neg r14
mov r10, 0xffffffffffffffff
nop word cs:[rax + rax]
lea rcx, [r14 + r10]
cmp rcx, 0xffffffffffffffff
je 0x1400a2030
movzx ecx, byte [r13 + r10 + 1]
movzx edx, byte [r11 + r10 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r8b, cl
or bl, dl
inc r10
cmp r8b, bl
je 0x1400a1fb0
cmp r10, qword [rbp + 0x1e0]
jb 0x1400a1f09
jmp 0x1400a2030
movzx r10d, byte [r9 - 0x48]
cmp r10b, 1
jne 0x1400a1f00
movzx r10d, byte [r9 - 0x47]
cmp byte [rbp + 0x1c0], 0
je 0x1400a2027
test r10b, r10b
jne 0x1400a2030
jmp 0x1400a1f09
test r10b, r10b
jne 0x1400a1f09
mov rcx, qword [rbp + 0x1f8]
cmp rcx, qword [r9 - 0x28]
jne 0x1400a1f09
mov r11, qword [r9 - 0x30]
mov r10, 0xffffffffffffffff
nop dword [rax]
mov rcx, qword [rbp + 0x220]
add rcx, r10
cmp rcx, 0xffffffffffffffff
je 0x1400a20a9
mov rcx, qword [rbp + 0x208]
movzx ecx, byte [rcx + r10 + 1]
movzx edx, byte [r11 + r10 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r8b, cl
or bl, dl
inc r10
cmp r8b, bl
je 0x1400a2050
cmp r10, qword [rbp + 0x1f8]
jb 0x1400a1f09
shl rdi, 3
lea rcx, [rdi + rdi*8]
sar rcx, 3
movabs rsi, 0x8e38e38e38e38e39
imul rsi, rcx
lea r8, [rsi - 0x10]
and r8, r12
movdqu xmm0, xmmword [rax + r8]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rax + rsi]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
je 0x1400a226e
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1400a2273
mov rax, qword [rbp + 0xc0]
mov qword [r14 + 0x68], rax
movaps xmm0, xmmword [rbp + 0xb0]
movups xmmword [r14 + 0x58], xmm0
movaps xmm0, xmmword [rbp + 0xa0]
movups xmmword [r14 + 0x48], xmm0
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
movdqa xmm2, xmmword [rbp + 0x80]
movdqa xmm3, xmmword [rbp + 0x90]
movdqu xmmword [r14 + 0x38], xmm3
movdqu xmmword [r14 + 0x28], xmm2
movdqu xmmword [r14 + 0x18], xmm1
movdqu xmmword [r14 + 8], xmm0
mov eax, dword [rbp + 0x1b8]
mov ecx, dword [rbp + 0x1bb]
mov dword [r14 + 0x71], eax
mov dword [r14 + 0x74], ecx
mov rax, qword [rbp + 0x220]
mov qword [r14], rax
mov byte [r14 + 0x70], bl
jmp 0x1400a309d
lea rcx, [rsi + 0x10]
movzx edx, byte [rcx + 0x30]
mov byte [rbp + 0x10], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
mov ecx, dword [rsi + 0x42]
mov dword [rbp + 0x118], ecx
movzx ecx, word [rsi + 0x46]
mov word [rbp + 0x11c], cx
xor ecx, ecx
xchg byte [rsi + 0x48], cl
cmp al, 3
jne 0x1400a245b
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x220], rax
mov rsi, qword [r15]
test rsi, rsi
mov qword [rbp + 0x200], r15
je 0x1400a2258
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x1400a2215
mov rax, qword [rsi + 0x50]
mov rcx, qword [rsi + 0x58]
mov qword [rsi + 0x50], 0
xor edx, edx
xchg byte [rsi + 0x60], dl
test rax, rax
je 0x1400a2215
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x1400a2239
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x70]
mov qword [rsi + 0x68], 0
xor edx, edx
xchg byte [rsi + 0x78], dl
test rax, rax
je 0x1400a2239
call qword [rax + 8]
mov rax, qword [rbp + 0x200]
mov rax, qword [rax]
lock dec qword [rax]
jne 0x1400a2258
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
call fcn.14006f660
mov rax, qword [rbp + 0x220]
mov rcx, qword [rbp + 0x200]
mov qword [rcx], rax
jmp 0x1400a3098
mov r10w, 0x10
mov r11, qword [rbp + 0x1d0]
mov ebx, dword [rbp + 0x1e8]
or edx, 0x10000
tzcnt ecx, edx
add r10d, ecx
mov dl, 0x80
cmp r10w, 0xf
mov r13, qword [rbp + 0x120]
ja 0x1400a22a3
inc qword [r11 + 0x70]
mov dl, 0xff
mov byte [rax + rsi], dl
mov byte [r8 + rax + 0x10], dl
dec qword [r11 + 0x78]
movdqu xmm0, xmmword [r9 - 0x48]
movdqu xmm1, xmmword [r9 - 0x38]
movdqu xmm2, xmmword [r9 - 0x28]
movdqu xmm3, xmmword [r9 - 0x18]
movdqa xmmword [rbp + 0x130], xmm0
mov rax, qword [r9 - 8]
mov qword [rbp + 0x170], rax
movdqa xmmword [rbp + 0x160], xmm3
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm1
movzx eax, byte [rbp + 0x130]
cmp al, 3
jne 0x1400a2309
mov rdi, qword [rbp + 0x200]
jmp 0x1400a23f8
mov rsi, qword [rbp + 0x160]
mov r14, qword [rbp + 0x168]
mov r15, qword [rbp + 0x170]
cmp al, 2
jb 0x1400a2358
mov r8, qword [rbp + 0x138]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
lea rcx, [r8 + 0x18]
mov qword [rbp + 0x220], r8
mov r8, qword [r8 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x14026d258]
xor edx, edx
mov r8, qword [rbp + 0x220]
call qword [case.0x14001f69e.0]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x158]
mov r8, qword [rbp + 0x150]
call qword [rax + 0x10]
mov rdi, qword [rbp + 0x200]
test rsi, rsi
je 0x1400a23f8
mov qword [rbp + 0x208], r15
mov qword [rbp + 0x1f0], r14
xor eax, eax
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x210], rsi
mov rcx, rsi
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x220]
cmp qword [rbp + 0x208], rax
je 0x1400a23d8
inc rax
mov qword [rbp + 0x220], rax
lea rsi, [rcx + 0x48]
call fcn.14006f750
mov rcx, rsi
jmp 0x1400a23b0
cmp qword [rbp + 0x1f0], 0
mov r8, qword [rbp + 0x210]
je 0x1400a23f8
mov rcx, qword [0x14026d258]
xor edx, edx
call qword [case.0x14001f69e.0]
cmp ebx, 0x3b9aca00
jne 0x1400a2fea
cmp qword [rdi], 0
je 0x1400a25df
movdqa xmm0, xmmword [rbp + 0xd0]
movdqa xmm1, xmmword [rbp + 0xe0]
movdqa xmm2, xmmword [rbp + 0xf0]
movdqa xmm3, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x10], xmm3
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
mov r14d, dword [rbp + 0x110]
mov esi, dword [rbp + 0x114]
mov rdi, qword [rbp + 0x1d0]
jmp 0x1400a3050
movdqa xmm0, xmmword [rbp - 0x20]
movdqa xmm1, xmmword [rbp - 0x10]
movdqa xmm2, xmmword [rbp]
movdqa xmmword [rbp + 0xf0], xmm2
movzx ecx, byte [rbp + 0x10]
mov byte [rbp + 0x100], cl
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
mov byte [rbp + 0x101], al
mov eax, dword [rbp + 0x118]
mov dword [rbp + 0x102], eax
movzx eax, word [rbp + 0x11c]
mov word [rbp + 0x106], ax
mov rax, qword [rbp + 0xf8]
movzx eax, byte [rax + 0x10]
test al, al
je 0x1400a26e7
mov byte [rbp + 0x160], 4
mov qword [rbp + 0x130], 0
mov byte [rbp + 0x159], 2
movzx eax, byte [0x14026d308]
mov rcx, qword [0x14026d258]
test rcx, rcx
jne 0x1400a2504
call qword [case.0x14000382e.2]
test rax, rax
je 0x1400a3446
mov rcx, rax
mov qword [0x14026d258], rax
mov r8d, 0x38
xor edx, edx
call qword [case.0x14000382e.1]
test rax, rax
je 0x1400a3446
mov rcx, qword [rbp + 0x160]
mov qword [rax + 0x30], rcx
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov qword [rbp + 0x130], rax
mov rcx, qword [rax]
test rcx, rcx
mov qword [rbp + 0x220], rax
je 0x1400a25b3
mov rax, qword [rax + 8]
mov qword [rbp + 0x208], rcx
mov qword [rbp + 0x210], rax
call qword [rax]
mov rcx, qword [rbp + 0x210]
cmp qword [rcx + 8], 0
mov rax, qword [rbp + 0x220]
mov r8, qword [rbp + 0x208]
je 0x1400a25b3
cmp qword [rcx + 0x10], 0x11
jb 0x1400a259d
mov r8, qword [r8 - 8]
mov rcx, qword [0x14026d258]
xor edx, edx
call qword [case.0x14001f69e.0]
mov rax, qword [rbp + 0x220]
mov qword [rax], 1
lea rcx, [0x1401e8658]
mov qword [rax + 8], rcx
mov byte [rbp + 0x22d], 1
mov bl, 2
lea rcx, [rbp + 0xd0]
call fcn.14006f750
jmp 0x1400a1894
mov byte [rbp + 0x171], 2
mov byte [rbp + 0x178], 0
mov qword [rbp + 0x180], 0
mov byte [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov byte [rbp + 0x1a8], 0
mov byte [rbp + 0x1b0], 0
mov qword [rbp + 0x130], 1
mov qword [rbp + 0x138], 1
movzx eax, byte [0x14026d308]
mov rcx, qword [0x14026d258]
test rcx, rcx
mov rsi, qword [rbp + 0x1d0]
jne 0x1400a2661
call qword [case.0x14000382e.2]
test rax, rax
je 0x1400a3435
mov rcx, rax
mov qword [0x14026d258], rax
mov r8d, 0x88
xor edx, edx
call qword [case.0x14000382e.1]
test rax, rax
je 0x1400a3435
mov rdi, rax
lea rdx, [rbp + 0x130]
mov r8d, 0x88
mov rcx, rax
call fcn.140194326
lock inc qword [rdi]
jle 0x1400a3457
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0x1b8], rdi
movzx eax, byte [r13]
test rax, rax
je 0x1400a2895
cmp eax, 1
jne 0x1400a28b5
movzx ecx, byte [r13 + 1]
mov al, 1
mov dword [rbp + 0x1f0], eax
mov dword [rbp + 0x210], 0
mov dword [rbp + 0x1e0], 0
mov dl, 1
jmp 0x1400a292c
cmp byte [rbp + 0xe0], 2
jne 0x1400a2d9e
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1400a24bf
jmp 0x1400a2db3
mov byte [rbp + 0x21f], 1
call fcn.14016fae0
mov rcx, qword [rbp + 0x160]
mov qword [rbp + 0x90], rcx
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x80], xmm2
movdqa xmmword [rbp + 0x70], xmm1
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x98], rax
mov dword [rbp + 0xa0], edx
mov rdx, qword [r15 - 8]
cmp rdx, qword [r15 - 0x10]
jne 0x1400a2779
mov rcx, qword [rbp + 0x220]
call fcn.140099820
mov rdx, qword [r15 - 8]
mov rax, qword [r15 - 0x18]
lea rcx, [rdx + rdx*8]
mov r8, qword [rbp + 0xa0]
mov qword [rax + rcx*8 + 0x40], r8
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
movdqa xmm2, xmmword [rbp + 0x80]
movdqa xmm3, xmmword [rbp + 0x90]
movdqu xmmword [rax + rcx*8 + 0x30], xmm3
movdqu xmmword [rax + rcx*8 + 0x20], xmm2
movdqu xmmword [rax + rcx*8 + 0x10], xmm1
movdqu xmmword [rax + rcx*8], xmm0
inc rdx
mov qword [r15 - 8], rdx
lea rsi, [rbp + 0x168]
mov rax, qword [rsi + 0x30]
mov qword [rbp + 0x90], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movaps xmmword [rbp + 0x80], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x98], r12
mov dword [rbp + 0xa0], r14d
test rdx, rdx
sete byte [rbp + 0xa8]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x108], rax
movaps xmmword [rbp + 0xf0], xmm2
movaps xmmword [rbp + 0xe0], xmm1
movaps xmmword [rbp + 0xd0], xmm0
mov dword [rbp + 0x110], r14d
je 0x1400a2d91
movaps xmm0, xmmword [rbp + 0x60]
movaps xmm1, xmmword [rbp + 0x70]
movaps xmm2, xmmword [rbp + 0x80]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x18], rax
movaps xmmword [rbp], xmm2
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
mov esi, dword [rbp + 0x114]
jmp 0x1400a3050
call fcn.14019b6d0
xor al, 1
mov dword [rbp + 0x1dc], eax
jmp 0x1400a1968
mov dword [rbp + 0x210], 0
mov al, 1
mov dword [rbp + 0x1e0], eax
mov dword [rbp + 0x1f0], 0
xor edx, edx
jmp 0x1400a292c
movzx eax, byte [0x14026d308]
mov ecx, 0x20
mov edx, 8
call fcn.14000e090
mov qword [rbp + 0x1f8], rax
test rax, rax
je 0x1400a34a8
mov rdx, qword [r13 + 8]
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov r9, qword [rdx + 0x10]
add rdx, 0x18
lea rcx, [rbp + 0x30]
call qword [rax]
movdqu xmm0, xmmword [rbp + 0x30]
movdqu xmm1, xmmword [rbp + 0x40]
mov rax, qword [rbp + 0x1f8]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov dl, 2
mov cl, 1
mov dword [rbp + 0x210], ecx
mov dword [rbp + 0x1f0], 0
mov dword [rbp + 0x1e0], 0
mov qword [rbp - 0x30], rdi
mov dword [rbp + 0x220], edx
mov byte [rbp + 0x130], dl
mov byte [rbp + 0x1c8], cl
mov byte [rbp + 0x131], cl
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x138], rax
mov rax, qword [r13 + 0x10]
mov r8, qword [r13 + 0x18]
lea rdx, [r13 + 0x28]
mov r9, qword [r13 + 0x20]
lea rcx, [rbp + 0x30]
call qword [rax]
movups xmm0, xmmword [rbp + 0x30]
movdqu xmm1, xmmword [rbp + 0x40]
movdqu xmmword [rbp + 0x150], xmm1
movups xmmword [rbp + 0x140], xmm0
lea rax, [rsi + 0x90]
mov qword [rbp - 0x28], rax
lea rax, [rsi + 0xb0]
mov qword [rbp - 0x38], rax
mov rcx, qword [rsi + 0xb0]
mov rdx, qword [rsi + 0xb8]
lea r8, [rbp + 0x130]
call fcn.140098d90
mov r10, qword [rsi + 0x90]
mov rcx, qword [rsi + 0x98]
mov rdx, rax
shr rdx, 0x39
mov qword [rbp - 0x48], rdx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov rdx, qword [rbp + 0x148]
mov qword [rbp + 0x208], rdx
mov r9, qword [rbp + 0x150]
mov qword [rbp + 0x1c0], r9
neg r9
mov qword [rbp + 0x220], r9
xor edx, edx
mov qword [rbp + 0x1e8], rdx
pcmpeqd xmm1, xmm1
mov qword [rbp - 0x40], rax
mov rdx, rax
and rdx, rcx
movdqu xmm2, xmmword [r10 + rdx]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r8d, xmm3
test r8d, r8d
jne 0x1400a2a93
pcmpeqb xmm2, xmm1
pmovmskb r8d, xmm2
test r8d, r8d
jne 0x1400a3242
mov rax, qword [rbp + 0x1e8]
add rdx, rax
add rdx, 0x10
add rax, 0x10
mov qword [rbp + 0x1e8], rax
jmp 0x1400a2a19
cmp byte [rbp + 0x1e0], 0
jne 0x1400a33a9
lea r8d, [rsi - 1]
and r8d, esi
test r8w, r8w
mov r10, r11
mov rcx, r12
mov rdx, r9
je 0x1400a2a34
mov esi, r8d
tzcnt r8d, esi
mov r9, rdx
add r8, rdx
mov r12, rcx
and r8, rcx
neg r8
lea r8, [r8 + r8*4]
shl r8, 4
lea rax, [r10 + r8]
mov r11, r10
movzx r8d, byte [r10 + r8 - 0x50]
cmp r8, 1
je 0x1400a2b60
cmp r8d, 2
jne 0x1400a33a9
cmp byte [rbp + 0x210], 0
je 0x1400a2a70
mov rdx, rax
mov r10, qword [rax - 0x48]
mov r8, qword [r10 + 0x10]
mov rax, qword [rbp + 0x1f8]
cmp r8, qword [rax + 0x10]
jne 0x1400a2a7d
mov r10, qword [r10 + 8]
mov rax, qword [rbp + 0x1f8]
mov r13, qword [rax + 8]
mov rdi, r8
neg rdi
mov rbx, 0xffffffffffffffff
lea r14, [rdi + rbx]
cmp r14, 0xffffffffffffffff
je 0x1400a2ba0
movzx r14d, byte [r10 + rbx + 1]
movzx r15d, byte [r13 + rbx + 1]
lea ecx, [r14 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea eax, [r15 - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or cl, r14b
or al, r15b
inc rbx
cmp cl, al
je 0x1400a2b10
cmp rbx, r8
jb 0x1400a2a7d
jmp 0x1400a2ba0
cmp byte [rbp + 0x1f0], 0
je 0x1400a2a70
mov rdx, rax
cmp byte [rax - 0x4f], 0
je 0x1400a2b84
cmp byte [rbp + 0x1c8], 0
jne 0x1400a2ba0
jmp 0x1400a2a7d
cmp byte [rbp + 0x1c8], 0
jne 0x1400a2a7d
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x1c0]
cmp qword [rdx - 0x30], rax
jne 0x1400a2a7d
mov r10, qword [rdx - 0x38]
mov r8, 0xffffffffffffffff
nop dword [rax]
mov rax, qword [rbp + 0x220]
add rax, r8
cmp rax, 0xffffffffffffffff
je 0x1400a2c19
movzx eax, byte [r10 + r8 + 1]
mov rcx, qword [rbp + 0x208]
movzx ecx, byte [rcx + r8 + 1]
lea edi, [rax - 0x41]
cmp dil, 0x1a
setb bl
shl bl, 5
lea edi, [rcx - 0x41]
cmp dil, 0x1a
setb dil
shl dil, 5
or bl, al
or dil, cl
inc r8
cmp bl, dil
je 0x1400a2bc0
cmp r8, qword [rbp + 0x1c0]
jb 0x1400a2a7d
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x50], xmm2
movdqa xmmword [rbp + 0x40], xmm1
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm1
mov rbx, rdx
mov qword [rbp + 0x160], rdx
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x168], rax
movzx eax, byte [rbp + 0x130]
cmp al, 3
mov rdi, qword [rbp - 0x30]
je 0x1400a2ce6
cmp al, 2
jb 0x1400a2cb6
mov r8, qword [rbp + 0x138]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
lea rcx, [r8 + 0x18]
mov qword [rbp + 0x220], r8
mov r8, qword [r8 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x14026d258]
xor edx, edx
mov r8, qword [rbp + 0x220]
call qword [case.0x14001f69e.0]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x148]
mov rax, qword [rax + 0x10]
lea rcx, [rbp + 0x158]
mov r8, qword [rbp + 0x150]
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 1
call rax
mov qword [rbp + 0x130], rdi
mov rcx, qword [rbx - 0x18]
mov rax, qword [rbx - 8]
mov rsi, rdi
cmp rax, rcx
jne 0x1400a2d15
lea rcx, [rbx - 0x20]
call fcn.140129570
mov rcx, qword [rbx - 0x18]
mov rax, qword [rbx - 8]
mov rsi, qword [rbp + 0x1b8]
mov rdx, qword [rbx - 0x10]
add rdx, rax
xor r8d, r8d
cmp rdx, rcx
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [rbx - 0x20]
mov qword [rcx + rdx*8], rdi
inc rax
mov qword [rbx - 8], rax
movzx eax, byte [rsi + 0x80]
test al, al
jne 0x1400a2ec4
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, qword [rdx]
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
call rax
mov cl, 1
xchg byte [rsi + 0x60], cl
test cl, cl
je 0x1400a2e64
mov rax, qword [rax + 0x18]
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
mov rcx, rdx
call rax
jmp 0x1400a2ec4
mov al, 1
mov dword [rbp + 0x128], eax
jmp 0x1400a1e10
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1400a24bf
mov rdx, qword [r13 + 0x30]
mov byte [rbp + 0x22c], 1
lea rcx, [rbp + 0x130]
lea r9, [rbp + 0xd0]
mov r8, r13
call fcn.1401290e0
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x220], rax
movups xmm0, xmmword [rbp + 0x138]
movaps xmmword [rbp + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x148]
movaps xmmword [rbp + 0x70], xmm0
movups xmm0, xmmword [rbp + 0x158]
movaps xmmword [rbp + 0x80], xmm0
movups xmm0, xmmword [rbp + 0x168]
movaps xmmword [rbp + 0x90], xmm0
movups xmm0, xmmword [rbp + 0x178]
movaps xmmword [rbp + 0xa0], xmm0
movdqu xmm0, xmmword [rbp + 0x188]
movdqa xmmword [rbp + 0xb0], xmm0
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0xc0], rax
movzx ebx, byte [rbp + 0x1a0]
mov eax, dword [rbp + 0x1a1]
mov dword [rbp + 0x1b8], eax
mov eax, dword [rbp + 0x1a4]
mov dword [rbp + 0x1bb], eax
jmp 0x1400a1894
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x208], rdx
lea rax, [rsi + 0x50]
mov qword [rbp + 0x30], rax
mov rax, qword [rax]
test rax, rax
mov qword [rbp + 0x220], rsi
je 0x1400a2e97
mov rcx, qword [rbp + 0x220]
mov rcx, qword [rcx + 0x58]
call qword [rax + 0x18]
mov rax, qword [rbp + 0x210]
mov rsi, qword [rbp + 0x220]
mov qword [rsi + 0x50], rax
mov rax, qword [rbp + 0x208]
mov qword [rsi + 0x58], rax
xor eax, eax
xchg byte [rsi + 0x60], al
movzx eax, byte [rsi + 0x80]
test al, al
je 0x1400a2f3c
mov al, 1
xchg byte [rsi + 0x48], al
test al, al
jne 0x1400a3480
movzx eax, byte [rsi + 0x41]
mov byte [rsi + 0x41], 2
cmp al, 2
je 0x1400a345b
lea rcx, [rsi + 0x10]
movzx edx, byte [rcx + 0x30]
mov byte [rbp + 0x160], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm1
movdqa xmmword [rbp + 0x130], xmm0
mov ecx, dword [rsi + 0x42]
mov dword [rbp + 0x162], ecx
movzx ecx, word [rsi + 0x46]
mov word [rbp + 0x166], cx
mov byte [rbp + 0x161], al
xor ecx, ecx
xchg byte [rsi + 0x48], cl
cmp al, 3
jne 0x1400a3462
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x200]
mov rsi, qword [rax]
test rsi, rsi
mov r13, qword [rbp + 0x120]
je 0x1400a2fd3
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x1400a2f90
mov rax, qword [rsi + 0x50]
mov rcx, qword [rsi + 0x58]
mov qword [rsi + 0x50], 0
xor edx, edx
xchg byte [rsi + 0x60], dl
test rax, rax
je 0x1400a2f90
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x1400a2fb4
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x70]
mov qword [rsi + 0x68], 0
xor edx, edx
xchg byte [rsi + 0x78], dl
test rax, rax
je 0x1400a2fb4
call qword [rax + 8]
mov rax, qword [rbp + 0x200]
mov rax, qword [rax]
lock dec qword [rax]
jne 0x1400a2fd3
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
call fcn.14006f660
mov rax, qword [rbp + 0x220]
mov rcx, qword [rbp + 0x200]
mov qword [rcx], rax
mov ebx, dword [rbp + 0xa0]
mov eax, ebx
movdqa xmm0, xmmword [rbp + 0xd0]
movdqa xmm1, xmmword [rbp + 0xe0]
movdqa xmm2, xmmword [rbp + 0xf0]
movdqa xmm3, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x10], xmm3
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
cmp ebx, 0x3b9aca00
mov r14d, dword [rbp + 0x110]
mov esi, dword [rbp + 0x114]
sete al
mov ecx, dword [rbp + 0x128]
or cl, al
mov rdi, qword [rbp + 0x1d0]
jne 0x1400a3050
lea rcx, [rbp + 0x60]
call fcn.14006f750
cmp byte [rbp + 0x1dc], 0
jne 0x1400a306c
mov rax, qword [0x14026d300]
shl rax, 1
test rax, rax
jne 0x1400a322c
mov rcx, qword [rbp + 0x28]
call qword [case.0x140180255.0]
cmp r14d, 0x3b9aca00
mov eax, r14d
mov r14, qword [rbp - 0x58]
jne 0x1400a3173
mov byte [rbp + 0x1a0], 2
cmp qword [r13 + 0x30], 0
je 0x1400a30b1
mov byte [r14 + 0x70], 3
add rsp, 0x2b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x90], 4
mov qword [rbp + 0x60], 0
mov byte [rbp + 0x89], 2
movzx eax, byte [0x14026d308]
mov rcx, qword [0x14026d258]
test rcx, rcx
jne 0x1400a30f3
call qword [case.0x14000382e.2]
test rax, rax
je 0x1400a3421
mov rcx, rax
mov qword [0x14026d258], rax
mov r8d, 0x38
xor edx, edx
call qword [case.0x14000382e.1]
test rax, rax
je 0x1400a3421
mov rdi, rax
mov rax, qword [rbp + 0x90]
mov qword [rdi + 0x30], rax
movdqu xmm0, xmmword [rbp + 0x60]
movdqu xmm1, xmmword [rbp + 0x70]
movdqu xmm2, xmmword [rbp + 0x80]
movdqu xmmword [rdi + 0x20], xmm2
movdqu xmmword [rdi + 0x10], xmm1
movdqu xmmword [rdi], xmm0
lea rdx, [0x1401ed018]
mov r8d, 0x10
mov rcx, rdi
call fcn.140070220
mov qword [r14], rdi
mov byte [r14 + 0x70], 2
cmp byte [rbp + 0x1a0], 2
je 0x1400a309d
lea rcx, [rbp + 0x130]
call fcn.140096440
jmp 0x1400a309d
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movaps xmm2, xmmword [rbp]
movaps xmm3, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x90], xmm3
movaps xmmword [rbp + 0x80], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x60], xmm0
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0xa4], esi
mov rdx, qword [r13 + 0x30]
lea rcx, [rbp + 0x130]
lea r9, [rbp + 0x60]
mov r8, r13
call fcn.1401290e0
cmp byte [rbp + 0x1a0], 2
je 0x1400a3091
mov rax, qword [rbp + 0x1a0]
mov qword [r14 + 0x70], rax
movups xmm0, xmmword [rbp + 0x190]
movups xmmword [r14 + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x180]
movups xmmword [r14 + 0x50], xmm0
movups xmm0, xmmword [rbp + 0x170]
movups xmmword [r14 + 0x40], xmm0
movups xmm0, xmmword [rbp + 0x130]
movups xmm1, xmmword [rbp + 0x140]
movups xmm2, xmmword [rbp + 0x150]
movups xmm3, xmmword [rbp + 0x160]
movups xmmword [r14 + 0x30], xmm3
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
jmp 0x1400a309d
call fcn.14019b6d0
test al, al
jne 0x1400a306c
mov byte [rdi + 0x18], 1
jmp 0x1400a306c
mov rsi, qword [rbp + 0x1d0]
cmp qword [rsi + 0xa0], 0
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x40]
jne 0x1400a3276
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
call fcn.14019a490
mov r10, qword [rsi + 0x90]
mov rcx, qword [rsi + 0x98]
movups xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x50], xmm2
movdqa xmmword [rbp + 0x40], xmm1
movaps xmmword [rbp + 0x30], xmm0
and rbx, rcx
movdqu xmm0, xmmword [r10 + rbx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400a32ca
mov r8d, 0x10
add rbx, r8
and rbx, rcx
movdqu xmm0, xmmword [r10 + rbx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400a32b2
tzcnt edx, edx
add rdx, rbx
and rdx, rcx
movzx r8d, byte [r10 + rdx]
test r8b, r8b
js 0x1400a32f0
movdqa xmm0, xmmword [r10]
pmovmskb eax, xmm0
tzcnt edx, eax
movzx r8d, byte [r10 + rdx]
lea rax, [rdx - 0x10]
and rax, rcx
mov rcx, qword [rbp - 0x48]
mov byte [r10 + rdx], cl
mov byte [rax + r10 + 0x10], cl
neg rdx
lea rax, [rdx + rdx*4]
shl rax, 4
lea rbx, [r10 + rax]
and r8b, 1
movzx ecx, r8b
sub qword [rsi + 0xa0], rcx
movdqa xmm0, xmmword [rbp + 0x30]
movdqa xmm1, xmmword [rbp + 0x40]
movdqa xmm2, xmmword [rbp + 0x50]
movdqu xmmword [r10 + rax - 0x30], xmm2
movdqu xmmword [r10 + rax - 0x40], xmm1
movdqu xmmword [r10 + rax - 0x50], xmm0
mov qword [r10 + rax - 0x20], 8
pxor xmm0, xmm0
movdqu xmmword [r10 + rax - 0x18], xmm0
mov qword [r10 + rax - 8], 0
inc qword [rsi + 0xa8]
jmp 0x1400a2ce6
lea rcx, [0x1401f37f0]
lea r8, [0x1401d4fb8]
mov edx, 0x28
call fcn.1401949c0
jmp 0x1400a34c5
lea rcx, [0x1401f37f0]
lea r8, [0x1401d4fb8]
mov edx, 0x28
call fcn.1401949c0
jmp 0x1400a34c5
lea rcx, [0x1401f37f0]
lea r8, [0x1401d4fb8]
mov edx, 0x28
call fcn.1401949c0
jmp 0x1400a34c5
mov ecx, 8
mov edx, 0x38
call fcn.140194470
jmp 0x1400a34c5
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x130], rax
mov eax, dword [rbp + 0x1dc]
mov byte [rbp + 0x138], al
lea rax, [0x1401eb6f8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140219b10]
lea r9, fcn.140180230
lea r8, [rbp + 0x130]
mov edx, 0x2b
call fcn.140194d10
jmp 0x1400a34c5
mov ecx, 8
mov edx, 0x38
call fcn.140194470
jmp 0x1400a34c5
mov ecx, 8
mov edx, 0x88
call fcn.140194470
jmp 0x1400a34c5
mov ecx, 8
mov edx, 0x38
call fcn.140194470
jmp 0x1400a34c5
ud2
xor eax, eax
xchg byte [rsi + 0x48], al
jmp 0x1400a3480
cmp al, 1
ja 0x1400a3480
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
lea rcx, [rbp + 0x130]
call fcn.14006f750
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
lea rcx, [0x1401eb710]
lea r8, [0x1401eb750]
mov edx, 0x39
call fcn.1401949c0
jmp 0x1400a34c5
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 1
mov ecx, 8
mov edx, 0x20
call fcn.140194470
ud2