Function at 0x18002da70
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x398]
sub rsp, 0x470
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x180124010]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov rdi, qword [rcx]
xor r8d, r8d
mov r14, qword [rcx + 8]
mov rdx, rcx
mov qword [rsp + 0x50], rcx
xor sil, sil
mov dword [rsp + 0x40], r8d
mov r12d, r8d
mov rax, qword [rdi + 0x20]
mov r13d, r8d
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x4c], r8d
mov qword [rsp + 0x68], rdi
mov rcx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
mov byte [rsp + 0x48], sil
mov dword [rbp - 0x60], r8d
movzx ebx, byte [rcx + 0x71]
mov rcx, rdx
mov byte [rsp + 0x60], bl
mov rbx, qword [rdi + 0x30]
mov qword [rbp - 0x58], rbx
mov dword [rsp + 0x44], r8d
mov dword [rbp - 0x70], r8d
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x50], r8
call fcn.1800267e0
mov r11, qword [rsp + 0x50]
lea r8d, [r13 + 1]
cmp dword [r11 + 0x84], 7
je 0x180032d0b
xor r10d, r10d
mov dword [r11 + 0x84], r10d
mov qword [r11 + 0xc0], r10
mov qword [r11 + 0x28], r10
mov eax, dword [rdi + 0x140]
mov dword [rdi + 0x2b0], r10d
test eax, eax
jne 0x180032cc4
cmp qword [rdi + 0x188], r10
je 0x18002db87
mov eax, dword [r11 + 0xb0]
mov ebx, dword [rdi + 0x198]
mov dword [rbp - 0x70], ebx
test eax, eax
je 0x18002db87
xor edx, edx
div ebx
mov dword [rbp - 0x70], edx
mov r15d, dword [r11 + 0x80]
mov ecx, 0x2460
mov dword [rsp + 0x40], r15d
xorps xmm7, xmm7
mov r15d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x40]
nop dword [rax]
cmp byte [rdi + 0x50], 0
jne 0x180032d06
inc r12d
movsxd rbx, esi
mov dword [rsp + 0x44], r12d
lea r12, [rbx + rbx*2]
test byte [r14 + r12*8 + 2], 2
mov qword [rbp - 0x78], r12
je 0x18002dc10
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
add r13, rdx
mov qword [rsp + 0x78], r13
test word [r13 + 8], cx
je 0x18002dc06
mov rcx, r13
call fcn.1800248e0
mov r11, qword [rsp + 0x50]
xor r10d, r10d
mov rdx, qword [rsp + 0x58]
lea r8d, [r10 + 1]
mov eax, 4
mov word [r13 + 8], ax
movzx r9d, byte [r14 + r12*8]
lea eax, [r9 - 1]
cmp eax, 0x98
ja case.default.0x18002dc3e
cdqe
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x32d44]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r15d, dword [r14 + r12*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
mov esi, r15d
jmp 0x1800325a2
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
mov eax, 4
mov word [rcx + rdx + 8], ax
mov qword [rcx + rdx], rbx
mov ecx, 0x2460
mov esi, dword [r14 + r12*8 + 8]
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
mov r12d, dword [rsp + 0x44]
imul rcx, rax, 0x38
mov eax, 0x80
mov esi, dword [rcx + rdx]
inc esi
mov word [rcx + rdx + 8], ax
mov dword [rsp + 0x40], esi
mov ecx, 0x2460
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
imul r13, rax, 0x38
mov eax, dword [r14 + r12*8 + 0xc]
add r13, rdx
dec eax
cdqe
mov qword [rsp + 0x78], r13
mov qword [r13], rax
mov eax, 4
mov word [r13 + 8], ax
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
mov r12d, dword [rsp + 0x44]
lea ecx, [rax - 1]
cmove ecx, esi
lea esi, [rcx + 1]
mov ecx, 0x2460
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
mov r9, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x44]
imul rdx, rax, 0x38
mov rax, qword [rdx + r9]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov esi, dword [r14 + rcx*8 + 8]
mov ecx, 0x2460
mov word [rdx + r9 + 8], ax
mov rdx, r9
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
mov r12d, dword [rsp + 0x44]
imul rcx, rax, 0x38
mov eax, 4
mov esi, dword [rcx + rdx]
inc esi
mov word [rcx + rdx + 8], ax
mov qword [rcx + rdx], rbx
mov ecx, 0x2460
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rdx + 8], 1
je case.default.0x18002dc3e
mov ecx, dword [r14 + r12*8 + 4]
test ecx, ecx
jne 0x180032923
mov rdx, qword [r11 + 0xf0]
test rdx, rdx
je 0x180032923
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r11 + 0x100]
mov qword [r11 + 0xf0], rax
mov eax, dword [r11 + 0x90]
add dword [rdi + 0x64], eax
mov dword [rdi + 0x60], eax
call fcn.180027380
mov r11, qword [rsp + 0x50]
cmp dword [r14 + r12*8 + 8], 4
movsxd rsi, eax
mov rax, qword [rdi + 0x30]
mov r14, qword [r11 + 8]
mov qword [rsp + 0x70], r14
mov qword [rbp - 0x58], rax
jne 0x18002dde9
lea rcx, [rsi + rsi*2]
mov esi, dword [r14 + rcx*8 + 8]
dec esi
mov rdx, qword [r11 + 0x10]
inc esi
mov r12d, dword [rsp + 0x44]
xor r10d, r10d
mov qword [rsp + 0x58], rdx
mov ecx, 0x2460
mov dword [rsp + 0x40], esi
lea r8d, [r10 + 1]
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
inc esi
mov r12d, dword [rsp + 0x44]
mov ecx, 0x2460
mov qword [r13], rax
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
mov eax, 8
mov word [r13 + 8], ax
mov rax, qword [r14 + r12*8 + 0x10]
inc esi
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], esi
mov rcx, qword [rax]
mov qword [r13], rcx
mov ecx, 0x2460
jmp 0x18002dbb0
mov rdx, qword [r14 + r12*8 + 0x10]
mov byte [r14 + r12*8], 0x1b
mov rax, rdx
test rdx, rdx
jne 0x18002de6e
mov eax, r10d
jmp 0x18002de82
cmp byte [rdx], 0
je 0x18002de7b
inc rax
cmp byte [rax], 0
jne 0x18002de73
sub eax, edx
and eax, 0x3fffffff
movzx ebx, byte [rsp + 0x60]
mov dword [r14 + r12*8 + 4], eax
cmp bl, 1
je 0x18002df17
mov r9b, 1
mov qword [rsp + 0x20], r10
mov r8d, 0xffffffff
mov rcx, r13
call fcn.1800250d0
mov dword [rsp + 0x4c], eax
cmp eax, 0x12
je 0x180032c91
test byte [r13 + 8], 2
je 0x18002ded8
cmp byte [r13 + 0xa], bl
je 0x18002ded8
movzx edx, bl
mov rcx, r13
call fcn.180008070
test eax, eax
jne 0x180032d01
mov eax, 0x800
mov dword [r13 + 0x20], 0
or word [r13 + 8], ax
cmp byte [r14 + r12*8 + 1], 0xff
jne 0x18002deff
mov rdx, qword [r14 + r12*8 + 0x10]
mov rcx, rdi
call fcn.1800057f0
mov byte [r14 + r12*8 + 1], 0xff
mov rax, qword [r13 + 0x10]
mov qword [r14 + r12*8 + 0x10], rax
mov eax, dword [r13 + 0xc]
mov dword [r14 + r12*8 + 4], eax
cmp eax, dword [rdi + 0x68]
jg 0x180032c91
jmp 0x18002df27
movzx ebx, byte [rsp + 0x60]
mov eax, 0xa02
mov word [r13 + 8], ax
mov rax, qword [r14 + r12*8 + 0x10]
mov qword [r13 + 0x10], rax
mov eax, dword [r14 + r12*8 + 4]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], bl
mov r15d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
cmp dword [r14 + r12*8 + 4], 0
mov edi, r8d
mov ebx, dword [r14 + r12*8 + 0xc]
mov ecx, 0x101
mov eax, dword [r14 + r12*8 + 8]
cmovne di, cx
sub ebx, eax
mov word [r13 + 8], di
test ebx, ebx
jle 0x18002dfac
mov r12d, 0x2460
add r13, 0x38
test word [r13 + 8], r12w
je 0x18002df96
mov rcx, r13
call fcn.1800248e0
dec ebx
mov word [r13 + 8], di
test ebx, ebx
jg 0x18002df83
mov qword [rsp + 0x78], r13
mov r8d, 1
inc dword [rsp + 0x40]
mov ecx, 0x2460
mov esi, dword [rsp + 0x40]
xor r10d, r10d
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x44]
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
imul r13, rax, 0x38
mov eax, 0xff7f
add r13, rdx
mov qword [rsp + 0x78], r13
and word [r13 + 8], ax
or word [r13 + 8], 1
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
mov r8d, dword [r14 + r12*8 + 4]
xor r9d, r9d
mov rdx, qword [r14 + r12*8 + 0x10]
mov rcx, r13
mov qword [rsp + 0x20], r10
call fcn.1800250d0
movzx eax, byte [rsp + 0x60]
inc esi
mov byte [r13 + 0xa], al
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov eax, dword [r14 + r12*8 + 4]
dec eax
cdqe
imul rbx, rax, 0x38
add rbx, qword [r11 + 0x68]
mov rcx, rbx
call fcn.180024fa0
test eax, eax
jne 0x180032c91
mov r8d, 0x800
mov rdx, rbx
mov rcx, r13
call fcn.180024fd0
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
movsxd rax, dword [r14 + r12*8 + 4]
mov ecx, 0x2460
mov edi, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
add rbx, rdx
add r13, rdx
test word [r13 + 8], cx
jne 0x18002e0a6
cmp dword [r13 + 0x20], 0
je 0x18002e0ba
mov rcx, r13
call fcn.180024970
xor r10d, r10d
mov ecx, 0x2460
lea r8d, [r10 + 1]
movups xmm0, xmmword [rbx]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [r13 + 0x20], xmm0
movsd xmm1, qword [rbx + 0x30]
movsd qword [r13 + 0x30], xmm1
add r13, 0x38
mov word [rbx + 8], r8w
mov dword [rbx + 0x20], r10d
add rbx, 0x38
sub edi, 1
jne 0x18002e098
inc dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x44]
mov qword [rsp + 0x78], r13
jmp 0x18002dba0
movsxd rax, dword [r14 + r12*8 + 4]
mov esi, 0x1000
mov edi, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
add rbx, rdx
add r13, rdx
mov r8d, esi
mov qword [rsp + 0x78], r13
mov rdx, rbx
mov rcx, r13
call fcn.180024fd0
test word [r13 + 8], si
je 0x18002e15e
mov rcx, r13
call fcn.180024520
test eax, eax
jne 0x18002f5e7
mov eax, edi
dec edi
test eax, eax
je 0x18003231a
add r13, 0x38
add rbx, 0x38
jmp 0x18002e134
movsxd rax, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 4]
add r13, rdx
imul rdx, rax, 0x38
mov qword [rsp + 0x78], r13
add rdx, qword [rsp + 0x58]
mov r8d, 0x1000
mov rcx, r13
call fcn.180024fd0
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov rax, qword [rdi + 0x188]
test rax, rax
je 0x18002e1d2
mov ecx, dword [rsp + 0x44]
cmp ecx, dword [rbp - 0x70]
jb 0x18002e1d2
mov rcx, qword [rdi + 0x190]
call rax
test eax, eax
jne 0x180032a16
mov rbx, qword [rsp + 0x50]
xor edx, edx
mov rcx, rbx
call fcn.1800280d0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x1800328f6
lea edx, [rax + 1]
mov rcx, rbx
call fcn.180027ee0
mov dword [rsp + 0x4c], eax
mov r15d, eax
mov r11, rbx
test eax, eax
jne 0x1800328f9
mov eax, dword [rbx + 0x7c]
add eax, 2
or eax, 1
mov dword [rbx + 0x7c], eax
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
mov qword [rbx + 0x28], rdi
cmp dword [r14 + r12*8 + 8], r15d
jle 0x18002e288
lea rbx, [rdi + 8]
xor esi, esi
mov r15d, 0x202
nop
mov eax, 0x1000
test word [rbx], ax
je 0x18002e260
mov eax, esi
imul rcx, rax, 0x38
add rcx, rdi
call fcn.180024520
test eax, eax
jne 0x18002f5e7
movzx eax, word [rbx]
and ax, r15w
cmp ax, 2
jne 0x18002e276
lea rcx, [rbx - 8]
call fcn.180024650
inc esi
add rbx, 0x38
cmp esi, dword [r14 + r12*8 + 8]
jl 0x18002e240
mov r11, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
cmp byte [rdi + 0x50], 0
jne 0x180032d06
mov eax, dword [rsp + 0x40]
mov ebx, 0x64
inc eax
mov dword [r11 + 0x80], eax
jmp 0x18002fb1d
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add rdi, rdx
imul r13, rax, 0x38
movzx ecx, word [rdi + 8]
add rbx, rdx
add r13, rdx
mov qword [rsp + 0x78], r13
movzx eax, byte [rbx + 8]
or al, cl
test al, 1
je 0x18002e31b
mov ecx, 0x2460
test word [r13 + 8], cx
je 0x18002e303
mov rcx, r13
call fcn.1800248e0
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa33
inc dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x44]
mov word [r13 + 8], r8w
jmp 0x18002dba5
mov esi, 0x4000
test si, cx
je 0x18002e335
mov rcx, rdi
call fcn.1800245e0
test eax, eax
jne 0x18002f5e7
test word [rbx + 8], si
je 0x18002e34b
mov rcx, rbx
call fcn.1800245e0
test eax, eax
jne 0x18002f5e7
test byte [rdi + 8], 0x12
movzx r12d, byte [rsp + 0x60]
jne 0x18002e36e
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.1800246b0
test eax, eax
jne 0x18002f5e7
test byte [rbx + 8], 0x12
jne 0x18002e38b
xor r8d, r8d
movzx edx, r12b
mov rcx, rbx
call fcn.1800246b0
test eax, eax
jne 0x18002f5e7
mov rcx, qword [rsp + 0x68]
mov esi, dword [rbx + 0xc]
add esi, dword [rdi + 0xc]
movsxd r14, esi
movsxd rax, dword [rcx + 0x68]
cmp r14, rax
jg 0x180032c8e
xor r8d, r8d
lea edx, [rsi + 2]
cmp r13, rbx
mov rcx, r13
sete r8b
call fcn.180024370
test eax, eax
jne 0x18002f5e7
mov eax, 0xbe02
and word [r13 + 8], ax
or word [r13 + 8], 2
cmp r13, rbx
je 0x18002e3e9
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [r13 + 0x10]
call fcn.1800ce0c0
movsxd rcx, dword [rbx + 0xc]
add rcx, qword [r13 + 0x10]
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
call fcn.1800ce0c0
mov rax, qword [r13 + 0x10]
mov byte [r14 + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rax + r14 + 1], 0
mov eax, 0x200
or word [r13 + 8], ax
mov dword [r13 + 0xc], esi
mov byte [r13 + 0xa], r12b
jmp 0x18002fa29
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
mov rcx, rbx
call fcn.18002da50
movsxd rcx, dword [r14 + r12*8 + 8]
movzx r15d, ax
imul rdi, rcx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.18002da50
movsxd rcx, dword [r14 + r12*8 + 0xc]
movzx esi, ax
mov rdx, qword [rsp + 0x58]
imul r13, rcx, 0x38
movzx ecx, byte [rdi + 8]
or cl, byte [rbx + 8]
add r13, rdx
mov qword [rsp + 0x78], r13
test cl, 1
jne 0x18002e69b
movzx ecx, sil
and cl, r15b
test cl, 4
je 0x18002e5a6
mov rax, qword [rsp + 0x70]
mov r14b, 1
mov rdx, qword [rdi]
mov r8, qword [rbx]
mov qword [rbp + 0x170], rdx
movzx ecx, byte [rax + r12*8]
sub ecx, 0x59
je 0x18002e542
sub ecx, 1
je 0x18002e52d
sub ecx, 1
je 0x18002e518
cmp ecx, 1
je 0x18002e4ec
test r8, r8
je 0x18002e693
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov r11d, 1
cqo
cmove r8, r11
idiv r8
mov qword [rbp + 0x170], rdx
jmp 0x18002e586
test r8, r8
je 0x18002e693
cmp r8, 0xffffffffffffffff
jne 0x18002e50e
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18002e5a9
mov rax, rdx
cqo
idiv r8
jmp 0x18002e57f
mov rdx, r8
lea rcx, [rbp + 0x170]
call fcn.180009810
test eax, eax
jne 0x18002e5a9
jmp 0x18002e586
mov rdx, r8
lea rcx, [rbp + 0x170]
call fcn.1800097a0
test eax, eax
jne 0x18002e5a9
jmp 0x18002e586
test r8, r8
js 0x18002e560
test rdx, rdx
jle 0x18002e57b
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x18002e57b
jmp 0x18002e5a9
test rdx, rdx
jns 0x18002e57b
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x18002e5a9
lea rax, [rdx + r8]
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
mov qword [r13], rax
mov eax, 0xbe04
and word [r13 + 8], ax
or word [r13 + 8], 4
jmp 0x18002fa24
xor r14b, r14b
mov rcx, rbx
call fcn.180024ad0
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180024ad0
mov rax, qword [rsp + 0x70]
movaps xmm3, xmm0
movzx ecx, byte [rax + r12*8]
sub ecx, 0x59
je 0x18002e62e
sub ecx, 1
je 0x18002e628
sub ecx, 1
je 0x18002e622
cmp ecx, 1
je 0x18002e614
cvttsd2si rcx, xmm6
cvttsd2si rax, xmm0
mov qword [rbp + 0x170], rax
test rcx, rcx
je 0x18002e68c
cmp rcx, 0xffffffffffffffff
mov r11d, 1
cqo
xorps xmm3, xmm3
cmove rcx, r11
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x18002e632
ucomisd xmm6, xmm7
jp 0x18002e61c
je 0x18002e693
divsd xmm3, xmm6
jmp 0x18002e632
mulsd xmm3, xmm6
jmp 0x18002e632
subsd xmm3, xmm6
jmp 0x18002e632
addsd xmm3, xmm6
movsd qword [rbp - 0x78], xmm3
movsd xmm0, qword [rbp - 0x78]
movsd qword [rbp - 0x68], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rbp - 0x68]
ucomisd xmm2, xmm1
jp 0x18002e68c
jne 0x18002e68c
mov eax, 0xbe08
movsd qword [r13], xmm3
and word [r13 + 8], ax
or sil, r15b
or word [r13 + 8], 8
test sil, 8
jne 0x18002fa24
test r14b, r14b
jne 0x18002fa24
mov rcx, r13
call fcn.180024b30
jmp 0x18002fa24
mov r14, qword [rsp + 0x70]
jmp 0x18002e696
mov r14, rax
mov rdx, qword [rsp + 0x58]
mov edi, dword [rsp + 0x40]
mov ecx, 0x2460
inc edi
mov dword [rsp + 0x40], edi
test word [r13 + 8], cx
je 0x18002e6c8
mov rcx, r13
call fcn.1800248e0
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
mov r15d, dword [rsp + 0x4c]
mov r8d, 1
mov r11, qword [rsp + 0x50]
xor r10d, r10d
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x68]
mov word [r13 + 8], r8w
jmp 0x18002dba5
movsxd rax, dword [r14 + r12*8 + 4]
test eax, eax
je 0x18002e72e
imul rcx, rax, 0x38
mov r12d, 0x2460
add rcx, rdx
test word [rcx + 8], r12w
je 0x18002e722
xor edx, edx
call fcn.180024e50
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov eax, 4
mov qword [rcx], r10
mov word [rcx + 8], ax
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
mov ecx, 0x2460
jmp 0x18002dbb0
mov rdx, qword [rsp + 0x70]
mov rdi, r10
movzx r15d, byte [r14 + r12*8 + 3]
mov r14, qword [r11 + 0x18]
movsxd rax, dword [rdx + r12*8 + 0xc]
imul rcx, rax, 0x38
movsxd rax, dword [rdx + r12*8 + 8]
add rcx, qword [rsp + 0x58]
imul rbx, rax, 0x38
mov qword [rbp - 0x20], rcx
add rbx, qword [rsp + 0x58]
test r15d, r15d
je 0x18002e7b9
mov eax, 0x1000
nop
mov qword [r14 + rdi*8], rbx
test word [rbx + 8], ax
je 0x18002e79f
mov rcx, rbx
call fcn.180024520
test eax, eax
jne 0x18002f5e7
mov eax, 0x1000
inc rdi
add rbx, 0x38
cmp rdi, r15
jl 0x18002e780
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x50]
mov rax, qword [rdx + r12*8 + 0x10]
mov r8, r14
mov rdi, qword [rsp + 0x68]
mov edx, 0xbe01
mov qword [rbp - 0x18], rax
mov eax, dword [rsp + 0x40]
mov dword [rbp], eax
mov qword [rbp - 8], r11
movzx eax, word [rcx + 8]
and ax, dx
mov edx, r15d
or ax, 1
mov word [rcx + 8], ax
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x18]
mov qword [rdi + 0x30], rcx
lea rcx, [rbp - 0x20]
mov byte [rbp + 9], 0
call qword [rax + 0x18]
cmp byte [rbp + 9], 0
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x58], rax
je 0x18002e861
cmp dword [rbp + 4], 0
je 0x18002e846
mov rcx, qword [rbp - 0x20]
mov dl, 1
call fcn.180025570
mov rbx, qword [rsp + 0x50]
lea r8, [0x180108de4]
mov r9, rax
mov rdx, rdi
lea rcx, [rbx + 0x48]
call fcn.180005dd0
mov eax, dword [rbp + 4]
mov dword [rsp + 0x4c], eax
jmp 0x18002e84b
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x70]
mov rcx, rbx
mov edx, dword [rsp + 0x40]
mov r8d, dword [rax + r12*8 + 4]
call fcn.1800287c0
mov rcx, qword [rbp - 0x20]
test byte [rcx + 8], 2
je 0x18002e881
movzx ebx, byte [rsp + 0x60]
cmp byte [rcx + 0xa], bl
je 0x18002e881
movzx edx, bl
call fcn.180008070
mov rcx, qword [rbp - 0x20]
call fcn.180024fa0
test eax, eax
jne 0x180032c91
mov r14, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x4c]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add rdi, rdx
imul r13, rax, 0x38
add rcx, rdx
add r13, rdx
mov qword [rsp + 0x78], r13
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
test al, 1
jne 0x18002e2e5
call fcn.180024a40
mov rcx, rdi
mov rbx, rax
call fcn.180024a40
movzx edx, byte [r14 + r12*8]
mov rcx, rax
cmp dl, 0x55
jne 0x18002e900
and rbx, rax
jmp 0x18002e973
cmp dl, 0x56
jne 0x18002e90a
or rbx, rcx
jmp 0x18002e973
test rcx, rcx
je 0x18002e973
jns 0x18002e924
mov eax, 0xaf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18002e92a
neg rcx
cmp rcx, 0x40
jl 0x18002e941
test rbx, rbx
jns 0x18002e93d
cmp dl, 0x57
je 0x18002e93d
mov rbx, 0xffffffffffffffff
jmp 0x18002e973
xor ebx, ebx
jmp 0x18002e973
cmp dl, 0x57
jne 0x18002e94e
shl rbx, cl
mov r8, rbx
jmp 0x18002e970
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18002e970
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x68]
mov eax, 0xbe04
and word [r13 + 8], ax
or word [r13 + 8], 4
inc dword [rsp + 0x40]
mov qword [r13], rbx
jmp 0x18002fa37
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
mov rcx, rbx
call fcn.180024a40
mov ecx, 0xbe04
mov qword [rbx], rax
and word [rbx + 8], cx
or word [rbx + 8], 4
movsxd rcx, dword [r14 + r12*8 + 8]
add rcx, rax
inc esi
mov qword [rbx], rcx
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
movzx eax, word [rbx + 8]
test al, 4
jne 0x18002ea19
movzx r8d, byte [rsp + 0x60]
mov dl, 0x43
mov rcx, rbx
call fcn.18002d890
movzx eax, word [rbx + 8]
test al, 4
jne 0x18002ea14
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
je 0x180032a21
mov esi, eax
mov dword [rsp + 0x40], eax
jmp 0x18002fa3b
mov rdx, qword [rsp + 0x58]
mov ecx, 0xbe04
and ax, cx
or ax, 4
mov word [rbx + 8], ax
inc esi
mov dword [rsp + 0x40], esi
mov r11, qword [rsp + 0x50]
xor r10d, r10d
mov r12d, dword [rsp + 0x44]
mov r8d, 1
mov ecx, 0x2460
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
test byte [rbx + 8], 4
je 0x18002ea29
mov rcx, rbx
call fcn.180024ad0
mov rdx, qword [rsp + 0x58]
mov eax, 0xbe08
and word [rbx + 8], ax
or word [rbx + 8], 8
movsd qword [rbx], xmm0
jmp 0x18002ea29
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, rdx
test word [rbx + 8], ax
je 0x18002eaa4
mov rcx, rbx
call fcn.1800245e0
mov dword [rsp + 0x4c], eax
jmp 0x18002eaa9
mov dword [rsp + 0x4c], r10d
movzx r8d, byte [rsp + 0x60]
mov rcx, rbx
movzx edx, byte [r14 + r12*8 + 8]
call fcn.180024ce0
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
add rsi, rdx
add rbx, rdx
movzx r14d, word [rsi + 8]
movzx edi, word [rbx + 8]
movzx eax, dil
or al, r14b
test al, 1
je 0x18002eba3
mov r8, qword [rsp + 0x70]
movzx eax, byte [r8 + r12*8 + 3]
test al, al
jns 0x18002eb32
movzx eax, di
and ax, r14w
bt ax, r10w
jae 0x18002eb28
bt di, 8
jb 0x18002eb28
mov edx, r10d
jmp 0x18002ec8c
mov edx, 1
jmp 0x18002ec8c
mov r14, r8
test al, 0x20
je 0x18002eb6c
movsxd rax, dword [r8 + r12*8 + 8]
mov rdi, qword [rsp + 0x68]
imul r13, rax, 0x38
mov eax, 0xbe01
add r13, rdx
mov qword [rsp + 0x78], r13
and word [r13 + 8], ax
or word [r13 + 8], 1
inc dword [rsp + 0x40]
mov esi, dword [rsp + 0x40]
jmp 0x18002ea37
test al, 0x10
je 0x18002eb8b
mov edi, dword [r8 + r12*8 + 8]
dec edi
inc edi
mov dword [rsp + 0x40], edi
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002ea37
mov edi, dword [rsp + 0x40]
inc edi
mov dword [rsp + 0x40], edi
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002ea37
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + r12*8 + 3]
and al, 0x47
cmp al, 0x43
jb 0x18002ebe3
movzx eax, r14b
movzx ecx, di
and al, 0xe
cmp al, 2
jne 0x18002ebcf
xor edx, edx
mov rcx, rsi
call fcn.18002d7a0
movzx ecx, word [rbx + 8]
and cl, 0xe
cmp cl, 2
jne 0x18002ec22
xor edx, edx
mov rcx, rbx
call fcn.18002d7a0
jmp 0x18002ec22
cmp al, 0x42
jne 0x18002ec22
movzx eax, di
test r14b, 2
jne 0x18002ec0a
test r14b, 0xc
je 0x18002ec0a
movzx edx, byte [rsp + 0x60]
mov r8b, 1
mov rcx, rsi
call fcn.1800246b0
movzx eax, word [rbx + 8]
test al, 2
jne 0x18002ec22
test al, 0xc
je 0x18002ec22
movzx edx, byte [rsp + 0x60]
mov r8b, 1
mov rcx, rbx
call fcn.1800246b0
mov eax, 0x4000
test word [rsi + 8], ax
je 0x18002ec43
mov rcx, rsi
call fcn.1800245e0
mov eax, 0xbfff
and r14w, ax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18002ec59
mov rcx, rbx
call fcn.1800245e0
mov eax, 0xbfff
and di, ax
mov rcx, qword [rsp + 0x68]
cmp byte [rcx + 0x50], 0
jne 0x180032cfe
mov rax, qword [rsp + 0x70]
mov rdx, rsi
mov rcx, rbx
mov r8, qword [rax + r12*8 + 0x10]
call fcn.180029510
mov r8, qword [rsp + 0x70]
mov edx, eax
xor r10d, r10d
movzx r9d, byte [r8 + r12*8]
movzx eax, r9b
sub eax, 0x4e
je 0x18002ecce
sub eax, 1
je 0x18002ecc4
sub eax, 1
je 0x18002ecba
sub eax, 1
je 0x18002ecb0
cmp eax, 1
je 0x18002ecab
not edx
shr edx, 0x1f
jmp 0x18002ecd8
test edx, edx
mov eax, r10d
setle al
jmp 0x18002ecd6
test edx, edx
mov eax, r10d
setg al
jmp 0x18002ecd6
test edx, edx
mov eax, r10d
sete al
jmp 0x18002ecd6
test edx, edx
mov eax, r10d
setne al
mov edx, eax
test byte [r8 + r12*8 + 3], 0x20
je 0x18002ed0b
movsxd rax, dword [r8 + r12*8 + 8]
imul r13, rax, 0x38
mov eax, 0xbe04
add r13, qword [rsp + 0x58]
mov qword [rsp + 0x78], r13
and word [r13 + 8], ax
or word [r13 + 8], 4
mov eax, edx
mov qword [r13], rax
jmp 0x18002ed1a
test edx, edx
je 0x18002ed1a
mov eax, dword [r8 + r12*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
inc dword [rsp + 0x40]
mov word [rsi + 8], r14w
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x70]
mov word [rbx + 8], di
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa3e
mov rax, qword [r14 + r12*8 + 0x10]
inc esi
mov r12d, dword [rsp + 0x44]
mov ecx, 0x2460
mov qword [rbp - 0x50], rax
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
test byte [r14 + r12*8 + 3], 1
mov r15, r10
mov r9d, dword [r14 + r12*8 + 4]
mov edi, r10d
mov ecx, dword [r14 + r12*8 + 8]
mov rbx, r10
mov r13, qword [r14 + r12*8 + 0x10]
movsxd r12, dword [r14 + r12*8 + 0xc]
cmovne r15, qword [rbp - 0x50]
mov dword [rbp - 0x80], r9d
mov dword [rbp - 0x78], ecx
test r12, r12
jle 0x18002edff
lea rsi, [r13 + 0x20]
test r15, r15
je 0x18002ed9b
mov r8d, dword [r15 + rbx*4]
jmp 0x18002ed9e
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r14d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x58]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x58]
call fcn.180029510
mov dword [rbp - 0x60], eax
test eax, eax
jne 0x18002eded
mov r9d, dword [rbp - 0x80]
inc edi
mov ecx, dword [rbp - 0x78]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x18002ed90
jmp 0x18002edf7
test r14b, r14b
je 0x18002edf7
neg eax
mov dword [rbp - 0x60], eax
mov r14, qword [rsp + 0x70]
xor r10d, r10d
inc dword [rsp + 0x40]
mov esi, dword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
mov qword [rbp - 0x50], r10
jmp 0x18002fa3e
mov ebx, dword [rbp - 0x60]
test ebx, ebx
jns 0x18002ee3e
mov esi, dword [r14 + r12*8 + 4]
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
jne 0x18002ee58
mov esi, dword [r14 + r12*8 + 8]
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
mov esi, dword [r14 + r12*8 + 0xc]
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, rdx
test byte [rcx + 8], 1
je 0x18002ee8d
mov r8d, 2
mov ebx, r8d
jmp 0x18002eea7
call fcn.180024a40
mov rdx, qword [rsp + 0x58]
xor r10d, r10d
test rax, rax
mov ebx, r10d
setne bl
lea r8d, [r10 + 2]
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
add rcx, rdx
test byte [rcx + 8], 1
je 0x18002eebe
mov rcx, r8
jmp 0x18002eecf
call fcn.180024a40
xor r10d, r10d
test rax, rax
mov ecx, r10d
setne cl
lea rcx, [rcx + rbx*2]
add rcx, rbx
lea rax, [0x180000000]
cmp byte [r14 + r12*8], 0x48
jne 0x18002eeee
movzx edx, byte [rcx + rax + 0x10e798]
jmp 0x18002eef6
movzx edx, byte [rcx + rax + 0x10ecd8]
movsxd rax, dword [r14 + r12*8 + 0xc]
imul r13, rax, 0x38
add r13, qword [rsp + 0x58]
mov qword [rsp + 0x78], r13
movzx ecx, word [r13 + 8]
cmp dl, 2
jne 0x18002ef2f
mov eax, 0xbe01
and cx, ax
or cx, 1
inc esi
mov word [r13 + 8], cx
mov dword [rsp + 0x40], esi
jmp 0x18002fa3e
movzx eax, dl
mov qword [r13], rax
mov eax, 0xbe04
and cx, ax
or cx, 4
inc esi
mov word [r13 + 8], cx
mov dword [rsp + 0x40], esi
jmp 0x18002fa3e
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
mov r12d, 0x2460
imul r13, rax, 0x38
add rbx, rdx
add r13, rdx
mov qword [rsp + 0x78], r13
test word [r13 + 8], r12w
je 0x18002ef86
mov rcx, r13
call fcn.1800248e0
jmp 0x18002ef8b
mov word [r13 + 8], r8w
test byte [rbx + 8], 1
jne 0x18002efbe
mov eax, 4
mov rcx, rbx
mov word [r13 + 8], ax
call fcn.180024a40
xor r10d, r10d
test rax, rax
mov ecx, r10d
sete cl
inc esi
mov dword [rsp + 0x40], esi
mov qword [r13], rcx
jmp 0x18002fa3e
xor r10d, r10d
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3e
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
mov r12d, 0x2460
imul r13, rax, 0x38
add rbx, rdx
add r13, rdx
mov qword [rsp + 0x78], r13
test word [r13 + 8], r12w
je 0x18002f000
mov rcx, r13
call fcn.1800248e0
jmp 0x18002f005
mov word [r13 + 8], r8w
test byte [rbx + 8], 1
jne 0x18002f024
mov eax, 4
mov rcx, rbx
mov word [r13 + 8], ax
call fcn.180024a40
not rax
mov qword [r13], rax
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [r11 + 0x118]
cmp byte [rax + rcx], 0
je 0x18002f059
mov esi, dword [r14 + r12*8 + 8]
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
mov r12d, dword [rsp + 0x44]
inc esi
mov byte [rax + rcx], 1
mov ecx, 0x2460
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
add rcx, rdx
test byte [rcx + 8], 1
je 0x18002f08b
mov eax, dword [r14 + r12*8 + 0xc]
jmp 0x18002f0b0
call fcn.180024ad0
ucomisd xmm0, xmm7
jp 0x18002f09c
jne 0x18002f09c
xor eax, eax
jmp 0x18002f0a1
mov eax, 1
cmp byte [r14 + r12*8], 0x2e
mov rdx, qword [rsp + 0x58]
jne 0x18002f0b0
xor eax, 1
test eax, eax
je 0x18002ea29
mov esi, dword [r14 + r12*8 + 8]
dec esi
jmp 0x18002ea29
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
test byte [rcx + rdx + 8], 1
je 0x18002f0db
mov esi, dword [r14 + r12*8 + 8]
dec esi
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
mov ecx, 0x2460
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
test byte [rcx + rdx + 8], 1
jne 0x18002f0db
mov esi, dword [r14 + r12*8 + 8]
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
dec esi
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rax, dword [r14 + r12*8 + 0xc]
movsxd rcx, dword [r14 + r12*8 + 4]
mov ebx, dword [r14 + r12*8 + 8]
imul r13, rax, 0x38
mov rax, qword [r11 + 0x60]
add r13, rdx
mov dword [rbp - 0x80], ebx
mov qword [rbp - 0x40], r13
mov r15, qword [rax + rcx*8]
mov rcx, r15
mov rdi, qword [r15 + 0x68]
mov rsi, qword [r15]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x48], rsi
call fcn.180028d10
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bc6
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x7c]
cmp dword [r15 + 0x50], eax
je 0x18002f2b1
cmp byte [r15 + 0x25], 0
je 0x18002f1d9
test rsi, rsi
jne 0x18002f1af
mov r9, qword [rsp + 0x58]
movsxd rax, dword [r15 + 0x1c]
mov rdi, qword [rsp + 0x68]
imul rcx, rax, 0x38
mov ebx, dword [rcx + r9 + 0xc]
mov dword [r15 + 0x58], ebx
mov dword [r15 + 0x54], ebx
mov rcx, qword [rcx + r9 + 0x10]
mov qword [r15 + 0x60], rcx
jmp 0x18002f241
mov r12d, 0x2460
test word [r13 + 8], r12w
je 0x18002f1c9
mov rcx, r13
call fcn.1800248e0
jmp 0x18002f5ab
mov r11d, 1
mov word [r13 + 8], r11w
jmp 0x18002f5ab
test byte [r15 + 0x28], 4
mov rcx, rsi
jne 0x18002f20b
call fcn.18001c160
mov rax, qword [rsi + 0x30]
mov qword [rbp + 0x1c0], rax
mov rcx, qword [rsi + 0x38]
movzx edx, word [rsi + 0x44]
mov qword [r15 + 0x60], rcx
mov eax, dword [rbp + 0x1c0]
mov dword [r15 + 0x54], eax
jmp 0x18002f223
call fcn.18001c160
mov eax, dword [rsi + 0x40]
mov dword [r15 + 0x54], eax
mov rcx, qword [rsi + 0x38]
movzx edx, word [rsi + 0x44]
mov qword [r15 + 0x60], rcx
mov rdi, qword [rsp + 0x68]
mov r8d, eax
movzx ebx, dx
cmp eax, ebx
cmova eax, ebx
mov dword [r15 + 0x58], eax
cmp r8d, dword [rdi + 0x68]
ja 0x180032c91
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x7c]
mov dword [r15 + 0x50], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x18002f25e
mov dword [rbp + 0x144], eax
mov al, 1
jmp 0x18002f26a
lea rdx, [rbp + 0x144]
call fcn.180009650
mov r10, qword [rbp - 0x78]
xor ecx, ecx
movzx eax, al
mov dword [r15 + 0x5c], eax
mov word [r15 + 0x22], cx
mov eax, dword [rbp + 0x144]
mov dword [r10], eax
mov eax, dword [rbp + 0x144]
cmp eax, 0x18003
ja 0x180032a2c
cmp eax, dword [r15 + 0x54]
ja 0x180032a2c
cmp ebx, eax
mov ebx, dword [rbp - 0x80]
jae 0x18002f2c1
mov qword [r15 + 0x60], rcx
mov dword [r15 + 0x58], ecx
jmp 0x18002f2c1
movzx eax, word [r15 + 0x22]
cmp eax, ebx
jg 0x18002f4c6
mov r10, rdi
mov eax, dword [r10]
cmp dword [r15 + 0x5c], eax
jae 0x18002f470
mov rcx, qword [r15 + 0x60]
mov qword [rbp - 0x68], rcx
test rcx, rcx
jne 0x18002f339
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp + 0xa8], rax
xor edx, edx
movups xmmword [rbp + 0x78], xmm0
lea rax, [rbp + 0x78]
mov rcx, rsi
movups xmmword [rbp + 0x88], xmm0
mov qword [rsp + 0x20], rax
movups xmmword [rbp + 0x98], xmm0
mov r9d, dword [r15 + 0x28]
mov r8d, dword [r10]
shr r9d, 2
not r9d
and r9d, 1
call fcn.180025370
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032890
mov rcx, qword [rbp + 0x88]
mov r10, qword [rbp - 0x78]
mov qword [rbp - 0x68], rcx
movzx r14d, word [r15 + 0x22]
mov esi, r14d
mov eax, dword [r10 + r14*4]
mov dword [rbp + 0x144], eax
mov r8d, dword [r15 + 0x5c]
mov r13d, dword [r10]
add r8, rcx
add r13, rcx
mov rdi, r8
nop dword [rax + rax]
movzx eax, byte [r8]
mov rbx, rdi
cmp al, 0x80
jae 0x18002f37c
mov r9d, 1
mov dword [rbp - 0x38], eax
mov ecx, r9d
mov edx, r9d
jmp 0x18002f39a
lea rdx, [rbp - 0x38]
mov rcx, r8
call fcn.180009650
mov r10, qword [rbp - 0x78]
mov r9d, 1
movzx ecx, al
mov eax, dword [rbp - 0x38]
mov edx, ecx
mov dword [r15 + rsi*4 + 0x70], eax
lea r8, [rcx + rbx]
mov eax, dword [rbp - 0x38]
add rdi, rdx
cmp eax, 0xc
jb 0x18002f3b5
lea ecx, [rax - 0xc]
shr ecx, 1
jmp 0x18002f3c4
lea rcx, [0x180000000]
movzx ecx, byte [rax + rcx + 0x10d580]
mov eax, dword [rbp + 0x144]
add eax, ecx
mov dword [rbp + 0x144], eax
cmp eax, ecx
jb 0x18002f3f1
inc r14d
movsxd rsi, r14d
mov dword [r10 + rsi*4], eax
cmp r14d, dword [rbp - 0x80]
jg 0x18002f3f5
cmp rdi, r13
jb 0x18002f360
jmp 0x18002f3f5
lea rdi, [r13 + 1]
mov rax, rdi
mov word [r15 + 0x22], r14w
sub eax, dword [rbp - 0x68]
cmp qword [r15 + 0x60], 0
mov dword [r15 + 0x5c], eax
jne 0x18002f439
mov eax, 0x2460
test word [rbp + 0x80], ax
jne 0x18002f422
cmp dword [rbp + 0x98], 0
je 0x18002f431
lea rcx, [rbp + 0x78]
call fcn.180024970
mov r9d, 1
mov word [rbp + 0x80], r9w
mov eax, dword [rbp + 0x144]
cmp rdi, r13
jb 0x18002f454
ja 0x180032a53
cmp eax, dword [r15 + 0x54]
jne 0x180032a53
cmp eax, dword [r15 + 0x54]
ja 0x180032a53
mov r13, qword [rbp - 0x40]
mov ebx, dword [rbp - 0x80]
mov rsi, qword [rbp - 0x48]
mov r14, qword [rsp + 0x70]
jmp 0x18002f476
mov r9d, 1
movzx eax, word [r15 + 0x22]
cmp eax, ebx
jg 0x18002f4c2
cmp byte [r14 + r12*8 + 1], 0xf8
jne 0x18002f49f
mov rdx, qword [r14 + r12*8 + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.180024fd0
jmp 0x18002f5ab
mov eax, 0x2460
test word [r13 + 8], ax
je 0x18002f4b8
mov rcx, r13
call fcn.1800248e0
jmp 0x18002f5ab
mov word [r13 + 8], r9w
jmp 0x18002f5ab
mov rdi, qword [rbp - 0x78]
mov eax, 0x2460
test word [r13 + 8], ax
je 0x18002f4da
mov rcx, r13
call fcn.1800248e0
movsxd rcx, ebx
mov edx, dword [r15 + rcx*4 + 0x70]
mov dword [rbp - 0x38], edx
mov eax, dword [rdi + rcx*4 + 4]
cmp dword [r15 + 0x58], eax
jb 0x18002f503
mov ecx, dword [rdi + rcx*4]
mov r8, r13
add rcx, qword [r15 + 0x60]
call fcn.180028f40
jmp 0x18002f5a2
movzx eax, byte [r14 + r12*8 + 3]
test al, 0xc0
je 0x18002f51b
cmp edx, 0xc
jb 0x18002f517
test dl, 1
je 0x18002f53e
test al, al
js 0x18002f53e
cmp edx, 0xc
jb 0x18002f529
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x18002f539
lea r8, [0x180000000]
movzx r8d, byte [rdx + r8 + 0x10d580]
test r8d, r8d
jne 0x18002f55b
cmp edx, 0xd
lea rcx, [rbp + 0x1c0]
mov eax, 0
mov r8, r13
cmova rcx, rax
call fcn.180028f40
jmp 0x18002f5a2
mov r9d, dword [r15 + 0x28]
mov edx, dword [rdi + rcx*4]
mov rcx, rsi
shr r9d, 2
not r9d
mov qword [rsp + 0x20], r13
and r9d, 1
call fcn.180025370
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180032429
mov edx, dword [rbp - 0x38]
mov r8, r13
mov rcx, qword [r13 + 0x10]
call fcn.180028f40
mov eax, 0xefff
and word [r13 + 8], ax
movzx eax, byte [rsp + 0x60]
mov byte [r13 + 0xa], al
movzx ecx, word [r13 + 8]
bt cx, 0xc
jae 0x180032890
mov r14, qword [r13 + 0x10]
test r14, r14
je 0x18002f62f
movsxd rsi, dword [r13 + 0xc]
movzx edi, cx
and di, 0x12
lea edx, [rsi + 2]
cmp dword [r13 + 0x20], edx
jge 0x18002f5f1
xor r8d, r8d
mov rcx, r13
call fcn.180024370
test eax, eax
je 0x18002f602
mov rdi, qword [rsp + 0x68]
jmp 0x180032d01
mov rax, qword [r13 + 0x18]
and cx, 0xd
mov qword [r13 + 0x10], rax
mov word [r13 + 8], cx
mov rcx, qword [r13 + 0x10]
mov r8, rsi
mov rdx, r14
call fcn.1800ce0c0
mov rax, qword [r13 + 0x10]
mov byte [rsi + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rsi + rax + 1], 0
mov eax, 0x200
or di, ax
mov word [r13 + 8], di
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x4c]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 4]
mov rdi, qword [r14 + r12*8 + 0x10]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, rdx
test al, al
je 0x18002f693
movzx r12d, byte [rsp + 0x60]
nop
movzx r8d, r12b
lea rdi, [rdi + 1]
movzx edx, al
mov rcx, rbx
call fcn.18002d890
movzx eax, byte [rdi]
add rbx, 0x38
test al, al
jne 0x18002f670
mov rdx, qword [rsp + 0x58]
inc dword [rsp + 0x40]
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002ea2f
mov rcx, qword [rsp + 0x70]
mov r14, r10
movzx r15d, byte [r11 + 0x8b]
mov dword [rbp - 0x78], r10d
mov dword [rbp - 0x80], r10d
movsxd rax, dword [rcx + r12*8 + 4]
mov rbx, qword [rcx + r12*8 + 0x10]
imul r13, rax, 0x38
mov eax, dword [rcx + r12*8 + 8]
dec eax
add r13, rdx
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + r12*8 + 0xc]
imul rcx, rax, 0x38
add rsi, r13
add rcx, rdx
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x78], rcx
test rbx, rbx
je 0x18002f733
movzx eax, byte [rbx]
mov rdi, r13
movzx esi, byte [rsp + 0x60]
nop dword [rax]
nop word [rax + rax]
movzx r8d, sil
movzx edx, al
mov rcx, rdi
call fcn.18002d890
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x18002f710
mov rsi, qword [rbp - 0x68]
mov r12d, dword [rbp - 0x78]
nop word [rax + rax]
mov edx, r15d
mov rcx, rsi
call fcn.180028d30
mov edi, eax
mov dword [rsi + 0x24], edi
cmp eax, 0xc
jb 0x18002f75c
lea ebx, [rdi - 0xc]
shr ebx, 1
jmp 0x18002f76b
lea rcx, [0x180000000]
movzx ebx, byte [rdi + rcx + 0x10d580]
mov eax, 0x4000
test word [rsi + 8], ax
je 0x18002f78c
test r14, r14
je 0x18002f785
mov rcx, rsi
call fcn.1800245e0
jmp 0x18002f78c
mov eax, dword [rsi]
add dword [rbp - 0x80], eax
sub ebx, eax
movsxd rax, ebx
add r14, rax
cmp edi, 0x7f
ja 0x18002f79e
mov eax, 1
jmp 0x18002f7b3
mov rcx, rdi
xor eax, eax
inc eax
shr rcx, 7
test rcx, rcx
je 0x18002f7b3
cmp eax, 9
jl 0x18002f7a3
add r12d, eax
sub rsi, 0x38
cmp rsi, r13
jae 0x18002f740
cmp r12d, 0x7e
jle 0x18002f804
movsxd rax, r12d
xor edx, edx
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
je 0x18002f7e0
cmp edx, 9
jl 0x18002f7d0
add r12d, edx
movsxd rcx, r12d
xor eax, eax
nop dword [rax + rax]
inc eax
shr rcx, 7
test rcx, rcx
je 0x18002f800
cmp eax, 9
jl 0x18002f7f0
cmp edx, eax
jge 0x18002f807
inc r12d
mov rdi, qword [rsp + 0x68]
movsxd rbx, r12d
add r14, rbx
mov qword [rbp - 0x48], r14
movsxd rax, dword [rdi + 0x68]
cmp r14, rax
jg 0x180032c91
mov rdi, qword [rsp + 0x78]
cmp dword [rdi + 0x20], r14d
jge 0x18002f846
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call fcn.180024370
test eax, eax
jne 0x18002f5e7
jmp 0x18002f853
mov rax, qword [rdi + 0x18]
and word [rdi + 8], 0xd
mov qword [rdi + 0x10], rax
mov rsi, qword [rdi + 0x10]
mov edx, 0x80
cmp r12d, edx
jae 0x18002f86f
mov r14d, 1
mov byte [rsi], r12b
mov eax, r14d
jmp 0x18002f883
mov rdx, rbx
mov rcx, rsi
call fcn.180009420
mov edx, 0x80
lea r14d, [rdx - 0x7f]
mov r15, qword [rbp - 0x68]
movzx edi, al
nop word [rax + rax]
mov ebx, dword [r13 + 0x24]
movsxd rcx, edi
add rcx, rsi
cmp ebx, edx
jae 0x18002f8a5
mov byte [rcx], bl
mov eax, r14d
jmp 0x18002f8ad
mov rdx, rbx
call fcn.180009420
movzx eax, al
mov r8d, ebx
movsxd rcx, r12d
mov rdx, r13
add rcx, rsi
add edi, eax
call fcn.180028e00
add r12d, eax
add r13, 0x38
mov edx, 0x80
cmp r13, r15
jbe 0x18002f890
mov r13, qword [rsp + 0x78]
mov eax, 0x10
mov r14, qword [rbp - 0x48]
mov word [r13 + 8], ax
mov eax, dword [rbp - 0x80]
mov dword [r13 + 0xc], r14d
test eax, eax
je 0x18002f900
mov dword [r13], eax
mov eax, 0x4010
mov word [r13 + 8], ax
mov byte [r13 + 0xa], 1
jmp 0x18002fa24
movsxd rcx, dword [r14 + r12*8 + 4]
lea rdx, [rbp + 0x1b0]
mov rax, qword [r11 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
mov qword [rbp + 0x1b0], r10
call fcn.180021de0
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x4c], eax
mov rax, qword [rbp + 0x1b0]
mov r15d, dword [rsp + 0x4c]
mov qword [r13], rax
jmp 0x1800328f9
mov eax, dword [r14 + r12*8 + 4]
mov r14, qword [r14 + r12*8 + 0x10]
mov dword [rbp - 0x80], eax
test eax, eax
jne 0x18002fa5d
cmp dword [rdi + 0xac], eax
jg 0x180032a7f
mov rbx, r14
test r14, r14
jne 0x18002f979
mov ebx, r10d
jmp 0x18002f991
cmp byte [r14], 0
je 0x18002f988
nop
inc rbx
cmp byte [rbx], 0
jne 0x18002f980
sub ebx, r14d
and ebx, 0x3fffffff
mov r8d, dword [rdi + 0x308]
xor edx, edx
add r8d, dword [rdi + 0x304]
mov rcx, rdi
call fcn.180073240
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bcb
mov edx, ebx
mov rcx, rdi
add rdx, 0x21
call fcn.180005af0
mov rdi, rax
test rax, rax
je 0x18002fa24
lea r9, [rax + 0x20]
mov rdx, r14
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1800ce0c0
mov rcx, qword [rsp + 0x68]
cmp byte [rcx + 0x4e], 0
je 0x18002f9f6
mov byte [rcx + 0x4e], 0
mov byte [rcx + 0x55], 1
jmp 0x18002f9fc
inc dword [rcx + 0x304]
mov rax, qword [rcx + 0x2f8]
mov qword [rdi + 0x18], rax
mov rax, qword [rcx + 0x310]
mov qword [rcx + 0x2f8], rdi
mov qword [rdi + 8], rax
mov rax, qword [rcx + 0x318]
mov qword [rdi + 0x10], rax
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
inc dword [rsp + 0x40]
mov esi, dword [rsp + 0x40]
xor r10d, r10d
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8d, 1
mov r12d, dword [rsp + 0x44]
mov ecx, 0x2460
jmp 0x18002dbb0
mov rsi, qword [rdi + 0x2f8]
mov r15d, r10d
test rsi, rsi
je 0x18002fa8f
nop dword [rax]
mov rcx, qword [rsi]
mov rdx, r14
call fcn.180008910
test eax, eax
je 0x18002fb79
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x18002fa70
mov rcx, qword [rsp + 0x50]
lea r8, str.no_such_savepoint:__s
add rcx, 0x48
mov r9, r14
mov rdx, rdi
call fcn.180005dd0
mov r13d, 1
inc dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
movzx esi, byte [rsp + 0x48]
mov rax, qword [r11 + 0x48]
lea rdx, str.statement_aborts_at__d:___s___s
mov r9, qword [r11 + 0xe0]
mov ecx, r13d
mov r8d, dword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov dword [r11 + 0x84], r13d
call fcn.180007ca0
mov rcx, qword [rsp + 0x50]
call fcn.180028130
cmp r13d, 0xc0a
jne 0x18002fb00
mov byte [rdi + 0x50], 1
mov ebx, 1
test sil, sil
je 0x18002fb18
movzx edx, sil
mov rcx, rdi
dec edx
call fcn.180045e80
mov r11, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x58]
mov qword [rax + 0x30], rcx
mov rcx, r11
mov eax, dword [rsp + 0x44]
add dword [r11 + 0xb0], eax
call fcn.180026880
mov eax, ebx
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.1800ca770
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp dword [rdi + 0xac], 0
mov r14d, dword [rbp - 0x80]
jle 0x18002fb90
cmp r14d, 1
je 0x180032a9d
cmp qword [rsi + 0x18], 0
jne 0x18002fbec
cmp byte [rdi + 0x55], 0
je 0x18002fbec
mov eax, 1
mov r13d, eax
cmp r14d, eax
jne 0x18002fbef
mov r12, qword [rsp + 0x50]
mov edx, eax
mov rcx, r12
call fcn.1800280d0
mov ebx, eax
test eax, eax
jne 0x180032d3c
mov rcx, r12
mov byte [rdi + 0x4e], r13b
call fcn.180028130
cmp eax, 5
je 0x180032ac0
mov byte [rdi + 0x55], bl
mov eax, dword [r12 + 0x84]
mov dword [rsp + 0x4c], eax
jmp 0x18002fcdc
xor r13d, r13d
mov eax, dword [rdi + 0x304]
sub eax, r15d
lea r15d, [rax - 1]
mov eax, dword [rdi + 0x28]
cmp r14d, 2
jne 0x18002fc5f
mov r12d, dword [rdi + 0x2c]
xor edi, edi
shr r12d, 1
and r12d, 1
test eax, eax
jle 0x18002fc62
mov r14d, r12d
xor r14d, 1
xor ebx, ebx
nop
mov rcx, qword [rsp + 0x68]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rbx + rcx + 8]
call fcn.18001b9f0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bc6
mov rax, qword [rsp + 0x68]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x18002fc20
mov r14d, dword [rbp - 0x80]
jmp 0x18002fc62
xor r12d, r12d
xor edi, edi
test eax, eax
jle 0x18002fca0
mov rax, qword [rsp + 0x68]
xor ebx, ebx
nop
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rcx + rbx + 8]
call fcn.18001bd10
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bc6
mov rax, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x18002fc70
mov rdi, qword [rsp + 0x68]
test r12d, r12d
je 0x18002fcdc
mov rax, qword [rdi + 8]
test rax, rax
je 0x18002fcd0
nop dword [rax]
nop word [rax + rax]
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x18002fcc0
mov rcx, rdi
call fcn.180045ed0
or dword [rdi + 0x2c], 2
cmp qword [rdi + 0x2f8], rsi
je 0x18002fd19
nop word [rax + rax]
mov rdx, qword [rdi + 0x2f8]
mov rcx, rdi
mov rax, qword [rdx + 0x18]
mov qword [rdi + 0x2f8], rax
call fcn.1800057f0
dec dword [rdi + 0x304]
cmp qword [rdi + 0x2f8], rsi
jne 0x18002fcf0
cmp r14d, 1
jne 0x18002fd42
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2f8], rax
call fcn.1800057f0
test r13d, r13d
jne 0x18002fd7a
dec dword [rdi + 0x304]
jmp 0x18002fd5d
mov rax, qword [rsi + 8]
mov qword [rdi + 0x310], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x318], rax
test r13d, r13d
jne 0x18002fd7a
mov r8d, r15d
mov edx, r14d
mov rcx, rdi
call fcn.180073240
mov dword [rsp + 0x4c], eax
mov r13d, eax
test eax, eax
jne 0x180032bd0
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x4c]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
mov edi, dword [r14 + r12*8 + 4]
mov ecx, dword [r14 + r12*8 + 8]
mov rbx, qword [rsp + 0x68]
test edi, edi
je 0x18002fdcf
movzx eax, byte [rbx + 0x4e]
test al, al
jne 0x18002fdcf
test ecx, ecx
jne 0x18002fdd3
cmp dword [rbx + 0xac], ecx
jle 0x18002fdd3
mov dword [rsp + 0x4c], 5
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18002fe07
movzx eax, byte [rbx + 0x4e]
movzx eax, al
cmp edi, eax
jne 0x180032ae5
test edi, edi
jne 0x18002fdeb
lea r8, str.cannot_start_a_transaction_within_a_transaction
jmp 0x18002fdff
test ecx, ecx
lea r8, str.cannot_commit___no_transaction_is_active
lea rax, str.cannot_rollback___no_transaction_is_active
cmovne r8, rax
mov dword [rsp + 0x4c], 1
mov rdi, qword [rsp + 0x68]
lea rcx, [r11 + 0x48]
mov rdx, rdi
call fcn.180005dd0
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
jmp 0x1800328f9
mov edx, dword [r14 + r12*8 + 8]
test edx, edx
je 0x18002fe3d
test dword [rdi + 0x2c], 0x2000000
jne 0x180032b65
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x18002ff3c
mov rcx, rbx
call fcn.18001a5e0
mov dword [rsp + 0x4c], eax
cmp eax, 5
je 0x180032b6d
test eax, eax
jne 0x180032bcb
cmp dword [r14 + r12*8 + 8], eax
je 0x18002ff08
mov r15, qword [rsp + 0x50]
test byte [r15 + 0x8c], 0x80
je 0x18002ff08
cmp byte [rdi + 0x4e], al
je 0x18002fe9d
cmp dword [rdi + 0xa8], 1
jle 0x18002ff08
mov r8d, dword [r15 + 0x9c]
test r8d, r8d
jne 0x18002fec4
inc dword [rdi + 0x308]
mov r8d, dword [rdi + 0x304]
add r8d, dword [rdi + 0x308]
mov dword [r15 + 0x9c], r8d
dec r8d
xor edx, edx
mov rcx, rdi
call fcn.180073240
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x18002feec
mov edx, dword [r15 + 0x9c]
mov rcx, rbx
call fcn.18001bcb0
mov dword [rsp + 0x4c], eax
mov rax, qword [rdi + 0x310]
mov qword [r15 + 0xd0], rax
mov rax, qword [rdi + 0x318]
mov qword [r15 + 0xd8], rax
lea r8, [rbp + 0x168]
mov edx, 1
mov rcx, rbx
call fcn.180021c80
mov rax, qword [rdi + 0x20]
movsxd rcx, dword [r14 + r12*8 + 4]
shl rcx, 5
xor r10d, r10d
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x168]
mov edx, dword [rcx + 4]
jmp 0x18002ff48
mov eax, r10d
mov edx, r10d
mov dword [rbp + 0x168], eax
cmp byte [r14 + r12*8 + 3], 0
je 0x1800328c7
cmp eax, dword [r14 + r12*8 + 0xc]
jne 0x18002ff66
cmp edx, dword [r14 + r12*8 + 0x10]
je 0x1800328c7
mov rax, qword [rsp + 0x50]
mov rcx, rdi
mov rdx, qword [rax + 0x48]
call fcn.1800057f0
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.180005d50
mov r11, qword [rsp + 0x50]
mov qword [r11 + 0x48], rax
mov rax, qword [rdi + 0x20]
movsxd rdx, dword [r14 + r12*8 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x168]
cmp dword [rcx], eax
je 0x18002ffbb
mov rcx, rdi
call fcn.180045e80
mov r11, qword [rsp + 0x50]
or dword [r11 + 0x8c], 0x20
mov r15d, 0x11
mov dword [rsp + 0x4c], r15d
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 4]
lea r8, [rbp + 0x1a4]
mov rcx, qword [rdi + 0x20]
mov edx, dword [r14 + r12*8 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180021c80
movsxd rax, dword [rbp + 0x1a4]
inc esi
mov qword [r13], rax
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov rax, qword [rsp + 0x68]
movsxd rdi, dword [r14 + r12*8 + 4]
shl rdi, 5
add rdi, qword [rax + 0x20]
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
add rbx, rdx
mov rcx, rbx
call fcn.180024a40
mov qword [rbx], rax
mov eax, 0xbe04
and word [rbx + 8], ax
or word [rbx + 8], 4
mov edx, dword [r14 + r12*8 + 8]
mov rcx, qword [rdi + 8]
mov r8d, dword [rbx]
call fcn.180021d10
mov dword [rsp + 0x4c], eax
mov eax, dword [r14 + r12*8 + 8]
cmp eax, 1
jne 0x180030075
mov rcx, qword [rdi + 0x18]
mov eax, dword [rbx]
mov rdi, qword [rsp + 0x68]
mov dword [rcx], eax
or dword [rdi + 0x2c], 2
jmp 0x180030089
cmp eax, 2
jne 0x180030084
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rbx]
mov byte [rcx + 0x70], al
mov rdi, qword [rsp + 0x68]
cmp dword [r14 + r12*8 + 4], 1
jne 0x18002df47
mov rax, qword [rdi + 8]
test rax, rax
je 0x1800300b0
nop
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x1800300a0
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
and dword [r11 + 0x8c], 0xffffffdf
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x18002dc3e.54
mov eax, dword [r14 + r12*8 + 8]
cmp dword [rdx + 0x2c], eax
je 0x1800328fc
test byte [r11 + 0x8c], 0x20
jne 0x180032bb7
mov rdx, qword [rsp + 0x70]
mov edi, r10d
mov rcx, qword [rsp + 0x68]
mov r14, r10
movsxd r13, dword [rdx + r12*8 + 0xc]
movsxd r15, dword [rdx + r12*8 + 8]
mov rax, r13
shl rax, 5
add rax, qword [rcx + 0x20]
mov rsi, qword [rax + 8]
cmp r9b, 0x37
jne 0x180030141
mov rax, qword [rax + 0x18]
mov r12d, r8d
movzx ecx, byte [rax + 0x70]
cmp cl, byte [r11 + 0x8b]
jae 0x180030144
mov byte [r11 + 0x8b], cl
jmp 0x180030144
mov r12d, r10d
mov rcx, qword [rbp - 0x78]
test byte [rdx + rcx*8 + 3], 2
je 0x18003018c
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.180024a40
mov qword [rbx], rax
mov eax, 0xbe04
and word [rbx + 8], ax
or word [rbx + 8], 4
mov r15d, dword [rbx]
cmp r15d, 2
jl 0x180032b8e
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x50]
movzx eax, byte [rdx + rcx*8 + 1]
cmp al, 0xfa
jne 0x1800301a8
mov r14, qword [rdx + rcx*8 + 0x10]
movzx edi, word [r14 + 8]
movzx eax, word [r14 + 6]
add edi, eax
jmp 0x1800301b0
cmp al, 0xf2
jne 0x1800301b0
mov edi, dword [rdx + rcx*8 + 0x10]
mov edx, dword [rdx + rcx*8 + 4]
mov r9d, r13d
mov rcx, r11
mov dword [rsp + 0x20], 1
mov r8d, edi
call fcn.18002d660
mov rdi, rax
test rax, rax
je 0x18002f5e7
or dword [rax + 0x28], 8
mov rcx, rsi
mov rbx, qword [rax]
mov byte [rax + 0x25], 1
mov dword [rax + 0x2c], r15d
call fcn.180018000
mov r9, r14
mov qword [rsp + 0x20], rbx
mov r8d, r12d
mov edx, r15d
mov rcx, rsi
call fcn.18001bdf0
cmp byte [rsi + 0x11], 0
mov dword [rsp + 0x4c], eax
je 0x18003021b
sub dword [rsi + 0x14], 1
jne 0x18003021b
mov rcx, rsi
call fcn.180017fd0
mov rdx, qword [rbp - 0x78]
xor r10d, r10d
mov rax, qword [rdi]
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x4c]
mov qword [rdi + 0x10], r14
mov r14, qword [rsp + 0x70]
movzx ecx, byte [r14 + rdx*8 + 3]
and cl, 1
mov byte [rax + 0x6e], cl
mov eax, 4
cmp byte [r14 + rdx*8 + 1], 0xfa
mov ecx, r10d
cmovne ecx, eax
mov eax, dword [rdi + 0x28]
and eax, 0xfffffffb
or ecx, eax
mov dword [rdi + 0x28], ecx
mov rdi, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328fc
mov edx, dword [r14 + r12*8 + 4]
mov r9d, 0xffffffff
mov dword [rsp + 0x20], r8d
mov rcx, r11
mov r8d, dword [r14 + r12*8 + 8]
call fcn.18002d660
mov r14, rax
test rax, rax
je 0x180032d01
or dword [rax + 0x28], 1
lea r9, [rax + 8]
mov rbx, qword [rsp + 0x70]
mov r8, rdi
mov byte [rax + 0x25], 1
xor edx, edx
mov dword [rsp + 0x28], 0x41e
movzx ecx, byte [rbx + r12*8 + 3]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [rdi]
call fcn.1800194b0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180030390
mov rcx, qword [r14 + 8]
lea edx, [rax + 1]
call fcn.18001a5e0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180030390
mov r15, qword [rbx + r12*8 + 0x10]
mov rcx, qword [r14 + 8]
test r15, r15
je 0x18003036d
movzx r8d, byte [rbx + r12*8 + 3]
lea rdx, [rbp + 0x1a0]
or r8d, 2
call fcn.180021550
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180030366
mov rsi, qword [r14 + 8]
mov rbx, qword [r14]
mov rcx, rsi
mov edi, dword [rbp + 0x1a0]
mov qword [r14 + 0x10], r15
call fcn.180018000
mov r9, r15
mov qword [rsp + 0x20], rbx
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.18001bdf0
mov rcx, rsi
mov dword [rsp + 0x4c], eax
call fcn.1800180f0
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
and dword [r14 + 0x28], 0xfffffffb
jmp 0x180030390
mov rax, qword [r14]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov eax, 1
mov r8d, eax
mov edx, eax
call fcn.18001bee0
or dword [r14 + 0x28], 4
mov dword [rsp + 0x4c], eax
mov r15d, dword [rsp + 0x4c]
xor r10d, r10d
cmp byte [rbx + r12*8 + 3], 8
mov eax, 8
mov ecx, r10d
cmovne ecx, eax
mov eax, dword [r14 + 0x28]
and eax, 0xfffffff7
or ecx, eax
mov dword [r14 + 0x28], ecx
mov r14, qword [rsp + 0x70]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328fc
mov edx, dword [r14 + r12*8 + 4]
mov r9d, 0xffffffff
mov dword [rsp + 0x20], r8d
mov rcx, r11
mov r8d, dword [r14 + r12*8 + 8]
call fcn.18002d660
test rax, rax
je 0x180032d01
mov rcx, qword [r14 + r12*8 + 0x10]
mov r8, rax
mov qword [rax + 0x10], rcx
mov rcx, rdi
mov edx, dword [r14 + r12*8 + 0xc]
call fcn.1800346a0
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
test rcx, rcx
jne 0x18003043e
mov esi, dword [r14 + r12*8 + 8]
dec esi
mov rdx, qword [rsp + 0x58]
inc esi
mov r12d, dword [rsp + 0x44]
mov ecx, 0x2460
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
mov r8d, dword [r14 + r12*8 + 0xc]
mov r9d, 0xffffffff
mov edx, dword [r14 + r12*8 + 4]
mov rcx, r11
mov dword [rsp + 0x20], r10d
call fcn.18002d660
test rax, rax
je 0x180032d01
mov byte [rax + 0x25], 1
mov ecx, dword [r14 + r12*8 + 8]
or dword [rax + 0x28], 4
inc esi
mov dword [rax + 0x1c], ecx
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x60]
mov rdx, qword [rdx + rax*8]
call fcn.180027270
mov r11, qword [rsp + 0x50]
xor r10d, r10d
movsxd rcx, dword [r14 + r12*8 + 4]
inc esi
mov dword [rsp + 0x40], esi
mov rax, qword [r11 + 0x60]
mov qword [rax + rcx*8], r10
jmp 0x18002fa43
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
movzx edi, byte [r14 + r12*8]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 0x28], 4
mov byte [rsi + 0x25], 0
je 0x1800305a0
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rbx, rax, 0x38
add rbx, rdx
movzx eax, byte [rbx + 8]
and al, 0xe
cmp al, 2
jne 0x18003050e
xor edx, edx
mov rcx, rbx
call fcn.18002d7a0
mov rcx, rbx
call fcn.180024a40
movzx ecx, word [rbx + 8]
mov r14, rax
test cl, 4
jne 0x18003056d
test cl, 8
jne 0x18003053f
mov r14, qword [rsp + 0x70]
mov edi, dword [r14 + r12*8 + 8]
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
movsd xmm0, qword [rbx]
xorps xmm1, xmm1
cvtsi2sd xmm1, r14
comisd xmm1, xmm0
jbe 0x18003055f
test dil, 1
lea eax, [rdi - 1]
cmove eax, edi
mov edi, eax
jmp 0x18003056d
comisd xmm0, xmm1
jbe 0x18003056d
test dil, 1
jne 0x18003056d
inc edi
mov rcx, qword [rsi]
lea rax, [rbp + 0x140]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r14
xor edx, edx
call fcn.18001cec0
mov dword [rsp + 0x4c], eax
mov qword [rsi + 0x40], r14
test eax, eax
jne 0x180032bc6
mov r14, qword [rsp + 0x70]
jmp 0x18003061c
mov rax, qword [rsi + 0x10]
test dil, 1
mov ecx, dword [r14 + r12*8 + 0x10]
mov qword [rbp + 0xb0], rax
mov eax, r8d
mov word [rbp + 0xb8], cx
mov ecx, 0xffffffff
cmovne eax, ecx
mov byte [rbp + 0xba], al
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x4000
add rcx, rdx
mov qword [rbp + 0xc0], rcx
test word [rcx + 8], ax
je 0x1800305ef
call fcn.1800245e0
mov rcx, qword [rsi]
lea rax, [rbp + 0x140]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xb0]
call fcn.18001cec0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bc6
xor r10d, r10d
mov byte [rsi + 0x26], 0
mov dword [rsi + 0x50], r10d
mov eax, dword [rbp + 0x140]
cmp edi, 0x40
jl 0x180030674
test eax, eax
js 0x18003065c
jne 0x18003063d
cmp edi, 0x41
je 0x18003065c
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov dword [rbp + 0x140], r10d
jmp 0x1800328fc
mov dword [rbp + 0x140], r10d
lea rdx, [rbp + 0x140]
mov rcx, qword [rsi]
call fcn.18001d630
jmp 0x1800306aa
test eax, eax
jg 0x180030694
jne 0x18003067f
cmp edi, 0x3e
je 0x180030694
mov rcx, qword [rsi]
call fcn.18001d3e0
mov r15d, dword [rsp + 0x4c]
mov dword [rbp + 0x140], eax
jmp 0x1800306b9
mov dword [rbp + 0x140], r10d
lea rdx, [rbp + 0x140]
mov rcx, qword [rsi]
call fcn.18001d8e0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180032bc6
cmp dword [rbp + 0x140], 0
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
je 0x1800306d7
mov edi, dword [r14 + r12*8 + 8]
dec edi
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
xor r10d, r10d
jmp case.default.0x18002dc3e
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 0x25], 0
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
add rcx, rdx
call fcn.180024a40
inc esi
mov qword [rbx + 0x40], rax
mov dword [rsp + 0x40], esi
mov byte [rbx + 0x26], 1
jmp 0x18002fa3b
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov r15, qword [rsp + 0x70]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [r15 + r12*8 + 0xc]
imul rsi, rax, 0x38
mov qword [rbp - 0x28], r10
add rsi, rdx
cmp dword [r15 + r12*8 + 0x10], 0
jle 0x1800307ab
mov rax, qword [r14 + 0x10]
mov ebx, r10d
mov qword [rbp + 0x10], rax
movzx ecx, word [r15 + r12*8 + 0x10]
mov word [rbp + 0x18], cx
mov qword [rbp + 0x20], rsi
cmp r10w, cx
jae 0x1800307a5
mov rdi, r10
mov r15d, 0x4000
nop
test word [rsi + rdi + 8], r15w
je 0x18003078e
mov eax, ebx
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1800245e0
movzx ecx, word [rbp + 0x18]
mov rsi, qword [rbp + 0x20]
inc ebx
movzx eax, cx
add rdi, 0x38
cmp ebx, eax
jl 0x180030770
mov rdi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
lea rbx, [rbp + 0x10]
jmp 0x1800307e4
mov rcx, qword [r14 + 0x10]
lea r9, [rbp - 0x28]
mov r8d, 0x107
lea rdx, [rbp + 0x230]
call fcn.1800290d0
mov rbx, rax
test rax, rax
je 0x180032d01
mov r8, qword [rsi + 0x10]
mov r9, rax
mov edx, dword [rsi + 0xc]
mov rcx, qword [r14 + 0x10]
call fcn.180029150
mov byte [rbx + 0xa], 0
cmp byte [r15 + r12*8], 0x43
jne 0x180030820
movzx edx, word [rbp + 0x18]
xor ecx, ecx
test rdx, rdx
je 0x180030820
mov rax, qword [rbp + 0x20]
add rax, 8
test byte [rax], 1
jne 0x180030815
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x180030802
jmp 0x180030820
mov eax, dword [r15 + r12*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov rcx, qword [r14]
lea rax, [rbp + 0x178]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbx
call fcn.18001cec0
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x70]
cmp dword [rax + r12*8 + 0x10], 0
jne 0x18003085d
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
call fcn.1800057f0
xor r10d, r10d
test r15d, r15d
jne 0x1800303b6
mov eax, dword [rbp + 0x178]
mov ecx, r10d
mov dword [r14 + 0x18], eax
mov eax, dword [rbp + 0x178]
test eax, eax
mov byte [r14 + 0x26], r10b
sete cl
mov dword [r14 + 0x50], r10d
test eax, eax
setne al
mov byte [r14 + 0x25], al
mov r14, qword [rsp + 0x70]
cmp byte [r14 + r12*8], 0x45
jne 0x1800308b8
test ecx, ecx
je 0x18003274c
mov esi, dword [r14 + r12*8 + 8]
dec esi
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3e
test ecx, ecx
jne 0x18003274c
mov esi, dword [r14 + r12*8 + 8]
dec esi
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3e
movsxd rax, dword [r14 + r12*8 + 0xc]
movsxd rcx, dword [r14 + r12*8 + 4]
mov r9, qword [rsp + 0x58]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x60]
mov rdi, qword [rax + rcx*8]
lea rax, [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov rcx, qword [rdi]
mov dword [rbp + 0x190], r10d
mov rbx, qword [rdx + r9]
xor r9d, r9d
mov r8, rbx
xor edx, edx
call fcn.18001cec0
xor r10d, r10d
mov dword [rsp + 0x4c], eax
mov dword [rdi + 0x50], r10d
mov qword [rdi + 0x40], rbx
mov word [rdi + 0x25], 0
mov eax, dword [rbp + 0x190]
test eax, eax
je 0x18003093a
mov esi, dword [r14 + r12*8 + 8]
dec esi
mov r15d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x50]
mov dword [rdi + 0x18], eax
mov rdi, qword [rsp + 0x68]
jmp 0x1800328fc
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [r13], rax
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov r12d, dword [rsp + 0x44]
mov rdx, qword [rax + rcx*8]
mov ecx, 0x2460
inc qword [rdx + 0x38]
mov rdx, qword [rsp + 0x58]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movsxd rcx, dword [r14 + r12*8 + 4]
mov rdx, r10
mov rax, qword [r11 + 0x60]
mov qword [rbp + 0x150], rdx
mov dword [rbp + 0x158], r10d
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi]
test rcx, rcx
je 0x180030b46
test byte [rdi + 0x28], 2
jne 0x1800309f1
lea rdx, [rbp + 0x158]
call fcn.18001ce30
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bc6
cmp dword [rbp + 0x158], eax
je 0x180030a36
mov r11, qword [rsp + 0x50]
mov qword [rbp + 0x150], 1
movabs r15, 0x7fffffffffffffff
movsxd rdx, dword [r14 + r12*8 + 0xc]
test edx, edx
je 0x180030ab8
mov rcx, qword [r11 + 0xf0]
test rcx, rcx
je 0x180030a76
mov rax, qword [rcx + 8]
test rax, rax
je 0x180030a2c
nop dword [rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180030a20
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x180030a7f
mov rcx, qword [rdi]
lea rdx, [rbp + 0x150]
call fcn.18001c1c0
mov r11, qword [rsp + 0x50]
movabs r15, 0x7fffffffffffffff
mov dword [rsp + 0x4c], eax
mov rax, qword [rbp + 0x150]
cmp rax, r15
jl 0x180030a6a
or dword [rdi + 0x28], 2
jmp 0x1800309fb
inc rax
mov qword [rbp + 0x150], rax
jmp 0x1800309fb
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.180024ba0
mov rax, qword [rbx]
cmp rax, r15
je 0x180030b1f
test byte [rdi + 0x28], 2
jne 0x180030b1f
mov rcx, qword [rbp + 0x150]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp + 0x150], rcx
mov qword [rbx], rcx
test byte [rdi + 0x28], 2
je 0x180030b2f
xor ebx, ebx
lea rdx, [rbp + 0x150]
mov ecx, 8
call fcn.180007e30
mov r8, qword [rbp + 0x150]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp + 0x158]
mov qword [rbp + 0x150], r8
xor edx, edx
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.18001cec0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180030b2f
cmp dword [rbp + 0x158], eax
jne 0x180030b2f
inc ebx
cmp ebx, 0x64
jl 0x180030ac0
mov rdi, qword [rsp + 0x68]
mov r13d, 0xd
jmp 0x180032bd0
mov r11, qword [rsp + 0x50]
xor r10d, r10d
mov dword [rdi + 0x50], r10d
mov byte [rdi + 0x26], 0
mov rdx, qword [rbp + 0x150]
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
mov qword [r13], rdx
jmp 0x1800328fc
movsxd rax, dword [r14 + r12*8 + 8]
mov r8, qword [rsp + 0x58]
movsxd rcx, dword [r14 + r12*8 + 4]
movsxd rbx, dword [r14 + r12*8 + 0xc]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x60]
add rdx, r8
mov rdi, qword [rax + rcx*8]
cmp r9b, 0x4b
jne 0x180030b8a
imul rax, rbx, 0x38
mov rbx, qword [rax + r8]
movzx eax, byte [r14 + r12*8 + 3]
test al, 1
je 0x180030ba1
inc dword [r11 + 0x90]
movzx eax, byte [r14 + r12*8 + 3]
mov rsi, qword [rsp + 0x68]
test al, 2
je 0x180030bb2
mov qword [rbp - 0x58], rbx
mov qword [rsi + 0x30], rbx
movzx eax, word [rdx + 8]
test al, 1
je 0x180030bc2
mov qword [rdx + 0x10], r10
mov dword [rdx + 0xc], r10d
movzx r9d, byte [r14 + r12*8 + 3]
test r9b, 0x10
je 0x180030bd4
mov r8d, dword [rdi + 0x18]
jmp 0x180030bd7
mov r8d, r10d
bt ax, 0xe
jae 0x180030be2
mov ecx, dword [rdx]
jmp 0x180030be5
mov ecx, r10d
mov dword [rsp + 0x38], r8d
mov eax, r9d
mov r9, qword [rdx + 0x10]
mov r8, rbx
shr eax, 3
and eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [rdx + 0xc]
xor edx, edx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rdi]
mov dword [rsp + 0x20], eax
call fcn.180020a00
xor r10d, r10d
mov dword [rsp + 0x4c], eax
mov byte [rdi + 0x26], 0
mov r15d, eax
mov dword [rdi + 0x50], r10d
test eax, eax
jne 0x180030260
mov r10, qword [rsi + 0x108]
test r10, r10
je 0x180031233
mov r9, qword [r14 + r12*8 + 0x10]
test r9, r9
je 0x180031233
movsx rax, byte [rdi + 0x24]
mov edx, 0x12
mov rdi, qword [rsp + 0x68]
mov ecx, 0x17
shl rax, 5
test byte [r14 + r12*8 + 3], 4
mov qword [rsp + 0x20], rbx
mov r8, qword [rdi + 0x20]
cmovne edx, ecx
mov rcx, qword [rdi + 0x100]
mov r8, qword [rax + r8]
call r10
mov r11, qword [rsp + 0x50]
mov esi, dword [rsp + 0x40]
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.180020cc0
xor r10d, r10d
mov dword [rsp + 0x4c], eax
mov dword [rbx + 0x50], r10d
mov r15d, eax
test eax, eax
jne 0x180030cff
mov r10, qword [rdi + 0x108]
test r10, r10
je 0x180030cfc
mov r9, qword [r14 + r12*8 + 0x10]
test r9, r9
je 0x180030cfc
test byte [rbx + 0x28], 4
je 0x180030cfc
movsx rcx, byte [rbx + 0x24]
lea edx, [r15 + 9]
mov r8, qword [rdi + 0x20]
mov rax, qword [rbx + 0x40]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [rdi + 0x100]
call r10
xor r10d, r10d
test byte [r14 + r12*8 + 8], 1
mov r12d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
je 0x180032906
inc dword [r11 + 0x90]
jmp 0x180032906
mov edx, dword [r11 + 0x90]
mov rcx, rdi
call fcn.18002a470
mov r11, qword [rsp + 0x50]
xor r10d, r10d
inc esi
mov dword [rsp + 0x40], esi
mov dword [r11 + 0x90], r10d
jmp 0x18002fa43
movsxd rcx, dword [r14 + r12*8 + 4]
lea r9, [rbp + 0x18c]
mov rax, qword [r11 + 0x60]
mov r8d, dword [r14 + r12*8 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x18c], r10d
add rdx, qword [rsp + 0x58]
call fcn.180036bf0
cmp dword [rbp + 0x18c], 0
mov r15d, eax
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x4c], eax
je 0x1800306e0
mov esi, dword [r14 + r12*8 + 8]
dec esi
xor r10d, r10d
jmp case.default.0x18002dc3e
movsxd rax, dword [r14 + r12*8 + 8]
movsxd rcx, dword [r14 + r12*8 + 4]
imul r13, rax, 0x38
mov rax, qword [r11 + 0x60]
add r13, rdx
mov rdx, r13
mov qword [rsp + 0x78], r13
mov rcx, qword [rax + rcx*8]
call fcn.180036b20
movsxd rcx, dword [r14 + r12*8 + 0xc]
xor r10d, r10d
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x4c], eax
mov r15d, dword [rsp + 0x4c]
mov rax, qword [r11 + 0x60]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x50], r10d
jmp 0x1800328fc
movsxd rax, dword [r14 + r12*8 + 8]
movsxd rcx, dword [r14 + r12*8 + 4]
imul r13, rax, 0x38
mov rax, qword [r11 + 0x60]
add r13, rdx
mov qword [rsp + 0x78], r13
mov rdi, qword [rax + rcx*8]
test byte [rdi + 0x28], 4
mov rbx, qword [rdi]
mov rcx, rbx
jne 0x180030e53
lea rdx, [rbp + 0x1d8]
call fcn.18001c1c0
mov rcx, qword [rsp + 0x68]
movsxd rax, dword [rcx + 0x68]
mov rcx, qword [rbp + 0x1d8]
cmp rcx, rax
jg 0x180032c87
mov dword [rbp + 0x148], ecx
jmp 0x180030e73
lea rdx, [rbp + 0x148]
call fcn.18001c230
mov rax, qword [rsp + 0x68]
mov ecx, dword [rbp + 0x148]
cmp ecx, dword [rax + 0x68]
ja 0x180032c82
mov edx, 0x20
cmp ecx, edx
cmova edx, ecx
mov rcx, r13
call fcn.180024500
test eax, eax
jne 0x18002f5e7
mov eax, dword [rbp + 0x148]
xor edx, edx
mov r9, qword [r13 + 0x10]
mov rcx, rbx
mov dword [r13 + 0xc], eax
mov eax, 0xbe10
and word [r13 + 8], ax
or word [r13 + 8], 0x10
test byte [rdi + 0x28], 4
mov r8d, dword [rbp + 0x148]
jne 0x180030edd
call fcn.18001c920
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov rdi, qword [rsp + 0x68]
mov dword [rsp + 0x4c], eax
mov byte [r13 + 0xa], 1
jmp 0x1800328f9
call fcn.18001c940
mov dword [rsp + 0x4c], eax
mov r15d, eax
mov byte [r13 + 0xa], 1
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 0x25], 0
je 0x180030f2a
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
mov ecx, 0x2460
mov word [r13 + 8], r8w
jmp 0x18002dbb0
cmp byte [rbx + 0x26], 0
je 0x180030f49
mov rax, qword [rbx + 0x40]
mov r15d, dword [rsp + 0x4c]
mov qword [rbp + 0x198], rax
mov qword [r13], rax
jmp 0x1800328f9
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x180030f75
mov rbx, qword [rcx]
lea rdx, [rbp + 0x198]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov dword [rsp + 0x4c], eax
call fcn.18002a4b0
jmp 0x180030fd1
mov rcx, rbx
call fcn.180028d00
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180032bcb
cmp byte [rbx + 0x25], al
je 0x180030fbe
mov r11, qword [rsp + 0x50]
inc esi
mov rdx, qword [rsp + 0x58]
mov r8d, 1
mov r12d, dword [rsp + 0x44]
xor r10d, r10d
mov word [r13 + 8], r8w
mov ecx, 0x2460
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
mov rcx, qword [rbx]
lea rdx, [rbp + 0x198]
call fcn.18001c1c0
mov dword [rsp + 0x4c], eax
mov rax, qword [rbp + 0x198]
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
mov qword [r13], rax
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx]
mov byte [rdx + 0x25], 1
mov dword [rdx + 0x50], r10d
test rcx, rcx
je 0x180031015
call fcn.180018310
mov r11, qword [rsp + 0x50]
xor r10d, r10d
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa43
movsxd rcx, dword [r14 + r12*8 + 4]
lea rdx, [rbp + 0x16c]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
mov dword [rbp + 0x16c], r10d
call fcn.18001ce30
mov dword [rsp + 0x4c], eax
xor r10d, r10d
movzx eax, byte [rbp + 0x16c]
mov byte [rbx + 0x25], al
mov byte [rbx + 0x26], 0
mov dword [rbx + 0x50], r10d
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
jle 0x1800328c7
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x44]
cmp dword [rbp + 0x16c], r10d
je 0x1800328d3
lea r15d, [rax - 1]
mov dword [rsp + 0x40], r15d
mov esi, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x4c]
jmp 0x180032906
inc dword [r11 + 0xa8]
movsxd rcx, dword [r14 + r12*8 + 4]
lea rdx, [rbp + 0x15c]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x15c], r8d
cmp qword [rbx + 0x48], 0
je 0x1800310d2
mov rcx, rbx
call fcn.180036950
xor r10d, r10d
jmp 0x1800310e5
mov rcx, qword [rbx]
call fcn.18001cde0
xor r10d, r10d
mov byte [rbx + 0x26], 0
mov dword [rbx + 0x50], r10d
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x4c], eax
movzx eax, byte [rbp + 0x15c]
mov byte [rbx + 0x25], al
cmp dword [rbp + 0x15c], 0
je 0x1800328c0
mov r15d, dword [r14 + r12*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
mov esi, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x4c]
jmp case.default.0x18002dc3e
movsxd rcx, dword [r14 + r12*8 + 4]
lea r8, [rbp + 0x164]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
mov dword [rbp + 0x164], r10d
call fcn.180036a20
jmp 0x180031188
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
cmp qword [rax + rcx*8], 0
je case.default.0x18002dc3e
movsxd rcx, dword [r14 + r12*8 + 4]
lea rdx, [rbp + 0x164]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov eax, dword [r14 + r12*8 + 0xc]
mov dword [rbp + 0x164], eax
mov rcx, qword [rbx]
call qword [r14 + r12*8 + 0x10]
mov dword [rsp + 0x4c], eax
mov r11, qword [rsp + 0x50]
xor r10d, r10d
mov dword [rbx + 0x50], r10d
cmp dword [rbp + 0x164], r10d
jne 0x1800311c8
mov byte [rbx + 0x25], r10b
mov r15d, dword [r14 + r12*8 + 8]
movzx eax, byte [r14 + r12*8 + 3]
dec r15d
mov dword [rsp + 0x40], r15d
mov esi, r15d
inc dword [r11 + rax*4 + 0xa0]
jmp 0x1800325a2
mov byte [rbx + 0x25], 1
jmp 0x1800325a2
mov rax, qword [r11 + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r14 + r12*8 + 8]
imul rbx, rax, 0x38
mov rsi, qword [rdi]
add rbx, rdx
test byte [r14 + r12*8 + 3], 1
je 0x1800311fc
inc dword [r11 + 0x90]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003121a
mov rcx, rbx
call fcn.1800245e0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180031233
cmp qword [rdi + 0x48], 0
je 0x180031246
mov rdx, rbx
mov rcx, rdi
call fcn.1800359b0
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov rdi, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
test byte [r14 + r12*8 + 3], 0x10
je 0x180031253
mov eax, dword [rdi + 0x18]
jmp 0x180031255
xor eax, eax
movsxd r8, dword [rbx + 0xc]
lea r9, [0x1801080b0]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r12*8 + 0xc]
mov dword [rsp + 0x30], eax
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.180020a00
mov esi, dword [rsp + 0x40]
xor r10d, r10d
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rdi + 0x50], r10d
mov rdi, qword [rsp + 0x68]
mov dword [rsp + 0x4c], eax
jmp 0x1800328fc
movsxd rcx, dword [r14 + r12*8 + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x60]
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x10]
mov rdi, qword [rbx]
mov qword [rbp + 0xd0], rax
movzx eax, word [r14 + r12*8 + 0xc]
mov word [rbp + 0xd8], ax
movsxd rax, dword [r14 + r12*8 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x1a8]
mov byte [rbp + 0xda], 0
add rcx, rdx
mov qword [rsp + 0x20], rax
mov qword [rbp + 0xe0], rcx
lea rdx, [rbp + 0xd0]
mov rcx, rdi
call fcn.18001cec0
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180031329
cmp dword [rbp + 0x1a8], eax
jne 0x180031329
mov rcx, rdi
call fcn.180020cc0
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov rdi, qword [rsp + 0x68]
xor r10d, r10d
mov r11, qword [rsp + 0x50]
mov dword [rbx + 0x50], r10d
jmp 0x1800328fc
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
mov rdi, qword [rbx]
mov word [r13 + 8], r8w
call fcn.180028d00
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180032bc6
cmp byte [rbx + 0x25], al
jne 0x1800313c3
mov rdx, rdi
mov qword [rbp + 0x1b8], 0
mov rdi, qword [rsp + 0x68]
lea r8, [rbp + 0x1b8]
mov rcx, rdi
call fcn.180029fe0
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032bcb
mov rax, qword [rbp + 0x1b8]
inc esi
mov r15d, dword [rsp + 0x4c]
mov qword [r13], rax
mov eax, 4
mov word [r13 + 8], ax
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov rdi, qword [rsp + 0x68]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
movsxd rcx, dword [r14 + r12*8 + 4]
lea r9, [rbp + 0x160]
mov rax, qword [r11 + 0x60]
lea r8, [rbp + 0xf0]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0xf0], rax
movzx eax, word [r14 + r12*8 + 0x10]
mov word [rbp + 0xf8], ax
cmp byte [r14 + r12*8], 0x73
sbb al, al
mov byte [rbp + 0xfa], al
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
mov dword [rbp + 0x160], r10d
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0x100], rcx
mov rcx, rdi
call fcn.18002a2a0
test byte [r14 + r12*8], 1
mov dword [rsp + 0x4c], eax
mov eax, dword [rbp + 0x160]
je 0x18003144c
neg eax
jmp 0x18003144e
inc eax
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov dword [rbp + 0x160], eax
test eax, eax
jle 0x1800328b6
mov r15d, dword [r14 + r12*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
xor r10d, r10d
mov esi, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x4c]
jmp case.default.0x18002dc3e
mov rax, qword [rdi + 8]
mov edx, r10d
test rax, rax
je 0x1800314c6
cmp dword [rax + 0x44], 0xbdf20da3
jne 0x1800314b8
mov ecx, dword [rax + 0x8c]
bt ecx, 9
jae 0x1800314b8
and cl, 0xc
cmp cl, 8
jae 0x1800314b8
cmp dword [rax + 0x80], 0
jl 0x1800314b8
inc edx
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x180031490
mov r14, qword [rsp + 0x70]
mov word [r13 + 8], r8w
cmp edx, 1
jg 0x180032c13
movsxd rbx, dword [r14 + r12*8 + 0xc]
lea r8, [rbp + 0x188]
mov rcx, qword [rdi + 0x20]
mov rax, rbx
mov edx, dword [r14 + r12*8 + 4]
shl rax, 5
mov dword [rbp + 0x188], r10d
mov rcx, qword [rax + rcx + 8]
call fcn.180021c20
movsxd r8, dword [rbp + 0x188]
mov dword [rsp + 0x4c], eax
mov eax, 4
mov r15d, dword [rsp + 0x4c]
mov word [r13 + 8], ax
mov qword [r13], r8
test r15d, r15d
jne 0x18002df4c
test r8d, r8d
je 0x18002df4c
mov r9d, dword [r14 + r12*8 + 4]
mov edx, ebx
mov rcx, rdi
call fcn.1800491d0
mov r11, qword [rsp + 0x50]
lea eax, [rbx + 1]
mov byte [rsp + 0x48], al
jmp 0x1800328f9
cmp dword [r14 + r12*8 + 0xc], 0
lea r8, [rbp + 0x180]
movsxd rax, dword [r14 + r12*8 + 8]
mov rcx, qword [rdi + 0x20]
cmove r8, r10
mov edx, dword [r14 + r12*8 + 4]
shl rax, 5
mov dword [rbp + 0x180], r10d
mov rcx, qword [rax + rcx + 8]
call fcn.1800217d0
cmp dword [r14 + r12*8 + 0xc], 0
mov r15d, eax
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x4c], eax
je 0x1800328f9
movsxd rdx, dword [rbp + 0x180]
add dword [r11 + 0x90], edx
movsxd rax, dword [r14 + r12*8 + 0xc]
mov r12d, dword [rsp + 0x44]
test eax, eax
jle 0x180032600
imul rcx, rax, 0x38
mov rax, rdx
mov rdx, qword [rsp + 0x58]
add qword [rcx + rdx], rax
xor r10d, r10d
jmp 0x180032906
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x48]
test rdx, rdx
je 0x1800315fe
mov rcx, rdi
call fcn.180034b80
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov rcx, qword [rcx]
call fcn.1800218a0
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
lea rdx, [rbp + 0x17c]
shl rcx, 5
mov r8d, r10d
add rcx, qword [rdi + 0x20]
cmp r9b, 0x79
mov dword [rbp + 0x17c], r10d
setne r8b
mov rcx, qword [rcx + 8]
inc r8d
call fcn.180021550
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rbp + 0x17c]
mov r15d, dword [rsp + 0x4c]
mov qword [r13], rax
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
lea rax, [r11 + 0x48]
mov r8, qword [rdi + 0x20]
lea r9, str.sqlite_temp_master
mov qword [rbp + 0x38], rax
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmp ecx, 1
mov dword [rbp + 0x40], ecx
lea rax, str.sqlite_master
mov qword [rbp + 0x30], rdi
cmovne r9, rax
mov rax, qword [r14 + r12*8 + 0x10]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, rdi
call fcn.1800076f0
mov rbx, rax
test rax, rax
jne 0x1800316cc
mov dword [rsp + 0x4c], 7
mov r15d, dword [rsp + 0x4c]
jmp 0x180031719
xor eax, eax
mov byte [rdi + 0xa1], 1
lea r9, [rbp + 0x30]
mov dword [rbp + 0x44], eax
lea r8, [fcn.180061ca0]
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rdi
call fcn.18005b570
test eax, eax
mov rdx, rbx
mov rcx, rdi
cmove eax, dword [rbp + 0x44]
mov dword [rsp + 0x4c], eax
call fcn.1800057f0
mov r15d, dword [rsp + 0x4c]
mov byte [rdi + 0xa1], 0
test r15d, r15d
je 0x180031721
mov rcx, rdi
call fcn.180045ed0
mov r11, qword [rsp + 0x50]
cmp r15d, 7
je 0x180032d06
jmp 0x1800328f9
mov edx, dword [r14 + r12*8 + 4]
mov rcx, rdi
call fcn.180043c70
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x1800328f9
mov r8, qword [r14 + r12*8 + 0x10]
mov rcx, rdi
mov edx, dword [r14 + r12*8 + 4]
call fcn.180046600
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov r8, qword [r14 + r12*8 + 0x10]
mov rcx, rdi
mov edx, dword [r14 + r12*8 + 4]
call fcn.180045c00
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov r8, qword [r14 + r12*8 + 0x10]
mov rcx, rdi
mov edx, dword [r14 + r12*8 + 4]
call fcn.18006e900
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov r12d, dword [r14 + r12*8 + 8]
mov rcx, rdi
movsxd rdx, r12d
lea rdx, [rdx*4 + 4]
call fcn.180005af0
mov r14, rax
test rax, rax
je 0x180032d01
mov rax, qword [rbp - 0x78]
xor edi, edi
mov rdx, qword [rsp + 0x70]
movsxd rcx, dword [rdx + rax*8 + 0xc]
imul r13, rcx, 0x38
movsxd rcx, dword [rdx + rax*8 + 4]
add r13, qword [rsp + 0x58]
imul r15, rcx, 0x38
add r15, qword [rsp + 0x58]
test r12d, r12d
jle 0x180031822
mov rbx, r15
mov esi, r12d
mov rcx, rbx
call fcn.180024a40
mov dword [r14 + rdi*4], eax
add rbx, 0x38
inc rdi
sub rsi, 1
jne 0x180031800
mov rax, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x70]
mov dword [r14 + rdi*4], 0
mov r8d, r12d
movzx eax, byte [rdx + rax*8 + 3]
lea rdx, [rbp + 0x184]
mov rdi, qword [rsp + 0x68]
mov r9d, dword [r13]
shl rax, 5
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov rcx, qword [rdi + 0x20]
mov rcx, qword [rax + rcx + 8]
call fcn.180022c10
mov rdx, r14
mov rcx, rdi
mov rbx, rax
call fcn.1800057f0
movsxd rcx, dword [rbp + 0x184]
sub qword [r13], rcx
mov rcx, r15
call fcn.180024e30
cmp dword [rbp + 0x184], 0
je 0x1800318af
test rbx, rbx
je 0x180032d01
lea rax, [fcn.1800056f0]
mov r9b, 1
mov r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, r15
call fcn.1800250d0
movzx edx, byte [rsp + 0x60]
mov rcx, r15
call fcn.180024350
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x4c]
jmp 0x18002fa2e
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 8]
imul rdi, rax, 0x38
add rbx, rdx
add rdi, rdx
test byte [rbx + 8], 0x20
jne 0x1800318fb
mov rcx, rbx
call fcn.180024eb0
test byte [rbx + 8], 0x20
je 0x18002f5e7
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.18000f550
inc dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
test byte [rbx + 8], 0x20
je 0x180031958
mov rcx, qword [rbx]
lea rdx, [rbp + 0x1c8]
call fcn.18000fcf0
test eax, eax
je 0x180031958
movsxd rax, dword [r14 + r12*8 + 0xc]
mov rdx, qword [rbp + 0x1c8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
call fcn.180024e90
jmp 0x18003259a
mov rcx, rbx
call fcn.180024e30
mov r15d, dword [r14 + r12*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
mov esi, r15d
jmp 0x18003259a
movsxd rax, dword [r14 + r12*8 + 4]
mov edi, dword [r14 + r12*8 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rsi, rax, 0x38
add rbx, rdx
add rsi, rdx
test byte [rbx + 8], 0x20
jne 0x1800319aa
mov rcx, rbx
call fcn.180024eb0
test byte [rbx + 8], 0x20
je 0x18002f5e7
test edi, edi
je 0x1800319d4
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx]
call fcn.18000fd70
test eax, eax
je 0x1800319d2
mov edi, dword [r14 + r12*8 + 8]
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
test edi, edi
js 0x18003231a
mov rdx, qword [rsi]
mov rcx, qword [rbx]
call fcn.18000f550
inc dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
mov rcx, qword [rsp + 0x70]
mov r14, qword [r14 + r12*8 + 0x10]
movsxd rax, dword [rcx + r12*8 + 0xc]
imul rsi, rax, 0x38
add rsi, rdx
cmp byte [rcx + r12*8 + 3], 0
je 0x180031a34
mov rax, qword [r11 + 0xf0]
mov rcx, qword [r14 + 0x18]
test rax, rax
je 0x180031a34
cmp qword [rax + 0x30], rcx
je 0x180031b3a
mov rax, qword [rax + 8]
test rax, rax
jne 0x180031a21
mov eax, dword [r11 + 0x100]
cmp eax, dword [rdi + 0x90]
jge 0x180032c2a
test byte [rsi + 8], 0x40
jne 0x180031b56
mov edi, dword [r14 + 0xc]
add edi, dword [r14 + 0x10]
mov eax, dword [r14 + 0x14]
imul ecx, edi, 7
add eax, 0x60
add ecx, dword [r14 + 0x10]
lea ecx, [rax + rcx*8]
movsxd rdx, ecx
mov rcx, qword [rsp + 0x68]
call fcn.180005ab0
mov rbx, rax
test rax, rax
je 0x18002f5e7
mov rcx, rsi
call fcn.180024a20
mov r11, qword [rsp + 0x50]
lea rdx, [rbx + 0x60]
mov qword [rsi], rbx
mov eax, 0x40
mov word [rsi + 8], ax
mov eax, dword [rsp + 0x40]
mov dword [rbx + 0x54], edi
mov qword [rbx], r11
mov ecx, dword [r14 + 0x10]
mov dword [rbx + 0x44], eax
mov dword [rbx + 0x58], ecx
mov rcx, qword [r11 + 0x10]
mov qword [rbx + 0x18], rcx
mov eax, dword [r11 + 0x38]
mov dword [rbx + 0x4c], eax
mov rax, qword [r11 + 0x60]
mov qword [rbx + 0x28], rax
mov eax, dword [r11 + 0x40]
mov dword [rbx + 0x40], eax
mov rax, qword [r11 + 8]
mov qword [rbx + 0x10], rax
mov eax, dword [r11 + 0x3c]
mov dword [rbx + 0x48], eax
mov rax, qword [r14 + 0x18]
mov qword [rbx + 0x30], rax
mov rax, qword [r11 + 0x118]
mov qword [rbx + 0x20], rax
mov eax, dword [r11 + 0x110]
mov dword [rbx + 0x50], eax
movsxd rax, edi
mov rdi, qword [rsp + 0x68]
imul rcx, rax, 0x38
lea rax, [rbx + 0x60]
add rdx, rcx
cmp rax, rdx
je 0x180031b31
mov ecx, 0x80
nop dword [rax + rax]
mov word [rax + 8], cx
mov qword [rax + 0x28], rdi
add rax, 0x38
cmp rax, rdx
jne 0x180031b20
mov eax, dword [r11 + 0x100]
jmp 0x180031b59
inc dword [rsp + 0x40]
mov ecx, 0x2460
mov esi, dword [rsp + 0x40]
mov r14, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x44]
jmp 0x18002dbb0
mov rbx, qword [rsi]
inc eax
lea r8, [rbx + 0x28]
mov dword [r11 + 0x100], eax
mov rax, qword [r11 + 0xf0]
mov qword [rbx + 8], rax
mov rax, qword [rbp - 0x58]
mov qword [rbx + 0x38], rax
mov eax, dword [r11 + 0x90]
mov dword [rbx + 0x5c], eax
mov qword [r11 + 0x10], r8
mov dword [r11 + 0x90], 0
mov qword [r11 + 0xf0], rbx
mov eax, dword [rbx + 0x54]
mov dword [r11 + 0x38], eax
inc eax
movzx edx, word [rbx + 0x58]
movsxd rcx, eax
mov dword [r11 + 0x40], edx
imul rcx, rcx, 0x38
mov qword [rsp + 0x58], r8
add rcx, r8
mov qword [r11 + 0x60], rcx
mov rax, qword [r14]
mov qword [rsp + 0x70], rax
mov qword [r11 + 8], rax
lea rcx, [rcx + rdx*8]
mov eax, dword [r14 + 8]
xor edx, edx
mov dword [r11 + 0x3c], eax
mov qword [r11 + 0x118], rcx
movsxd rax, dword [r14 + 0x14]
mov r8, rax
mov dword [r11 + 0x110], eax
call fcn.1800cdea0
mov r14, qword [rsp + 0x70]
xor r10d, r10d
mov dword [rsp + 0x40], r10d
mov esi, r10d
jmp 0x18002fa3e
mov r8, qword [r11 + 0xf0]
movsxd rax, dword [r8 + 0x44]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
add eax, dword [r14 + r12*8 + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x18002e193
test dword [rdi + 0x2c], 0x1000000
movsxd rax, dword [r14 + r12*8 + 8]
je 0x180031c5b
add qword [rdi + 0x318], rax
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
cmp dword [r14 + r12*8 + 4], 0
je 0x180031c7f
add qword [rdi + 0x310], rax
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
add qword [r11 + 0xc8], rax
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
cmp dword [r14 + r12*8 + 4], 0
je 0x180031cbe
cmp qword [rdi + 0x310], 0
jne 0x18002f0db
cmp qword [rdi + 0x318], 0
jmp 0x18002f0fe
cmp qword [r11 + 0xc8], 0
jne 0x18002f0db
cmp qword [rdi + 0x318], 0
jmp 0x18002f0fe
mov rcx, qword [r11 + 0xf0]
test rcx, rcx
je 0x180031d0b
mov rax, qword [rcx + 8]
test rax, rax
je 0x180031cfc
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180031cf0
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x180031d17
movsxd rax, dword [r14 + r12*8 + 4]
imul rdi, rax, 0x38
add rdi, rdx
mov rcx, rdi
call fcn.180024ba0
movsxd rax, dword [r14 + r12*8 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.180024ba0
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x18003231a
inc dword [rsp + 0x40]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
cmp qword [rcx + rdx], 0
jle 0x18002f0db
jmp 0x18002f0d4
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add qword [rcx + rdx], rax
jns 0x18002f0db
jmp 0x18002f0d4
movsxd rax, dword [r14 + r12*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r14 + r12*8 + 0xc]
add qword [rcx + rdx], rax
jmp 0x18002f0fe
movsxd rax, dword [r14 + r12*8 + 8]
movzx edi, byte [r14 + r12*8 + 3]
mov rbx, qword [r11 + 0x18]
imul rcx, rax, 0x38
mov rax, r10
add rcx, rdx
test edi, edi
je 0x180031dd0
nop dword [rax]
mov qword [rbx + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdi
jl 0x180031dc0
mov rax, qword [r14 + r12*8 + 0x10]
mov r15, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov qword [rbp + 0x50], rax
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rcx, rax, 0x38
add rcx, r15
mov qword [rbp + 0x58], rcx
inc dword [rcx + 0xc]
lea rcx, [rbp + 0x1e0]
call fcn.180024e10
mov rsi, qword [rsp + 0x50]
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
mov eax, dword [rsp + 0x40]
mov r8, rbx
mov dword [rbp + 0x68], eax
mov edx, edi
mov rax, qword [rbp + 0x50]
mov dword [rbp + 0x6c], 0
mov qword [rbp + 0x60], rsi
mov byte [rbp + 0x70], 0
call qword [rax + 0x20]
cmp dword [rbp + 0x6c], 0
je 0x180031e6e
lea rcx, [rbp + 0x1e0]
call fcn.18002a9f0
mov rdi, qword [rsp + 0x68]
lea rcx, [rsi + 0x48]
mov rdx, rdi
lea r8, [0x180108de4]
mov r9, rax
call fcn.180005dd0
mov eax, dword [rbp + 0x6c]
mov dword [rsp + 0x4c], eax
jmp 0x180031e73
mov rdi, qword [rsp + 0x68]
cmp byte [rbp + 0x70], 0
je 0x180031e93
movsxd rax, dword [r14 + r12*8 - 0x14]
test eax, eax
je 0x180031e93
imul rcx, rax, 0x38
mov edx, 1
add rcx, r15
call fcn.180024e90
lea rcx, [rbp + 0x1e0]
call fcn.180024a20
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
mov esi, dword [rsp + 0x40]
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
mov rdx, qword [r14 + r12*8 + 0x10]
mov rcx, rbx
call fcn.1800247b0
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x180031ef6
mov rcx, rbx
call fcn.18002a9f0
mov rcx, qword [rsp + 0x50]
lea r8, [0x180108de4]
add rcx, 0x48
mov r9, rax
mov rdx, rdi
call fcn.180005dd0
movzx edx, byte [rsp + 0x60]
mov rcx, rbx
call fcn.180024350
mov rcx, rbx
call fcn.180024fa0
test eax, eax
jne 0x180032c91
mov r15d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
mov r8d, dword [r14 + r12*8 + 8]
lea rax, [rbp + 0x220]
mov edx, dword [r14 + r12*8 + 4]
lea r9, [rbp + 0x21c]
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x218], r10d
mov qword [rbp + 0x21c], 0xffffffffffffffff
call fcn.180086040
mov dword [rsp + 0x4c], eax
cmp eax, 5
jne 0x180031f74
mov dword [rsp + 0x4c], 0
mov dword [rbp + 0x218], 1
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
xor ebx, ebx
nop dword [rax]
nop dword [rax + rax]
movsxd rdx, dword [rbp + rbx*4 + 0x218]
mov rcx, rdi
call fcn.180024e90
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x180031f90
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rdi + 0x20]
mov ebx, dword [r14 + r12*8 + 0xc]
shl rcx, 5
mov r14, qword [rcx + rax + 8]
mov rcx, r14
call fcn.180021f70
mov rcx, rax
mov rsi, rax
call fcn.180015460
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.180015470
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.1800150a0
cmp ebx, 5
jne 0x18003202a
mov rcx, rax
call fcn.180008690
test eax, eax
je 0x180032097
mov rcx, rsi
call fcn.180015490
test eax, eax
je 0x180032097
cmp ebx, edi
je 0x180032099
cmp edi, 5
je 0x180032038
cmp ebx, 5
jne 0x180032099
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x4e], 0
je 0x180032c45
cmp dword [rax + 0xa8], 1
jg 0x180032c45
cmp edi, 5
jne 0x18003206d
mov rcx, rsi
call fcn.180015720
mov dword [rsp + 0x4c], eax
test eax, eax
jne 0x180032097
mov edx, ebx
jmp 0x180032075
cmp edi, 4
jne 0x18003207d
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.180015310
xor edx, edx
mov rcx, r14
cmp ebx, 5
sete dl
inc edx
call fcn.1800233c0
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x180032099
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.180015310
mov r14, qword [rsp + 0x70]
movsxd rcx, dword [r14 + r12*8 + 8]
imul r13, rcx, 0x38
mov ecx, 0xa02
add r13, qword [rsp + 0x58]
mov qword [rsp + 0x78], r13
mov word [r13 + 8], cx
mov ecx, eax
call fcn.18005c890
mov rcx, rax
mov qword [r13 + 0x10], rax
call fcn.180008690
movzx edx, byte [rsp + 0x60]
mov rcx, r13
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
call fcn.180024350
mov r11, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x4c]
mov esi, dword [rsp + 0x40]
jmp 0x1800328f9
lea rcx, [r11 + 0x48]
mov rdx, rdi
call fcn.180071680
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.18001b350
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x4c], eax
cmp eax, 0x65
jne 0x1800306e0
mov r15d, dword [r14 + r12*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
xor r10d, r10d
mov esi, dword [rsp + 0x40]
mov r15d, r10d
mov dword [rsp + 0x4c], r10d
jmp case.default.0x18002dc3e
cmp dword [r14 + r12*8 + 4], 0
jne 0x180032190
mov rcx, rdi
call fcn.18002a480
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
or dword [r11 + 0x8c], 0x20
mov ecx, 0x2460
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002dbb0
movzx r8d, byte [r14 + r12*8 + 0xc]
test r8b, r8b
jne 0x1800321c6
mov eax, 0x4000
test dword [rdi + 0x2c], eax
jne case.default.0x18002dc3e
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [rdi + 0x20]
mov edx, dword [r14 + r12*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180023180
mov dword [rsp + 0x4c], eax
mov r15d, eax
cmp al, 6
jne 0x18002df4c
mov rcx, qword [rsp + 0x50]
lea r8, str.database_table_is_locked:__s
mov r9, qword [r14 + r12*8 + 0x10]
add rcx, 0x48
mov rdx, rdi
call fcn.180005dd0
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
mov rbx, qword [r14 + r12*8 + 0x10]
mov rcx, rdi
mov rdx, rbx
call fcn.180073100
mov dword [rsp + 0x4c], eax
mov r15d, eax
test rbx, rbx
je 0x18002df4c
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.18002a4b0
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
mov r8, qword [r14 + r12*8 + 0x10]
lea r9, [r11 + 0x48]
mov edx, dword [r14 + r12*8 + 4]
mov rcx, rdi
call fcn.180072ae0
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
jmp 0x1800328f9
and dword [r11 + 0x8c], 0xfffffffb
mov rcx, rdi
or dword [r11 + 0x8c], 8
mov r8, qword [r14 + r12*8 + 0x10]
mov edx, dword [r14 + r12*8 + 4]
call fcn.180072f20
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x4c], eax
and dword [r11 + 0x8c], 0xfffffff3
jmp 0x1800328f9
mov rax, qword [r14 + r12*8 + 0x10]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], r10
mov rbx, qword [rax + 0x10]
mov rcx, rbx
mov rdi, qword [rbx]
call qword [rdi + 0x30]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov dword [rsp + 0x4c], eax
call fcn.18002a4b0
mov r15d, dword [rsp + 0x4c]
test r15d, r15d
jne 0x180030eee
mov rax, qword [rbp - 0x30]
lea r9d, [r15 - 1]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov qword [rax], rbx
mov edx, dword [r14 + r12*8 + 4]
call fcn.18002d660
mov rcx, qword [rbp - 0x30]
test rax, rax
je 0x180032328
mov qword [rax + 0x30], rcx
inc dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x50], 1
call qword [rdi + 0x38]
mov r11, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 0xc]
movsxd rcx, dword [r14 + r12*8 + 4]
mov rbx, qword [r11 + 0x18]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x60]
add rdx, qword [rsp + 0x58]
movsxd r9, dword [rdx + 0x38]
lea r10, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov r15d, dword [rdx]
xor edx, edx
mov rdi, qword [r13 + 0x30]
mov r14, qword [rdi]
mov rsi, qword [r14]
test r9d, r9d
jle 0x180032399
nop
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbx + rdx*8], rcx
inc rdx
cmp rdx, r9
jl 0x180032380
mov rax, qword [rsp + 0x50]
mov edx, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rbx
and dword [rax + 0x8c], 0xfffffff7
or dword [rax + 0x8c], 4
mov rax, qword [rsp + 0x70]
mov r8, qword [rax + r12*8 + 0x10]
call qword [rsi + 0x40]
mov dword [rsp + 0x4c], eax
mov rdx, r14
mov rax, qword [rsp + 0x50]
mov rcx, rax
and dword [rax + 0x8c], 0xfffffff3
call fcn.18002a4b0
mov r15d, dword [rsp + 0x4c]
test r15d, r15d
jne 0x18003241f
mov rcx, rdi
call qword [rsi + 0x50]
mov r14, qword [rsp + 0x70]
test eax, eax
je 0x180032424
mov edi, dword [r14 + r12*8 + 8]
mov r11, qword [rsp + 0x50]
dec edi
mov dword [rsp + 0x40], edi
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov byte [r13 + 0x25], r15b
mov r13, qword [rsp + 0x78]
jmp 0x1800328f9
mov r14, qword [rsp + 0x70]
mov byte [r13 + 0x25], 0
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
mov rax, qword [r11 + 0x60]
movsxd rcx, dword [r14 + r12*8 + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r14 + r12*8 + 0xc]
imul rdi, rax, 0x38
add rdi, rdx
cmp byte [rcx + 0x25], 0
je 0x180032476
mov rcx, rdi
call fcn.180024e30
inc dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x18002fa37
mov rax, qword [rcx + 0x30]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov edx, 0xbe01
mov rbx, qword [rax]
mov rax, qword [rbx]
movdqu xmmword [rbp + 0x118], xmm0
mov qword [rbp + 0x138], r10
movdqu xmmword [rbp + 0x128], xmm1
mov qword [rbp + 0x110], rdi
and word [rdi + 8], dx
lea rdx, [rbp + 0x110]
or word [rdi + 8], 1
mov r8d, dword [r14 + r12*8 + 8]
mov rcx, qword [rcx + 0x30]
call qword [rax + 0x58]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov dword [rsp + 0x4c], eax
call fcn.18002a4b0
mov eax, dword [rbp + 0x134]
test eax, eax
mov ecx, dword [rsp + 0x4c]
movzx edx, byte [rsp + 0x60]
cmovne ecx, eax
mov dword [rsp + 0x4c], ecx
mov rcx, rdi
call fcn.180024350
mov rcx, rdi
call fcn.180024fa0
mov rdi, qword [rsp + 0x68]
test eax, eax
jne 0x180032c91
mov r15d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
movsxd rcx, dword [r14 + r12*8 + 4]
mov rax, qword [r11 + 0x60]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 0x25], 0
jne 0x1800328da
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax]
mov rsi, qword [rbx]
and dword [r11 + 0x8c], 0xfffffff7
or dword [r11 + 0x8c], 4
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x48]
mov dword [rsp + 0x4c], eax
mov rdx, rbx
mov rax, qword [rsp + 0x50]
mov rcx, rax
and dword [rax + 0x8c], 0xfffffff3
call fcn.18002a4b0
cmp dword [rsp + 0x4c], 0
jne 0x18003257f
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x180032591
mov r15d, dword [r14 + r12*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
mov esi, r15d
jmp 0x180032595
mov esi, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
xor r10d, r10d
mov eax, dword [rdi + 0x140]
test eax, eax
jne 0x180032cbf
mov r8, qword [rdi + 0x188]
mov r12d, dword [rsp + 0x44]
test r8, r8
je 0x1800328aa
cmp r12d, dword [rbp - 0x70]
jb 0x1800328aa
mov ebx, dword [rdi + 0x198]
xor edx, edx
mov rcx, qword [rdi + 0x190]
mov eax, r12d
div ebx
sub ebx, edx
add ebx, r12d
mov dword [rbp - 0x70], ebx
call r8
mov r11, qword [rsp + 0x50]
test eax, eax
jne 0x180032cb4
mov r15d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
xor r10d, r10d
jmp 0x180032906
mov rax, qword [r14 + r12*8 + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [r14 + r12*8 + 4]
imul rbx, rax, 0x38
add rbx, rdx
mov edx, r8d
mov rcx, rbx
call fcn.180024350
mov dword [rsp + 0x4c], eax
mov r15d, eax
test eax, eax
jne 0x180030eee
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
mov dword [rsp + 0x4c], eax
call fcn.18002a4b0
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x68]
and dword [r11 + 0x8c], 0xffffffdf
jmp 0x1800328f9
mov rax, qword [r14 + r12*8 + 0x10]
mov rbx, qword [rax + 0x10]
mov r11, qword [rbx]
cmp qword [r11 + 0x68], 0
je 0x1800328ef
movsxd rax, dword [r14 + r12*8 + 0xc]
mov r15, qword [rsp + 0x50]
movzx edi, byte [rdi + 0x54]
imul rcx, rax, 0x38
mov r8, qword [r15 + 0x18]
mov rax, r10
movsxd r10, dword [r14 + r12*8 + 8]
add rcx, rdx
test r10d, r10d
jle 0x1800326d0
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, r10
jl 0x1800326c0
movzx eax, byte [r14 + r12*8 + 3]
lea r9, [rbp + 0x1d0]
mov rsi, qword [rsp + 0x68]
mov edx, r10d
mov rcx, rbx
mov byte [rsi + 0x54], al
call qword [r11 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x54], dil
mov rcx, r15
mov dword [rsp + 0x4c], eax
call fcn.18002a4b0
mov r15d, dword [rsp + 0x4c]
mov rdi, rsi
test r15d, r15d
jne 0x180032725
cmp dword [r14 + r12*8 + 4], r15d
je 0x180032725
mov rbx, qword [rbp + 0x1d0]
mov qword [rbp - 0x58], rbx
mov qword [rsi + 0x30], rbx
cmp r15b, 0x13
jne 0x18003277d
mov rax, qword [r14 + r12*8 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x18003277d
movzx ecx, byte [r14 + r12*8 + 3]
cmp cl, 4
jne 0x18003275b
xor r10d, r10d
mov r15d, r10d
mov dword [rsp + 0x4c], r10d
mov esi, dword [rsp + 0x40]
inc esi
mov dword [rsp + 0x40], esi
jmp 0x18002fa3e
mov r11, qword [rsp + 0x50]
mov eax, ecx
mov esi, dword [rsp + 0x40]
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov byte [r11 + 0x8a], al
jmp 0x1800328f9
mov r11, qword [rsp + 0x50]
mov esi, dword [rsp + 0x40]
inc dword [r11 + 0x90]
jmp 0x1800328f9
movsxd rax, dword [r14 + r12*8 + 4]
mov rcx, qword [rdi + 0x20]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180019350
mov eax, eax
inc esi
mov qword [r13], rax
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
movsxd rcx, dword [r14 + r12*8 + 4]
mov edx, r10d
mov rax, qword [rdi + 0x20]
shl rcx, 5
cmp dword [r14 + r12*8 + 0xc], 0
mov rbx, qword [rcx + rax + 8]
je 0x1800327ec
mov rcx, rbx
call fcn.180019350
cmp eax, dword [r14 + r12*8 + 0xc]
mov edx, eax
cmovb edx, dword [r14 + r12*8 + 0xc]
mov rcx, rbx
call fcn.18001a070
movsxd rcx, eax
inc esi
mov qword [r13], rcx
mov dword [rsp + 0x40], esi
jmp 0x18002fa3b
mov eax, dword [r14 + r12*8 + 8]
test eax, eax
mov rsi, qword [rsp + 0x68]
lea ecx, [rax - 1]
cmove ecx, dword [rsp + 0x40]
cmp qword [rsi + 0xc0], 0
mov edi, ecx
mov eax, ecx
je 0x1800328e1
mov ecx, 0x800
test dword [r11 + 0x8c], ecx
jne 0x1800328e1
mov rdx, qword [r14 + r12*8 + 0x10]
test rdx, rdx
jne 0x180032858
mov rdx, qword [r11 + 0xe0]
test rdx, rdx
je 0x1800328e8
mov rcx, r11
call fcn.18002d120
mov rcx, qword [rsi + 0xc8]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xc0]
mov rdx, rbx
mov rcx, rsi
call fcn.1800057f0
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x40], edi
mov rdi, rsi
mov esi, dword [rsp + 0x40]
jmp 0x1800328f9
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x4c]
mov esi, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
jmp 0x1800328f9
mov r15d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
jmp 0x180032906
mov r15d, dword [rsp + 0x4c]
xor r10d, r10d
jmp case.default.0x18002dc3e
mov r15d, dword [rsp + 0x4c]
jmp case.default.0x18002dc3e
mov r15d, dword [rsp + 0x4c]
mov r11, qword [rsp + 0x50]
jmp 0x1800328fc
mov r15d, dword [rsp + 0x4c]
jmp 0x180032906
mov rdi, qword [rsp + 0x68]
jmp case.default.0x18002dc3e
mov rdi, rsi
mov esi, eax
jmp case.default.0x18002dc3e
mov rdi, rsi
mov esi, eax
jmp 0x1800328fc
mov r11, qword [rsp + 0x50]
jmp case.default.0x18002dc3e
mov r11, rbx
xor r10d, r10d
mov rdx, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x44]
inc esi
mov dword [rsp + 0x40], esi
test r15d, r15d
jne 0x180032d32
mov ecx, 0x2460
lea r8d, [r15 + 1]
jmp 0x18002dbb0
mov ebx, dword [rsp + 0x40]
mov dword [r11 + 0x84], ecx
movzx eax, byte [r14 + r12*8 + 8]
mov byte [r11 + 0x8a], al
mov dword [r11 + 0x80], ebx
test ecx, ecx
je 0x1800329e6
movzx eax, byte [r14 + r12*8 + 3]
test al, al
je 0x18003298f
lea rcx, [0x180000000]
mov r10, qword [rcx + rax*8 + 0x10daf0]
test r10, r10
je 0x18003298f
mov rax, qword [r14 + r12*8 + 0x10]
test rax, rax
je 0x18003298f
lea rcx, [r11 + 0x48]
mov qword [rsp + 0x20], rax
mov r9, r10
lea r8, str._s_constraint_failed:__s
mov rdx, rdi
call fcn.180005dd0
jmp 0x1800329b8
mov r9, qword [r14 + r12*8 + 0x10]
lea rcx, [r11 + 0x48]
mov rdx, rdi
test r9, r9
je 0x1800329a9
lea r8, [0x180108de4]
jmp 0x1800329b3
mov r9, r10
lea r8, str._s_constraint_failed
call fcn.180005dd0
mov rcx, qword [rsp + 0x50]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov rax, qword [rcx + 0x48]
mov r9, qword [rcx + 0xe0]
mov ecx, dword [r14 + r12*8 + 4]
mov qword [rsp + 0x20], rax
call fcn.180007ca0
mov r11, qword [rsp + 0x50]
mov rcx, r11
call fcn.180028130
mov r11, qword [rsp + 0x50]
cmp eax, 5
je 0x180032b54
cmp dword [r11 + 0x84], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x18002fb1d
mov r13d, 9
jmp 0x18002fab4
mov r13d, 0x14
jmp 0x180032bd0
mov r13d, 0xb
lea r9, [0x18010d064]
mov ecx, r13d
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x116df
call fcn.180007ca0
jmp 0x18002fab0
mov r13d, 0xb
lea r9, [0x18010d064]
mov ecx, r13d
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x11733
call fcn.180007ca0
mov rdi, qword [rsp + 0x68]
jmp 0x18002fab0
lea rcx, [r11 + 0x48]
mov rdx, rdi
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
call fcn.180005dd0
mov r13d, 5
jmp 0x18002fab0
mov rcx, qword [rsp + 0x50]
lea r8, str.cannot_release_savepoint___SQL_statements_in_progress
add rcx, 0x48
mov rdx, rdi
call fcn.180005dd0
mov r13d, 5
jmp 0x18002fab0
mov eax, dword [rsp + 0x40]
mov ebx, 5
mov dword [r12 + 0x80], eax
mov r11, r12
mov byte [rdi + 0x4e], 0
mov dword [r12 + 0x84], ebx
jmp 0x18002fb1d
test ecx, ecx
je 0x180032b0c
mov edx, 0x204
mov rcx, rbx
call fcn.180084e60
mov byte [rbx + 0x4e], 1
mov rcx, rbx
call fcn.180084440
mov r11, qword [rsp + 0x50]
jmp 0x1800329fc
mov edx, r8d
mov rcx, r11
call fcn.1800280d0
mov ebx, eax
test eax, eax
jne 0x18002fb18
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov byte [rbx + 0x4e], dil
call fcn.180028130
cmp eax, 5
jne 0x180032afa
mov eax, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov dword [r11 + 0x80], eax
mov eax, 1
sub al, dil
mov byte [rbx + 0x4e], al
mov ebx, 5
mov dword [r11 + 0x84], ebx
jmp 0x18002fb1d
mov r13d, 8
jmp 0x180032bd0
mov r11, qword [rsp + 0x50]
mov ebx, 5
mov eax, dword [rsp + 0x40]
mov dword [r11 + 0x80], eax
mov dword [r11 + 0x84], ebx
jmp 0x18002fb1d
mov r13d, 0xb
lea r9, [0x18010d064]
mov ecx, r13d
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x11a80
call fcn.180007ca0
mov rdi, qword [rsp + 0x68]
jmp 0x180032bd0
inc dword [rsp + 0x40]
mov r13d, 0x204
jmp 0x18002fab9
mov rdi, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x4c]
cmp byte [rdi + 0x50], 0
je 0x180032bde
mov r13d, 7
jmp 0x180032beb
cmp r13d, 0xc0a
je 0x18002fab4
mov ecx, r13d
call fcn.180085020
mov rcx, qword [rsp + 0x50]
lea r8, [0x180108de4]
add rcx, 0x48
mov r9, rax
mov rdx, rdi
call fcn.180005dd0
jmp 0x18002fab4
inc dword [rsp + 0x40]
mov r13d, 6
mov byte [r11 + 0x8a], 2
jmp 0x18002fab9
mov r13d, r8d
lea rcx, [r11 + 0x48]
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, rdi
call fcn.180005dd0
jmp 0x18002fab0
mov rcx, qword [rsp + 0x50]
lea rax, str.into
mov rdi, qword [rsp + 0x68]
lea r9, str.out_of
cmp ebx, 5
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rdx, rdi
mov r13d, 1
cmove r9, rax
add rcx, 0x48
call fcn.180005dd0
jmp 0x18002fab0
mov rdi, rax
jmp 0x180032c91
mov rdi, qword [rsp + 0x68]
jmp 0x180032c91
mov rdi, rcx
mov rcx, qword [rsp + 0x50]
lea r8, str.string_or_blob_too_big
add rcx, 0x48
mov rdx, rdi
call fcn.180005dd0
mov r13d, 0x12
jmp 0x18002fab4
mov r13d, 9
jmp 0x18002fab9
movzx esi, byte [rsp + 0x48]
mov r13d, 9
mov ecx, r13d
mov dword [r11 + 0x84], r13d
call fcn.180085020
mov rcx, qword [rsp + 0x50]
lea r8, [0x180108de4]
add rcx, 0x48
mov r9, rax
mov rdx, rdi
call fcn.180005dd0
mov r11, qword [rsp + 0x50]
jmp 0x18002fabe
mov rdi, rcx
mov r11, qword [rsp + 0x50]
movzx esi, byte [rsp + 0x48]
lea rcx, [r11 + 0x48]
mov byte [rdi + 0x50], 1
lea r8, [0x180109508]
mov rdx, rdi
call fcn.180005dd0
mov r11, qword [rsp + 0x50]
mov r13d, 7
jmp 0x18002fabe
mov r13d, dword [rsp + 0x4c]
jmp 0x18002fab9
mov r11, r12
jmp 0x18002fb1d