Function at 0x634570
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov ebp, dword [rcx + 0x40]
mov dword [rsp + 0x44], edx
mov r12, rcx
mov r14, r8
mov r13, r9
test ebp, ebp
je 0x6345a8
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rcx + 0x20]
test rcx, rcx
je 0x634960
mov r8, r13
mov edx, 1
xor esi, esi
call fcn.005b9230
mov rcx, qword [r12 + 0x20]
call fcn.0060a5c0
mov qword [rsp + 0x38], 0
cmp eax, 0x64
je 0x634910
mov rcx, qword [r12 + 0x20]
call fcn.005e8e60
mov r10d, dword [r12 + 0x40]
test r10d, r10d
je 0x634800
cmp qword [rsp + 0x38], 0
je 0x634594
cmp esi, 3
jle 0x6348c0
test r14, r14
je 0x6349e0
mov rdi, qword [rsp + 0x38]
mov ebx, dword [r12 + 0x1c]
movzx eax, byte [rdi + 2]
movzx edx, byte [rdi + 3]
shl eax, 8
lea edi, [rax + rdx]
lea eax, [rbx + 1]
mov edx, edi
mov dword [rsp + 0x58], edi
imul edx, eax
lea edx, [rdx*8 + 3]
cmp edx, esi
jge 0x6349b8
mov ecx, dword [rsp + 0x44]
sub ecx, 1
mov dword [rsp + 0x5c], ecx
test edi, edi
je 0x6348d5
mov rcx, r14
mov r14, r12
mov r12, rcx
imul eax, ebp
xor edi, edi
lea r15d, [rax*8 + 4]
movsxd r15, r15d
add r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.0058f420
mov r9d, ebp
mov qword [rsp + 0x48], rax
lea rax, [r15 + 8]
mov qword [rsp + 0x50], rax
mov r15, rax
test ebx, ebx
jg 0x634763
jmp 0x63486b
cmp esi, ebx
setg al
test al, al
jne 0x6347d1
test r12, r12
je 0x634751
movzx eax, byte [r12 + rdi*8]
movzx edx, byte [r12 + rdi*8 + 3]
shl eax, 0x18
mov ecx, eax
movzx eax, byte [r12 + rdi*8 + 1]
shl eax, 0x10
add eax, ecx
movzx ecx, byte [r12 + rdi*8 + 7]
add edx, eax
movzx eax, byte [r12 + rdi*8 + 2]
shl eax, 8
add eax, edx
movzx edx, byte [r12 + rdi*8 + 4]
shl edx, 0x18
mov r8d, edx
movzx edx, byte [r12 + rdi*8 + 5]
shl edx, 0x10
add edx, r8d
add ecx, edx
movzx edx, byte [r12 + rdi*8 + 6]
shl edx, 8
add edx, ecx
mov ecx, dword [r14 + 0x18]
test ecx, ecx
jne 0x634840
movd xmm0, eax
movd xmm2, esi
comiss xmm0, xmm2
ja 0x634730
movd xmm0, ebx
movd xmm3, edx
comiss xmm0, xmm3
jbe 0x634751
nop
mov qword [rsp + 0x20], r13
mov r8d, ebp
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
mov rcx, r14
mov dword [rsp + 0x40], r9d
call fcn.005d2b80
mov r9d, dword [rsp + 0x40]
add rdi, 1
add r15, 8
cmp dword [r14 + 0x1c], edi
jle 0x634868
movzx esi, byte [r15]
movzx eax, byte [r15 + 3]
mov ebp, edi
movzx ebx, byte [r15 + 4]
mov r8d, dword [r14 + 0x18]
shl esi, 0x18
mov edx, esi
movzx esi, byte [r15 + 1]
shl ebx, 0x18
shl esi, 0x10
add esi, edx
mov edx, ebx
movzx ebx, byte [r15 + 5]
add eax, esi
movzx esi, byte [r15 + 2]
shl ebx, 0x10
shl esi, 8
add ebx, edx
add esi, eax
movzx eax, byte [r15 + 7]
add eax, ebx
movzx ebx, byte [r15 + 6]
shl ebx, 8
add ebx, eax
test r8d, r8d
jne 0x6346a0
movd xmm0, esi
movd xmm1, ebx
comiss xmm0, xmm1
seta al
test al, al
je 0x6346ad
mov qword [rsp + 0x20], r13
mov r8d, ebp
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
mov rcx, r14
mov dword [rsp + 0x40], r9d
call fcn.005d2b80
mov r9d, dword [rsp + 0x40]
jmp 0x6346ad
mov dword [r12 + 0x40], eax
test eax, eax
jne 0x6345f8
cmp qword [rsp + 0x38], 0
jne 0x634600
mov r8, r13
lea rdx, str.Node__lld_missing_from_database
mov rcx, r12
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.005d2b80
cmp ebx, edx
jg 0x634730
cmp esi, eax
jl 0x634730
add rdi, 1
add r15, 8
cmp dword [r14 + 0x1c], edi
jg 0x634763
nop word [rax + rax]
mov ebp, r9d
mov r9d, dword [rsp + 0x44]
test r9d, r9d
je 0x6348f0
mov rdi, qword [rsp + 0x48]
mov r9, r13
xor edx, edx
mov rcx, r14
mov r8, rdi
call fcn.0062c4f0
mov r8, qword [rsp + 0x50]
mov r9, rdi
mov rcx, r14
mov edx, dword [rsp + 0x5c]
call fcn.00634570
add dword [r14 + 0x3c], 1
add ebp, 1
cmp ebp, dword [rsp + 0x58]
je 0x6348d5
mov ebx, dword [r14 + 0x1c]
lea eax, [rbx + 1]
jmp 0x634661
mov r9d, esi
mov r8, r13
lea rdx, str.Node__lld_is_too_small___d_bytes_
mov rcx, r12
call fcn.005d2b80
mov rcx, qword [rsp + 0x38]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.005921d0
mov r8, qword [rsp + 0x48]
mov r9, r13
mov edx, 1
mov rcx, r14
call fcn.0062c4f0
add dword [r14 + 0x38], 1
jmp 0x6348a3
mov rcx, qword [r12 + 0x20]
xor edx, edx
call fcn.005b9890
mov rcx, qword [r12 + 0x20]
xor edx, edx
mov esi, eax
call fcn.005b9cb0
mov r15, rax
call fcn.005a7100
test eax, eax
jne 0x634998
movsxd rbx, esi
mov rcx, rbx
call fcn.00591bf0
mov qword [rsp + 0x38], rax
test rax, rax
je 0x634998
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x6345e0
mov r9, qword [r12 + 0x10]
mov r8, qword [r12 + 8]
mov rcx, r12
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
call fcn.006225c0
mov r11d, dword [r12 + 0x40]
mov qword [r12 + 0x20], rax
mov rcx, rax
test r11d, r11d
je 0x6345b5
jmp 0x634594
mov dword [r12 + 0x40], 7
xor esi, esi
mov qword [rsp + 0x38], 0
jmp 0x6345e0
mov dword [rsp + 0x20], esi
mov r9d, dword [rsp + 0x58]
mov r8, r13
mov rcx, r12
lea rdx, str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
call fcn.005d2b80
jmp 0x6348d5
mov rax, qword [rsp + 0x38]
movzx edx, byte [rax]
movzx eax, byte [rax + 1]
shl edx, 8
add eax, edx
mov dword [rsp + 0x44], eax
cmp eax, 0x28
jle 0x634612
mov r8d, eax
lea rdx, str.Rtree_depth_out_of_range___d_
mov rcx, r12
call fcn.005d2b80
jmp 0x6348d5