Function at 0x140018690
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movups xmmword [rsp + 0x70], xmm6
mov rdi, qword [0x14002a860]
mov rax, qword [rsp + 0xf0]
mov r12d, dword [rcx + 0x8981e4]
mov ebp, dword [rsp + 0xf8]
mov qword [rsp + 0x30], rax
mov r14, r8
mov rbx, rcx
mov r8d, r9d
mov eax, dword [rsp + 0x100]
mov qword [rsp + 0x38], rdx
mov rdx, r14
mov r13d, r9d
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x48], rax
mov rax, qword [rdi]
mov qword [rsp + 0x68], rax
xor eax, eax
call fcn.140013ef0
mov rcx, rbx
call fcn.140013b60
lea edx, [r13 + 0x101]
mov dword [rsp + 0x40], eax
mov eax, 0x4a767
cmp edx, eax
cmova edx, eax
mov eax, r13d
shr eax, 0xb
movd xmm6, eax
cmp edx, r13d
jb 0x1400172e0
mov ecx, r13d
sub edx, r13d
add rdx, rcx
lea rax, [rbx + rcx*8]
lea rdx, [rbx + rdx*8 + 8]
mov rcx, rdx
sub rcx, rax
and ecx, 8
je 0x140016ba8
mov dword [rax + 0x63ad44], 0x80000000
add rax, 8
cmp rax, rdx
je 0x140016bc5
nop dword [rax]
mov dword [rax + 0x63ad44], 0x80000000
add rax, 0x10
mov dword [rax + 0x63ad3c], 0x80000000
cmp rax, rdx
jne 0x140016ba8
cmp dword [rbx + 0x8981f0], r13d
jae 0x14001705d
lea rdx, [rbx + 0x28]
lea rdi, [rbx + 0x30]
xor eax, eax
mov qword [rbx + 0x28], 0
and rdi, 0xfffffffffffffff8
mov rcx, rdx
mov qword [rbx + 0x420], 0
sub rcx, rdi
add ecx, 0x400
shr ecx, 3
rep stosq qword [rdi], rax
mov dword [rsp + 0x5c], 0xffffffff
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x58], eax
xor eax, eax
nop word [rax + rax]
movzx ecx, byte [r14 + rax]
add rax, 1
add dword [rbx + rcx*4 + 0x28], 1
cmp eax, r13d
jb 0x140016c20
movdqu xmm3, xmmword [0x1400274b0]
pshufd xmm2, xmm6, 0
mov rax, rdx
pxor xmm1, xmm1
lea rdx, [rbx + 0x428]
psubd xmm2, xmm3
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
psubd xmm0, xmm3
pcmpgtd xmm0, xmm2
psubd xmm1, xmm0
cmp rdx, rax
jne 0x140016c58
movdqa xmm0, xmm1
mov edx, 1
psrldq xmm0, 8
mov ecx, edx
mov edx, dword [rbx + 0x20]
paddd xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
test eax, eax
cmovne rcx, rax
cmp eax, 0x4f
ja 0x140017164
lea rax, str._t_t_t_t_t_t_b_b_a_a
movzx eax, byte [rax + rcx]
cmp edx, 0xf
jbe 0x140016eb4
mov r10d, r13d
xor r8d, r8d
nop word [rax + rax]
mov edx, dword [rbx + rax*4 + 0x897dd8]
add r8d, edx
imul edx, eax
add rax, 1
sub r10d, edx
cmp eax, 0x103
jne 0x140016cc8
test r10d, r10d
js 0x140017034
cmp r10d, r8d
jae 0x140016ecd
mov r8d, 0x54
lea r10, [0x140026ce0]
mov eax, 2
mov rdx, rax
shl rdx, 7
add rax, rdx
lea rax, [r10 + rax*2]
movzx r10d, byte [rax + rcx]
test bpl, bpl
jne 0x140016ef9
mov r15d, dword [rbx + 0x57c]
mov esi, dword [rbx + 0x8979c8]
xor r11d, r11d
lea rcx, [rbx + 0x550]
lea rdi, [rbx + 0x578]
nop dword [rax]
mov eax, dword [rcx + 0x897450]
mov edx, dword [rcx]
imul rax, r15
imul rdx, rsi
mov rbp, rax
sub rbp, rdx
mov r9, rdx
sub r9, rax
cmp rdx, rax
mov rax, rbp
cmovae rax, r9
add rcx, 4
add r11, rax
cmp rcx, rdi
jne 0x140016d48
imul r15, rsi
lea rax, [r15 + r15*4]
lea rax, [rax + rax*4]
shl rax, 3
shr rax, 9
lea rdx, [rax + rax*2]
cmp rdx, r11
jb 0x140016ef9
lea rcx, [r11*4]
lea rsi, [rax + rax*8]
cmp rsi, rcx
jb 0x140017197
add r11, r11
cmp rdx, r11
jae 0x1400173c8
lea eax, [r10 + r10*4]
lea rdx, [rbx + 0x88ec84]
movd xmm1, eax
lea rax, [rbx + 0x88e884]
pshufd xmm1, xmm1, 0
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
movdqu xmm4, xmmword [rax]
add rax, 0x10
pslld xmm0, 1
paddd xmm0, xmm4
paddd xmm0, xmm1
psrld xmm0, 3
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x140016de0
mov eax, dword [rbx + 0x88ec90]
lea edx, [r8 + r8*4]
lea r10, [0x140027400]
lea rcx, [0x140027240]
lea eax, [rax + rax*2]
add eax, edx
mov edx, 4
shr eax, 3
mov dword [rbx + 0x88ec90], eax
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
mov r9d, dword [rbx + rdx*4 + 0x88ec84]
movzx eax, byte [r10 + rax]
lea r9d, [r9 + r9*2]
shl eax, 4
add eax, r8d
lea eax, [rax + rax*4]
add eax, r9d
shr eax, 3
mov dword [rbx + rdx*4 + 0x88ec84], eax
add rdx, 1
cmp rdx, 0x103
jne 0x140016e38
xor eax, eax
lea rcx, [0x140027350]
nop dword [rax]
movzx r8d, byte [rcx + rax]
mov edx, dword [rbx + rax*4 + 0x88f090]
lea r8d, [r8 + r8*4]
lea edx, [rdx + rdx*2 + 0x186]
shl r8d, 4
add edx, r8d
shr edx, 3
mov dword [rbx + rax*4 + 0x88f090], edx
add rax, 1
cmp rax, 0x1e
jne 0x140016e80
jmp 0x140016f04
cmp edx, 4
ja 0x14001716e
mov edx, 4
cmp eax, edx
cmova rax, rdx
jmp 0x140016cbc
shl r8d, 2
cmp r10d, r8d
lea r10, [0x140026ce0]
setb al
movzx eax, al
mov rdx, rax
shl rdx, 7
add rdx, rax
movzx r8d, byte [r10 + rdx*2 + 0x101]
jmp 0x140016d07
mov edx, r10d
mov rcx, rbx
call fcn.140012440
mov qword [rsp + 0x50], r14
mov ebp, 0xffffffff
mov r14, qword [rsp + 0x30]
lea r15, [rbx + 0xa80]
jmp 0x140016f4f
lea rdi, [rbx + 0x88f110]
lea rsi, [rbx + 0x88e884]
mov ecx, 0x111
mov rdx, r15
rep movsq qword [rdi], qword [rsi]
mov rcx, rbx
mov eax, dword [rsi]
mov dword [rdi], eax
call fcn.140012360
sub r12d, 1
je 0x140017028
mov r8, r14
mov edx, r13d
mov rcx, rbx
mov esi, ebp
call fcn.1400168e0
mov rcx, rbx
call fcn.140013b60
mov ebp, eax
mov eax, dword [rbx + 0x8981e8]
add eax, ebp
cmp esi, eax
jae 0x140016f20
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov byte [rdi], 0
cmp dword [rsp + 0x58], esi
jae 0x140017013
mov esi, dword [rsp + 0x5c]
cmp dword [rsp + 0x40], esi
jae 0x140017141
mov r8d, r13d
mov rdx, r14
mov rcx, rbx
call fcn.140013ef0
lea rdx, [rbx + 0xa80]
mov rcx, rbx
call fcn.140012360
mov dword [rsp + 0x60], r13d
lea rdx, [rsp + 0x60]
mov byte [rdi], 1
movzx eax, byte [rsp + 0x44]
mov qword [rsp + 0x20], rdx
mov r9d, r13d
mov r8, r14
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
mov dword [rsp + 0x28], eax
call fcn.140012d00
mov rdi, qword [0x14002a860]
mov rax, qword [rsp + 0x68]
sub rax, qword [rdi]
jne 0x140017560
movups xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add esi, dword [rbx + 0x8981ec]
cmp ebp, esi
jae 0x140017273
xor edx, edx
jmp 0x140016fc4
mov r14, qword [rsp + 0x50]
mov esi, ebp
jmp 0x140016f7a
xor eax, eax
test r8d, r8d
lea r10, [0x140026ce0]
setne al
add eax, eax
mov rdx, rax
shl rdx, 7
add rdx, rax
movzx r8d, byte [r10 + rdx*2 + 0x101]
jmp 0x140016d07
lea rdi, [rbx + 0x88f110]
lea rsi, [rbx + 0x88e884]
mov ecx, 0x111
rep movsq qword [rdi], qword [rsi]
lea rdx, [rbx + 0x10c0]
mov eax, dword [rsi]
mov r15, rcx
mov rcx, rbx
lea rsi, [rbx + 0x88f110]
mov dword [rdi], eax
lea rdi, [rbx + 0x88e88c]
and rdi, 0xfffffffffffffff8
call fcn.140012360
mov r8, qword [rsp + 0x30]
mov edx, r13d
call fcn.1400168e0
mov eax, dword [rbx + 0x63ad44]
mov rdx, qword [rbx + 0x88f110]
shr eax, 4
lea r11d, [rax + 7]
lea rax, [rbx + 0x88e884]
mov dword [rsp + 0x5c], r11d
sub rax, rdi
mov qword [rbx + 0x88e884], rdx
lea ecx, [rax + 0x88c]
sub rsi, rax
mov rax, r15
mov rdx, qword [rbx + 0x88f994]
shr ecx, 3
mov qword [rbx + 0x88f108], rdx
lea rdx, [rbx + 0x28]
rep movsq qword [rdi], qword [rsi]
lea rdi, [rbx + 0x30]
mov rcx, rdx
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x420], 0
and rdi, 0xfffffffffffffff8
sub rcx, rdi
add ecx, 0x400
shr ecx, 3
rep stosq qword [rdi], rax
mov eax, dword [rsp + 0x40]
cmp eax, r11d
cmovbe r11d, eax
mov dword [rsp + 0x58], r11d
test r13d, r13d
jne 0x140016c15
jmp 0x140016c33
lea rdx, [rbx + 0x10c0]
mov rcx, rbx
call fcn.140012360
mov r8, qword [rsp + 0x30]
mov edx, r13d
call fcn.1400168e0
xor edx, edx
jmp 0x140016fc4
mov eax, 3
jmp 0x140016cbc
mov r8d, 5
mov r10d, 7
cmp eax, r8d
cmovbe r8d, eax
cmp eax, r10d
cmovbe r10, rax
cmp edx, 9
mov eax, r8d
cmova rax, r10
jmp 0x140016cbc
lea eax, [r10 + r10*2]
lea rdx, [rbx + 0x88ec84]
movd xmm1, eax
lea rax, [rbx + 0x88e884]
pshufd xmm1, xmm1, 0
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
paddd xmm0, xmm1
psrld xmm0, 2
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x1400171b8
lea eax, [r8 + r8*2]
add eax, dword [rbx + 0x88ec90]
mov edx, 4
shr eax, 2
lea r10, [0x140027400]
lea rcx, [0x140027240]
mov dword [rbx + 0x88ec90], eax
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
movzx eax, byte [r10 + rax]
shl eax, 4
add eax, r8d
lea eax, [rax + rax*2]
add eax, dword [rbx + rdx*4 + 0x88ec84]
shr eax, 2
mov dword [rbx + rdx*4 + 0x88ec84], eax
add rdx, 1
cmp rdx, 0x103
jne 0x140017200
xor eax, eax
lea rcx, [0x140027350]
nop dword [rax]
movzx edx, byte [rcx + rax]
mov r8d, dword [rbx + rax*4 + 0x88f090]
lea edx, [rdx + rdx*2]
shl edx, 4
lea edx, [rdx + r8 + 0xea]
shr edx, 2
mov dword [rbx + rax*4 + 0x88f090], edx
add rax, 1
cmp rax, 0x1e
jne 0x140017240
jmp 0x140016f04
mov rdx, qword [rbx + 0x88f110]
lea rdi, [rbx + 0x88e88c]
lea rax, [rbx + 0x88e884]
mov r8, qword [rsp + 0x30]
and rdi, 0xfffffffffffffff8
lea rsi, [rbx + 0x88f110]
sub rax, rdi
mov qword [rbx + 0x88e884], rdx
mov rdx, qword [rbx + 0x88f994]
lea ecx, [rax + 0x88c]
sub rsi, rax
mov qword [rbx + 0x88f108], rdx
shr ecx, 3
mov edx, r13d
rep movsq qword [rdi], qword [rsi]
mov rcx, rbx
call fcn.1400168e0
lea rdx, [rbx + 0xa80]
mov rcx, rbx
call fcn.140012360
xor edx, edx
jmp 0x140016fc4
cmp dword [rbx + 0x8981f0], r13d
jb 0x140016bd2
lea rdi, [rbx + 0x88f110]
lea rsi, [rbx + 0x88e884]
mov ecx, 0x111
rep movsq qword [rdi], qword [rsi]
lea rdx, [rbx + 0x10c0]
mov eax, dword [rsi]
mov r15, rcx
mov rcx, rbx
lea rsi, [rbx + 0x88f110]
mov dword [rdi], eax
lea rdi, [rbx + 0x88e88c]
and rdi, 0xfffffffffffffff8
call fcn.140012360
mov r8, qword [rsp + 0x30]
mov edx, r13d
call fcn.1400168e0
mov eax, dword [rbx + 0x63ad44]
mov rdx, qword [rbx + 0x88f110]
shr eax, 4
lea r11d, [rax + 7]
lea rax, [rbx + 0x88e884]
mov dword [rsp + 0x5c], r11d
sub rax, rdi
mov qword [rbx + 0x88e884], rdx
lea ecx, [rax + 0x88c]
sub rsi, rax
mov rax, r15
mov rdx, qword [rbx + 0x88f994]
shr ecx, 3
mov qword [rbx + 0x88f108], rdx
lea rdx, [rbx + 0x28]
rep movsq qword [rdi], qword [rsi]
lea rdi, [rbx + 0x30]
mov rcx, rdx
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x420], 0
and rdi, 0xfffffffffffffff8
sub rcx, rdi
add ecx, 0x400
shr ecx, 3
rep stosq qword [rdi], rax
mov eax, dword [rsp + 0x40]
cmp eax, r11d
cmovbe r11d, eax
mov dword [rsp + 0x58], r11d
jmp 0x140016c15
movd xmm5, r10d
cmp rax, r11
lea rdx, [rbx + 0x88ec84]
pshufd xmm1, xmm5, 0
lea rax, [rbx + 0x88e884]
jae 0x1400174a0
nop dword [rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
paddd xmm0, xmm1
psrld xmm0, 1
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x1400173f0
mov eax, dword [rbx + 0x88ec90]
mov edx, 4
lea r10, [0x140027400]
lea rcx, [0x140027240]
add eax, r8d
shr eax, 1
mov dword [rbx + 0x88ec90], eax
nop
movzx eax, byte [rcx + rdx]
mov r9d, dword [rbx + rdx*4 + 0x88ec84]
movzx eax, byte [r10 + rax]
add r9d, r8d
shl eax, 4
add eax, r9d
shr eax, 1
mov dword [rbx + rdx*4 + 0x88ec84], eax
add rdx, 1
cmp rdx, 0x103
jne 0x140017430
xor eax, eax
lea rcx, [0x140027350]
nop dword [rax]
movzx edx, byte [rcx + rax]
mov r8d, dword [rbx + rax*4 + 0x88f090]
shl edx, 4
lea edx, [rdx + r8 + 0x4e]
shr edx, 1
mov dword [rbx + rax*4 + 0x88f090], edx
add rax, 1
cmp rax, 0x1e
jne 0x140017470
jmp 0x140016f04
movdqu xmm0, xmmword [rax]
movdqu xmm5, xmmword [rax]
add rax, 0x10
pslld xmm0, 1
paddd xmm0, xmm5
paddd xmm0, xmm1
psrld xmm0, 2
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x1400174a0
mov eax, dword [rbx + 0x88ec90]
mov edx, 4
lea r10, [0x140027400]
lea rcx, [0x140027240]
lea eax, [rax + rax*2]
add eax, r8d
shr eax, 2
mov dword [rbx + 0x88ec90], eax
nop
movzx r9d, byte [rcx + rdx]
mov eax, dword [rbx + rdx*4 + 0x88ec84]
movzx r9d, byte [r10 + r9]
lea eax, [rax + rax*2]
add eax, r8d
shl r9d, 4
add eax, r9d
shr eax, 2
mov dword [rbx + rdx*4 + 0x88ec84], eax
add rdx, 1
cmp rdx, 0x103
jne 0x1400174f0
xor eax, eax
lea rcx, [0x140027350]
nop
mov edx, dword [rbx + rax*4 + 0x88f090]
movzx r8d, byte [rcx + rax]
lea edx, [rdx + rdx*2 + 0x4e]
shl r8d, 4
add edx, r8d
shr edx, 2
mov dword [rbx + rax*4 + 0x88f090], edx
add rax, 1
cmp rax, 0x1e
jne 0x140017530
jmp 0x140016f04
call fcn.14001ecb0
nop
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
movups xmmword [rsp + 0x120], xmm6
mov rbx, qword [0x14002a860]
movdqu xmm0, xmmword [0x1400274a0]
mov rdi, rdx
mov rax, r8
lea rbp, [rcx + 0x17c0]
mov r12, rcx
mov rdx, qword [rbx]
mov qword [rsp + 0x118], rdx
xor edx, edx
mov edx, 0x8000
lea rbx, [rdi + r8]
mov r14, r9
cmp r8, rdx
mov qword [rsp + 0x80], rbx
cmovg rax, rdx
mov edx, dword [rcx + 0x24]
mov byte [rsp + 0x117], 0
add rax, rdi
mov qword [rsp + 0x88], rax
mov eax, 0x102
cmp edx, eax
cmovbe eax, edx
lea rdx, [rcx + 0x617c0]
mov dword [rsp + 0x94], eax
lea rax, [rcx + 0x817c0]
mov qword [rsp + 0xf0], rax
mov rax, rbp
movups xmmword [rax], xmm0
add rax, 0x40
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x140017612
lea rbx, [r12 + 0x528]
mov rcx, r12
xor esi, esi
mov r13, rdi
call fcn.140013ac0
mov qword [rsp + 0xc0], rbx
lea rbx, [r12 + 0x550]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xe0], rbx
lea rbx, [r12 + 0x897dd8]
lea r15, [rsp + 0x117]
movdqu xmm6, xmmword [0x1400274a0]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xa8], rdi
mov dword [rsp + 0x90], 0x102
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0xe8], rbx
lea rbx, [r12 + 0x8979a0]
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x100], rbx
mov ebx, esi
mov qword [rsp + 0x108], r15
mov r15, r12
mov r12, rbp
mov rbp, rdi
mov rdi, qword [rsp + 0x80]
mov r14, qword [rsp + 0xc8]
mov dword [rsp + 0xdc], 0x103
mov rcx, rdi
lea rdx, [r14 + 0x493e0]
sub rcx, r14
cmp rcx, 0x4a767
cmovbe rdx, rdi
mov qword [rsp + 0xb8], rdx
test al, al
jne 0x140017721
mov r8d, dword [r15 + 0x20]
mov rcx, r14
sub rdx, r14
call fcn.140013c60
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0xa8]
mov r11, r15
mov rdi, r12
mov r12, r13
mov qword [rsp + 0xd0], 0
mov r15, rax
mov rax, rbp
mov ebp, ebx
mov rbx, rax
nop dword [rax]
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
sub rdx, r15
cmp r15, rax
je 0x140017f0d
cmp rdx, 0x101
jbe 0x140017f83
cmp dword [rsp + 0x90], 4
jbe 0x140017fab
mov eax, dword [r15 + 1]
mov rcx, r15
mov r10d, dword [r11 + 0x20]
sub rcx, r12
mov r13, qword [rsp + 0x60]
mov edx, eax
movzx r9d, cx
mov qword [rsp + 0x78], rcx
lea r14d, [rcx - 0x8000]
and edx, 0xffffff
imul eax, eax, 0x1e35a7bd
imul edx, edx, 0x1e35a7bd
shr eax, 0x10
shr edx, 0x10
mov r8d, eax
mov dword [rsp + 0x98], eax
mov eax, edx
mov dword [rsp + 0xa0], edx
mov edx, ebp
prefetcht0 byte [rdi + rax*4]
lea eax, [r8 + 0x20000]
movsx r8, word [r11 + rdx*4 + 0x17c2]
prefetcht0 byte [rdi + rax*2]
movsx rax, word [r11 + rdx*4 + 0x17c0]
mov ecx, eax
shl ecx, 0x10
or ecx, r9d
mov dword [rdi + rdx*4], ecx
movsx edx, ax
cmp r14d, edx
jge 0x140017848
mov edx, dword [r15]
mov ecx, dword [r12 + rax]
and edx, 0xffffff
and ecx, 0xffffff
cmp edx, ecx
je 0x140017eec
movsx eax, r8w
cmp r14d, eax
jge 0x140017848
mov eax, dword [r12 + r8]
and eax, 0xffffff
cmp edx, eax
je 0x1400185de
nop word [rax + rax]
mov eax, esi
mov rsi, qword [rsp + 0x78]
movsx edx, word [r11 + rax*2 + 0x417c0]
mov word [r11 + rax*2 + 0x417c0], si
mov eax, esi
and eax, 0x7fff
add eax, eax
cmp r14d, edx
jge 0x140017cf8
lea ecx, [rax + 0x30000]
add eax, 0x30001
mov dword [rsp + 0x68], 3
xor ebp, ebp
lea rsi, [rdi + rcx*2]
lea rax, [rdi + rax*2]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x48], rsi
xor esi, esi
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0xb0], rbx
jmp 0x1400178e7
mov rbx, qword [rsp + 0x48]
mov word [rbx], dx
lea edx, [r9 + 0x30001]
add r9d, 1
cmp eax, ebp
lea rsi, [rdi + rdx*2]
movsx edx, word [r11 + r9*2 + 0x617c0]
mov qword [rsp + 0x48], rsi
mov esi, eax
cmova eax, ebp
cmp r14d, edx
jge 0x140017942
sub r10d, 1
je 0x140017942
movsxd rbx, edx
mov ecx, eax
lea r9, [r12 + rbx]
movzx r8d, byte [r9 + rcx]
movzx ecx, byte [r15 + rcx]
cmp r8b, cl
je 0x140017b18
mov r9d, edx
and r9d, 0x7fff
add r9d, r9d
cmp r8b, cl
jb 0x1400178b0
mov rbx, qword [rsp + 0x50]
cmp eax, esi
mov ebp, eax
cmova eax, esi
mov word [rbx], dx
lea edx, [r9 + 0x30000]
lea rbx, [rdi + rdx*2]
movsx edx, word [r11 + r9*2 + 0x617c0]
mov qword [rsp + 0x50], rbx
cmp r14d, edx
jl 0x1400178e1
mov rax, qword [rsp + 0x48]
mov ebp, 0xffff8000
mov r14d, 0xffff8000
mov r13, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xb0]
mov word [rax], bp
mov rax, qword [rsp + 0x50]
mov word [rax], r14w
mov rax, qword [rsp + 0x60]
mov r8, r13
sub r8, rax
sar r8, 2
cmp rax, r13
jb 0x140017c70
mov rax, qword [rsp + 0xa8]
cmp r15, rax
jb 0x140017d1e
mov esi, dword [rsp + 0xdc]
test esi, esi
je 0x1400183c1
xor eax, eax
xor edx, edx
movzx r9d, byte [r15]
mov ebp, dword [rsp + 0xa0]
mov esi, dword [rsp + 0x98]
mov ecx, r9d
and r9d, 1
shr cl, 5
and ecx, 6
or ecx, r9d
and ecx, 7
add dword [r11 + rcx*4 + 0x528], 1
lea rcx, [r15 + 1]
add dword [r11 + 0x578], 1
mov qword [rsp + 0xa8], rcx
mov word [r13], r8w
movzx r8d, byte [r15]
lea r14, [r13 + 4]
mov r9, rcx
mov qword [rsp + 0x60], r14
mov word [r13 + 2], r8w
test al, al
jne 0x140017fec
mov r15, rcx
mov rax, qword [rsp + 0xb8]
cmp r15, rax
jae 0x140017d58
lea rax, [r11 + 0x63a540]
cmp qword [rsp + 0x60], rax
jae 0x140017d58
cmp dword [r11 + 0x578], 0x1ff
jbe 0x140017750
mov rax, qword [rsp + 0xc8]
mov rdx, r15
sub rdx, rax
cmp rdx, 0x1387
jle 0x140017750
mov rax, qword [rsp + 0x80]
sub rax, r15
cmp rax, 0x1387
jle 0x140017750
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x48], r11
call fcn.140012270
mov r11, qword [rsp + 0x48]
test al, al
jne 0x14001842c
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xe0]
movq xmm0, qword [rax]
movq xmm1, qword [rax + 0x28]
mov qword [rax], 0
add rax, 8
paddd xmm0, xmm1
movq qword [rax + 0x20], xmm0
cmp rax, rdx
jne 0x140017aa3
mov eax, dword [r11 + 0x578]
mov rcx, qword [rsp + 0xe8]
mov dword [r11 + 0x578], 0
add dword [r11 + 0x57c], eax
lea rax, [r11 + 0x8979cc]
nop dword [rax]
mov edx, dword [rax]
mov dword [rax], 0
add dword [rax + 0x40c], edx
add rax, 4
cmp rax, rcx
jne 0x140017af0
mov qword [rsp + 0xd0], r15
jmp 0x140017750
mov ecx, dword [rsp + 0x90]
lea r8d, [rax + 1]
sub ecx, r8d
cmp ecx, 0x1f
jbe 0x140017eb0
mov r13d, r8d
mov rcx, qword [r9 + r13]
mov r13, qword [r15 + r13]
cmp rcx, r13
jne 0x140017c18
lea r13d, [rax + 9]
mov rcx, qword [r9 + r13]
mov r8, r13
mov r13, qword [r15 + r13]
cmp rcx, r13
jne 0x140017c18
lea r13d, [rax + 0x11]
mov rcx, qword [r9 + r13]
mov r8, r13
mov r13, qword [r15 + r13]
cmp rcx, r13
jne 0x140017c18
lea r13d, [rax + 0x19]
mov rcx, qword [r9 + r13]
mov r8, r13
mov r13, qword [r15 + r13]
cmp rcx, r13
jne 0x140017c18
mov dword [rsp + 0xd8], edx
lea r8d, [rax + 0x21]
mov edx, dword [rsp + 0x90]
jmp 0x140017bb4
mov r13d, eax
mov rcx, qword [r9 + r13]
mov r13, qword [r15 + r13]
cmp rcx, r13
jne 0x140017eda
mov eax, r8d
add r8d, 8
cmp edx, r8d
jae 0x140017ba0
mov r8d, dword [rsp + 0x90]
mov edx, dword [rsp + 0xd8]
mov ecx, eax
cmp eax, r8d
jb 0x140017bed
jmp 0x140017bfa
add rcx, 1
cmp ecx, r8d
jae 0x1400183d7
movzx r13d, byte [r15 + rcx]
mov eax, ecx
cmp byte [r9 + rcx], r13b
je 0x140017be0
cmp dword [rsp + 0x68], eax
jb 0x140017c2d
mov ecx, eax
movzx r8d, byte [r9 + rcx]
movzx ecx, byte [r15 + rcx]
jmp 0x140017903
xor rcx, r13
tzcnt rcx, rcx
shr ecx, 3
lea eax, [rcx + r8]
cmp dword [rsp + 0x68], eax
jae 0x140017c00
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
sub rcx, rbx
mov ebx, dword [rsp + 0x94]
mov word [r8], ax
lea r13, [r8 + 4]
mov word [r8 + 2], cx
cmp eax, ebx
jae 0x1400185eb
mov ecx, eax
mov dword [rsp + 0x68], eax
movzx r8d, byte [r9 + rcx]
movzx ecx, byte [r15 + rcx]
mov qword [rsp + 0x70], r13
jmp 0x140017903
movzx edx, word [r13 - 4]
mov eax, dword [rsp + 0x94]
mov rsi, qword [rsp + 0xa8]
cmp edx, eax
setae al
cmp edx, 2
seta r9b
and eax, r9d
cmp r15, rsi
jb 0x140017ec3
mov esi, dword [rsp + 0xdc]
cmp edx, esi
jb 0x1400179a7
lea rsi, [r15 + rdx]
xor ecx, ecx
cmp edx, 8
mov qword [rsp + 0xa8], rsi
seta cl
add ecx, 8
movsxd rcx, ecx
mov ebp, dword [rsp + 0xa0]
mov esi, dword [rsp + 0x98]
add dword [r11 + rcx*4 + 0x528], 1
mov ecx, edx
add dword [r11 + 0x578], 1
add dword [r11 + rcx*4 + 0x8979cc], 1
lea rcx, [r15 + 1]
jmp 0x1400179e9
mov dword [rdi + rax*2 + 0x60000], 0x80008000
jmp 0x14001796b
mov dword [rsp + 0xa0], ebp
mov r13, qword [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x98], esi
movzx eax, byte [r15]
add r15, 1
mov word [r13], r8w
mov esi, dword [rsp + 0x98]
mov ebp, dword [rsp + 0xa0]
mov word [r13 + 2], ax
lea rax, [r13 + 4]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xb8]
cmp r15, rax
jb 0x140017a1f
mov rax, rbx
cmp qword [rsp + 0xc8], rax
mov r13, r12
mov ebx, ebp
mov qword [rsp + 0x48], r15
mov rbp, rax
mov r15, r11
mov r12, rdi
sete al
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
mov r9, rdi
sub r9, rdx
mov rdx, qword [rsp + 0x80]
cmp rdi, rdx
mov rdx, qword [rsp + 0xc0]
sete r8b
movq xmm0, qword [rdx]
movq xmm1, qword [rdx + 0x28]
mov qword [rdx], 0
add rdx, 8
paddd xmm0, xmm1
movq qword [rdx + 0x20], xmm0
cmp rdx, rcx
jne 0x140017dab
mov edx, dword [r15 + 0x578]
mov r10, qword [rsp + 0xe8]
mov dword [r15 + 0x578], 0
add dword [r15 + 0x57c], edx
lea rdx, [r15 + 0x8979cc]
nop dword [rax]
mov ecx, dword [rdx]
mov dword [rdx], 0
add dword [rdx + 0x40c], ecx
add rdx, 4
cmp rdx, r10
jne 0x140017df8
movzx eax, al
movzx r8d, r8b
mov rcx, r15
mov rdi, qword [rsp + 0x108]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rdi
mov rdx, qword [rsp + 0xf8]
mov dword [rsp + 0x30], r8d
mov r8, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
call fcn.140016ad0
mov rax, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x100]
mov rcx, r15
movdqu xmm2, xmmword [rax]
movups xmmword [rdi], xmm2
movdqu xmm4, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm4
mov rax, qword [rax + 0x20]
movups xmmword [rsp + 0x50], xmm4
mov qword [rdi + 0x20], rax
mov eax, dword [r15 + 0x57c]
mov dword [r15 + 0x8979c8], eax
call fcn.140013ac0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
jmp 0x1400185a1
mov dword [rsp + 0xd8], edx
mov edx, dword [rsp + 0x90]
jmp 0x140017bb4
mov ebp, dword [rsp + 0xa0]
mov esi, dword [rsp + 0x98]
lea rcx, [r15 + 1]
jmp 0x1400179e9
mov edx, dword [rsp + 0xd8]
xor rcx, r13
mov r8d, eax
jmp 0x140017c1b
movzx edx, word [rsp + 0x78]
sub edx, eax
mov rax, qword [rsp + 0x60]
mov ecx, 3
mov word [rax], cx
lea r13, [rax + 4]
mov word [rax + 2], dx
jmp 0x140017848
mov rcx, qword [rsp + 0xf0]
mov rax, rdi
nop dword [rax + rax]
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax]
add rax, 0x40
movups xmmword [rax - 0x40], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x30]
movups xmmword [rax - 0x30], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x20]
movups xmmword [rax - 0x20], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rcx, rax
jne 0x140017f20
mov eax, 0x8000
mov r12, r15
cmp rdx, rax
cmovbe rax, rdx
add rax, r15
mov qword [rsp + 0x88], rax
cmp rdx, 0x101
ja 0x140017779
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x90], edx
cmp eax, edx
cmovbe edx, eax
cmp dword [rsp + 0x90], 4
mov dword [rsp + 0x94], edx
ja 0x140017787
mov rax, qword [rsp + 0xa8]
cmp r15, rax
jb 0x140017d08
mov r8d, dword [rsp + 0xdc]
test r8d, r8d
je 0x14001862a
mov dword [rsp + 0xa0], ebp
mov r13, qword [rsp + 0x60]
xor eax, eax
xor edx, edx
mov dword [rsp + 0x98], esi
xor r8d, r8d
jmp 0x1400179a7
sub edx, 2
mov qword [rsp + 0xa0], rbx
movd xmm1, dword [0x1400274a0]
lea r15, [r15 + rdx + 2]
mov qword [rsp + 0x98], rdx
mov rdx, r14
mov r14d, dword [rsp + 0x94]
mov r10, r15
nop word [rax + rax]
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
sub rax, r9
cmp r9, rbx
je 0x14001832f
cmp rax, 0x101
jbe 0x1400183a3
cmp dword [rsp + 0x90], 4
jbe 0x1400181dc
mov rax, r9
mov ebp, ebp
mov esi, esi
mov ebx, dword [r11 + 0x20]
sub rax, r12
lea ecx, [rax - 0x8000]
movzx r13d, ax
mov dword [rsp + 0x48], ecx
mov ecx, dword [r9 + 1]
mov r8d, ecx
imul ecx, ecx, 0x1e35a7bd
and r8d, 0xffffff
imul r8d, r8d, 0x1e35a7bd
shr ecx, 0x10
mov r15d, r8d
shr r15d, 0x10
mov r8d, r15d
prefetcht0 byte [rdi + r8*4]
lea r8d, [rcx + 0x20000]
prefetcht0 byte [rdi + r8*2]
movzx r8d, word [r11 + rbp*4 + 0x17c0]
shl r8d, 0x10
or r8d, r13d
mov dword [rdi + rbp*4], r8d
movsx r8d, word [r11 + rsi*2 + 0x417c0]
mov word [r11 + rsi*2 + 0x417c0], ax
and eax, 0x7fff
add eax, eax
cmp dword [rsp + 0x48], r8d
jge 0x140018321
lea esi, [rax + 0x30000]
add eax, 0x30001
mov qword [rsp + 0x68], r10
xor ebp, ebp
lea rsi, [rdi + rsi*2]
lea r13, [rdi + rax*2]
xor eax, eax
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x50], rsi
xor esi, esi
mov dword [rsp + 0x78], r15d
mov dword [rsp + 0x94], ecx
jmp 0x140018157
mov rsi, qword [rsp + 0x50]
lea ecx, [rdx + 0x30001]
add edx, 1
cmp eax, ebp
mov word [rsi], r8w
lea rsi, [rdi + rcx*2]
movsx r8d, word [r11 + rdx*2 + 0x617c0]
mov qword [rsp + 0x50], rsi
mov esi, eax
cmova eax, ebp
cmp dword [rsp + 0x48], r8d
jge 0x1400181a8
sub ebx, 1
je 0x1400181a8
movsxd rdx, r8d
mov ecx, eax
add rdx, r12
movzx r10d, byte [rdx + rcx]
movzx ecx, byte [r9 + rcx]
cmp r10b, cl
je 0x140018230
mov edx, r8d
and edx, 0x7fff
add edx, edx
cmp r10b, cl
jb 0x140018120
lea ecx, [rdx + 0x30000]
cmp eax, esi
mov word [r13], r8w
mov ebp, eax
movsx r8d, word [r11 + rdx*2 + 0x617c0]
cmova eax, esi
lea r13, [rdi + rcx*2]
cmp dword [rsp + 0x48], r8d
jl 0x140018152
mov rax, qword [rsp + 0x50]
mov r8d, 0xffff8000
mov ebx, 0xffff8000
mov r10, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x78]
mov word [rax], r8w
mov ecx, dword [rsp + 0x94]
mov word [r13], bx
mov esi, ecx
mov ebp, r15d
xor eax, eax
add r9, 1
add rdx, 4
mov word [rdx - 4], ax
movzx eax, byte [r9 - 1]
mov word [rdx - 2], ax
cmp r9, r10
jne 0x140018020
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x98]
mov r15, r10
mov dword [rsp + 0x94], r14d
mov rbx, qword [rsp + 0xa0]
lea rax, [rax + rdx*4 + 4]
mov qword [rsp + 0x60], rax
jmp 0x140017a0e
lea r10d, [rax + 1]
mov ecx, r14d
sub ecx, r10d
cmp ecx, 0x1f
jbe 0x1400182b4
mov r15d, r10d
mov rcx, qword [rdx + r15]
mov r15, qword [r9 + r15]
cmp rcx, r15
jne 0x140018310
lea r15d, [rax + 9]
mov rcx, qword [rdx + r15]
mov r10, r15
mov r15, qword [r9 + r15]
cmp rcx, r15
jne 0x140018310
lea r15d, [rax + 0x11]
mov rcx, qword [rdx + r15]
mov r10, r15
mov r15, qword [r9 + r15]
cmp rcx, r15
jne 0x140018310
lea r15d, [rax + 0x19]
mov rcx, qword [rdx + r15]
mov r10, r15
mov r15, qword [r9 + r15]
cmp rcx, r15
jne 0x140018310
lea r10d, [rax + 0x21]
jmp 0x1400182b4
mov ecx, r15d
mov rax, qword [rdx + rcx]
mov rcx, qword [r9 + rcx]
cmp rax, rcx
jne 0x1400183b6
mov r15d, r10d
add r10d, 8
cmp r14d, r10d
jae 0x1400182a0
cmp r15d, r14d
jae 0x1400183df
mov eax, r15d
jmp 0x1400182dd
add rax, 1
cmp eax, r14d
jae 0x1400183df
movzx ecx, byte [r9 + rax]
cmp byte [rdx + rax], cl
je 0x1400182d0
nop word [rax + rax]
cmp eax, r14d
jae 0x1400183df
mov ecx, eax
movzx r10d, byte [rdx + rcx]
movzx ecx, byte [r9 + rcx]
jmp 0x140018172
xor rcx, r15
tzcnt rcx, rcx
shr ecx, 3
lea eax, [rcx + r10]
jmp 0x1400182f0
movd dword [rdi + rax*2 + 0x60000], xmm1
jmp 0x1400181d7
mov r8, qword [rsp + 0xf0]
mov rcx, rdi
nop word [rax + rax]
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rcx]
add rcx, 0x40
movups xmmword [rcx - 0x40], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rcx - 0x30]
movups xmmword [rcx - 0x30], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rcx - 0x20]
movups xmmword [rcx - 0x20], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rcx - 0x10]
movups xmmword [rcx - 0x10], xmm0
cmp r8, rcx
jne 0x140018340
mov ecx, 0x8000
mov r12, r9
cmp rax, rcx
cmovbe rcx, rax
lea rbx, [r9 + rcx]
mov qword [rsp + 0x88], rbx
cmp rax, 0x101
ja 0x140018048
cmp r14d, eax
mov dword [rsp + 0x90], eax
cmova r14d, eax
jmp 0x140018048
xor rcx, rax
mov r10d, r15d
jmp 0x140018313
mov qword [rsp + 0xa8], r15
xor edx, edx
xor eax, eax
mov ecx, 8
jmp 0x140017cc2
add eax, 1
jmp 0x140017bfa
mov eax, r8d
mov rbx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x68]
and eax, 0x7fff
mov rdx, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x78]
lea r8d, [rax + rax]
mov ecx, dword [rsp + 0x94]
mov rax, r8
movzx r8d, word [r11 + r8*2 + 0x617c0]
add eax, 1
mov word [rbx], r8w
movzx eax, word [r11 + rax*2 + 0x617c0]
mov word [r13], ax
jmp 0x1400181d7
mov rax, rbx
cmp qword [rsp + 0xc8], rax
mov ebx, ebp
mov r13, r12
mov rbp, rax
sete al
mov qword [rsp + 0x48], r15
mov r12, rdi
cmp qword [rsp + 0xd0], 0
mov r15, r11
je 0x140017d79
mov rdi, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
mov r8, 0xfffffffffffffffc
mov r9, rdi
sub r9, rdx
mov edx, dword [rsp + 0x48]
sub edx, edi
mov rdi, qword [rsp + 0x60]
nop dword [rax]
movzx ecx, word [rdi - 4]
mov r10, r8
shl rcx, 2
sub r10, rcx
add rdi, r10
sub edx, 1
jne 0x140018488
movzx eax, al
mov qword [rsp + 0x20], rdi
mov r14, qword [rsp + 0x60]
mov rcx, r15
mov rdx, qword [rsp + 0x108]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x30], 0
mov r8, qword [rsp + 0xc8]
sub r14, rdi
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0xf8]
call fcn.140016ad0
mov rcx, qword [rsp + 0xf0]
mov rdx, rdi
mov r8, r14
call fcn.140024430
mov rdi, qword [rsp + 0xe0]
pxor xmm0, xmm0
mov rdx, qword [rsp + 0x100]
lea rax, [r15 + r14 + 0x817c0]
movdqu xmm2, xmmword [rdi]
mov qword [rsp + 0x60], rax
movups xmmword [rdx], xmm2
movdqu xmm4, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm4
mov rax, qword [rdi + 0x20]
movups xmmword [rsp + 0x50], xmm4
mov qword [rdx + 0x20], rax
mov eax, dword [r15 + 0x57c]
mov dword [r15 + 0x8979c8], eax
mov rax, qword [rsp + 0xe8]
mov qword [rdi + 0x20], 0
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
lea rdi, [r15 + 0x897de0]
mov dword [r15 + 0x57c], 0
and rdi, 0xfffffffffffffff8
mov qword [rax], 0
sub rax, rdi
mov qword [r15 + 0x8981dc], 0
mov rcx, rax
xor eax, eax
add ecx, 0x40c
shr ecx, 3
rep stosq qword [rdi], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xc8], rax
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x80]
cmp rdi, rax
je 0x140018656
mov rax, qword [rsp + 0xf8]
cmp byte [rax + 0x20], 0
jne 0x140018656
mov qword [rsp + 0xa8], rdi
movzx eax, byte [rsp + 0x117]
jmp 0x1400176cc
movzx edx, word [rsp + 0x78]
sub edx, r8d
jmp 0x140017ef3
mov eax, edx
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xb0]
and eax, 0x7fff
lea edx, [rax + rax]
mov rax, rdx
movzx edx, word [r11 + rdx*2 + 0x617c0]
add eax, 1
mov word [rsi], dx
mov rsi, qword [rsp + 0x50]
movzx eax, word [r11 + rax*2 + 0x617c0]
mov word [rsi], ax
jmp 0x14001796b
mov qword [rsp + 0xa8], r15
xor edx, edx
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0xa0], ebp
mov r13, qword [rsp + 0x60]
mov ecx, 8
mov dword [rsp + 0x98], esi
jmp 0x140017cc2
mov rdi, qword [0x14002a860]
mov rax, qword [rsp + 0x118]
sub rax, qword [rdi]
jne 0x140018686
movups xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14001ecb0
nop
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
movups xmmword [rsp + 0xf0], xmm6
movups xmmword [rsp + 0x100], xmm7
movdqu xmm0, xmmword [0x1400274a0]
lea rax, [rdx + r8]
mov r13, rdx
mov edx, dword [rcx + 0x24]
mov r14, rcx
mov qword [rsp + 0x50], rax
mov eax, 0x102
mov rbp, r9
cmp edx, eax
cmovbe eax, edx
lea rdx, [rcx + 0x317c0]
mov dword [rsp + 0x5c], eax
lea rax, [rcx + 0x17c0]
mov qword [rsp + 0x48], rax
movups xmmword [rax], xmm0
add rax, 0x40
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x1400186f1
lea rax, [r14 + 0x417c0]
xor esi, esi
xor r12d, r12d
mov r15, r14
mov qword [rsp + 0x80], rax
lea rax, [r14 + 0x528]
movdqu xmm7, xmmword [0x1400274b0]
mov qword [rsp + 0x88], rax
lea rax, [r14 + 0x28]
movdqu xmm6, xmmword [0x1400274a0]
mov qword [rsp + 0x90], rax
lea rax, [r14 + 0x530]
mov qword [rsp + 0xc0], rax
lea rax, [r14 + 0x30]
mov qword [rsp + 0xb8], rax
lea rax, [r14 + 0x580]
mov qword [rsp + 0xd0], rax
lea rax, [r14 + 0xa80]
mov qword [rsp + 0xd8], rax
lea rax, [r14 + 0xba0]
mov qword [rsp + 0xe0], rax
lea rax, [r14 + 0x4a8]
mov qword [rsp + 0xe8], rax
lea rax, [r14 + 0xa00]
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x58], 0x102
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x3c], esi
mov qword [rsp + 0x178], rbp
mov rbp, r13
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov rax, rdi
mov r14, rdi
sub rax, rsi
mov rdx, rax
cmp rax, 0x4a767
jbe 0x1400187fa
lea rdi, [rsi + 0x493e0]
mov edx, 0x493e0
mov r14, rdi
mov ecx, 0x2710
mov r13, qword [rsp + 0x78]
pxor xmm0, xmm0
cmp rax, rcx
cmovg rax, rcx
add rax, r13
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
mov rax, qword [rsp + 0x90]
mov qword [r15 + 0x578], 0
mov qword [rax], 0
mov rdi, qword [rsp + 0xc0]
mov qword [rdi - 0x10], 0
mov rdi, qword [rsp + 0xb8]
and rdi, 0xfffffffffffffff8
sub rax, rdi
mov rcx, rax
xor eax, eax
add ecx, 0x500
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, r13
mov rdi, r14
mov dword [r15 + 0x417c0], 0
mov esi, dword [r15 + 0x20]
mov r8d, esi
call fcn.140013c60
movdqu xmm3, xmmword [0x1400274a0]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov eax, r12d
mov r12, r13
mov r13d, eax
nop dword [rax + rax]
mov rax, qword [rsp + 0x70]
cmp r12, rax
jae 0x140018b70
mov eax, dword [rsp + 0x6c]
lea r9d, [rax - 1]
mov rax, qword [rsp + 0x50]
sub rax, r12
cmp rax, 0x101
jbe 0x140018c91
mov r8, r12
sub r8, rbp
mov ecx, r8d
cmp r8d, 0x8000
je 0x140019609
add r8w, 0x8000
cmp dword [rsp + 0x58], 4
lea r14, [r12 + 1]
jbe 0x14001967b
mov r11d, dword [rsp + 0x3c]
mov r10d, r13d
movsx rdx, word [r15 + r10*2 + 0x17c0]
add r11, 0x8000
movzx eax, word [r15 + r11*2 + 0x17c0]
mov word [r15 + r10*2 + 0x17c0], cx
mov word [r15 + r11*2 + 0x17c0], cx
mov r11, qword [rsp + 0x48]
mov word [r15 + rcx*2 + 0x317c0], ax
mov ecx, dword [r12 + 1]
mov r10d, ecx
imul ecx, ecx, 0x1e35a7bd
and r10d, 0xffffff
imul r10d, r10d, 0x1e35a7bd
shr ecx, 0x10
mov ebx, ecx
mov dword [rsp + 0x3c], ecx
shr r10d, 0x11
mov ecx, r10d
mov r13d, r10d
prefetcht0 byte [r11 + rcx*2]
mov ecx, ebx
add ecx, 0x8000
prefetcht0 byte [r11 + rcx*2]
cmp r9d, 3
ja 0x140018ca7
cmp dx, r8w
jle 0x14001967b
mov ecx, dword [r12]
cmp r9d, 3
je 0x140018e49
add rdx, rbp
mov r10d, dword [rdx]
xor r10d, ecx
and r10d, 0xffffff
je 0x1400199a8
mov rdx, r12
cmp ax, r8w
jg 0x140018a01
jmp 0x1400198b7
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x14001995f
sub esi, 1
je 0x14001995f
movsx r11, ax
add r11, rbp
cmp ecx, dword [r11]
jne 0x1400189e0
mov ebx, dword [rsp + 0x58]
lea edx, [rbx - 4]
cmp edx, 0x1f
jbe 0x140019f5e
mov rcx, qword [r11 + 4]
mov rdx, qword [r12 + 4]
cmp rcx, rdx
jne 0x140019dd0
mov rcx, qword [r11 + 0xc]
mov rdx, qword [r12 + 0xc]
cmp rcx, rdx
je 0x140019e63
xor rdx, rcx
mov r9d, 0xc
tzcnt rdx, rdx
shr edx, 3
add r9d, edx
mov ebx, dword [rsp + 0x5c]
cmp r9d, ebx
jae 0x14001900d
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x14001900d
sub esi, 1
je 0x14001900d
lea ecx, [rsi - 1]
mov esi, dword [rsp + 0x58]
mov r10d, r9d
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0xa8], r13d
mov ebx, dword [r12 + r10 - 3]
sub esi, 4
mov dword [rsp + 0x68], esi
jmp 0x140018ad3
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x140019000
test ecx, ecx
je 0x140019000
sub ecx, 1
movsx rdx, ax
add rdx, rbp
cmp dword [rdx + r10 - 3], ebx
jne 0x140018ab0
mov edi, dword [r12]
cmp dword [rdx], edi
jne 0x140018ab0
cmp dword [rsp + 0x68], 0x1f
jbe 0x140019a1c
mov rbx, qword [rdx + 4]
mov r10, qword [r12 + 4]
cmp rbx, r10
jne 0x140018ff3
mov rbx, qword [rdx + 0xc]
mov r10, qword [r12 + 0xc]
cmp rbx, r10
je 0x140019898
xor r10, rbx
mov ebx, 0xc
tzcnt r10, r10
shr r10d, 3
add ebx, r10d
cmp r9d, ebx
jae 0x140018b43
mov edi, dword [rsp + 0x5c]
cmp ebx, edi
jae 0x140019e83
mov r11, rdx
mov r9d, ebx
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x140019000
test ecx, ecx
je 0x140019000
mov r10d, r9d
mov ebx, dword [r12 + r10 - 3]
jmp 0x140018ad0
mov rdx, qword [rsp + 0x90]
lea rcx, [r15 + 0x428]
pxor xmm0, xmm0
mov rax, rdx
nop word cs:[rax + rax]
movdqu xmm4, xmmword [rdx]
add rdx, 0x10
paddd xmm0, xmm4
cmp rcx, rdx
jne 0x140018b90
movdqa xmm1, xmm0
pxor xmm2, xmm2
psrldq xmm1, 8
paddd xmm0, xmm1
movdqa xmm1, xmm0
psrldq xmm1, 4
paddd xmm0, xmm1
movd edx, xmm0
shr edx, 0xa
movd xmm5, edx
pshufd xmm1, xmm5, 0
psubd xmm1, xmm7
nop dword [rax + rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
psubd xmm0, xmm7
pcmpgtd xmm0, xmm1
psubd xmm2, xmm0
cmp rcx, rax
jne 0x140018bd8
movdqa xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
cmp eax, 0x4f
ja 0x14001998b
lea rdx, str._t_t_t_t_t_t_b_b_a_a
movzx eax, byte [rdx + rax]
mov dword [rsp + 0x6c], eax
cmp esi, 0xf
ja 0x140018c52
mov eax, 4
cmp esi, 4
jbe 0x140018c45
mov eax, 5
cmp esi, 9
jbe 0x140018c45
mov eax, 7
mov ebx, dword [rsp + 0x6c]
cmp ebx, eax
cmovbe eax, ebx
mov dword [rsp + 0x6c], eax
lea r9d, [rax - 1]
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
mov rdx, r12
mov rcx, qword [rsp + 0x78]
sub rax, rbx
sub rdx, rcx
cmp rax, rdx
cmovg rax, rdx
add rbx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x70], rbx
sub rax, r12
cmp rax, 0x101
ja 0x1400188ea
mov ebx, dword [rsp + 0x5c]
mov dword [rsp + 0x58], eax
cmp ebx, eax
cmovbe eax, ebx
mov dword [rsp + 0x5c], eax
jmp 0x1400188ea
cmp ax, r8w
jle 0x140018cbd
mov ebx, dword [rsp + 0x5c]
mov r11, r12
cmp r9d, ebx
jb 0x140018a83
mov eax, dword [rsp + 0x6c]
cmp r9d, eax
jb 0x140018e60
lea r10d, [r9 - 1]
xor ecx, ecx
xor eax, eax
mov edx, 0xffffffff
lea r8, [0x140027140]
mov rbx, qword [rsp + 0x40]
movzx edx, byte [r8 + rdx]
lea r8, [0x140027240]
add eax, edx
mov edx, r9d
movzx edx, byte [r8 + rdx]
add dword [r15 + rdx*4 + 0x42c], 1
mov edx, eax
add dword [r15 + rdx*4 + 0x4a8], 1
xor edx, edx
cmp r9d, 8
seta dl
add edx, 8
movsxd rdx, edx
add dword [r15 + rdx*4 + 0x528], 1
mov edx, r9d
add dword [r15 + 0x578], 1
shl edx, 0x17
mov word [rbx + 6], ax
mov rax, qword [rsp + 0x50]
or dword [rbx], edx
lea edx, [r9 + 4]
sub rax, r14
mov word [rbx + 4], cx
lea rcx, [rbx + 8]
mov dword [rbx + 8], 0
cmp rdx, rax
jg 0x140018f16
lea edx, [r10 - 1]
mov eax, r14d
mov r8d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x80]
lea r9, [r14 + rdx + 1]
sub eax, ebp
mov rdx, r14
jmp 0x140018de8
mov ebx, eax
mov esi, eax
add eax, 1
mov r8d, r8d
mov r13d, r13d
add rdx, 1
mov word [r15 + r13*2 + 0x17c0], bx
add r8, 0x8000
movzx r12d, word [r15 + r8*2 + 0x17c0]
mov word [r15 + rsi*2 + 0x317c0], r12w
mov word [r15 + r8*2 + 0x17c0], bx
mov r8d, dword [rdx]
mov r13d, r8d
imul r8d, r8d, 0x1e35a7bd
and r13d, 0xffffff
imul r13d, r13d, 0x1e35a7bd
shr r8d, 0x10
shr r13d, 0x11
cmp rdx, r9
je 0x140018efa
cmp eax, 0x8000
jne 0x140018d80
mov rax, qword [rsp + 0x48]
nop dword [rax]
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax]
add rax, 0x40
movups xmmword [rax - 0x40], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x30]
movups xmmword [rax - 0x30], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x20]
movups xmmword [rax - 0x20], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp r11, rax
jne 0x140018df8
add rbp, 0x8000
mov eax, 1
xor ebx, ebx
xor esi, esi
jmp 0x140018d87
mov rdx, r12
cmp ax, r8w
jg 0x140018a01
nop word cs:[rax + rax]
movzx eax, byte [r12]
mov r12, r14
add dword [r15 + rax*4 + 0x28], 1
mov rdx, rax
shr al, 5
and eax, 6
and edx, 1
or eax, edx
and eax, 7
add dword [r15 + rax*4 + 0x528], 1
mov rax, qword [rsp + 0x40]
add dword [r15 + 0x578], 1
add dword [rax], 1
cmp r12, rdi
jae 0x140018f2b
lea rax, [r15 + 0xa3240]
cmp qword [rsp + 0x40], rax
jae 0x140018f2b
cmp dword [r15 + 0x578], 0x1ff
jbe 0x140018ef1
mov rax, qword [rsp + 0x78]
mov rdx, r12
sub rdx, rax
cmp rdx, 0x1387
jle 0x140018ef1
mov rax, qword [rsp + 0x50]
sub rax, r12
cmp rax, 0x1387
jle 0x140018ef1
mov rcx, qword [rsp + 0x88]
call fcn.140012270
test al, al
jne 0x140018f2b
mov esi, dword [r15 + 0x20]
jmp 0x1400188c0
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x3c], r8d
mov eax, r13d
prefetcht0 byte [rsi + rax*2]
lea eax, [r8 + 0x8000]
prefetcht0 byte [rsi + rax*2]
mov r10d, r10d
mov qword [rsp + 0x40], rcx
lea r12, [r14 + r10]
cmp r12, rdi
jb 0x140018ea1
mov rdi, qword [rsp + 0x50]
mov eax, r13d
mov r13, r12
mov r9, qword [rsp + 0xd8]
mov r12d, eax
mov edx, 0xe
mov ecx, 0x120
mov rax, qword [rsp + 0xd0]
cmp rdi, r13
mov r8, qword [rsp + 0x90]
sete bl
add dword [r15 + 0x428], 1
mov qword [rsp + 0x20], rax
movzx ebx, bl
call fcn.140012650
mov edx, 0xf
mov ecx, 0x20
mov rax, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov qword [rsp + 0x20], rax
call fcn.140012650
mov r8, qword [rsp + 0x78]
mov r9d, r13d
mov rcx, r15
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x28], ebx
mov rdx, qword [rsp + 0x178]
sub r9d, r8d
mov qword [rsp + 0x20], rax
call fcn.140012d00
cmp rdi, r13
je 0x140019ed1
mov rax, qword [rsp + 0x178]
cmp byte [rax + 0x20], 0
jne 0x140019ed1
mov qword [rsp + 0x78], r13
jmp 0x1400187cd
xor r10, rbx
mov ebx, 4
jmp 0x140018b20
mov rdi, qword [rsp + 0x60]
mov r13d, dword [rsp + 0xa8]
mov eax, r12d
sub eax, r11d
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x6c]
cmp r9d, eax
jb 0x140018e60
cmp r9d, 3
jne 0x1400198cc
cmp dword [rsp + 0x68], 0x2000
ja 0x140018e60
mov eax, dword [rsp + 0x5c]
mov r9d, 3
mov r10d, 2
cmp r9d, eax
jae 0x1400198dd
mov qword [rsp + 0x98], rdi
mov r12, qword [rsp + 0x80]
mov dword [rsp + 0x60], r13d
mov rax, qword [rsp + 0x50]
sub rax, r14
cmp rax, 0x101
jbe 0x140019a06
mov ecx, dword [r15 + 0x20]
mov r8, r14
lea r11d, [r9 - 1]
lea r13, [r14 + 1]
sub r8, rbp
shr ecx, 1
mov r10d, r8d
cmp r8d, 0x8000
je 0x1400197b6
add r8w, 0x8000
cmp dword [rsp + 0x58], 4
jbe 0x140019331
mov esi, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x60]
movsx rdx, word [r15 + rbx*2 + 0x17c0]
add rsi, 0x8000
movzx eax, word [r15 + rsi*2 + 0x17c0]
mov word [r15 + rbx*2 + 0x17c0], r10w
mov word [r15 + rsi*2 + 0x17c0], r10w
mov word [r15 + r10*2 + 0x317c0], ax
mov r10d, dword [r14 + 1]
mov ebx, r10d
imul r10d, r10d, 0x1e35a7bd
and ebx, 0xffffff
imul ebx, ebx, 0x1e35a7bd
mov esi, r10d
shr esi, 0x10
mov edi, ebx
mov dword [rsp + 0x3c], esi
shr edi, 0x11
mov r10d, edi
mov dword [rsp + 0x60], edi
mov rdi, qword [rsp + 0x48]
prefetcht0 byte [rdi + r10*2]
lea r10d, [rsi + 0x8000]
prefetcht0 byte [rdi + r10*2]
cmp r11d, 3
ja 0x140019317
cmp dx, r8w
jle 0x140019331
mov r10d, dword [r14]
cmp r11d, 3
je 0x1400199ef
add rdx, rbp
mov ebx, dword [rdx]
xor ebx, r10d
and ebx, 0xffffff
je 0x140019a83
cmp ax, r8w
jle 0x140019331
mov rdx, r14
mov edi, r11d
jmp 0x1400191a1
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x14001999e
sub ecx, 1
je 0x14001999e
movsx rbx, ax
add rbx, rbp
cmp r10d, dword [rbx]
jne 0x140019180
mov edi, dword [rsp + 0x58]
lea edx, [rdi - 4]
cmp edx, 0x1f
jbe 0x14001a0d3
mov r10, qword [rbx + 4]
mov rdx, qword [r14 + 4]
cmp r10, rdx
jne 0x140019dee
mov r10, qword [rbx + 0xc]
mov rdx, qword [r14 + 0xc]
cmp r10, rdx
je 0x140019e45
xor rdx, r10
mov edi, 0xc
tzcnt rdx, rdx
shr edx, 3
add edi, edx
mov esi, dword [rsp + 0x5c]
cmp edi, esi
jae 0x1400197ac
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x1400197ac
sub ecx, 1
je 0x1400197ac
mov edx, dword [rsp + 0x58]
mov r10d, edi
mov qword [rsp + 0xa0], r13
sub ecx, 1
mov dword [rsp + 0xac], r11d
mov esi, dword [r14 + r10 - 3]
sub edx, 4
mov dword [rsp + 0xb0], r9d
mov dword [rsp + 0xa8], edx
jmp 0x14001927b
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x140019794
test ecx, ecx
je 0x140019794
sub ecx, 1
movsx rdx, ax
add rdx, rbp
cmp dword [rdx + r10 - 3], esi
jne 0x140019258
mov r11d, dword [r14]
cmp dword [rdx], r11d
jne 0x140019258
cmp dword [rsp + 0xa8], 0x1f
jbe 0x140019c8c
mov r11, qword [rdx + 4]
mov r10, qword [r14 + 4]
cmp r11, r10
jne 0x140019787
mov r11, qword [rdx + 0xc]
mov r10, qword [r14 + 0xc]
cmp r11, r10
je 0x1400198fb
xor r10, r11
mov esi, 0xc
tzcnt r10, r10
shr r10d, 3
add esi, r10d
cmp edi, esi
jae 0x1400192ea
mov edi, dword [rsp + 0x5c]
cmp esi, edi
jae 0x140019f3a
mov rbx, rdx
mov edi, esi
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x140019794
test ecx, ecx
je 0x140019794
mov r10d, edi
mov esi, dword [r14 + r10 - 3]
jmp 0x140019278
cmp ax, r8w
jle 0x140019331
mov edi, dword [rsp + 0x5c]
cmp r11d, edi
jae 0x140019331
mov rbx, r14
mov edi, r11d
jmp 0x14001921e
mov edi, r11d
xor eax, eax
cmp edi, r9d
jb 0x14001935e
bsr ecx, dword [rsp + 0x68]
mov r8d, edi
xor ecx, 0x1f
bsr edx, eax
sub r8d, r9d
xor edx, 0x1f
sub edx, ecx
lea edx, [rdx + r8*4]
cmp edx, 2
jg 0x140019919
mov rax, qword [rsp + 0x50]
sub rax, r13
cmp rax, 0x101
jbe 0x140019c76
mov ecx, dword [r15 + 0x20]
mov r8, r13
lea rdi, [r14 + 2]
sub r8, rbp
shr ecx, 2
mov edx, r8d
cmp r8d, 0x8000
je 0x140019840
add r8w, 0x8000
cmp dword [rsp + 0x58], 4
jbe 0x14001969f
mov esi, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x60]
movsx r10, word [r15 + rbx*2 + 0x17c0]
add rsi, 0x8000
movzx eax, word [r15 + rsi*2 + 0x17c0]
mov word [r15 + rbx*2 + 0x17c0], dx
mov word [r15 + rsi*2 + 0x17c0], dx
mov word [r15 + rdx*2 + 0x317c0], ax
mov edx, dword [r14 + 2]
mov ebx, edx
imul edx, edx, 0x1e35a7bd
and ebx, 0xffffff
imul ebx, ebx, 0x1e35a7bd
shr ebx, 0x11
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ebx, edx
mov edx, esi
mov rsi, qword [rsp + 0x48]
shr ebx, 0x10
mov dword [rsp + 0x3c], ebx
prefetcht0 byte [rsi + rdx*2]
lea edx, [rbx + 0x8000]
prefetcht0 byte [rsi + rdx*2]
cmp r11d, 3
ja 0x140019688
cmp r10w, r8w
jle 0x14001969f
mov edx, dword [r14 + 1]
cmp r11d, 3
je 0x140019aba
lea rsi, [rbp + r10]
mov r10d, dword [rsi]
xor r10d, edx
and r10d, 0xffffff
je 0x140019cf4
cmp ax, r8w
jle 0x14001969f
mov rsi, r13
jmp 0x140019491
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x1400199c6
sub ecx, 1
je 0x1400199c6
movsx rbx, ax
add rbx, rbp
cmp edx, dword [rbx]
jne 0x140019470
mov esi, dword [rsp + 0x58]
lea edx, [rsi - 4]
cmp edx, 0x1f
jbe 0x14001a0cb
mov r10, qword [rbx + 4]
mov rdx, qword [r14 + 5]
cmp r10, rdx
jne 0x140019e10
mov r10, qword [rbx + 0xc]
mov rdx, qword [r14 + 0xd]
cmp r10, rdx
je 0x140019ea1
xor rdx, r10
mov r11d, 0xc
tzcnt rdx, rdx
shr edx, 3
add r11d, edx
mov esi, dword [rsp + 0x5c]
cmp r11d, esi
jae 0x140019836
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x140019836
sub ecx, 1
je 0x140019836
mov edx, dword [rsp + 0x58]
mov r10d, r11d
mov qword [rsp + 0xa0], rdi
sub ecx, 1
mov dword [rsp + 0xac], r9d
mov esi, dword [r13 + r10 - 3]
sub edx, 4
mov qword [rsp + 0xb0], r12
mov dword [rsp + 0xa8], edx
jmp 0x14001956b
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x14001981e
test ecx, ecx
je 0x14001981e
sub ecx, 1
movsx rdx, ax
add rdx, rbp
cmp dword [rdx + r10 - 3], esi
jne 0x140019548
mov edi, dword [r14 + 1]
cmp dword [rdx], edi
jne 0x140019548
cmp dword [rsp + 0xa8], 0x1f
jbe 0x140019d3a
mov r10, qword [rdx + 4]
mov r9, qword [r14 + 5]
cmp r10, r9
jne 0x140019811
mov r10, qword [rdx + 0xc]
mov r9, qword [r14 + 0xd]
cmp r10, r9
je 0x14001996d
xor r9, r10
mov esi, 0xc
tzcnt r9, r9
shr r9d, 3
add esi, r9d
cmp r11d, esi
jae 0x1400195dc
mov edi, dword [rsp + 0x5c]
cmp esi, edi
jae 0x140019f15
mov rbx, rdx
mov r11d, esi
and eax, 0x7fff
movzx eax, word [r15 + rax*2 + 0x317c0]
cmp ax, r8w
jle 0x14001981e
test ecx, ecx
je 0x14001981e
mov r10d, r11d
mov esi, dword [r13 + r10 - 3]
jmp 0x140019568
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
nop word cs:[rax + rax]
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax]
add rax, 0x40
movups xmmword [rax - 0x40], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x30]
movups xmmword [rax - 0x30], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x20]
movups xmmword [rax - 0x20], xmm0
movdqa xmm0, xmm6
paddsw xmm0, xmmword [rax - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rdx, rax
jne 0x140019620
add rbp, 0x8000
xor ecx, ecx
cmp dword [rsp + 0x58], 4
mov r8d, 0xffff8000
lea r14, [r12 + 1]
ja 0x140018916
mov dword [rsp + 0x68], 0
jmp 0x140019017
cmp ax, r8w
jle 0x14001969f
mov ebx, dword [rsp + 0x5c]
cmp r11d, ebx
jae 0x14001969f
mov rbx, r13
jmp 0x140019510
xor ecx, ecx
cmp r11d, r9d
jb 0x140019dfb
bsr r8d, dword [rsp + 0x68]
mov r10d, r11d
mov edx, dword [r15 + 0x578]
xor r8d, 0x1f
bsr eax, ecx
sub r10d, r9d
xor eax, 0x1f
sub eax, r8d
lea eax, [rax + r10*4]
cmp eax, 6
jle 0x140019dfb
movzx eax, byte [r14 - 1]
mov dword [rsp + 0x68], ecx
add edx, 2
add dword [r15 + rax*4 + 0x28], 1
mov r8, rax
shr al, 5
and r8d, 1
and eax, 6
or eax, r8d
and eax, 7
add dword [r15 + rax*4 + 0x528], 1
mov rax, qword [rsp + 0x40]
mov r8d, dword [rax]
movzx eax, byte [r14]
mov r14, rdi
add dword [r15 + rax*4 + 0x28], 1
mov r9, rax
shr al, 5
and r9d, 1
and eax, 6
or eax, r9d
mov r9d, r11d
and eax, 7
add dword [r15 + rax*4 + 0x528], 1
mov dword [r15 + 0x578], edx
lea edx, [r8 + 2]
mov rax, qword [rsp + 0x40]
mov dword [rax], edx
mov eax, dword [rsp + 0x5c]
cmp r9d, eax
jb 0x14001906a
mov esi, dword [rsp + 0x68]
mov eax, 0x100
mov r13d, dword [rsp + 0x60]
lea r10d, [r9 - 1]
mov rdi, qword [rsp + 0x98]
sub eax, esi
lea edx, [rsi - 1]
shr eax, 0x1d
mov ecx, eax
add eax, eax
shr edx, cl
mov ecx, esi
jmp 0x140018cd7
xor r10, r11
mov esi, 4
jmp 0x1400192c9
mov r13, qword [rsp + 0xa0]
mov r11d, dword [rsp + 0xac]
mov r9d, dword [rsp + 0xb0]
mov eax, r14d
sub eax, ebx
jmp 0x140019336
mov rax, qword [rsp + 0x48]
nop dword [rax + rax]
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax]
add rax, 0x40
movups xmmword [rax - 0x40], xmm0
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax - 0x30]
movups xmmword [rax - 0x30], xmm0
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax - 0x20]
movups xmmword [rax - 0x20], xmm0
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp r12, rax
jne 0x1400197c0
add rbp, 0x8000
mov r8d, 0xffff8000
xor r10d, r10d
jmp 0x1400190a8
xor r9, r10
mov esi, 4
jmp 0x1400195b9
mov rdi, qword [rsp + 0xa0]
mov r9d, dword [rsp + 0xac]
mov r12, qword [rsp + 0xb0]
mov ecx, r13d
sub ecx, ebx
jmp 0x1400196a1
mov rax, qword [rsp + 0x48]
nop dword [rax]
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax]
add rax, 0x40
movups xmmword [rax - 0x40], xmm0
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax - 0x30]
movups xmmword [rax - 0x30], xmm0
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax - 0x20]
movups xmmword [rax - 0x20], xmm0
movdqa xmm0, xmm3
paddsw xmm0, xmmword [rax - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp r12, rax
jne 0x140019848
add rbp, 0x8000
mov r8d, 0xffff8000
xor edx, edx
jmp 0x140019399
mov rbx, qword [rdx + 0x14]
mov r10, qword [r12 + 0x14]
cmp rbx, r10
je 0x1400199d0
xor r10, rbx
mov ebx, 0x14
jmp 0x140018b20
mov eax, dword [rsp + 0x6c]
cmp r9d, eax
jb 0x140018e60
mov dword [rsp + 0x68], 0
mov eax, dword [rsp + 0x5c]
lea r10d, [r9 - 1]
cmp r9d, eax
jb 0x140019055
mov esi, dword [rsp + 0x68]
mov eax, 0x100
sub eax, esi
lea edx, [rsi - 1]
shr eax, 0x1d
mov ecx, eax
add eax, eax
shr edx, cl
mov ecx, esi
jmp 0x140018cd7
mov r11, qword [rdx + 0x14]
mov r10, qword [r14 + 0x14]
cmp r11, r10
je 0x140019a9c
xor r10, r11
mov esi, 0x14
jmp 0x1400192c9
movzx edx, byte [r14 - 1]
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x68], eax
mov r9d, edi
mov r14, r13
add dword [r15 + rdx*4 + 0x28], 1
mov rcx, rdx
shr dl, 5
mov esi, dword [rsi]
and edx, 6
and ecx, 1
or edx, ecx
and edx, 7
add dword [r15 + rdx*4 + 0x528], 1
lea edx, [rsi + 1]
add dword [r15 + 0x578], 1
jmp 0x140019744
mov eax, r12d
sub eax, edx
mov dword [rsp + 0x68], eax
jmp 0x140019017
mov r10, qword [rdx + 0x14]
mov r9, qword [r14 + 0x15]
cmp r10, r9
je 0x140019d14
xor r9, r10
mov esi, 0x14
jmp 0x1400195b9
mov dword [rsp + 0x6c], 3
mov r9d, 2
jmp 0x140018c56
mov eax, r14d
sub eax, edx
jmp 0x140019336
mov r9d, 3
cmp ax, r8w
jg 0x140018a01
mov eax, r12d
sub eax, edx
mov dword [rsp + 0x68], eax
jmp 0x14001902e
mov ecx, r13d
sub ecx, esi
jmp 0x1400196a1
mov rbx, qword [rdx + 0x1c]
mov r10, qword [r12 + 0x1c]
cmp rbx, r10
je 0x140019da9
xor r10, rbx
mov ebx, 0x1c
jmp 0x140018b20
cmp ax, r8w
jle 0x14001935e
mov rdx, r14
mov edi, 3
jmp 0x1400191a1
mov edi, dword [rsp + 0x5c]
mov dword [rsp + 0x58], eax
cmp edi, eax
cmovbe eax, edi
mov dword [rsp + 0x5c], eax
jmp 0x14001907e
mov r13d, dword [rsp + 0x58]
mov esi, 4
jmp 0x140019a43
mov edi, ebx
mov r10, qword [rdx + rdi]
mov rdi, qword [r12 + rdi]
cmp r10, rdi
jne 0x140019d32
mov ebx, esi
add esi, 8
cmp r13d, esi
jae 0x140019a30
mov r13d, dword [rsp + 0x58]
mov r10d, ebx
cmp ebx, r13d
jae 0x140018b2c
nop
movzx edi, byte [r12 + r10]
mov ebx, r10d
cmp byte [rdx + r10], dil
jne 0x140018b2c
add r10, 1
cmp r10d, r13d
jb 0x140019a60
add ebx, 1
jmp 0x140018b2c
cmp ax, r8w
jg 0x1400199fc
mov eax, r14d
mov edi, 3
sub eax, edx
jmp 0x14001933b
mov r11, qword [rdx + 0x1c]
mov r10, qword [r14 + 0x1c]
cmp r11, r10
je 0x140019dc0
xor r10, r11
mov esi, 0x1c
jmp 0x1400192c9
cmp ax, r8w
jg 0x140019463
mov r12, rdi
mov r13d, dword [rsp + 0x60]
mov r9d, 4
mov rdi, qword [rsp + 0x98]
mov ebx, dword [rsp + 0x68]
mov ecx, 0x100
mov rsi, qword [rsp + 0x40]
lea rdx, [0x140027140]
sub ecx, ebx
lea eax, [rbx - 1]
lea r8, [rsi + 8]
shr ecx, 0x1d
mov qword [rsp + 0x40], r8
shr eax, cl
movzx eax, byte [rdx + rax]
lea rdx, [0x140027240]
lea ecx, [rax + rcx*2]
mov eax, r9d
movzx eax, byte [rdx + rax]
add dword [r15 + rax*4 + 0x42c], 1
mov eax, ecx
add dword [r15 + rax*4 + 0x4a8], 1
xor eax, eax
cmp r9d, 8
seta al
add eax, 8
cdqe
add dword [r15 + rax*4 + 0x528], 1
mov eax, r9d
add dword [r15 + 0x578], 1
shl eax, 0x17
mov word [rsi + 4], bx
or dword [rsi], eax
mov word [rsi + 6], cx
mov dword [rsi + 8], 0
cmp r9d, 3
jbe 0x140018e98
mov rax, qword [rsp + 0x50]
lea edx, [r9 + 2]
lea ecx, [r9 - 3]
sub rax, r12
cmp rdx, rax
jg 0x140019e38
mov r9d, r12d
mov r11d, dword [rsp + 0x3c]
lea r10, [r12 + rcx]
mov rax, r12
movdqu xmm0, xmmword [0x1400274a0]
mov rbx, qword [rsp + 0x80]
sub r9d, ebp
jmp 0x140019c16
mov esi, r9d
mov edx, r9d
add r9d, 1
mov r13d, r13d
add rax, 1
mov word [r15 + r13*2 + 0x17c0], si
mov r13d, edx
mov edx, r11d
add rdx, 0x8000
movzx r11d, word [r15 + rdx*2 + 0x17c0]
mov word [r15 + r13*2 + 0x317c0], r11w
mov word [r15 + rdx*2 + 0x17c0], si
mov edx, dword [rax]
mov r13d, edx
imul edx, edx, 0x1e35a7bd
and r13d, 0xffffff
imul r13d, r13d, 0x1e35a7bd
shr edx, 0x10
mov r11d, edx
shr r13d, 0x11
cmp rax, r10
je 0x140019e1e
cmp r9d, 0x8000
jne 0x140019ba8
mov rdx, qword [rsp + 0x48]
movdqa xmm1, xmm0
paddsw xmm1, xmmword [rdx]
add rdx, 0x40
movups xmmword [rdx - 0x40], xmm1
movdqa xmm1, xmm0
paddsw xmm1, xmmword [rdx - 0x30]
movups xmmword [rdx - 0x30], xmm1
movdqa xmm1, xmm0
paddsw xmm1, xmmword [rdx - 0x20]
movups xmmword [rdx - 0x20], xmm1
movdqa xmm1, xmm0
paddsw xmm1, xmmword [rdx - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rbx, rdx
jne 0x140019c24
add rbp, 0x8000
mov r9d, 1
xor esi, esi
xor edx, edx
jmp 0x140019bb2
mov edi, dword [rsp + 0x5c]
mov dword [rsp + 0x58], eax
cmp edi, eax
cmovbe eax, edi
mov dword [rsp + 0x5c], eax
jmp 0x140019372
mov r9d, dword [rsp + 0x58]
mov r11d, 4
jmp 0x140019cb4
mov r13d, esi
mov r10, qword [rdx + r13]
mov r13, qword [r14 + r13]
cmp r10, r13
jne 0x140019da1
mov esi, r11d
add r11d, 8
cmp r9d, r11d
jae 0x140019ca0
mov r9d, dword [rsp + 0x58]
mov r10d, esi
cmp esi, r9d
jae 0x1400192d5
movzx r11d, byte [r14 + r10]
mov esi, r10d
cmp byte [rdx + r10], r11b
jne 0x1400192d5
add r10, 1
cmp r10d, r9d
jb 0x140019cd1
add esi, 1
jmp 0x1400192d5
mov r11d, 3
cmp ax, r8w
jg 0x140019491
mov ecx, r13d
mov r11d, 3
sub ecx, esi
jmp 0x1400196aa
mov r10, qword [rdx + 0x1c]
mov r9, qword [r14 + 0x1d]
cmp r10, r9
je 0x140019dde
xor r9, r10
mov esi, 0x1c
jmp 0x1400195b9
xor r10, rdi
jmp 0x140018b20
mov r12d, dword [rsp + 0x58]
mov r10d, 4
jmp 0x140019d60
mov edi, esi
mov r9, qword [rdx + rdi]
mov rdi, qword [r13 + rdi]
cmp r9, rdi
jne 0x140019db8
mov esi, r10d
add r10d, 8
cmp r12d, r10d
jae 0x140019d50
mov r12d, dword [rsp + 0x58]
mov r9d, esi
cmp esi, r12d
jae 0x1400195c5
movzx edi, byte [r14 + r9 + 1]
mov esi, r9d
cmp byte [rdx + r9], dil
jne 0x1400195c5
add r9, 1
cmp r9d, r12d
jb 0x140019d7d
add esi, 1
jmp 0x1400195c5
xor r10, r13
jmp 0x1400192c9
mov r13d, dword [rsp + 0x58]
mov esi, 0x24
jmp 0x140019a43
xor r9, rdi
jmp 0x1400195b9
mov r9d, dword [rsp + 0x58]
mov r11d, 0x24
jmp 0x140019cb4
xor rdx, rcx
mov r9d, 4
jmp 0x140018a4a
mov r12d, dword [rsp + 0x58]
mov r10d, 0x24
jmp 0x140019d60
xor rdx, r10
mov edi, 4
jmp 0x1400191e7
mov r12, rdi
mov r13d, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x98]
jmp 0x140019ada
xor rdx, r10
mov r11d, 4
jmp 0x1400194d7
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x3c], edx
mov eax, r13d
prefetcht0 byte [rsi + rax*2]
lea eax, [rdx + 0x8000]
prefetcht0 byte [rsi + rax*2]
mov qword [rsp + 0x40], r8
add r12, rcx
jmp 0x140018e98
mov r10, qword [rbx + 0x14]
mov rdx, qword [r14 + 0x14]
cmp r10, rdx
je 0x140019fbc
xor rdx, r10
mov edi, 0x14
jmp 0x1400191e7
mov rcx, qword [r11 + 0x14]
mov rdx, qword [r12 + 0x14]
cmp rcx, rdx
je 0x140019ef5
xor rdx, rcx
mov r9d, 0x14
jmp 0x140018a4a
mov eax, r12d
mov rdi, qword [rsp + 0x60]
mov r13d, dword [rsp + 0xa8]
mov r9d, ebx
sub eax, edx
mov dword [rsp + 0x68], eax
jmp 0x140019017
mov r10, qword [rbx + 0x14]
mov rdx, qword [r14 + 0x15]
cmp r10, rdx
jne 0x14001a043
mov r10, qword [rbx + 0x1c]
mov rdx, qword [r14 + 0x1d]
cmp r10, rdx
je 0x14001a051
xor rdx, r10
mov r11d, 0x1c
jmp 0x1400194d7
movups xmm6, xmmword [rsp + 0xf0]
movups xmm7, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r11 + 0x1c]
mov rdx, qword [r12 + 0x1c]
cmp rcx, rdx
je 0x14001a039
xor rdx, rcx
mov r9d, 0x1c
jmp 0x140018a4a
mov ecx, r13d
mov rdi, qword [rsp + 0xa0]
mov r11d, esi
mov r9d, dword [rsp + 0xac]
mov r12, qword [rsp + 0xb0]
sub ecx, edx
jmp 0x1400196a1
mov eax, r14d
mov r13, qword [rsp + 0xa0]
mov edi, esi
mov r11d, dword [rsp + 0xac]
mov r9d, dword [rsp + 0xb0]
sub eax, edx
jmp 0x140019336
mov ecx, 4
jmp 0x140019f79
mov r10d, r9d
mov rdx, qword [r11 + r10]
mov r10, qword [r12 + r10]
cmp rdx, r10
jne 0x14001a0c3
mov r9d, ecx
add ecx, 8
cmp dword [rsp + 0x58], ecx
jae 0x140019f65
mov ebx, dword [rsp + 0x58]
mov edx, r9d
cmp r9d, ebx
jae 0x140018a55
movzx ebx, byte [r12 + rdx]
mov r9d, edx
cmp byte [r11 + rdx], bl
jne 0x140018a55
mov ebx, dword [rsp + 0x58]
add rdx, 1
cmp edx, ebx
jb 0x140019f95
add r9d, 1
jmp 0x140018a55
mov r10, qword [rbx + 0x1c]
mov rdx, qword [r14 + 0x1c]
cmp r10, rdx
jne 0x14001a02c
mov r10d, 0x24
jmp 0x140019feb
mov esi, edi
mov rdx, qword [rbx + rsi]
mov rsi, qword [r14 + rsi]
cmp rdx, rsi
jne 0x14001a0bb
mov edi, r10d
lea r10d, [r10 + 8]
cmp dword [rsp + 0x58], r10d
jae 0x140019fd8
mov esi, dword [rsp + 0x58]
mov edx, edi
cmp edi, esi
jae 0x14001a0de
movzx esi, byte [r14 + rdx]
mov edi, edx
cmp byte [rbx + rdx], sil
jne 0x1400191f1
mov esi, dword [rsp + 0x58]
add rdx, 1
cmp edx, esi
jb 0x14001a007
add edi, 1
jmp 0x1400191f1
xor rdx, r10
mov edi, 0x1c
jmp 0x1400191e7
mov ecx, 0x24
jmp 0x140019f79
xor rdx, r10
mov r11d, 0x14
jmp 0x1400194d7
mov r10d, 0x24
jmp 0x14001a071
mov esi, r11d
mov rdx, qword [rbx + rsi]
mov rsi, qword [r13 + rsi]
cmp rdx, rsi
jne 0x14001a0b3
mov r11d, r10d
lea r10d, [r10 + 8]
cmp dword [rsp + 0x58], r10d
jae 0x14001a060
mov esi, dword [rsp + 0x58]
mov edx, r11d
cmp r11d, esi
jae 0x14001a0f4
movzx esi, byte [r14 + rdx + 1]
mov r11d, edx
cmp byte [rbx + rdx], sil
jne 0x1400194e2
mov esi, dword [rsp + 0x58]
add rdx, 1
cmp edx, esi
jb 0x14001a08b
add r11d, 1
jmp 0x1400194e2
xor rdx, rsi
jmp 0x1400194d7
xor rdx, rsi
jmp 0x1400191e7
xor rdx, r10
jmp 0x140018a4a
mov r10d, 4
jmp 0x14001a071
mov r10d, 4
jmp 0x140019feb
mov esi, dword [rsp + 0x5c]
cmp edi, esi
jb 0x1400191fd
mov eax, r14d
sub eax, ebx
jmp 0x14001933b
mov esi, dword [rsp + 0x5c]
cmp r11d, esi
jb 0x1400194ef
mov ecx, r13d
sub ecx, ebx
jmp 0x1400196aa