Function at 0x1401e4ef0
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, 0x198
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x160], xmm7
movups xmmword [rsp + 0x170], xmm8
movups xmmword [rsp + 0x180], xmm9
mov qword [rsp + 0x70], rdx
mov rbp, rcx
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xb0], r9d
test r9d, r9d
jle 0x1401e4fb7
mov rax, qword [r8]
mov edx, eax
imul rdx, rdx, 0x51d07eaf
mov rcx, rdx
mov edx, eax
shr rcx, 0x20
sub edx, ecx
shr edx, 1
add edx, ecx
mov ecx, eax
shr edx, 6
imul edx, edx, 0x61
sub ecx, edx
mov rbx, qword [rbp + rcx*8 + 0xc0]
test rbx, rbx
jne 0x1401e4f89
jmp 0x1401e4fb7
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x1401e4fb7
cmp rax, qword [rbx + 8]
jne 0x1401e4f80
mov rdx, qword [rbx]
test rdx, rdx
je 0x1401e4fa1
sub dword [rdx + 0x10], 1
je 0x1401e539d
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1401e4faf
add dword [rax + 0x10], 1
mov rax, qword [rsp + 0x70]
mov qword [rbx], rax
mov eax, dword [rbp + 0x20]
movzx ecx, byte [rbp + 0x27]
mov rbx, qword [rsp + 0x70]
sub eax, 4
cdq
mov r8, qword [rbx + 0x18]
idiv ecx
movzx edx, byte [r8 + 2]
movzx r9d, byte [r8 + 3]
shl edx, 8
lea r12d, [rdx + r9]
cmp eax, r12d
jle 0x1401e519b
mov eax, ecx
mov rbx, qword [rsp + 0xa8]
imul eax, r12d
mov rdx, qword [rbx]
add eax, 4
bswap rdx
cdqe
add rax, r8
mov qword [rax], rdx
cmp byte [rbp + 0x25], 0
je 0x1401e50d5
mov edx, dword [rbx + 8]
mov r8, rbx
bswap edx
mov dword [rax + 8], edx
cmp byte [rbp + 0x25], 1
jbe 0x1401e50d5
mov edx, dword [rbx + 0xc]
bswap edx
mov dword [rax + 0xc], edx
cmp byte [rbp + 0x25], 2
jbe 0x1401e50d5
mov edx, dword [rbx + 0x10]
bswap edx
mov dword [rax + 0x10], edx
cmp byte [rbp + 0x25], 3
jbe 0x1401e50d5
mov edx, dword [rbx + 0x14]
bswap edx
mov dword [rax + 0x14], edx
cmp byte [rbp + 0x25], 4
jbe 0x1401e50d5
mov edx, dword [rbx + 0x18]
bswap edx
mov dword [rax + 0x18], edx
cmp byte [rbp + 0x25], 5
jbe 0x1401e50d5
mov edx, dword [rbx + 0x1c]
bswap edx
mov dword [rax + 0x1c], edx
cmp byte [rbp + 0x25], 6
jbe 0x1401e50d5
mov edx, dword [rbx + 0x20]
bswap edx
mov dword [rax + 0x20], edx
cmp byte [rbp + 0x25], 7
jbe 0x1401e50d5
mov edx, dword [rbx + 0x24]
bswap edx
mov dword [rax + 0x24], edx
cmp byte [rbp + 0x25], 8
jbe 0x1401e50d5
mov edx, dword [rbx + 0x28]
bswap edx
mov dword [rax + 0x28], edx
cmp byte [rbp + 0x25], 9
jbe 0x1401e50d5
mov edx, dword [rbx + 0x2c]
bswap edx
mov dword [rax + 0x2c], edx
cmp byte [rbp + 0x25], 0xa
jbe 0x1401e50d5
mov edx, dword [rbx + 0x30]
bswap edx
mov dword [rax + 0x30], edx
cmp byte [rbp + 0x25], 0xb
jbe 0x1401e50d5
mov edx, 0xb
mov ecx, dword [r8 + rdx*4 + 8]
bswap ecx
mov dword [rax + rdx*4 + 8], ecx
movzx ecx, byte [rbp + 0x25]
add rdx, 1
cmp ecx, edx
jg 0x1401e50be
mov rsi, qword [rsp + 0x70]
lea eax, [r12 + 1]
rol ax, 8
mov rdx, qword [rsi + 0x18]
mov word [rdx + 2], ax
mov dword [rsi + 0x14], 1
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0xa8]
mov rcx, rbp
mov rdx, rsi
call sym.AdjustTree
mov r12d, eax
test eax, eax
jne 0x1401e51bd
mov rdx, qword [r8]
mov r8d, dword [rsp + 0xb0]
mov r12, qword [rsi + 8]
test r8d, r8d
jne 0x1401e53cc
mov rcx, qword [rbp + 0x90]
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov rbx, qword [rbp + 0x90]
mov edx, 1
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401e5183
mov rax, qword [rbx + 0x80]
test word [rax + 0x4c], 0x9000
jne 0x1401e6fa6
mov ecx, 4
mov qword [rax + 0x38], r12
mov word [rax + 0x4c], cx
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401e5183
call qword [0x1402ba750]
mov rcx, qword [rbp + 0x90]
call sym.sqlite3_step
mov rcx, qword [rbp + 0x90]
jmp 0x1401e5435
jne 0x1401e50f2
call sym.sqlite3_initialize
mov ebx, eax
test eax, eax
je 0x1401e51f6
xor edi, edi
mov r12d, 7
mov rcx, rdi
call sym.sqlite3_free
nop
movups xmm6, xmmword [rsp + 0x150]
mov eax, r12d
movups xmm7, xmmword [rsp + 0x160]
movups xmm8, xmmword [rsp + 0x170]
movups xmm9, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea eax, [r12 + 1]
movsxd r15, eax
mov dword [rsp + 0xc4], eax
lea rax, [r15 + r15*2]
lea rax, [r15 + rax*4]
lea r13, [rax*4]
mov eax, dword [0x1402ba6c0]
test eax, eax
jne 0x1401e53aa
mov ecx, r13d
call qword [0x1402ba6e0]
mov rdi, rax
test rdi, rdi
je 0x1401e51ac
lea rcx, [r15 + r15*2]
lea r8, [r15*4]
xor edx, edx
movsxd rsi, r12d
shl rcx, 4
mov qword [rsp + 0x38], r8
add rcx, rdi
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x70]
mov r10, qword [rax + 0x18]
test r12d, r12d
je 0x1401e52c2
mov r8, rdi
movzx eax, byte [rbp + 0x27]
movzx r9d, byte [rbp + 0x25]
imul eax, ebx
lea edx, [rax + 4]
lea ecx, [rax + 0xc]
xor eax, eax
movsxd rdx, edx
movsxd rcx, ecx
mov rdx, qword [r10 + rdx]
add rcx, r10
bswap rdx
mov qword [r8], rdx
nop word [rax + rax]
mov edx, dword [rcx + rax*4]
bswap edx
mov dword [r8 + rax*4 + 8], edx
mov edx, dword [rcx + rax*4 + 4]
bswap edx
mov dword [r8 + rax*4 + 0xc], edx
add rax, 2
cmp r9d, eax
jg 0x1401e5298
add ebx, 1
add r8, 0x30
cmp r12d, ebx
jne 0x1401e526b
mov eax, dword [rbp + 0x20]
lea rcx, [r10 + 2]
xor edx, edx
lea r8d, [rax - 2]
movsxd r8, r8d
call sub.msvcrt.dll_memset
mov rcx, qword [rsp + 0x70]
lea rax, [rsi + rsi*2]
mov rbx, qword [rsp + 0xa8]
shl rax, 4
mov dword [rcx + 0x14], 1
movdqu xmm7, xmmword [rbx]
add rax, rdi
movups xmmword [rax], xmm7
movdqu xmm7, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm7
movdqu xmm7, xmmword [rbx + 0x20]
movups xmmword [rax + 0x20], xmm7
cmp qword [rcx + 8], 1
movups xmmword [rsp + 0x40], xmm7
je 0x1401e54ab
mov rbx, qword [rcx]
mov esi, dword [rbp + 0x20]
call sym.sqlite3_initialize
test eax, eax
jne 0x1401e546f
movsxd rcx, esi
add rcx, 0x28
call sym.sqlite3Malloc
mov qword [rsp + 0x80], rax
mov rsi, rax
test rax, rax
je 0x1401e546f
movsxd r8, dword [rbp + 0x20]
xor edx, edx
mov rcx, rax
add r8, 0x28
call sub.msvcrt.dll_memset
lea rax, [rsi + 0x28]
mov dword [rsi + 0x10], 1
mov qword [rsi + 0x18], rax
add dword [rbp + 0x5c], 1
mov qword [rsi], rbx
mov dword [rsi + 0x14], 1
test rbx, rbx
je 0x1401e538a
add dword [rbx + 0x10], 1
mov rax, qword [rsp + 0x70]
add dword [rax + 0x10], 1
mov qword [rsp + 0x78], rax
jmp 0x1401e55a1
mov rcx, rbp
call sym.nodeRelease.part.0
jmp 0x1401e4fa1
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401e53bc
call qword [0x1402ba740]
mov rcx, r13
call sym.sqlite3Malloc.part.0
mov rdi, rax
jmp 0x1401e522f
mov rcx, qword [rbp + 0xa8]
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov rbx, qword [rbp + 0xa8]
mov edx, 1
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401e5422
mov rax, qword [rbx + 0x80]
test word [rax + 0x4c], 0x9000
jne 0x1401e6fb7
mov edx, 4
mov qword [rax + 0x38], r12
mov word [rax + 0x4c], dx
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401e5422
call qword [0x1402ba750]
mov rcx, qword [rbp + 0xa8]
call sym.sqlite3_step
mov rcx, qword [rbp + 0xa8]
movups xmm6, xmmword [rsp + 0x150]
movups xmm7, xmmword [rsp + 0x160]
movups xmm8, xmmword [rsp + 0x170]
movups xmm9, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_reset
mov rax, qword [rsp + 0x70]
mov r12d, 7
add dword [rax + 0x10], 1
mov qword [rsp + 0x78], rax
mov rbx, qword [rsp + 0x78]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [rbx + 0x10], eax
jne 0x1401e51b4
mov rdx, rbx
mov rcx, rbp
call sym.nodeRelease.part.0
jmp 0x1401e51b4
mov ebx, dword [rbp + 0x20]
call sym.sqlite3_initialize
test eax, eax
jne 0x1401e56ca
movsxd rcx, ebx
mov ebx, 1
add rcx, 0x28
call sym.sqlite3Malloc
mov qword [rsp + 0x80], rax
mov rsi, rax
test rax, rax
je 0x1401e5516
movsxd r8, dword [rbp + 0x20]
xor edx, edx
mov rcx, rax
xor ebx, ebx
add r8, 0x28
call sub.msvcrt.dll_memset
lea rax, [rsi + 0x28]
mov dword [rsi + 0x10], 1
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0x70]
add dword [rbp + 0x5c], 1
mov qword [rsi], rax
mov dword [rsi + 0x14], 1
add dword [rax + 0x10], 1
mov esi, dword [rbp + 0x20]
call sym.sqlite3_initialize
test eax, eax
jne 0x1401e562f
movsxd rcx, esi
add rcx, 0x28
call sym.sqlite3Malloc
mov qword [rsp + 0x78], rax
mov rsi, rax
test rax, rax
je 0x1401e562f
movsxd r8, dword [rbp + 0x20]
xor edx, edx
mov rcx, rax
add r8, 0x28
call sub.msvcrt.dll_memset
lea rax, [rsi + 0x28]
mov dword [rsi + 0x10], 1
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0x70]
add dword [rbp + 0x5c], 1
mov qword [rsi], rax
mov dword [rsi + 0x14], 1
mov rsi, rax
add dword [rax + 0x10], 1
mov eax, dword [rbp + 0x2c]
mov rdx, qword [rsi + 0x18]
add eax, 1
mov dword [rbp + 0x2c], eax
rol ax, 8
mov dword [rsi + 0x14], 1
mov word [rdx], ax
test bl, bl
jne 0x1401e5658
mov rax, qword [rsp + 0x78]
movsxd r8, dword [rbp + 0x20]
xor edx, edx
mov rcx, qword [rax + 0x18]
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x80]
movsxd r8, dword [rbp + 0x20]
xor edx, edx
mov rcx, qword [rax + 0x18]
call sub.msvcrt.dll_memset
movzx ebx, byte [rbp + 0x24]
call sym.sqlite3_initialize
mov dword [rsp + 0xe0], eax
test eax, eax
jne 0x1401e56a8
lea eax, [r12 + 3]
add rbx, 1
cdqe
imul rbx, rax
mov eax, dword [0x1402ba6c0]
shl rbx, 2
test eax, eax
je 0x1401e56e0
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401e5617
call qword [0x1402ba740]
mov rcx, rbx
call sym.sqlite3Malloc.part.0
mov qword [rsp + 0x98], rax
mov rcx, rax
jmp 0x1401e56f3
mov eax, dword [rbp + 0x2c]
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x78], 0
add eax, 1
mov rdx, qword [rsi + 0x18]
mov dword [rbp + 0x2c], eax
rol ax, 8
mov dword [rsi + 0x14], 1
mov word [rdx], ax
cmp qword [rsp + 0x80], 0
mov r12d, 7
je 0x1401e5690
mov rbx, qword [rsp + 0x80]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [rbx + 0x10], eax
jne 0x1401e5690
mov rdx, qword [rsp + 0x80]
mov rcx, rbp
call sym.nodeRelease.part.0
cmp qword [rsp + 0x78], 0
jne 0x1401e5483
jmp 0x1401e51b4
mov r12d, 7
mov rbx, qword [rsp + 0x80]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [rbx + 0x10], eax
je 0x1401e5680
jmp 0x1401e5483
mov qword [rsp + 0x80], 0
mov ebx, 1
jmp 0x1401e5516
mov ecx, ebx
call qword [0x1402ba6e0]
mov qword [rsp + 0x98], rax
mov rcx, rax
test rcx, rcx
je 0x1401e56a8
movzx edx, byte [rbp + 0x24]
mov esi, dword [rsp + 0xc4]
mov r8, rbx
mov rax, rdx
imul edx, esi
shl rax, 3
movsxd rdx, edx
lea r13, [rax + rdx*4]
xor edx, edx
add r13, rcx
call sub.msvcrt.dll_memset
movzx eax, byte [rbp + 0x24]
test al, al
je 0x1401e6f8e
mov ebx, esi
shr esi, 2
movdqu xmm6, xmmword [0x14033daa0]
mov rcx, rbp
mov r14d, esi
mov esi, ebx
xor ebx, ebx
and esi, 0xfffffffc
shl r14, 4
mov r10d, esi
xor esi, esi
mov ebp, r10d
mov r11, qword [rsp + 0x98]
lea rdx, [rsi*4]
mov r9d, ebx
lea rdx, [rdx + rax*8]
add rdx, r11
mov qword [r11 + rbx*8], rdx
cmp r12d, 2
jle 0x1401e6e5d
lea rax, [rsi + rax*2]
movdqu xmm0, xmmword [0x14033da80]
lea rax, [r11 + rax*4]
lea r8, [rax + r14]
movdqu xmm1, xmm0
add rax, 0x10
paddd xmm0, xmm6
movups xmmword [rax - 0x10], xmm1
cmp rax, r8
jne 0x1401e578f
mov eax, ebp
cmp ebp, dword [rsp + 0xc4]
je 0x1401e57d9
movsxd r11, eax
mov dword [rdx + r11*4], eax
lea r8, [r11*4]
lea r11d, [rax + 1]
cmp r12d, eax
jle 0x1401e57d9
mov dword [rdx + r8 + 4], r11d
add eax, 2
cmp r12d, r11d
jle 0x1401e57d9
mov dword [rdx + r8 + 8], eax
mov qword [rsp + 0x28], r13
mov r8d, dword [rsp + 0xc4]
add rbx, 1
add rsi, r15
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x40], rcx
call sym.SortByDimension
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 0x24]
movzx edx, al
mov dword [rsp + 0xa4], edx
cmp edx, ebx
jg 0x1401e5753
mov r11d, eax
mov rbp, rcx
test edx, edx
je 0x1401e6e94
mov esi, dword [rcx + 0x20]
movzx ebx, byte [rcx + 0x27]
pxor xmm8, xmm8
mov r13d, r11d
mov dword [rsp + 0xa4], 0
movupd xmm7, xmm8
lea eax, [rsi - 4]
mov dword [rsp + 0xb4], esi
cdq
mov dword [rsp + 0xc0], ebx
idiv ebx
mov ebx, dword [rsp + 0xc4]
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xd0], rcx
movsxd rdx, eax
sar eax, 0x1f
imul rdx, rdx, 0x55555556
shr rdx, 0x20
mov esi, edx
sub esi, eax
sub eax, edx
add ebx, eax
movzx eax, r11b
mov dword [rsp + 0x90], esi
lea rsi, [rsp + 0xf0]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0xe4], ebx
sub rax, 4
mov qword [rsp + 0xe8], rax
lea eax, [rbx + 1]
lea rbx, [rsp + 0x120]
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0xb8]
mov r11d, dword [rsp + 0x90]
mov ecx, dword [rsp + 0xe4]
mov dword [rsp + 0xcc], eax
cmp r11d, ecx
jg 0x1401e6e48
movupd xmm6, xmm8
movupd xmm5, xmm8
movupd xmm3, xmm8
mov rcx, qword [rsp + 0x98]
mov dword [rsp + 0xa0], 0
mov r10, qword [rcx + rax*8]
movsxd rax, dword [r10]
lea rbp, [rax + rax*2]
mov rax, qword [rsp + 0xe8]
shl rbp, 4
add rax, r10
add rbp, rdi
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xd0]
movzx r9d, byte [rax + 0x25]
movzx r14d, byte [rax + 0x26]
lea eax, [r9 - 2]
lea edx, [r9 - 1]
cdqe
movsxd rcx, edx
mov qword [rsp + 0x40], rax
lea eax, [r9 - 3]
cdqe
mov qword [rsp + 0x38], rcx
lea ecx, [r9 - 4]
mov qword [rsp + 0x58], rax
movsxd rax, ecx
mov qword [rsp + 0x60], rax
lea eax, [r9 - 5]
cdqe
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x68], rax
nop dword [rax]
movdqu xmm4, xmmword [rbp]
mov rax, qword [rsp + 0x88]
movups xmmword [rsi], xmm4
movdqu xmm4, xmmword [rbp + 0x10]
movups xmmword [rsi + 0x10], xmm4
movdqu xmm4, xmmword [rbp + 0x20]
movups xmmword [rsi + 0x20], xmm4
movsxd rax, dword [rax]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rdi
movdqu xmm4, xmmword [rax]
movups xmmword [rbx], xmm4
movdqu xmm4, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm4
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [rbx + 0x20], xmm4
cmp r12d, 1
jle 0x1401e5ed0
cmp r11d, 1
jle 0x1401e65e0
cmp r12d, r11d
mov r15d, r11d
lea rcx, [r10 + 4]
mov edx, 1
cmovle r15d, r12d
jmp 0x1401e5b2e
movss xmm0, dword [rsp + 0xf8]
minss xmm0, dword [rax + 8]
movss dword [rsp + 0xf8], xmm0
movss xmm0, dword [rsp + 0xfc]
maxss xmm0, dword [rax + 0xc]
movss dword [rsp + 0xfc], xmm0
cmp r9d, 2
jle 0x1401e5b1e
movss xmm0, dword [rsp + 0x100]
minss xmm0, dword [rax + 0x10]
movss dword [rsp + 0x100], xmm0
movss xmm0, dword [rsp + 0x104]
maxss xmm0, dword [rax + 0x14]
movss dword [rsp + 0x104], xmm0
cmp r9d, 4
jle 0x1401e5b1e
movss xmm0, dword [rsp + 0x108]
minss xmm0, dword [rax + 0x18]
movss dword [rsp + 0x108], xmm0
movss xmm0, dword [rsp + 0x10c]
maxss xmm0, dword [rax + 0x1c]
movss dword [rsp + 0x10c], xmm0
cmp r9d, 6
jle 0x1401e5b1e
movss xmm0, dword [rsp + 0x110]
minss xmm0, dword [rax + 0x20]
movss dword [rsp + 0x110], xmm0
movss xmm0, dword [rsp + 0x114]
maxss xmm0, dword [rax + 0x24]
movss dword [rsp + 0x114], xmm0
cmp r9d, 8
jle 0x1401e5b1e
movss xmm0, dword [rsp + 0x118]
minss xmm0, dword [rax + 0x28]
movss dword [rsp + 0x118], xmm0
movss xmm0, dword [rsp + 0x11c]
maxss xmm0, dword [rax + 0x2c]
movss dword [rsp + 0x11c], xmm0
add edx, 1
add rcx, 4
cmp edx, r15d
jge 0x1401e5c78
movsxd rax, dword [rcx]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rdi
test r14b, r14b
je 0x1401e5a18
mov r8d, dword [rsp + 0xf8]
cmp dword [rax + 8], r8d
cmovle r8d, dword [rax + 8]
mov dword [rsp + 0xf8], r8d
mov r8d, dword [rsp + 0xfc]
cmp dword [rax + 0xc], r8d
cmovge r8d, dword [rax + 0xc]
mov dword [rsp + 0xfc], r8d
cmp r9d, 2
jle 0x1401e5b1e
mov r8d, dword [rsp + 0x100]
cmp dword [rax + 0x10], r8d
cmovle r8d, dword [rax + 0x10]
mov dword [rsp + 0x100], r8d
mov r8d, dword [rsp + 0x104]
cmp dword [rax + 0x14], r8d
cmovge r8d, dword [rax + 0x14]
mov dword [rsp + 0x104], r8d
cmp r9d, 4
jle 0x1401e5b1e
mov r8d, dword [rsp + 0x108]
cmp dword [rax + 0x18], r8d
cmovle r8d, dword [rax + 0x18]
mov dword [rsp + 0x108], r8d
mov r8d, dword [rsp + 0x10c]
cmp dword [rax + 0x1c], r8d
cmovge r8d, dword [rax + 0x1c]
mov dword [rsp + 0x10c], r8d
cmp r9d, 6
jle 0x1401e5b1e
mov r8d, dword [rsp + 0x110]
cmp dword [rax + 0x20], r8d
cmovle r8d, dword [rax + 0x20]
mov dword [rsp + 0x110], r8d
mov r8d, dword [rsp + 0x114]
cmp dword [rax + 0x24], r8d
cmovge r8d, dword [rax + 0x24]
mov dword [rsp + 0x114], r8d
cmp r9d, 8
jle 0x1401e5b1e
mov r8d, dword [rsp + 0x118]
cmp dword [rax + 0x28], r8d
cmovle r8d, dword [rax + 0x28]
mov dword [rsp + 0x118], r8d
mov r8d, dword [rsp + 0x11c]
cmp dword [rax + 0x2c], r8d
cmovge r8d, dword [rax + 0x2c]
add edx, 1
add rcx, 4
mov dword [rsp + 0x11c], r8d
cmp edx, r15d
jl 0x1401e5b2e
nop dword [rax + rax]
cmp r12d, edx
jle 0x1401e5ed0
movsxd rdx, edx
jmp 0x1401e5da3
movss xmm0, dword [rsp + 0x128]
minss xmm0, dword [rax + 8]
movss dword [rsp + 0x128], xmm0
movss xmm0, dword [rsp + 0x12c]
maxss xmm0, dword [rax + 0xc]
movss dword [rsp + 0x12c], xmm0
cmp r9d, 2
jle 0x1401e5d96
movss xmm0, dword [rsp + 0x130]
minss xmm0, dword [rax + 0x10]
movss dword [rsp + 0x130], xmm0
movss xmm0, dword [rsp + 0x134]
maxss xmm0, dword [rax + 0x14]
movss dword [rsp + 0x134], xmm0
cmp r9d, 4
jle 0x1401e5d96
movss xmm0, dword [rsp + 0x138]
minss xmm0, dword [rax + 0x18]
movss dword [rsp + 0x138], xmm0
movss xmm0, dword [rsp + 0x13c]
maxss xmm0, dword [rax + 0x1c]
movss dword [rsp + 0x13c], xmm0
cmp r9d, 6
jle 0x1401e5d96
movss xmm0, dword [rsp + 0x140]
minss xmm0, dword [rax + 0x20]
movss dword [rsp + 0x140], xmm0
movss xmm0, dword [rsp + 0x144]
maxss xmm0, dword [rax + 0x24]
movss dword [rsp + 0x144], xmm0
cmp r9d, 8
jle 0x1401e5d96
movss xmm0, dword [rsp + 0x148]
minss xmm0, dword [rax + 0x28]
movss dword [rsp + 0x148], xmm0
movss xmm0, dword [rsp + 0x14c]
maxss xmm0, dword [rax + 0x2c]
movss dword [rsp + 0x14c], xmm0
add rdx, 1
cmp r12d, edx
jle 0x1401e5ed0
movsxd rax, dword [r10 + rdx*4]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rdi
test r14b, r14b
je 0x1401e5c90
mov ecx, dword [rsp + 0x128]
cmp dword [rax + 8], ecx
cmovle ecx, dword [rax + 8]
mov dword [rsp + 0x128], ecx
mov ecx, dword [rsp + 0x12c]
cmp dword [rax + 0xc], ecx
cmovge ecx, dword [rax + 0xc]
mov dword [rsp + 0x12c], ecx
cmp r9d, 2
jle 0x1401e5d96
mov ecx, dword [rsp + 0x130]
cmp dword [rax + 0x10], ecx
cmovle ecx, dword [rax + 0x10]
mov dword [rsp + 0x130], ecx
mov ecx, dword [rsp + 0x134]
cmp dword [rax + 0x14], ecx
cmovge ecx, dword [rax + 0x14]
mov dword [rsp + 0x134], ecx
cmp r9d, 4
jle 0x1401e5d96
mov ecx, dword [rsp + 0x138]
cmp dword [rax + 0x18], ecx
cmovle ecx, dword [rax + 0x18]
mov dword [rsp + 0x138], ecx
mov ecx, dword [rsp + 0x13c]
cmp dword [rax + 0x1c], ecx
cmovge ecx, dword [rax + 0x1c]
mov dword [rsp + 0x13c], ecx
cmp r9d, 6
jle 0x1401e5d96
mov ecx, dword [rsp + 0x140]
cmp dword [rax + 0x20], ecx
cmovle ecx, dword [rax + 0x20]
mov dword [rsp + 0x140], ecx
mov ecx, dword [rsp + 0x144]
cmp dword [rax + 0x24], ecx
cmovge ecx, dword [rax + 0x24]
mov dword [rsp + 0x144], ecx
cmp r9d, 8
jle 0x1401e5d96
mov ecx, dword [rax + 0x28]
mov eax, dword [rax + 0x2c]
cmp dword [rsp + 0x148], ecx
cmovle ecx, dword [rsp + 0x148]
cmp dword [rsp + 0x14c], eax
cmovge eax, dword [rsp + 0x14c]
add rdx, 1
mov dword [rsp + 0x148], ecx
mov dword [rsp + 0x14c], eax
cmp r12d, edx
jg 0x1401e5da3
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x38]
test r14b, r14b
je 0x1401e65ea
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtsi2sd xmm0, dword [rsp + rax*4 + 0xf8]
mov rax, qword [rsp + 0x40]
cvtsi2sd xmm1, dword [rsp + rax*4 + 0xf8]
mov eax, dword [rsp + 0x54]
subsd xmm0, xmm1
addsd xmm0, xmm8
test eax, eax
js 0x1401e5fd9
mov rax, qword [rsp + 0x58]
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtsi2sd xmm1, dword [rsp + rax*4 + 0xf8]
mov rax, qword [rsp + 0x60]
cvtsi2sd xmm2, dword [rsp + rax*4 + 0xf8]
mov eax, r9d
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 6
js 0x1401e5fd9
mov rcx, qword [rsp + 0x68]
cdqe
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtsi2sd xmm2, dword [rsp + rax*4 + 0xf8]
mov eax, r9d
cvtsi2sd xmm1, dword [rsp + rcx*4 + 0xf8]
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 8
js 0x1401e5fd9
lea edx, [r9 - 7]
pxor xmm1, xmm1
pxor xmm2, xmm2
cdqe
cvtsi2sd xmm2, dword [rsp + rax*4 + 0xf8]
movsxd rdx, edx
mov eax, r9d
cvtsi2sd xmm1, dword [rsp + rdx*4 + 0xf8]
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 0xa
js 0x1401e5fd9
lea edx, [r9 - 9]
pxor xmm1, xmm1
pxor xmm2, xmm2
cdqe
cvtsi2sd xmm2, dword [rsp + rax*4 + 0xf8]
movsxd rdx, edx
cvtsi2sd xmm1, dword [rsp + rdx*4 + 0xf8]
subsd xmm1, xmm2
addsd xmm0, xmm1
mov rax, qword [rsp + 0x38]
pxor xmm2, xmm2
addsd xmm3, xmm0
pxor xmm0, xmm0
mov r15d, dword [rsp + 0x54]
cvtsi2sd xmm2, dword [rsp + rax*4 + 0x128]
mov rax, qword [rsp + 0x40]
movupd xmm1, xmm3
cvtsi2sd xmm0, dword [rsp + rax*4 + 0x128]
subsd xmm2, xmm0
addsd xmm2, xmm8
movupd xmm0, xmm2
test r15d, r15d
js 0x1401e60e7
mov rax, qword [rsp + 0x58]
pxor xmm2, xmm2
pxor xmm3, xmm3
cvtsi2sd xmm2, dword [rsp + rax*4 + 0x128]
mov rax, qword [rsp + 0x60]
cvtsi2sd xmm3, dword [rsp + rax*4 + 0x128]
mov eax, r9d
subsd xmm2, xmm3
addsd xmm0, xmm2
sub eax, 6
js 0x1401e60e7
mov rcx, qword [rsp + 0x68]
cdqe
pxor xmm2, xmm2
pxor xmm3, xmm3
cvtsi2sd xmm3, dword [rsp + rax*4 + 0x128]
mov eax, r9d
cvtsi2sd xmm2, dword [rsp + rcx*4 + 0x128]
subsd xmm2, xmm3
addsd xmm0, xmm2
sub eax, 8
js 0x1401e60e7
lea edx, [r9 - 7]
pxor xmm2, xmm2
pxor xmm3, xmm3
cdqe
cvtsi2sd xmm3, dword [rsp + rax*4 + 0x128]
movsxd rdx, edx
mov eax, r9d
cvtsi2sd xmm2, dword [rsp + rdx*4 + 0x128]
subsd xmm2, xmm3
addsd xmm0, xmm2
sub eax, 0xa
js 0x1401e60e7
lea edx, [r9 - 9]
pxor xmm2, xmm2
pxor xmm3, xmm3
cdqe
cvtsi2sd xmm3, dword [rsp + rax*4 + 0x128]
movsxd rdx, edx
cvtsi2sd xmm2, dword [rsp + rdx*4 + 0x128]
subsd xmm2, xmm3
addsd xmm0, xmm2
movupd xmm3, xmm1
addsd xmm3, xmm0
test r9d, r9d
je 0x1401e698f
mov eax, dword [rsp + 0xf8]
mov edx, dword [rsp + 0x128]
cmp eax, edx
jg 0x1401e694e
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
mov edx, dword [rsp + 0xfc]
mov eax, dword [rsp + 0x12c]
pxor xmm0, xmm0
pxor xmm2, xmm2
cvtsi2sd xmm0, edx
cvtsi2sd xmm2, eax
cmp edx, eax
jl 0x1401e613c
movupd xmm0, xmm2
comisd xmm1, xmm0
ja 0x1401e6944
subsd xmm0, xmm1
cmp r9d, 2
jle 0x1401e62c6
mov eax, dword [rsp + 0x100]
mov edx, dword [rsp + 0x130]
cmp edx, eax
jl 0x1401e695b
pxor xmm2, xmm2
cvtsi2sd xmm2, edx
mov edx, dword [rsp + 0x104]
mov eax, dword [rsp + 0x134]
pxor xmm1, xmm1
pxor xmm4, xmm4
cvtsi2sd xmm1, edx
cvtsi2sd xmm4, eax
cmp edx, eax
jl 0x1401e6198
movupd xmm1, xmm4
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
cmp r9d, 4
jle 0x1401e62c6
mov eax, dword [rsp + 0x108]
mov edx, dword [rsp + 0x138]
cmp eax, edx
jg 0x1401e6968
pxor xmm2, xmm2
cvtsi2sd xmm2, edx
mov edx, dword [rsp + 0x10c]
mov eax, dword [rsp + 0x13c]
pxor xmm1, xmm1
pxor xmm4, xmm4
cvtsi2sd xmm1, edx
cvtsi2sd xmm4, eax
cmp edx, eax
jl 0x1401e61f8
movupd xmm1, xmm4
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
cmp r9d, 6
jle 0x1401e62c6
mov eax, dword [rsp + 0x110]
mov edx, dword [rsp + 0x140]
cmp eax, edx
jg 0x1401e6975
pxor xmm2, xmm2
cvtsi2sd xmm2, edx
mov edx, dword [rsp + 0x114]
mov eax, dword [rsp + 0x144]
pxor xmm1, xmm1
pxor xmm4, xmm4
cvtsi2sd xmm1, edx
cvtsi2sd xmm4, eax
cmp edx, eax
jl 0x1401e6258
movupd xmm1, xmm4
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
cmp r9d, 8
jle 0x1401e62c6
mov edx, dword [rsp + 0x118]
mov eax, dword [rsp + 0x148]
cmp edx, eax
jle 0x1401e6982
pxor xmm2, xmm2
cvtsi2sd xmm2, edx
mov eax, dword [rsp + 0x11c]
mov edx, dword [rsp + 0x14c]
pxor xmm1, xmm1
pxor xmm4, xmm4
cvtsi2sd xmm1, eax
cvtsi2sd xmm4, edx
cmp edx, eax
jg 0x1401e62b4
movupd xmm1, xmm4
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
movupd xmm4, xmm0
addsd xmm4, xmm8
mov r8, rsi
mov edx, r14d
mov ecx, r13d
call sym.cellArea.isra.0
mov r8, rbx
mov edx, r14d
movupd xmm9, xmm0
call sym.cellArea.isra.0
addsd xmm9, xmm0
cmp r11d, dword [rsp + 0x90]
je 0x1401e6311
comisd xmm5, xmm4
ja 0x1401e6311
ucomisd xmm5, xmm4
jp 0x1401e6322
jne 0x1401e6322
comisd xmm6, xmm9
jbe 0x1401e6322
mov dword [rsp + 0xa0], r11d
movupd xmm6, xmm9
movupd xmm5, xmm4
add r11d, 1
cmp dword [rsp + 0x94], r11d
jne 0x1401e59a0
cmp qword [rsp + 0xb8], 0
je 0x1401e6345
comisd xmm7, xmm3
jbe 0x1401e6365
mov eax, dword [rsp + 0xa0]
movupd xmm7, xmm3
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0xc8], eax
add qword [rsp + 0xb8], 1
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xd8]
jne 0x1401e58dc
movsxd rax, dword [rsp + 0xc8]
mov rsi, qword [rsp + 0x98]
movsxd rdx, dword [rsp + 0xa4]
mov rbp, qword [rsp + 0xd0]
lea r11, [rsi + rax*8]
shl rdx, 2
mov rax, qword [r11]
mov r14d, dword [rsp + 0xa4]
movsxd rax, dword [rax]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rdi
movdqu xmm7, xmmword [rax]
movups xmmword [rsp + 0xf0], xmm7
movdqu xmm6, xmmword [rax + 0x10]
movups xmmword [rsp + 0x100], xmm6
movdqu xmm5, xmmword [rax + 0x20]
movups xmmword [rsp + 0x110], xmm5
mov rax, qword [r11]
movsxd rax, dword [rax + rdx]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rdi
movdqu xmm7, xmmword [rax]
movups xmmword [rsp + 0x120], xmm7
movdqu xmm3, xmmword [rax + 0x10]
movups xmmword [rsp + 0x130], xmm3
movdqu xmm6, xmmword [rax + 0x20]
movups xmmword [rsp + 0x140], xmm6
test r14d, r14d
jle 0x1401e69a0
mov eax, dword [rsp + 0xc4]
mov r15, qword [rsp + 0x78]
lea rsi, [rsp + 0xf0]
cmp eax, r14d
cmovle r14d, eax
xor ebx, ebx
mov rax, qword [r11]
mov r9, qword [r15 + 0x18]
mov r10d, ebx
mov r13d, ebx
movsxd rax, dword [rax + rbx*4]
movzx ecx, byte [r9 + 2]
lea r8, [rax + rax*2]
movzx eax, byte [r9 + 3]
shl ecx, 8
shl r8, 4
add ecx, eax
mov eax, dword [rsp + 0xb4]
add r8, rdi
sub eax, 4
cdq
idiv dword [rsp + 0xc0]
cmp eax, ecx
jle 0x1401e65a7
mov eax, dword [rsp + 0xc0]
imul eax, ecx
add eax, 4
cdqe
add r9, rax
mov rax, qword [r8]
bswap rax
mov qword [r9], rax
cmp byte [rbp + 0x25], 0
je 0x1401e6590
mov eax, dword [r8 + 8]
bswap eax
mov dword [r9 + 8], eax
cmp byte [rbp + 0x25], 1
jbe 0x1401e6590
mov eax, dword [r8 + 0xc]
bswap eax
mov dword [r9 + 0xc], eax
cmp byte [rbp + 0x25], 2
jbe 0x1401e6590
mov eax, dword [r8 + 0x10]
bswap eax
mov dword [r9 + 0x10], eax
cmp byte [rbp + 0x25], 3
jbe 0x1401e6590
mov eax, dword [r8 + 0x14]
bswap eax
mov dword [r9 + 0x14], eax
cmp byte [rbp + 0x25], 4
jbe 0x1401e6590
mov eax, dword [r8 + 0x18]
bswap eax
mov dword [r9 + 0x18], eax
cmp byte [rbp + 0x25], 5
jbe 0x1401e6590
mov eax, dword [r8 + 0x1c]
bswap eax
mov dword [r9 + 0x1c], eax
cmp byte [rbp + 0x25], 6
jbe 0x1401e6590
mov eax, dword [r8 + 0x20]
bswap eax
mov dword [r9 + 0x20], eax
cmp byte [rbp + 0x25], 7
jbe 0x1401e6590
mov eax, dword [r8 + 0x24]
bswap eax
mov dword [r9 + 0x24], eax
cmp byte [rbp + 0x25], 8
jbe 0x1401e6590
mov eax, dword [r8 + 0x28]
bswap eax
mov dword [r9 + 0x28], eax
cmp byte [rbp + 0x25], 9
jbe 0x1401e6590
mov eax, dword [r8 + 0x2c]
bswap eax
mov dword [r9 + 0x2c], eax
cmp byte [rbp + 0x25], 0xa
jbe 0x1401e6590
mov eax, dword [r8 + 0x30]
bswap eax
mov dword [r9 + 0x30], eax
cmp byte [rbp + 0x25], 0xb
jbe 0x1401e6590
mov eax, 0xb
mov edx, dword [r8 + rax*4 + 8]
bswap edx
mov dword [r9 + rax*4 + 8], edx
movzx edx, byte [rbp + 0x25]
add rax, 1
cmp edx, eax
jg 0x1401e6578
mov rdx, qword [r15 + 0x18]
lea eax, [rcx + 1]
rol ax, 8
mov word [rdx + 2], ax
mov dword [r15 + 0x14], 1
mov rdx, rsi
mov rcx, rbp
add rbx, 1
add r10d, 1
call sym.cellUnion
cmp r14d, ebx
jle 0x1401e6b36
movzx eax, byte [rbp + 0x27]
mov dword [rsp + 0xc0], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0xb4], eax
jmp 0x1401e6449
mov edx, 1
jmp 0x1401e5c81
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtss2sd xmm0, dword [rsp + rax*4 + 0xf8]
mov rax, qword [rsp + 0x40]
cvtss2sd xmm1, dword [rsp + rax*4 + 0xf8]
subsd xmm0, xmm1
mov eax, dword [rsp + 0x54]
addsd xmm0, xmm8
test eax, eax
js 0x1401e66e5
mov rax, qword [rsp + 0x58]
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtss2sd xmm1, dword [rsp + rax*4 + 0xf8]
mov rax, qword [rsp + 0x60]
cvtss2sd xmm2, dword [rsp + rax*4 + 0xf8]
subsd xmm1, xmm2
mov eax, r9d
addsd xmm0, xmm1
sub eax, 6
js 0x1401e66e5
mov rcx, qword [rsp + 0x68]
cdqe
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtss2sd xmm2, dword [rsp + rax*4 + 0xf8]
mov eax, r9d
cvtss2sd xmm1, dword [rsp + rcx*4 + 0xf8]
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 8
js 0x1401e66e5
lea edx, [r9 - 7]
pxor xmm1, xmm1
pxor xmm2, xmm2
cdqe
cvtss2sd xmm2, dword [rsp + rax*4 + 0xf8]
movsxd rdx, edx
mov eax, r9d
cvtss2sd xmm1, dword [rsp + rdx*4 + 0xf8]
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 0xa
js 0x1401e66e5
lea edx, [r9 - 9]
pxor xmm1, xmm1
pxor xmm2, xmm2
cdqe
cvtss2sd xmm2, dword [rsp + rax*4 + 0xf8]
movsxd rdx, edx
cvtss2sd xmm1, dword [rsp + rdx*4 + 0xf8]
subsd xmm1, xmm2
addsd xmm0, xmm1
mov rax, qword [rsp + 0x38]
addsd xmm3, xmm0
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtss2sd xmm0, dword [rsp + rax*4 + 0x128]
mov rax, qword [rsp + 0x40]
cvtss2sd xmm1, dword [rsp + rax*4 + 0x128]
subsd xmm0, xmm1
mov eax, dword [rsp + 0x54]
addsd xmm0, xmm8
test eax, eax
js 0x1401e67e9
mov rax, qword [rsp + 0x58]
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtss2sd xmm1, dword [rsp + rax*4 + 0x128]
mov rax, qword [rsp + 0x60]
cvtss2sd xmm2, dword [rsp + rax*4 + 0x128]
subsd xmm1, xmm2
mov eax, r9d
addsd xmm0, xmm1
sub eax, 6
js 0x1401e67e9
mov rcx, qword [rsp + 0x68]
cdqe
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtss2sd xmm2, dword [rsp + rax*4 + 0x128]
mov eax, r9d
cvtss2sd xmm1, dword [rsp + rcx*4 + 0x128]
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 8
js 0x1401e67e9
lea edx, [r9 - 7]
pxor xmm1, xmm1
pxor xmm2, xmm2
cdqe
cvtss2sd xmm2, dword [rsp + rax*4 + 0x128]
movsxd rdx, edx
mov eax, r9d
cvtss2sd xmm1, dword [rsp + rdx*4 + 0x128]
subsd xmm1, xmm2
addsd xmm0, xmm1
sub eax, 0xa
js 0x1401e67e9
lea edx, [r9 - 9]
pxor xmm1, xmm1
pxor xmm2, xmm2
cdqe
cvtss2sd xmm2, dword [rsp + rax*4 + 0x128]
movsxd rdx, edx
cvtss2sd xmm1, dword [rsp + rdx*4 + 0x128]
subsd xmm1, xmm2
addsd xmm0, xmm1
addsd xmm3, xmm0
test r9d, r9d
je 0x1401e698f
movss xmm1, dword [rsp + 0xf8]
movss xmm0, dword [rsp + 0xfc]
maxss xmm1, dword [rsp + 0x128]
minss xmm0, dword [rsp + 0x12c]
cvtss2sd xmm1, xmm1
cvtss2sd xmm0, xmm0
comisd xmm1, xmm0
ja 0x1401e6944
subsd xmm0, xmm1
cmp r9d, 2
jle 0x1401e62c6
movss xmm2, dword [rsp + 0x100]
movss xmm1, dword [rsp + 0x104]
maxss xmm2, dword [rsp + 0x130]
minss xmm1, dword [rsp + 0x134]
cvtss2sd xmm2, xmm2
cvtss2sd xmm1, xmm1
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
cmp r9d, 4
jle 0x1401e62c6
movss xmm2, dword [rsp + 0x108]
movss xmm1, dword [rsp + 0x10c]
maxss xmm2, dword [rsp + 0x138]
minss xmm1, dword [rsp + 0x13c]
cvtss2sd xmm2, xmm2
cvtss2sd xmm1, xmm1
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
cmp r9d, 6
jle 0x1401e62c6
movss xmm2, dword [rsp + 0x110]
movss xmm1, dword [rsp + 0x114]
maxss xmm2, dword [rsp + 0x140]
minss xmm1, dword [rsp + 0x144]
cvtss2sd xmm2, xmm2
cvtss2sd xmm1, xmm1
comisd xmm2, xmm1
ja 0x1401e6944
subsd xmm1, xmm2
mulsd xmm0, xmm1
cmp r9d, 8
jle 0x1401e62c6
movss xmm2, dword [rsp + 0x118]
movss xmm1, dword [rsp + 0x11c]
maxss xmm2, dword [rsp + 0x148]
minss xmm1, dword [rsp + 0x14c]
cvtss2sd xmm2, xmm2
cvtss2sd xmm1, xmm1
comisd xmm2, xmm1
jbe 0x1401e62be
movupd xmm4, xmm8
jmp 0x1401e62cf
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
jmp 0x1401e6116
pxor xmm2, xmm2
cvtsi2sd xmm2, eax
jmp 0x1401e6172
pxor xmm2, xmm2
cvtsi2sd xmm2, eax
jmp 0x1401e61d2
pxor xmm2, xmm2
cvtsi2sd xmm2, eax
jmp 0x1401e6232
pxor xmm2, xmm2
cvtsi2sd xmm2, eax
jmp 0x1401e628e
mov rax, qword [0x14033d468]
movq xmm4, rax
jmp 0x1401e62cf
xor r10d, r10d
movsxd rbx, r10d
mov r13, qword [rsp + 0x80]
mov ecx, dword [rsp + 0xc0]
lea rsi, [rsp + 0x120]
shl rbx, 2
mov rax, qword [r11]
mov r14, qword [r13 + 0x18]
movsxd rax, dword [rax + rbx]
movzx r9d, byte [r14 + 2]
lea r8, [rax + rax*2]
movzx eax, byte [r14 + 3]
shl r9d, 8
shl r8, 4
add r9d, eax
mov eax, dword [rsp + 0xb4]
add r8, rdi
sub eax, 4
cdq
idiv ecx
cmp r9d, eax
jge 0x1401e6b08
mov eax, ecx
mov rdx, qword [r8]
imul eax, r9d
bswap rdx
add eax, 4
cdqe
add rax, r14
mov qword [rax], rdx
cmp byte [rbp + 0x25], 0
je 0x1401e6af0
mov edx, dword [r8 + 8]
bswap edx
mov dword [rax + 8], edx
cmp byte [rbp + 0x25], 1
jbe 0x1401e6af0
mov edx, dword [r8 + 0xc]
bswap edx
mov dword [rax + 0xc], edx
cmp byte [rbp + 0x25], 2
jbe 0x1401e6af0
mov edx, dword [r8 + 0x10]
bswap edx
mov dword [rax + 0x10], edx
cmp byte [rbp + 0x25], 3
jbe 0x1401e6af0
mov edx, dword [r8 + 0x14]
bswap edx
mov dword [rax + 0x14], edx
cmp byte [rbp + 0x25], 4
jbe 0x1401e6af0
mov edx, dword [r8 + 0x18]
bswap edx
mov dword [rax + 0x18], edx
cmp byte [rbp + 0x25], 5
jbe 0x1401e6af0
mov edx, dword [r8 + 0x1c]
bswap edx
mov dword [rax + 0x1c], edx
cmp byte [rbp + 0x25], 6
jbe 0x1401e6af0
mov edx, dword [r8 + 0x20]
bswap edx
mov dword [rax + 0x20], edx
cmp byte [rbp + 0x25], 7
jbe 0x1401e6af0
mov edx, dword [r8 + 0x24]
bswap edx
mov dword [rax + 0x24], edx
cmp byte [rbp + 0x25], 8
jbe 0x1401e6af0
mov edx, dword [r8 + 0x28]
bswap edx
mov dword [rax + 0x28], edx
cmp byte [rbp + 0x25], 9
jbe 0x1401e6af0
mov edx, dword [r8 + 0x2c]
bswap edx
mov dword [rax + 0x2c], edx
cmp byte [rbp + 0x25], 0xa
jbe 0x1401e6af0
mov edx, dword [r8 + 0x30]
bswap edx
mov dword [rax + 0x30], edx
cmp byte [rbp + 0x25], 0xb
jbe 0x1401e6af0
mov edx, 0xb
mov ecx, dword [r8 + rdx*4 + 8]
bswap ecx
mov dword [rax + rdx*4 + 8], ecx
movzx ecx, byte [rbp + 0x25]
add rdx, 1
cmp ecx, edx
jg 0x1401e6ad9
mov rdx, qword [r13 + 0x18]
lea eax, [r9 + 1]
rol ax, 8
mov word [rdx + 2], ax
mov dword [r13 + 0x14], 1
mov rdx, rsi
mov rcx, rbp
add rbx, 4
call sym.cellUnion
lea eax, [r10 + 1]
cmp r12d, r10d
jle 0x1401e6b55
mov r10d, eax
mov eax, dword [rbp + 0x20]
movzx ecx, byte [rbp + 0x27]
mov dword [rsp + 0xb4], eax
jmp 0x1401e69c1
cmp r12d, r13d
jle 0x1401e6b55
movzx eax, byte [rbp + 0x27]
mov dword [rsp + 0xc0], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0xb4], eax
jmp 0x1401e69a3
mov rcx, qword [rsp + 0x98]
call sym.sqlite3_free
mov rax, qword [rsp + 0x80]
mov r10d, dword [rax + 0x14]
test r10d, r10d
je 0x1401e6b89
mov rdx, rax
mov rcx, rbp
call sym.nodeWrite.part.0
mov r12d, eax
test eax, eax
jne 0x1401e56ae
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401e6bbf
mov rbx, qword [rsp + 0x78]
mov r9d, dword [rbx + 0x14]
test r9d, r9d
je 0x1401e6bbf
mov rdx, rbx
mov rcx, rbp
call sym.nodeWrite.part.0
mov r12d, eax
test eax, eax
jne 0x1401e56ae
mov rax, qword [rbx + 8]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rbx + 8]
mov r10, qword [rsi]
mov qword [rsp + 0xf0], rax
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x120], rdx
cmp qword [rbx + 8], 1
je 0x1401e6e64
mov rdx, qword [r10 + 0x18]
movzx ecx, byte [rdx + 2]
movzx r8d, byte [rdx + 3]
shl ecx, 8
add ecx, r8d
je 0x1401e6eb8
movzx r9d, byte [rbp + 0x27]
mov r11d, dword [rsp + 0xe0]
add rdx, 4
jmp 0x1401e6c2f
add r11d, 1
add rdx, r9
cmp ecx, r11d
je 0x1401e6eb8
mov r8, qword [rdx]
bswap r8
cmp r8, rax
jne 0x1401e6c1f
bswap rax
mov qword [rdx], rax
cmp byte [rbp + 0x25], 0
je 0x1401e6d00
mov eax, dword [rsp + 0xf8]
bswap eax
mov dword [rdx + 8], eax
cmp byte [rbp + 0x25], 1
jbe 0x1401e6d00
mov eax, dword [rsp + 0xfc]
bswap eax
mov dword [rdx + 0xc], eax
cmp byte [rbp + 0x25], 2
jbe 0x1401e6d00
mov eax, dword [rsp + 0x100]
bswap eax
mov dword [rdx + 0x10], eax
cmp byte [rbp + 0x25], 3
jbe 0x1401e6d00
mov eax, dword [rsp + 0x104]
bswap eax
mov dword [rdx + 0x14], eax
cmp byte [rbp + 0x25], 4
jbe 0x1401e6d00
mov eax, dword [rsp + 0x108]
bswap eax
mov dword [rdx + 0x18], eax
cmp byte [rbp + 0x25], 5
jbe 0x1401e6d00
mov eax, dword [rsp + 0x10c]
bswap eax
mov dword [rdx + 0x1c], eax
cmp byte [rbp + 0x25], 6
jbe 0x1401e6d00
mov eax, dword [rsp + 0x110]
bswap eax
mov dword [rdx + 0x20], eax
cmp byte [rbp + 0x25], 7
jbe 0x1401e6d00
mov eax, dword [rsp + 0x114]
bswap eax
mov dword [rdx + 0x24], eax
cmp byte [rbp + 0x25], 8
jbe 0x1401e6d00
mov eax, dword [rsp + 0x118]
bswap eax
mov dword [rdx + 0x28], eax
cmp byte [rbp + 0x25], 9
jbe 0x1401e6d00
mov eax, dword [rsp + 0x11c]
bswap eax
mov dword [rdx + 0x2c], eax
mov dword [r10 + 0x14], 1
lea r8, [rsp + 0xf0]
mov rdx, r10
mov rcx, rbp
call sym.AdjustTree
mov r12d, eax
test eax, eax
jne 0x1401e56ae
mov eax, dword [rsp + 0xb0]
lea ebx, [rax + 1]
mov r14, qword [rsp + 0x80]
mov r9d, ebx
lea r8, [rsp + 0x120]
mov rcx, rbp
mov rdx, qword [r14]
call sym.rtreeInsertCell
mov r12d, eax
test eax, eax
jne 0x1401e56ae
mov rcx, qword [r14 + 0x18]
movzx eax, byte [rcx + 2]
movzx edx, byte [rcx + 3]
shl eax, 8
add eax, edx
je 0x1401e6ec3
xor r13d, r13d
xor esi, esi
mov ebx, 1
movzx eax, byte [rbp + 0x27]
mov r9d, dword [rsp + 0xb0]
mov r8, r14
imul eax, esi
add eax, 4
cdqe
mov r15, qword [rcx + rax]
mov rcx, rbp
bswap r15
mov rdx, r15
call sym.updateMapping
mov r12d, eax
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax]
cmp r15, rdx
cmove r13d, ebx
test r12d, r12d
jne 0x1401e56ae
mov rcx, qword [r14 + 0x18]
add esi, 1
movzx eax, byte [rcx + 2]
movzx r8d, byte [rcx + 3]
shl eax, 8
add eax, r8d
cmp esi, eax
jl 0x1401e6d7a
mov rax, qword [rsp + 0x70]
cmp qword [rax + 8], 1
je 0x1401e6f12
test r13d, r13d
je 0x1401e6eda
mov rbx, qword [rsp + 0x80]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [rbx + 0x10], eax
jne 0x1401e6e21
mov rdx, rbx
mov rcx, rbp
call sym.nodeRelease.part.0
mov r12d, eax
test eax, eax
jne 0x1401e5483
mov rsi, qword [rsp + 0x78]
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [rsi + 0x10], eax
je 0x1401e6eff
xor r12d, r12d
jmp 0x1401e51b4
mov dword [rsp + 0xa0], 0
movupd xmm3, xmm8
jmp 0x1401e6334
xor eax, eax
jmp 0x1401e57af
mov eax, dword [rsp + 0xb0]
lea r8, [rsp + 0xf0]
mov rdx, r10
mov rcx, rbp
lea ebx, [rax + 1]
mov r9d, ebx
call sym.rtreeInsertCell
mov r12d, eax
test eax, eax
je 0x1401e6d30
jmp 0x1401e56ae
mov r11, qword [rsp + 0x98]
movzx eax, byte [rbp + 0x27]
xor edx, edx
mov dword [rsp + 0xc0], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0xb4], eax
jmp 0x1401e63ac
mov r12d, 0x10b
jmp 0x1401e56ae
mov rax, qword [rsp + 0x70]
cmp qword [rax + 8], 1
je 0x1401e6f12
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax]
mov r9d, dword [rsp + 0xb0]
mov r8, qword [rsp + 0x78]
mov rcx, rbp
call sym.updateMapping
mov r12d, eax
test eax, eax
jne 0x1401e56ae
jmp 0x1401e6df4
mov rdx, rsi
mov rcx, rbp
call sym.nodeRelease.part.0
mov r12d, eax
jmp 0x1401e51b4
mov rax, qword [rsp + 0x78]
xor ebx, ebx
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rax + 0x18]
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl eax, 8
add eax, ecx
jne 0x1401e6f5c
jmp 0x1401e6df4
mov rdx, qword [rsi + 0x18]
add ebx, 1
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl eax, 8
add eax, ecx
cmp ebx, eax
jge 0x1401e6df4
movzx eax, byte [rbp + 0x27]
mov r9d, dword [rsp + 0xb0]
mov r8, rsi
mov rcx, rbp
imul eax, ebx
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
call sym.updateMapping
mov r12d, eax
test eax, eax
je 0x1401e6f40
jmp 0x1401e56ae
mov dword [rsp + 0xa4], 0
mov r11, qword [rsp + 0x98]
jmp 0x1401e6e9c
lea rcx, [rax + 0x38]
mov rdx, r12
call sym.vdbeReleaseAndSetInt64
jmp 0x1401e5171
lea rcx, [rax + 0x38]
mov rdx, r12
call sym.vdbeReleaseAndSetInt64
jmp 0x1401e5410