Function at 0x18008a6d0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x180175020]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rsi, qword [rcx]
mov rbp, qword [rcx + 0x20]
mov rbx, qword [rcx + 0x80]
mov rax, qword [rsi + 0x10]
xor r15d, r15d
mov rdi, rcx
mov rdx, qword [rax + 0x18]
mov r13d, r15d
mov qword [rsp + 0x58], rcx
movzx eax, byte [rdx + 0x71]
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x78], rbp
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x60], r13b
mov byte [rsp + 0x48], al
mov dword [rsp + 0x80], r15d
mov qword [rsp + 0x50], rbx
mov r14, r15
mov dword [rsp + 0x70], r15d
mov qword [rsp + 0x88], r15
call fcn.1800863a0
cmp dword [rdi + 0x90], 7
je 0x18008af8d
mov dword [rdi + 0x90], r15d
mov qword [rdi + 0x48], r15
mov eax, dword [rsi + 0x148]
mov dword [rsi + 0x2b8], r15d
test eax, eax
jne 0x180090f10
mov ecx, dword [rdi + 0x8c]
xorpd xmm6, xmm6
mov eax, r15d
cmp qword [rsi + 0x188], rax
mov dword [rsp + 0x40], ecx
lea r8d, [r15 + 4]
setne al
cdqe
mov qword [rsp + 0xa0], rax
cmp byte [rsi + 0x2a], 0
jne 0x18008af8d
movsxd rbx, ecx
lea r12, [rbx + rbx*2]
mov qword [rsp + 0x98], r12
test rax, rax
je 0x18008a816
mov eax, dword [rsp + 0x80]
cmp dword [rsi + 0x198], eax
jne 0x18008a80d
mov rcx, qword [rsi + 0x190]
call qword [rsi + 0x188]
test eax, eax
jne 0x180090b16
mov eax, r15d
mov r8d, 4
inc eax
mov dword [rsp + 0x80], eax
test byte [rbp + r12*8 + 2], 2
je 0x18008a83f
movsxd r14, dword [rbp + r12*8 + 8]
imul r14, r14, 0x38
add r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.180082d10
mov r8d, 4
mov word [r14 + 0x24], r8w
movzx eax, byte [rbp + r12*8]
dec eax
cmp eax, 0x90
ja case.0x18008a865.17
lea rdx, [0x180000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x90f40]
add rcx, rdx
jmp rcx
mov eax, dword [rsi + 0x148]
test eax, eax
jne 0x180090f10
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 4]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov word [rax + 0x24], r8w
mov qword [rax], rbx
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
mov ecx, dword [rax + rcx]
jmp 0x180090afa
movsxd rcx, dword [rbp + r12*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov eax, dword [rcx]
mov word [rcx + 0x24], r8w
mov dword [rsp + 0xb0], eax
mov qword [rcx], rbx
mov ecx, dword [rsp + 0xb0]
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 0xc]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], 1
je case.0x18008a865.17
cmp dword [rbp + r12*8 + 4], 0
jne 0x180090b21
mov r8, qword [rdi + 0x158]
test r8, r8
je 0x180090b21
mov rax, qword [r8 + 0x60]
dec dword [rdi + 0x160]
mov qword [rdi + 0x158], rax
mov eax, dword [rdi + 0xac]
add dword [rsi + 0x50], eax
mov dword [rsi + 0x4c], eax
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8]
mov rcx, qword [rdx]
mov qword [rdx + 0x20], rax
mov eax, dword [r8 + 0x18]
mov dword [rdx + 0x18], eax
mov rax, qword [r8 + 0x20]
mov qword [rdx + 0x80], rax
mov eax, dword [r8 + 0x28]
mov dword [rdx + 0x7c], eax
mov rax, qword [r8 + 0x30]
mov qword [rdx + 0x58], rax
movzx eax, word [r8 + 0x38]
mov word [rdx + 0x52], ax
mov rax, qword [r8 + 0x50]
mov qword [rcx + 0x40], rax
mov eax, dword [r8 + 0x58]
mov dword [rdx + 0xac], eax
cmp dword [rbp + r12*8 + 8], 4
mov ecx, dword [r8 + 8]
jne 0x18008a99f
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x20]
mov ebp, dword [rax + rcx*8 + 8]
dec ebp
mov ecx, ebp
mov rbp, qword [rdi + 0x20]
mov rax, qword [rdi + 0x80]
mov r8d, 4
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x50], rax
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 4]
mov qword [r14], rax
jmp case.0x18008a865.17
mov rax, qword [rbp + r12*8 + 0x10]
mov rcx, qword [rax]
mov qword [r14], rcx
jmp case.0x18008a865.17
mov eax, 8
mov word [r14 + 0x24], ax
mov rax, qword [rbp + r12*8 + 0x10]
mov rcx, qword [rax]
mov qword [r14 + 8], rcx
jmp case.0x18008a865.17
mov rsi, qword [rbp + r12*8 + 0x10]
mov byte [rbp + r12*8], 9
mov rax, rsi
test rsi, rsi
jne 0x18008aa0f
mov eax, r15d
jmp 0x18008aa23
cmp byte [rsi], 0
je 0x18008aa1c
inc rax
cmp byte [rax], 0
jne 0x18008aa14
sub eax, esi
and eax, 0x3fffffff
cmp byte [rsp + 0x48], 1
mov dword [rbp + r12*8 + 4], eax
je 0x18008ab6c
test rsi, rsi
jne 0x18008aa45
mov rcx, r14
call fcn.180083020
jmp 0x18008aae9
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x18008aa53
mov ebp, dword [rax + 0x60]
jmp 0x18008aa58
mov ebp, 0x3b9aca00
mov ebx, r15d
mov rax, r15
test ebp, ebp
js 0x18008aa75
movsxd rcx, ebp
cmp byte [rsi + rax], 0
je 0x18008aa75
inc rax
inc ebx
cmp rax, rcx
jle 0x18008aa65
lea rax, [fcn.180064250]
mov edi, 0x202
mov rcx, r14
test rax, rax
jne 0x18008aaa1
call fcn.180082d10
mov rdx, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x10]
call fcn.180064250
mov qword [r14 + 0x30], rsi
jmp 0x18008aabc
call fcn.180082d10
mov rdx, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x10]
call fcn.180064250
mov qword [r14 + 0x30], r15
mov edi, 0xa02
cmp ebx, ebp
mov word [r14 + 0x24], di
mov rdi, qword [rsp + 0x58]
mov qword [r14 + 0x28], r15
mov qword [r14 + 0x18], rsi
mov dword [r14 + 0x20], ebx
mov byte [r14 + 0x27], 1
mov byte [r14 + 0x26], 3
jg 0x180090ee3
mov rbp, qword [rsp + 0x78]
test byte [r14 + 0x24], 2
movzx ecx, byte [rsp + 0x48]
mov dword [rsp + 0x44], r15d
mov r13d, r15d
je 0x18008ab19
movzx eax, byte [r14 + 0x27]
cmp eax, ecx
je 0x18008ab19
movzx edx, cl
mov rcx, r14
call fcn.180066340
test eax, eax
jne 0x180090f34
movzx eax, word [r14 + 0x24]
mov ecx, 0xfbff
mov qword [r14 + 0x30], r15
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [r14 + 0x24], ax
cmp byte [rbp + r12*8 + 1], 0xff
jne 0x18008ab4e
mov rdx, qword [rbp + r12*8 + 0x10]
mov rcx, qword [rsp + 0x68]
call fcn.180064250
mov byte [rbp + r12*8 + 1], 0xff
mov rax, qword [r14 + 0x18]
mov r8d, 4
mov qword [rbp + r12*8 + 0x10], rax
mov eax, dword [r14 + 0x20]
mov dword [rbp + r12*8 + 4], eax
mov rsi, qword [rsp + 0x68]
mov eax, dword [rsi + 0x60]
cmp dword [rbp + r12*8 + 4], eax
jg 0x180090eef
mov eax, 0xa02
mov word [r14 + 0x24], ax
mov rax, qword [rbp + r12*8 + 0x10]
mov qword [r14 + 0x18], rax
mov eax, dword [rbp + r12*8 + 4]
mov dword [r14 + 0x20], eax
mov al, byte [rsp + 0x48]
mov byte [r14 + 0x27], al
jmp case.0x18008a865.17
mov eax, 1
mov word [r14 + 0x24], ax
jmp case.0x18008a865.17
mov rdi, qword [rbp + r12*8 + 0x10]
mov ebx, dword [rbp + r12*8 + 4]
test rdi, rdi
jne 0x18008abe0
mov rcx, r14
call fcn.180083020
mov al, byte [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov byte [r14 + 0x27], al
jmp 0x180090af0
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x18008abee
mov eax, dword [rax + 0x60]
jmp 0x18008abf3
mov eax, 0x3b9aca00
mov esi, 0x10
test ebx, ebx
jns 0x18008ac2b
mov ebx, r15d
mov rcx, r15
test eax, eax
js 0x18008ac26
movsxd rdx, eax
nop dword [rax]
movzx eax, byte [rcx + rdi + 1]
or al, byte [rcx + rdi]
je 0x18008ac26
add rcx, 2
add ebx, 2
cmp rcx, rdx
jle 0x18008ac10
mov esi, 0x210
lea rax, [fcn.180064250]
mov rcx, r14
test rax, rax
jne 0x18008ac52
call fcn.180082d10
mov rdx, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x10]
call fcn.180064250
mov qword [r14 + 0x30], rdi
jmp 0x18008ac70
call fcn.180082d10
mov rdx, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x10]
call fcn.180064250
mov eax, 0x800
mov qword [r14 + 0x30], r15
or si, ax
mov al, byte [rsp + 0x48]
mov word [r14 + 0x24], si
mov rsi, qword [rsp + 0x68]
mov byte [r14 + 0x27], 1
mov qword [r14 + 0x28], r15
mov qword [r14 + 0x18], rdi
mov byte [r14 + 0x27], al
mov dword [r14 + 0x20], ebx
mov byte [r14 + 0x26], 4
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov eax, dword [rbp + r12*8 + 4]
dec eax
movsxd rdx, eax
imul rdx, rdx, 0x38
add rdx, qword [rdi + 0x68]
mov qword [rsp + 0xb0], rdx
movzx eax, word [rdx + 0x24]
test al, 0x12
je 0x18008aceb
mov r8d, dword [rdx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x18008acd5
add r8d, dword [rdx]
mov rax, qword [rdx + 0x10]
mov ecx, r15d
cmp r8d, dword [rax + 0x60]
setg cl
test ecx, ecx
jne 0x180090eef
mov r8d, 0x800
mov rcx, r14
call fcn.1800832a0
jmp 0x180090af0
mov edx, dword [rbp + r12*8 + 0xc]
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0xb8], edx
movsxd rax, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xbc], eax
movsxd rcx, dword [rbp + r12*8 + 8]
mov rbx, rax
imul rbx, rbx, 0x38
mov r14, rcx
add rbx, r11
mov dword [rsp + 0xc0], ecx
imul r14, r14, 0x38
add r14, r11
test edx, edx
je 0x18008ad87
nop
dec edx
mov rcx, r14
mov dword [rsp + 0xb8], edx
mov rax, qword [r14 + 0x30]
mov rdx, rbx
mov qword [rsp + 0xb0], rax
mov qword [r14 + 0x30], r15
call fcn.1800833d0
mov r11, qword [rsp + 0xb0]
add rbx, 0x38
add r14, 0x38
mov qword [rbx - 8], r11
mov edx, dword [rsp + 0xb8]
test edx, edx
jne 0x18008ad40
lea r8d, [rdx + 4]
dec edx
mov dword [rsp + 0xb8], edx
jmp case.0x18008a865.17
mov rbx, qword [rsp + 0x50]
movsxd r14, dword [rbp + r12*8 + 8]
movsxd rdx, dword [rbp + r12*8 + 4]
imul rdx, rdx, 0x38
imul r14, r14, 0x38
add r14, rbx
add rdx, rbx
mov ebx, 0x1000
mov r8d, ebx
mov rcx, r14
call fcn.1800832a0
test word [r14 + 0x24], bx
je 0x180090af0
mov rcx, r14
call fcn.1800829f0
test eax, eax
jne 0x18008af8d
jmp 0x180090af0
movsxd r14, dword [rbp + r12*8 + 8]
movsxd rdx, dword [rbp + r12*8 + 4]
mov rbx, qword [rsp + 0x50]
imul r14, r14, 0x38
imul rdx, rdx, 0x38
add r14, rbx
add rdx, rbx
mov r8d, 0x1000
mov rcx, r14
call fcn.1800832a0
jmp 0x180090af0
cmp qword [rdi + 0x140], 0
jle 0x18008ae50
mov rdx, qword [rdi]
lea rcx, [rdi + 0x98]
lea r8, str.foreign_key_constraint_failed
mov dword [rdi + 0x90], 0x13
mov byte [rdi + 0x60], 2
call fcn.180064760
mov r13d, 1
mov dword [rsp + 0x44], r13d
jmp 0x180090af0
mov rsi, qword [rdi]
mov r13d, r15d
mov dword [rsp + 0x44], r15d
cmp dword [rsi + 0x314], 0
je 0x18008aede
mov eax, dword [rdi + 0x150]
test eax, eax
je 0x18008aede
cmp dword [rsi + 8], 0
lea ebp, [rax - 1]
mov edi, r15d
jle 0x18008aec7
mov rbx, r15
mov r15d, 1
nop word [rax + rax]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rbx + rax + 8]
test rcx, rcx
je 0x18008aeb0
mov r8d, ebp
mov edx, r15d
call fcn.180078ed0
test r13d, r13d
cmove r13d, eax
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 8]
jl 0x18008ae90
xor r15d, r15d
mov dword [rsp + 0x44], r13d
lea r8d, [r15 + 4]
mov rdi, qword [rsp + 0x58]
dec dword [rsi + 0x314]
mov rbp, qword [rsp + 0x78]
mov dword [rdi + 0x150], r15d
test r13d, r13d
je 0x180090bd4
mov rsi, qword [rsp + 0x68]
jmp case.0x18008a865.17
mov rax, qword [rsp + 0x50]
movsxd rdi, dword [rbp + r12*8 + 4]
movsxd rbx, dword [rbp + r12*8 + 8]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
movsxd r14, dword [rbp + r12*8 + 0xc]
add rdi, rax
add rbx, rax
movzx ecx, word [rdi + 0x24]
imul r14, r14, 0x38
add r14, rax
movzx eax, cl
or al, byte [rbx + 0x24]
test al, 1
je 0x18008af3a
mov rcx, r14
call fcn.180083020
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov r12d, 0x4000
test r12w, cx
je 0x18008af52
mov rcx, rdi
call fcn.180082a70
test eax, eax
jne 0x18008af88
test word [rbx + 0x24], r12w
je 0x18008af65
mov rcx, rbx
call fcn.180082a70
test eax, eax
jne 0x18008af88
test byte [rdi + 0x24], 0x12
jne 0x18008b04a
movzx r12d, byte [rsp + 0x48]
mov rcx, rdi
mov edx, r12d
call fcn.180082b50
test eax, eax
je 0x18008b04f
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi + 0x98]
lea r8, str.out_of_memory
mov rdx, rsi
mov byte [rsi + 0x2a], 1
call fcn.180064760
mov r13d, 7
mov rax, qword [rdi + 0x98]
mov r9, qword [rdi + 0x130]
mov r8d, dword [rsp + 0x40]
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov dword [rdi + 0x90], r13d
call fcn.180066060
mov rcx, rdi
call fcn.180086430
cmp r13d, 0xc0a
jne 0x18008aff0
mov byte [rsi + 0x2a], 1
cmp byte [rsp + 0x60], 0
mov ebx, 1
je 0x18008b006
xor edx, edx
mov rcx, rsi
call fcn.18009f1f0
lea rcx, [rdi + 0xc0]
call fcn.180074540
mov eax, ebx
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1800e9aa0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r12b, byte [rsp + 0x48]
test byte [rbx + 0x24], 0x12
jne 0x18008b069
movzx edx, r12b
mov rcx, rbx
call fcn.180082b50
test eax, eax
jne 0x18008af88
mov eax, dword [rdi + 0x20]
add eax, dword [rbx + 0x20]
movsxd rcx, eax
mov qword [rsp + 0xb0], rcx
movsxd rax, dword [rsi + 0x60]
cmp rcx, rax
jg 0x180090eea
mov eax, 0xbf02
mov r8d, r15d
mov rcx, r14
and word [r14 + 0x24], ax
or word [r14 + 0x24], 2
mov edx, dword [rsp + 0xb0]
cmp r14, rbx
sete r8b
add edx, 2
call fcn.1800828a0
test eax, eax
jne 0x18008af88
cmp r14, rbx
je 0x18008b0d1
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [r14 + 0x18]
call sub.MSVCR90.dll_memcpy
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
add rcx, qword [r14 + 0x18]
call sub.MSVCR90.dll_memcpy
mov rax, qword [rsp + 0xb0]
mov r11, qword [r14 + 0x18]
mov rdi, qword [rsp + 0x58]
mov byte [rax + r11], 0
mov rax, qword [rsp + 0xb0]
mov rcx, qword [r14 + 0x18]
mov byte [rcx + rax + 1], 0
mov eax, 0x200
or word [r14 + 0x24], ax
mov eax, dword [rsp + 0xb0]
mov byte [r14 + 0x27], r12b
mov dword [r14 + 0x20], eax
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
mov r14, qword [rsp + 0x50]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.18008a450
movsxd rdi, dword [rbp + r12*8 + 8]
imul rdi, rdi, 0x38
add rdi, r14
mov rcx, rdi
call fcn.18008a450
movsxd r14, dword [rbp + r12*8 + 0xc]
movzx ecx, word [rdi + 0x24]
imul r14, r14, 0x38
movzx eax, word [rbx + 0x24]
add r14, qword [rsp + 0x50]
or ecx, eax
mov dword [rsp + 0xb0], ecx
test cl, 1
jne 0x18008af28
movzx eax, byte [rdi + 0x24]
and al, byte [rbx + 0x24]
test al, 4
je 0x18008b264
mov rcx, qword [rbx]
mov qword [rsp + 0xb8], rcx
mov rdx, qword [rdi]
mov qword [rsp + 0xc0], rdx
movzx r8d, byte [rbp + r12*8]
sub r8d, 0x56
je 0x18008b23c
sub r8d, 1
je 0x18008b237
sub r8d, 1
je 0x18008b231
cmp r8d, 1
je 0x18008b1ef
test rcx, rcx
je 0x18008af28
cmp rcx, 0xffffffffffffffff
mov eax, 1
cmove rcx, rax
mov rax, rdx
cqo
mov qword [rsp + 0xb8], rcx
idiv rcx
jmp 0x18008b23f
test rcx, rcx
je 0x18008af28
cmp rcx, 0xffffffffffffffff
jne 0x18008b21c
movabs rax, 0x8000000000000000
cmp rdx, rax
mov eax, 1
cmove rcx, rax
mov qword [rsp + 0xb8], rcx
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
mov qword [rsp + 0xc0], rax
jmp 0x18008b247
imul rdx, rcx
jmp 0x18008b23f
sub rdx, rcx
jmp 0x18008b23f
add rdx, rcx
mov qword [rsp + 0xc0], rdx
mov rdi, qword [rsp + 0x58]
mov eax, 0xbf04
mov qword [r14], rdx
and word [r14 + 0x24], ax
or word [r14 + 0x24], 4
jmp 0x180090af0
mov rcx, rbx
call fcn.180082e80
mov rcx, rdi
movsd qword [rsp + 0xc8], xmm0
call fcn.180082e80
movsd qword [rsp + 0xd0], xmm0
movzx ecx, byte [rbp + r12*8]
movapd xmm5, xmm0
sub ecx, 0x56
je 0x18008b32e
sub ecx, 1
je 0x18008b31b
sub ecx, 1
je 0x18008b310
cmp ecx, 1
je 0x18008b2f5
cvttsd2si rcx, qword [rsp + 0xc8]
cvttsd2si rax, xmm0
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], rcx
test rcx, rcx
je 0x18008af28
cmp rcx, 0xffffffffffffffff
mov edx, 1
pxor xmm5, xmm5
cmove rcx, rdx
cqo
mov qword [rsp + 0xb8], rcx
idiv rcx
cvtsi2sd xmm5, rdx
jmp 0x18008b337
movsd xmm0, qword [rsp + 0xc8]
ucomisd xmm0, xmm6
jp 0x18008b30a
je 0x18008af28
divsd xmm5, xmm0
jmp 0x18008b337
mulsd xmm5, qword [rsp + 0xc8]
jmp 0x18008b337
movapd xmm0, xmm6
subsd xmm0, qword [rsp + 0xc8]
addsd xmm5, xmm0
jmp 0x18008b337
addsd xmm5, qword [rsp + 0xc8]
movapd xmm0, xmm5
movsd qword [rsp + 0xd0], xmm5
call fcn.180066ab0
test eax, eax
jne 0x18008af28
movsd xmm0, qword [rsp + 0xd0]
mov eax, 0xbf08
and word [r14 + 0x24], ax
or word [r14 + 0x24], 8
movsd qword [r14 + 8], xmm0
test byte [rsp + 0xb0], 8
jne 0x18008ac98
mov rcx, r14
call fcn.180082f30
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
movzx eax, byte [rbp + r12*8 + 3]
mov r8, qword [rdi + 0x38]
mov r9, qword [rsp + 0x50]
mov dword [rsp + 0x128], eax
mov qword [rsp + 0x120], r8
movsxd rdx, dword [rbp + r12*8 + 8]
mov ecx, r15d
imul rdx, rdx, 0x38
add rdx, r9
mov dword [rsp + 0xb0], ecx
mov qword [rsp + 0xb8], rdx
test eax, eax
jle 0x18008b41b
movsxd rax, ecx
mov qword [r8 + rax*8], rdx
mov rcx, qword [rsp + 0xb8]
call fcn.18008a2d0
mov ecx, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
inc ecx
add rdx, 0x38
cmp ecx, dword [rsp + 0x128]
mov dword [rsp + 0xb0], ecx
mov qword [rsp + 0xb8], rdx
jge 0x18008b41b
mov r8, qword [rsp + 0x120]
jmp 0x18008b3d0
cmp byte [rbp + r12*8 + 1], 0xfb
mov rax, qword [rbp + r12*8 + 0x10]
jne 0x18008b432
mov qword [rsp + 0xc8], r15
jmp 0x18008b43d
mov qword [rsp + 0xc8], rax
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
movsxd r14, dword [rbp + r12*8 + 0xc]
lea rcx, [rsp + 0xd0]
mov ebx, 1
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xf8], r15
imul r14, r14, 0x38
add r14, r9
mov qword [rsp + 0x100], r15
mov word [rsp + 0xf4], bx
mov rdx, r14
call fcn.1800833d0
movzx r11d, word [rsp + 0xf4]
mov r9, qword [rsp + 0xc0]
mov eax, 0xbf01
mov dword [rsp + 0x110], r15d
and r11w, ax
or r11w, bx
mov word [rsp + 0xf4], r11w
test byte [r9 + 3], 8
je 0x18008b4c9
mov rax, qword [rbp + r12*8 - 8]
mov qword [rsp + 0x118], rax
mov r8, qword [rsp + 0x120]
mov edx, dword [rsp + 0x128]
lea rcx, [rsp + 0xc0]
call qword [r9 + 0x18]
cmp byte [rsi + 0x2a], 0
jne 0x180090c91
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x18008b518
mov edx, dword [rbp + r12*8 + 4]
call fcn.180086a60
mov r11, qword [rsp + 0xc8]
mov byte [rbp + r12*8 + 1], 0xf9
mov qword [rbp + r12*8 + 0x10], r11
cmp dword [rsp + 0x110], 0
je 0x18008b5e3
test byte [rsp + 0xf4], bl
je 0x18008b537
mov r9, r15
jmp 0x18008b5c0
movzx ecx, word [rsp + 0xf4]
movzx eax, cx
shr ax, 3
and ax, 2
or cx, ax
mov eax, 0x4000
mov word [rsp + 0xf4], cx
test ax, cx
je 0x18008b56c
lea rcx, [rsp + 0xd0]
call fcn.180082a70
test byte [rsp + 0xf4], 2
je 0x18008b59e
cmp byte [rsp + 0xf7], bl
je 0x18008b58f
lea rcx, [rsp + 0xd0]
movzx edx, bl
call fcn.180066340
lea rcx, [rsp + 0xd0]
call fcn.180082ae0
jmp 0x18008b5ad
lea rcx, [rsp + 0xd0]
mov edx, ebx
call fcn.180082b50
cmp byte [rsp + 0xf7], bl
mov r9, r15
cmove r9, qword [rsp + 0xe8]
lea rcx, [rdi + 0x98]
lea r8, [0x1801277c8]
mov rdx, rsi
call fcn.180064760
mov r13d, dword [rsp + 0x110]
mov dword [rsp + 0x44], r13d
test byte [rsp + 0xf4], 2
movzx ecx, byte [rsp + 0x48]
je 0x18008b60e
movzx eax, byte [rsp + 0xf7]
cmp eax, ecx
je 0x18008b60e
movzx edx, cl
lea rcx, [rsp + 0xd0]
call fcn.180066340
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.1800833d0
movzx r11d, word [r14 + 0x24]
test r11b, 0x12
je 0x180090af0
mov edx, dword [r14 + 0x20]
mov eax, 0x4000
test ax, r11w
je 0x18008b63f
add edx, dword [r14]
mov rax, qword [r14 + 0x10]
mov ecx, r15d
cmp edx, dword [rax + 0x60]
setg cl
test ecx, ecx
jne 0x180090eef
jmp 0x180090af0
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rbp + r12*8 + 8]
movsxd rbx, dword [rbp + r12*8 + 4]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
movsxd r14, dword [rbp + r12*8 + 0xc]
add rcx, rax
add rbx, rax
imul r14, r14, 0x38
add r14, rax
movzx eax, byte [rcx + 0x24]
or al, byte [rbx + 0x24]
test al, 1
je 0x18008b69a
mov rcx, r14
call fcn.180083020
jmp 0x180090af0
call fcn.180082dd0
mov rcx, rbx
mov qword [rsp + 0xb0], rax
call fcn.180082dd0
mov qword [rsp + 0xb8], rax
movzx ecx, byte [rbp + r12*8]
mov r11, rax
sub ecx, 0x52
je 0x18008b6f1
sub ecx, 1
je 0x18008b6e4
cmp ecx, 1
mov rcx, rax
mov rax, qword [rsp + 0xb0]
je 0x18008b6df
sar rax, cl
jmp 0x18008b6fc
shl rax, cl
jmp 0x18008b6fc
mov rax, qword [rsp + 0xb0]
or rax, r11
jmp 0x18008b6fc
mov rax, qword [rsp + 0xb0]
and rax, r11
mov qword [rsp + 0xb0], rax
mov qword [r14], rax
mov eax, 0xbf04
and word [r14 + 0x24], ax
or word [r14 + 0x24], 4
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.180082dd0
mov ecx, 0xbf04
and word [rbx + 0x24], cx
or word [rbx + 0x24], 4
mov qword [rbx], rax
movsxd rcx, dword [rbp + r12*8 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008a450
test byte [rbx + 0x24], 8
je 0x18008b777
mov rcx, rbx
call fcn.180082f30
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x18008b79a
mov eax, dword [rbp + r12*8 + 8]
test eax, eax
je 0x180090d5e
lea ecx, [rax - 1]
mov r8d, 4
jmp 0x180090afa
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [rbx + 0x24], ax
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], 4
je case.0x18008a865.17
mov rcx, rbx
call fcn.180082e80
mov eax, 0xbf08
movsd qword [rbx + 8], xmm0
and word [rbx + 0x24], ax
or word [rbx + 0x24], 8
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
movzx ecx, word [rbx + 0x24]
test cl, 1
jne case.0x18008a865.17
movzx eax, cx
shr ax, 3
and ax, 2
or ax, cx
mov word [rbx + 0x24], ax
test al, 2
jne 0x18008b829
test al, 0xc
je 0x18008b829
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.180082b50
mov eax, 0xfff3
and word [rbx + 0x24], ax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18008b85a
mov rcx, rbx
call fcn.180082a70
mov r13d, eax
mov dword [rsp + 0x44], eax
mov eax, 0xbfe3
and word [rbx + 0x24], ax
jmp 0x180090af0
mov eax, 0xbfe3
mov r13d, r15d
mov dword [rsp + 0x44], r15d
and word [rbx + 0x24], ax
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
movzx eax, word [rbx + 0x24]
test al, 1
jne case.0x18008a865.17
test al, 0x10
jne 0x18008b8bc
test al, 2
jne 0x18008b8a9
test al, 0xc
je 0x18008b8a9
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.180082b50
mov r8d, 4
mov eax, 0xbf10
and word [rbx + 0x24], ax
or word [rbx + 0x24], 0x10
jmp case.0x18008a865.17
mov ecx, 0xff10
and ax, cx
mov word [rbx + 0x24], ax
jmp case.0x18008a865.17
movsxd rcx, dword [rbp + r12*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], 0xd
jne case.0x18008a865.17
call fcn.180082fa0
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], 1
jne case.0x18008a865.17
mov rcx, rbx
call fcn.180082dd0
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
jmp 0x180090af0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], 1
jne case.0x18008a865.17
jmp 0x18008b7c7
movsxd rbx, dword [rbp + r12*8 + 4]
movsxd rdi, dword [rbp + r12*8 + 0xc]
mov r11, qword [rsp + 0x50]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r11
add rdi, r11
movzx eax, word [rbx + 0x24]
mov word [rsp + 0xb6], ax
movzx eax, word [rdi + 0x24]
mov word [rsp + 0xb8], ax
movzx ecx, word [rdi + 0x24]
movzx edx, word [rbx + 0x24]
movzx eax, cl
or al, dl
test al, 1
je 0x18008b9ee
movzx eax, byte [rbp + r12*8 + 3]
test al, al
jns 0x18008b9ab
mov r8d, r15d
and cl, dl
test cl, 1
sete r8b
mov dword [rsp + 0xb0], r8d
jmp 0x18008ba73
test al, 0x10
je 0x18008b9d5
movsxd r14, dword [rbp + r12*8 + 8]
mov eax, 0xbf01
imul r14, r14, 0x38
add r14, r11
and word [r14 + 0x24], ax
or word [r14 + 0x24], 1
mov rdi, qword [rsp + 0x58]
jmp case.0x18008a865.17
test al, 8
je 0x18008b9cb
mov edi, dword [rbp + r12*8 + 8]
dec edi
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x58]
jmp case.0x18008a865.17
movzx edx, byte [rbp + r12*8 + 3]
and dl, 0x67
mov byte [rsp + 0xb4], dl
je 0x18008ba2e
movzx r8d, byte [rsp + 0x48]
mov rcx, rbx
call fcn.18008a540
movzx r8d, byte [rsp + 0x48]
movzx edx, byte [rsp + 0xb4]
mov rcx, rdi
call fcn.18008a540
cmp byte [rsi + 0x2a], 0
jne 0x18008af88
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18008ba46
mov rcx, rbx
call fcn.180082a70
mov eax, 0x4000
test word [rdi + 0x24], ax
je 0x18008ba54
mov rcx, rdi
call fcn.180082a70
mov r8, qword [rbp + r12*8 + 0x10]
mov rdx, rbx
mov rcx, rdi
call fcn.180083660
mov r11, qword [rsp + 0x50]
mov r8d, eax
mov dword [rsp + 0xb0], eax
movzx edx, byte [rbp + r12*8]
mov eax, r15d
sub edx, 0x4b
je 0x18008babd
sub edx, 1
je 0x18008bab5
sub edx, 1
je 0x18008baad
sub edx, 1
je 0x18008baa5
cmp edx, 1
je 0x18008ba9d
test r8d, r8d
setns al
jmp 0x18008bac3
test r8d, r8d
sets al
jmp 0x18008bac3
test r8d, r8d
setle al
jmp 0x18008bac3
test r8d, r8d
setg al
jmp 0x18008bac3
test r8d, r8d
sete al
jmp 0x18008bac3
test r8d, r8d
setne al
mov dword [rsp + 0xb0], eax
test byte [rbp + r12*8 + 3], 0x10
je 0x18008bafb
movsxd r14, dword [rbp + r12*8 + 8]
mov eax, 0xbf04
imul r14, r14, 0x38
add r14, r11
and word [r14 + 0x24], ax
or word [r14 + 0x24], 4
movsxd rax, dword [rsp + 0xb0]
mov qword [r14], rax
jmp 0x18008bb0a
test eax, eax
je 0x18008bb0a
mov eax, dword [rbp + r12*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0xb6]
mov byte [rbx + 0x24], al
movzx eax, byte [rsp + 0xb8]
mov byte [rdi + 0x24], al
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov rax, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0x88], rax
jmp case.0x18008a865.17
mov eax, dword [rbp + r12*8 + 0xc]
mov ecx, r15d
mov dword [rsp + 0xb0], eax
mov rdx, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xc0], rdx
mov r10d, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xb8], r10d
mov r11d, dword [rbp + r12*8 + 8]
mov dword [rsp + 0xb4], ecx
mov dword [rsp + 0xbc], r11d
test eax, eax
jle 0x18008bc4c
mov rbx, qword [rsp + 0x50]
nop word [rax + rax]
mov r8, qword [rsp + 0x88]
test r8, r8
je 0x18008bbae
movsxd rax, ecx
mov r9d, dword [r8 + rax*4]
mov dword [rsp + 0xc8], r9d
jmp 0x18008bbb8
mov r9d, ecx
mov dword [rsp + 0xc8], ecx
movsxd rcx, ecx
mov r8, qword [rdx + rcx*8 + 0x18]
mov qword [rsp + 0xd0], r8
mov rax, qword [rdx + 0x10]
movzx ecx, byte [rax + rcx]
lea eax, [r9 + r11]
mov dword [rsp + 0xd8], ecx
movsxd rdx, eax
lea eax, [r9 + r10]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, rbx
imul rcx, rcx, 0x38
add rcx, rbx
call fcn.180083660
mov dword [rsp + 0x70], eax
test eax, eax
jne 0x18008bc36
mov ecx, dword [rsp + 0xb4]
inc ecx
cmp ecx, dword [rsp + 0xb0]
mov dword [rsp + 0xb4], ecx
jge 0x18008bc46
mov rdx, qword [rsp + 0xc0]
mov r11d, dword [rsp + 0xbc]
mov r10d, dword [rsp + 0xb8]
jmp 0x18008bb90
cmp dword [rsp + 0xd8], 0
je 0x18008bc46
neg eax
mov dword [rsp + 0x70], eax
mov r8d, 4
mov qword [rsp + 0x88], r15
jmp case.0x18008a865.17
mov ebx, dword [rsp + 0x70]
test ebx, ebx
jns 0x18008bc6d
mov ecx, dword [rbp + r12*8 + 4]
dec ecx
jmp 0x180090afa
jne 0x18008bc7b
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
mov ecx, dword [rbp + r12*8 + 0xc]
dec ecx
jmp 0x180090afa
movsxd rcx, dword [rbp + r12*8 + 4]
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, rbx
test byte [rcx + 0x24], 1
je 0x18008bca6
mov r8d, 2
jmp 0x18008bcb5
call fcn.180082dd0
mov r8d, r15d
test rax, rax
setne r8b
mov dword [rsp + 0xb0], r8d
movsxd rcx, dword [rbp + r12*8 + 8]
imul rcx, rcx, 0x38
add rcx, rbx
test byte [rcx + 0x24], 1
je 0x18008bcd6
mov edx, 2
jmp 0x18008bcec
call fcn.180082dd0
mov r8d, dword [rsp + 0xb0]
mov edx, r15d
test rax, rax
setne dl
movsxd rax, r8d
mov dword [rsp + 0xb4], edx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [rbp + r12*8], 0x45
lea rax, [0x180000000]
jne 0x18008bd19
movzx eax, byte [rcx + rax + 0x12a838]
jmp 0x18008bd21
movzx eax, byte [rcx + rax + 0x12a848]
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0xb0], eax
movsxd r14, dword [rbp + r12*8 + 0xc]
imul r14, r14, 0x38
add r14, rbx
mov r8d, 4
cmp eax, 2
jne 0x18008bd58
mov eax, 0xbf01
and word [r14 + 0x24], ax
or word [r14 + 0x24], 1
jmp 0x180090afa
cdqe
mov qword [r14], rax
mov eax, 0xbf04
and word [r14 + 0x24], ax
or word [r14 + 0x24], 4
jmp 0x180090afa
mov rbx, qword [rsp + 0x50]
movsxd rcx, dword [rbp + r12*8 + 4]
movsxd r14, dword [rbp + r12*8 + 8]
imul rcx, rcx, 0x38
imul r14, r14, 0x38
add rcx, rbx
add r14, rbx
test byte [rcx + 0x24], 1
je 0x18008bda2
mov rcx, r14
call fcn.180083020
jmp 0x180090af0
call fcn.180082dd0
mov rdx, r15
mov rcx, r14
test rax, rax
sete dl
call fcn.1800830b0
jmp 0x180090af0
mov rbx, qword [rsp + 0x50]
movsxd rcx, dword [rbp + r12*8 + 4]
movsxd r14, dword [rbp + r12*8 + 8]
imul rcx, rcx, 0x38
imul r14, r14, 0x38
add rcx, rbx
add r14, rbx
test byte [rcx + 0x24], 1
je 0x18008bded
mov rcx, r14
call fcn.180083020
jmp 0x180090af0
call fcn.180082dd0
mov rcx, r14
not rax
mov rdx, rax
call fcn.1800830b0
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], 1
je 0x18008be27
mov ecx, dword [rbp + r12*8 + 0xc]
mov dword [rsp + 0xb0], ecx
jmp 0x18008be62
call fcn.180082e80
ucomisd xmm0, xmm6
jp 0x18008be37
mov ecx, r15d
je 0x18008be3c
mov ecx, 1
mov dword [rsp + 0xb0], ecx
cmp byte [rbp + r12*8], 0x1b
mov r8d, 4
jne 0x18008be62
mov eax, r15d
test ecx, ecx
sete al
mov ecx, eax
mov dword [rsp + 0xb0], eax
test ecx, ecx
je case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], 1
je case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], 1
jne case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
mov eax, dword [rbp + r12*8 + 4]
mov rbx, qword [rsp + 0x50]
mov edx, 0xbf01
mov dword [rsp + 0xc0], eax
mov eax, dword [rbp + r12*8 + 8]
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0xc4], eax
xor eax, eax
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
movsxd rcx, dword [rbp + r12*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, rbx
mov qword [rsp + 0x108], rcx
movzx eax, word [rcx + 0x24]
and ax, dx
or ax, 1
mov word [rcx + 0x24], ax
mov rax, qword [rdi + 0x58]
movsxd rcx, dword [rsp + 0xc0]
mov qword [rsp + 0xd0], r15
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xc8], rdx
mov rax, qword [rdx]
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x18008c055
mov rcx, rdx
call fcn.180086ce0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090ea2
mov rdx, qword [rsp + 0xc8]
cmp byte [rdx + 0x1c], al
je 0x18008bfac
mov dword [rsp + 0xb0], r15d
jmp 0x180090af0
mov eax, dword [rdi + 0x88]
cmp dword [rdx + 0x64], eax
jne 0x18008bfdb
mov ecx, dword [rdx + 0x68]
mov r8d, 4
mov dword [rsp + 0xb0], ecx
mov rax, qword [rdx + 0x80]
mov qword [rsp + 0xd0], rax
jmp 0x18008c0ac
cmp byte [rdx + 0x1f], 0
mov rbx, qword [rsp + 0xd8]
je 0x18008c033
cmp byte [rbx + 0x5b], 1
je 0x18008bff9
mov qword [rsp + 0xb8], r15
jmp 0x18008c015
mov rcx, rbx
call fcn.1800791e0
mov r11, qword [rbx + 0x40]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], r11
mov ecx, dword [rsp + 0xb8]
mov r13d, r15d
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0xb0], ecx
mov r8d, 4
jmp 0x18008c0ac
mov rcx, rbx
call fcn.1800791e0
mov ecx, dword [rbx + 0x48]
mov r13d, r15d
mov dword [rsp + 0x44], r15d
mov r8d, 4
mov dword [rsp + 0xb0], ecx
jmp 0x18008c0a4
movsxd rax, dword [rdx + 0x30]
test eax, eax
jle 0x18008c7fb
mov rcx, rax
imul rcx, rcx, 0x38
add rcx, rbx
mov qword [rsp + 0x168], rcx
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0xb0], eax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0xd0], rax
test byte [rbp + r12*8 + 3], 0x20
mov eax, r15d
jne 0x18008c09a
mov eax, dword [rdi + 0x88]
mov dword [rdx + 0x64], eax
mov ecx, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc8]
test ecx, ecx
je case.0x18008a865.17
cmp ecx, dword [rsi + 0x60]
ja 0x180090eef
movsxd r8, dword [rdx + 0x40]
mov eax, dword [rdi + 0x88]
mov dword [rsp + 0xf0], r8d
mov rcx, qword [rdx + 0x70]
mov qword [rsp + 0xe0], rcx
cmp dword [rdx + 0x64], eax
jne 0x18008c0f8
mov rax, qword [rdx + 0x78]
lea r13, [0x180000000]
mov qword [rsp + 0xe8], rax
jmp 0x18008c645
lea rcx, [rcx + r8*4]
mov dword [rsp + 0x164], r15d
mov qword [rsp + 0xe8], rcx
mov qword [rdx + 0x78], rcx
mov ecx, dword [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x68], ecx
mov ecx, dword [rdi + 0x88]
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x64], ecx
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x18008c14d
mov qword [rsp + 0x100], rcx
jmp 0x18008c2b8
mov r8, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd8]
mov rcx, r15
cmp byte [r8 + 0x1f], 0
je 0x18008c1dd
cmp byte [rdi + 0x5b], 1
jne 0x18008c27b
cmp word [rdi + 0x56], 0
jne 0x18008c1cc
movsx rax, word [rdi + 0x80]
lea r8, [rdi + 0x38]
mov rbx, qword [rdi + rax*8 + 0x88]
movzx ecx, word [rdi + rax*2 + 0x128]
movzx eax, word [rbx + 0xc]
mov r11, qword [rbx + 0x70]
lea rdx, [r11 + rax]
movzx eax, byte [rdx + rcx*2]
movzx edx, byte [rdx + rcx*2 + 1]
mov rcx, rbx
shl eax, 8
movsxd r10, eax
movzx eax, word [rbx + 0x12]
or rdx, r10
and rdx, rax
add rdx, r11
call fcn.1800750e0
mov r8, qword [rsp + 0xc8]
movzx ecx, word [rdi + 0x50]
movzx eax, word [rdi + 0x52]
add rcx, qword [rdi + 0x38]
jmp 0x18008c274
cmp byte [rdi + 0x5b], 1
jne 0x18008c27b
cmp word [rdi + 0x56], 0
movsx rax, word [rdi + 0x80]
mov rsi, qword [rdi + rax*8 + 0x88]
jne 0x18008c252
movsx rax, word [rdi + 0x80]
lea r8, [rdi + 0x38]
mov rbx, qword [rdi + rax*8 + 0x88]
movzx ecx, word [rdi + rax*2 + 0x128]
movzx eax, word [rbx + 0xc]
mov r11, qword [rbx + 0x70]
lea rdx, [r11 + rax]
movzx eax, byte [rdx + rcx*2]
movzx edx, byte [rdx + rcx*2 + 1]
mov rcx, rbx
shl eax, 8
movsxd r10, eax
movzx eax, word [rbx + 0x12]
or rdx, r10
and rdx, rax
add rdx, r11
call fcn.1800750e0
mov r8, qword [rsp + 0xc8]
movzx edx, word [rdi + 0x50]
mov ecx, r15d
add rdx, qword [rdi + 0x38]
cmp byte [rsi + 2], 0
jne 0x18008c266
mov ecx, dword [rdi + 0x40]
movzx eax, word [rdi + 0x52]
mov rsi, qword [rsp + 0x68]
sub eax, ecx
add rcx, rdx
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x164]
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x100], rcx
cmp dword [rsp + 0xb0], eax
ja 0x18008c2a9
mov qword [rsp + 0xd0], rcx
mov qword [r8 + 0x80], rcx
jmp 0x18008c2b0
mov qword [r8 + 0x80], r15
mov rcx, qword [rsp + 0x100]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x18008c2d2
movzx edx, al
mov ebx, 1
mov dword [rsp + 0x158], edx
mov eax, ebx
jmp 0x18008c2f6
lea rdx, [rsp + 0x158]
call fcn.180067800
mov edx, dword [rsp + 0x158]
mov rcx, qword [rsp + 0x100]
movzx eax, al
mov ebx, 1
movzx r9d, al
mov dword [rsp + 0x160], r9d
cmp edx, 0x18003
jbe 0x18008c338
mov r8d, 0xf0f2
lea r9, [0x180137514]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.180066060
mov r13d, 0xb
mov dword [rsp + 0x44], r13d
jmp 0x180090af0
mov r10d, dword [rsp + 0xf0]
lea r8d, [r10 + r10*4 + 3]
cmp r8d, edx
cmovg r8d, edx
cmp qword [rsp + 0xd0], 0
mov dword [rsp + 0xf4], r8d
jne 0x18008c3e5
cmp dword [rsp + 0x164], r8d
jge 0x18008c3e5
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov word [rsp + 0x134], r15w
mov qword [rsp + 0x120], r15
movzx r9d, byte [rax + 0x1f]
lea rax, [rsp + 0x110]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180083ba0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090af0
mov rcx, qword [rsp + 0x128]
mov r9d, dword [rsp + 0x160]
mov edx, dword [rsp + 0x158]
mov r8d, dword [rsp + 0xf4]
mov r10d, dword [rsp + 0xf0]
mov qword [rsp + 0x100], rcx
movsxd rax, r8d
movsxd r9, r9d
mov dword [rsp + 0xf8], r15d
add rax, rcx
add r9, rcx
mov r8d, r15d
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x148], r9
lea r13, [0x180000000]
test r10d, r10d
jle 0x18008c4e9
nop dword [rax]
cmp r9, rax
mov rax, qword [rsp + 0xe8]
movsxd rcx, r8d
jae 0x18008c530
mov dword [rax + rcx*4], edx
mov rcx, qword [rsp + 0x148]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x18008c460
movsxd rcx, dword [rsp + 0xf8]
movzx edx, al
mov rax, qword [rsp + 0xe0]
mov dword [rax + rcx*4], edx
mov eax, ebx
jmp 0x18008c47c
movsxd rdx, dword [rsp + 0xf8]
mov rax, qword [rsp + 0xe0]
lea rdx, [rax + rdx*4]
call fcn.180067800
movzx eax, al
mov r9, qword [rsp + 0x148]
movsxd r8, dword [rsp + 0xf8]
movzx eax, al
add r9, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x148], r9
mov edx, dword [rax + r8*4]
cmp edx, 0xc
jb 0x18008c4b2
lea eax, [rdx - 0xc]
shr eax, 1
jmp 0x18008c4bb
movzx eax, byte [rdx + r13 + 0x12a7f0]
mov edx, dword [rsp + 0x158]
mov dword [rsp + 0x15c], eax
add edx, eax
mov dword [rsp + 0x158], edx
cmp edx, eax
jae 0x18008c54b
mov rax, qword [rsp + 0x150]
inc rax
mov qword [rsp + 0x148], rax
movzx eax, word [rsp + 0x134]
mov ecx, 0x2460
test cx, ax
je 0x18008c5c4
mov ecx, 0x2000
test cx, ax
je 0x18008c56d
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x110]
call fcn.180082c20
lea rcx, [rsp + 0x110]
call fcn.180082da0
jmp 0x18008c5c4
mov dword [rax + rcx*4], r15d
mov edx, dword [rsp + 0x158]
mov r9, qword [rsp + 0x148]
mov r8d, dword [rsp + 0xf8]
inc r8d
cmp r8d, dword [rsp + 0xf0]
mov dword [rsp + 0xf8], r8d
jge 0x18008c4e9
mov rax, qword [rsp + 0x150]
jmp 0x18008c420
mov ecx, 0x400
test cx, ax
je 0x18008c598
mov rax, qword [rsp + 0x138]
test rax, rax
je 0x18008c598
mov rcx, qword [rsp + 0x128]
call rax
mov qword [rsp + 0x138], r15
jmp 0x18008c5c4
movzx eax, byte [rsp + 0x134]
test al, 0x20
je 0x18008c5b3
mov rcx, qword [rsp + 0x110]
call fcn.18006c380
jmp 0x18008c5c4
test al, 0x40
je 0x18008c5c4
lea rcx, [rsp + 0x110]
call fcn.180083020
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x120]
call fcn.180064250
mov rdx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x150]
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x138], r15
mov word [rsp + 0x134], bx
cmp rdx, r8
ja 0x18008c7f0
mov eax, dword [rsp + 0x158]
mov ecx, dword [rsp + 0xb0]
cmp eax, ecx
ja 0x18008c7f0
cmp rdx, r8
jne 0x18008c635
cmp eax, ecx
jne 0x18008c7f0
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
movsxd rdx, dword [rsp + 0xc4]
cmp dword [rax + rdx*4], 0
je 0x18008c762
cmp qword [rsp + 0xd0], 0
je 0x18008c69c
mov rcx, qword [rsp + 0x108]
call fcn.180082d10
movsxd r11, dword [rsp + 0xc4]
mov rax, qword [rsp + 0xe8]
mov ecx, dword [rax + r11*4]
mov rax, qword [rsp + 0xe0]
mov edx, dword [rax + r11*4]
add rcx, qword [rsp + 0xd0]
jmp 0x18008c744
mov eax, dword [rcx + rdx*4]
cmp eax, 0xc
jb 0x18008c6ab
add eax, 0xfffffff4
shr eax, 1
jmp 0x18008c6b4
movzx eax, byte [rax + r13 + 0x12a7f0]
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x110]
mov dword [rsp + 0xf4], eax
call fcn.1800833d0
movsxd rcx, dword [rsp + 0xc4]
mov r11, qword [rsp + 0xc8]
movzx r9d, byte [r11 + 0x1f]
mov r8d, dword [rsp + 0xf4]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xe8]
mov edx, dword [rax + rcx*4]
mov rcx, qword [rsp + 0xd8]
call fcn.180083ba0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090af0
mov rcx, qword [rsp + 0x128]
movsxd rdx, dword [rsp + 0xc4]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x100], rcx
mov edx, dword [rax + rdx*4]
mov r8, qword [rsp + 0x108]
call fcn.180086f30
mov rax, qword [rsp + 0x108]
mov cl, byte [rsp + 0x48]
mov byte [rax + 0x27], cl
jmp 0x18008c782
cmp byte [rbp + r12*8 + 1], 0xf8
jne 0x18008c782
mov rdx, qword [rbp + r12*8 + 0x10]
mov rcx, qword [rsp + 0x108]
mov r8d, 0x800
call fcn.1800832a0
cmp qword [rsp + 0x140], 0
je 0x18008c7d7
mov rax, qword [rsp + 0x108]
mov ecx, 0xe7ff
and word [rax + 0x24], cx
mov rax, qword [rsp + 0x108]
mov ecx, 0x200
or word [rax + 0x24], cx
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x128]
mov qword [rcx + 0x18], rax
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x140]
mov qword [rcx + 0x30], rax
mov rcx, qword [rsp + 0x108]
call fcn.1800829f0
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
mov r8d, 0xf13c
jmp 0x18008c310
mov dword [rsp + 0xb0], r15d
jmp case.0x18008a865.17
mov rax, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xb0], rax
movsxd rbx, dword [rbp + r12*8 + 4]
movzx ecx, byte [rax]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov byte [rsp + 0xb8], cl
test cl, cl
je 0x18008c893
mov r12b, byte [rsp + 0x48]
mov esi, 0x4000
nop dword [rax + rax]
inc rax
mov qword [rsp + 0xb0], rax
test word [rbx + 0x24], si
je 0x18008c860
mov rcx, rbx
call fcn.180082a70
mov cl, byte [rsp + 0xb8]
movzx edx, cl
movzx r8d, r12b
mov rcx, rbx
call fcn.18008a540
mov rax, qword [rsp + 0xb0]
add rbx, 0x38
mov cl, byte [rax]
mov byte [rsp + 0xb8], cl
test cl, cl
jne 0x18008c840
mov rsi, qword [rsp + 0x68]
mov r8d, 4
inc rax
mov qword [rsp + 0xb0], rax
jmp case.0x18008a865.17
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0xc8], r15d
mov qword [rsp + 0xd0], r15
mov dword [rsp + 0xd8], r15d
movsxd rax, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xf8], eax
mov rbx, qword [rbp + r12*8 + 0x10]
mov rsi, rax
imul rsi, rsi, 0x38
add rsi, r8
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xe8], rsi
mov eax, dword [rbp + r12*8 + 8]
mov edi, r15d
mov dword [rsp + 0xf8], eax
dec eax
mov r11d, r15d
movsxd rcx, eax
mov rax, qword [rsp + 0x58]
mov r10, rsi
movzx eax, byte [rax + 0xa4]
mov qword [rsp + 0xb8], rsi
imul rcx, rcx, 0x38
add rcx, rsi
mov dword [rsp + 0x108], eax
mov qword [rsp + 0xf0], rcx
cmp rsi, rcx
ja 0x18008caa4
mov bpl, byte [rsp + 0x48]
mov r14d, 0x4000
lea r12, [0x180000000]
movabs r13, 0x4924924924924925
nop dword [rax]
test rbx, rbx
je 0x18008c9b6
mov rdx, r10
mov rax, r13
movzx r8d, bpl
sub rdx, rsi
mov rcx, r10
imul rdx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx edx, byte [rdx + rbx]
call fcn.18008a540
mov rbx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xe8]
mov r11d, dword [rsp + 0xd8]
mov edi, dword [rsp + 0xc8]
mov r10, qword [rsp + 0xb8]
test word [r10 + 0x24], r14w
je 0x18008c9f3
cmp dword [r10 + 0x20], 0
jle 0x18008c9f3
mov rcx, r10
call fcn.180082a70
mov rbx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xe8]
mov r11d, dword [rsp + 0xd8]
mov edi, dword [rsp + 0xc8]
mov r10, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x108]
mov rcx, r10
call fcn.180086da0
mov r9d, eax
mov dword [rsp + 0xe0], r9d
cmp eax, 0xc
jb 0x18008ca1a
lea edx, [r9 - 0xc]
shr edx, 1
jmp 0x18008ca23
movzx edx, byte [r9 + r12 + 0x12a7f0]
movsxd rax, edx
mov dword [rsp + 0x110], edx
mov rcx, r9
add qword [rsp + 0xc0], rax
mov eax, r15d
nop dword [rax + rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x18008ca50
cmp eax, 9
jl 0x18008ca40
add edi, eax
mov dword [rsp + 0xc8], edi
test word [r10 + 0x24], r14w
je 0x18008ca65
add r11d, dword [r10]
jmp 0x18008ca6b
test edx, edx
cmovne r11d, r15d
add r10, 0x38
mov dword [rsp + 0xd8], r11d
mov qword [rsp + 0xb8], r10
cmp r10, qword [rsp + 0xf0]
jbe 0x18008c960
mov r12, qword [rsp + 0x98]
mov r13d, dword [rsp + 0x44]
mov rbp, qword [rsp + 0x78]
mov r8, qword [rsp + 0x50]
movsxd rax, edi
mov edx, r15d
nop word [rax + rax]
shr rax, 7
inc edx
test rax, rax
je 0x18008cac0
cmp edx, 9
jl 0x18008cab0
add edi, edx
mov dword [rsp + 0xdc], edx
mov eax, r15d
mov dword [rsp + 0xc8], edi
movsxd rcx, edi
nop word [rax + rax]
shr rcx, 7
inc eax
test rcx, rcx
je 0x18008caf0
cmp eax, 9
jl 0x18008cae0
cmp edx, eax
jge 0x18008cafd
inc edi
mov dword [rsp + 0xc8], edi
mov rsi, qword [rsp + 0x68]
movsxd rax, r11d
movsxd rcx, edi
sub rcx, rax
add rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xd0], rcx
movsxd rax, dword [rsi + 0x60]
cmp rcx, rax
jg 0x180090eea
movsxd r14, dword [rbp + r12*8 + 0xc]
mov edx, ecx
imul r14, r14, 0x38
add r14, r8
xor r8d, r8d
mov rcx, r14
call fcn.1800828a0
test eax, eax
jne 0x18008af88
mov ecx, dword [rsp + 0xc8]
mov r8, qword [r14 + 0x18]
mov qword [rsp + 0xb0], r8
cmp ecx, 0x80
jae 0x18008cb78
movzx eax, byte [rsp + 0xc8]
mov ebx, 1
mov byte [r8], al
mov eax, ebx
jmp 0x18008cba8
test ecx, 0xffffc000
jne 0x18008cb98
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [r8], al
mov byte [r8 + 1], cl
mov eax, 2
jmp 0x18008cba3
mov rdx, rcx
mov rcx, r8
call fcn.180067540
mov ebx, 1
mov rcx, qword [rsp + 0xf0]
movzx r9d, al
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x10c], r9d
mov qword [rsp + 0xb8], rax
cmp rax, rcx
ja 0x18008cc8f
nop word [rax + rax]
mov edx, dword [rsp + 0x108]
mov rcx, rax
call fcn.180086da0
mov r10d, eax
mov dword [rsp + 0xe0], r10d
cmp eax, 0x80
jae 0x18008cc17
mov rcx, qword [rsp + 0xb0]
movzx eax, r10b
movsxd rdx, r9d
mov byte [rdx + rcx], al
mov eax, ebx
jmp 0x18008cc4c
movsxd rcx, r9d
add rcx, qword [rsp + 0xb0]
test r10d, 0xffffc000
jne 0x18008cc44
mov eax, r10d
shr eax, 7
or al, 0x80
and r10b, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], r10b
mov eax, 2
jmp 0x18008cc4c
mov rdx, r10
call fcn.180067540
mov r9d, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0xf0]
movzx eax, al
add r9d, eax
mov rax, qword [rsp + 0xb8]
add rax, 0x38
mov dword [rsp + 0x10c], r9d
mov qword [rsp + 0xb8], rax
cmp rax, rcx
jbe 0x18008cbe0
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xb8], rax
cmp rax, rcx
ja 0x18008ccf6
nop dword [rax]
mov edx, dword [rsp + 0xd0]
movsxd rcx, r9d
mov r8, rax
add rcx, qword [rsp + 0xb0]
sub edx, r9d
mov r9d, dword [rsp + 0x108]
call fcn.180086e40
mov r9d, dword [rsp + 0x10c]
add r9d, eax
mov rax, qword [rsp + 0xb8]
add rax, 0x38
mov dword [rsp + 0x10c], r9d
mov qword [rsp + 0xb8], rax
cmp rax, qword [rsp + 0xf0]
jbe 0x18008cca0
mov eax, dword [rsp + 0xd0]
mov qword [r14 + 0x28], r15
mov dword [r14 + 0x20], eax
mov eax, 0x410
mov word [r14 + 0x24], ax
mov eax, dword [rsp + 0xd8]
test eax, eax
je 0x18008cd27
mov dword [r14], eax
mov eax, 0x4410
mov word [r14 + 0x24], ax
mov rdi, qword [rsp + 0x58]
mov byte [r14 + 0x27], 1
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
je 0x18008cd7d
lea rdx, [rsp + 0xb0]
call fcn.18007f800
mov r8d, 4
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
mov qword [r14], rax
jmp case.0x18008a865.17
mov rax, r15
mov qword [rsp + 0xb0], rax
mov qword [r14], rax
jmp case.0x18008a865.17
mov edi, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xb0], edi
mov r11, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xb8], r11
test edi, edi
jne 0x18008ce95
cmp dword [rsi + 0xb4], edi
jle 0x18008cdca
mov rdi, qword [rsp + 0x58]
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x18008d1a4
test r11, r11
jne 0x18008cdd4
mov r11d, r15d
jmp 0x18008cdf8
cmp byte [r11], 0
je 0x18008cde9
nop word [rax + rax]
inc r11
cmp byte [r11], 0
jne 0x18008cde0
sub r11d, dword [rsp + 0xb8]
and r11d, 0x3fffffff
lea edx, [r11 + 0x19]
mov rcx, rsi
mov dword [rsp + 0xc0], r11d
call fcn.180064530
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x18008ac98
lea rcx, [rax + 0x18]
mov qword [rax], rcx
mov eax, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0xb8]
inc eax
movsxd r8, eax
call sub.MSVCR90.dll_memcpy
cmp byte [rsi + 0x28], 0
je 0x18008ce50
mov byte [rsi + 0x28], 0
mov byte [rsi + 0x318], 1
jmp 0x18008ce56
inc dword [rsi + 0x310]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsi + 0x308]
mov rdi, qword [rsp + 0x58]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsi + 0x320]
mov qword [rsi + 0x308], rax
mov rax, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
jmp 0x180090af0
mov ebx, r15d
mov dword [rsp + 0xe0], ebx
mov r10, qword [rsi + 0x308]
mov qword [rsp + 0xd0], r10
test r10, r10
je 0x18008cedc
mov rcx, qword [r10]
mov rdx, r11
call fcn.180066d70
test eax, eax
je 0x18008cf0a
inc ebx
mov dword [rsp + 0xe0], ebx
mov r10, qword [r10 + 0x10]
mov qword [rsp + 0xd0], r10
test r10, r10
jne 0x18008ceb3
mov rdi, qword [rsp + 0x58]
lea r8, str.no_such_savepoint:__s
mov r9, r11
lea rcx, [rdi + 0x98]
mov rdx, rsi
call fcn.180064760
mov r13d, 1
mov dword [rsp + 0x44], r13d
jmp 0x180090af0
cmp dword [rsi + 0xb4], 0
jg 0x18008d122
cmp edi, 2
jne 0x18008cf29
cmp dword [rsi + 0xb0], 1
jg 0x18008d122
cmp qword [r10 + 0x10], 0
jne 0x18008cf92
cmp byte [rsi + 0x318], 0
je 0x18008cf92
mov r12d, 1
mov esi, r12d
cmp edi, r12d
jne 0x18008cf95
mov rdi, qword [rsp + 0x58]
mov rdx, qword [rdi]
cmp qword [rdx + 0x320], 0
jg 0x180090d8b
mov r12, qword [rsp + 0x68]
mov rcx, rdi
mov byte [r12 + 0x28], sil
call fcn.180086430
cmp eax, 5
je 0x180090d69
mov byte [r12 + 0x318], 0
mov r13d, dword [rdi + 0x90]
mov dword [rsp + 0x44], r13d
jmp 0x18008d05a
mov esi, r15d
mov r12, qword [rsp + 0x68]
mov eax, r15d
mov r8d, dword [r12 + 0x310]
mov dword [rsp + 0xe4], eax
sub r8d, ebx
dec r8d
mov dword [rsp + 0xe0], r8d
cmp dword [r12 + 8], 0
jle 0x18008d018
mov rcx, qword [r12 + 0x10]
cdqe
mov edx, edi
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180078ed0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090e9a
mov eax, dword [rsp + 0xe4]
mov edi, dword [rsp + 0xb0]
inc eax
mov dword [rsp + 0xe4], eax
cmp eax, dword [r12 + 8]
jge 0x18008d010
mov r8d, dword [rsp + 0xe0]
jmp 0x18008cfc2
mov r10, qword [rsp + 0xd0]
cmp edi, 2
jne 0x18008d069
bt dword [r12 + 0x18], 9
jae 0x18008d069
mov rax, qword [r12 + 0xa8]
test rax, rax
je 0x18008d050
nop word [rax + rax]
mov byte [rax + 0xa2], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18008d040
xor edx, edx
mov rcx, r12
call fcn.18009f1f0
mov edi, dword [rsp + 0xb0]
mov r10, qword [rsp + 0xd0]
cmp qword [r12 + 0x308], r10
je 0x18008d0c0
mov rax, qword [r12 + 0x308]
mov rcx, r12
mov qword [rsp + 0xd8], rax
mov rax, qword [rax + 0x10]
mov qword [r12 + 0x308], rax
mov rdx, qword [rsp + 0xd8]
call fcn.180064250
dec dword [r12 + 0x310]
mov r10, qword [rsp + 0xd0]
cmp qword [r12 + 0x308], r10
jne 0x18008d073
mov edi, dword [rsp + 0xb0]
cmp edi, 1
jne 0x18008d108
mov rax, qword [r10 + 0x10]
mov rcx, r12
mov qword [r12 + 0x308], rax
mov rdx, qword [rsp + 0xd0]
call fcn.180064250
mov rdi, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x40]
test esi, esi
mov rsi, qword [rsp + 0x68]
mov r8d, 4
jne 0x180090afa
dec dword [rsi + 0x310]
jmp 0x180090afa
mov rsi, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rdi, qword [rsp + 0x58]
mov qword [rsi + 0x320], rax
jmp 0x180090af0
cmp edi, 2
mov rdi, qword [rsp + 0x58]
lea rax, str.rollback
lea r9, str.release
lea r8, str.cannot__s_savepoint___SQL_statements_in_progress
lea rcx, [rdi + 0x98]
cmove r9, rax
mov rdx, rsi
call fcn.180064760
mov eax, 5
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
mov edx, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xb0], edx
mov ecx, dword [rbp + r12*8 + 8]
mov dword [rsp + 0xb4], ecx
test edx, edx
je 0x18008d1d6
cmp byte [rsi + 0x28], 0
jne 0x18008d1d6
mov ebx, 1
mov dword [rsp + 0xb8], ebx
test ecx, ecx
je 0x18008d1c4
cmp dword [rsi + 0xb0], ebx
jle 0x18008d1e3
lea r8, str.cannot_rollback_transaction___SQL_statements_in_progress
lea rcx, [rdi + 0x98]
mov rdx, rsi
call fcn.180064760
mov eax, 5
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
cmp dword [rsi + 0xb4], 0
jle 0x18008d1e3
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18008d1a4
mov dword [rsp + 0xb8], r15d
mov ebx, 1
movzx eax, byte [rsi + 0x28]
cmp edx, eax
jne 0x180090db4
test edx, edx
jne 0x18008d1fc
lea r8, str.cannot_start_a_transaction_within_a_transaction
jmp 0x18008d210
lea r8, str.cannot_commit___no_transaction_is_active
lea rax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
cmovne r8, rax
lea rcx, [rdi + 0x98]
mov rdx, rsi
call fcn.180064760
mov r13d, ebx
mov dword [rsp + 0x44], ebx
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0xb0], rcx
test rcx, rcx
je case.0x18008a865.17
mov edx, dword [rbp + r12*8 + 8]
call fcn.1800773d0
mov r13d, eax
mov dword [rsp + 0x44], eax
cmp eax, 5
je 0x180090e58
test eax, eax
jne 0x180090ea2
cmp dword [rbp + r12*8 + 8], eax
je 0x180090af0
cmp byte [rdi + 0xa6], al
je 0x180090af0
cmp byte [rsi + 0x28], al
je 0x18008d299
cmp dword [rsi + 0xb0], 1
jle 0x180090af0
cmp dword [rdi + 0x150], 0
jne 0x18008d2ba
inc dword [rsi + 0x314]
mov ecx, dword [rsi + 0x314]
add ecx, dword [rsi + 0x310]
mov dword [rdi + 0x150], ecx
mov rsi, qword [rsp + 0xb0]
mov edi, dword [rdi + 0x150]
mov rbx, qword [rsi + 8]
mov rcx, rsi
call fcn.1800741c0
mov rcx, qword [rbx]
mov edx, edi
call fcn.180070fb0
cmp byte [rsi + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
je 0x18008d308
add dword [rsi + 0x14], 0xffffffff
jne 0x18008d308
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008d304
call qword [0x1801756e8]
mov byte [rsi + 0x12], 0
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsi + 0x320]
mov qword [rdi + 0x148], rax
jmp 0x180090af0
movsxd rax, dword [rbp + r12*8 + 4]
lea r8, [rsp + 0xb0]
mov dword [rsp + 0xb4], eax
mov edx, dword [rbp + r12*8 + 0xc]
shl rax, 5
mov dword [rsp + 0xb8], edx
mov rcx, qword [rsi + 0x10]
mov rcx, qword [rax + rcx + 8]
call fcn.18007f6a0
movsxd r11, dword [rsp + 0xb0]
mov qword [r14], r11
jmp 0x180090af0
movsxd rax, dword [rbp + r12*8 + 4]
shl rax, 5
add rax, qword [rsi + 0x10]
mov qword [rsp + 0xb0], rax
movsxd rbx, dword [rbp + r12*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.180082dd0
mov qword [rbx], rax
mov r8d, dword [rbx]
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 8]
mov edx, dword [rbp + r12*8 + 8]
call fcn.18007f740
mov r13d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rbp + r12*8 + 8]
cmp eax, 1
jne 0x18008d3e7
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x18]
mov eax, dword [rbx]
mov dword [rcx], eax
mov eax, 0x200
or dword [rsi + 0x18], eax
jmp 0x18008d3fe
cmp eax, 2
jne 0x18008d3fe
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x18]
movzx eax, byte [rbx]
mov byte [rcx + 0x70], al
cmp dword [rbp + r12*8 + 4], 1
jne 0x180090af0
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x18008d430
nop word [rax + rax]
mov byte [rax + 0xa2], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18008d420
mov byte [rdi + 0xa2], 0
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
je 0x18008d47d
lea r8, [rsp + 0xb0]
mov edx, 1
call fcn.18007f6a0
mov r11d, dword [rsp + 0xb0]
mov r8d, 4
jmp 0x18008d488
mov r11d, r15d
mov dword [rsp + 0xb0], r15d
cmp r11d, dword [rbp + r12*8 + 8]
je case.0x18008a865.17
mov rdx, qword [rdi + 0x98]
mov rcx, rsi
call fcn.180064250
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.180064690
mov qword [rdi + 0x98], rax
mov rax, qword [rsi + 0x10]
movsxd rdx, dword [rbp + r12*8 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsp + 0xb0]
cmp dword [rcx], eax
je 0x18008d4e0
mov rcx, rsi
call fcn.18009f1f0
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x18008d500
nop dword [rax]
mov byte [rax + 0xa2], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18008d4f0
mov r13d, 0x11
mov dword [rsp + 0x44], r13d
jmp 0x180090af0
cmp byte [rdi + 0xa2], 0
je 0x18008d526
mov r13d, r8d
mov dword [rsp + 0x44], r8d
jmp case.0x18008a865.17
mov dword [rsp + 0xb0], r15d
mov qword [rsp + 0xb8], r15
movsxd rdx, dword [rbp + r12*8 + 8]
mov dword [rsp + 0xc0], edx
movsxd r9, dword [rbp + r12*8 + 0xc]
mov r8d, r15d
mov dword [rsp + 0xc4], r9d
mov rcx, r9
shl rcx, 5
add rcx, qword [rsi + 0x10]
mov qword [rsp + 0xe0], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0xd0], rax
cmp byte [rbp + r12*8], 0x27
jne 0x18008d59c
mov dword [rsp + 0xc8], 1
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax + 0x70]
cmp cl, byte [rdi + 0xa4]
jae 0x18008d5a4
mov byte [rdi + 0xa4], cl
jmp 0x18008d5a4
mov dword [rsp + 0xc8], r15d
cmp byte [rbp + r12*8 + 3], 0
je 0x18008d5f3
mov rbx, rdx
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.180082dd0
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
mov eax, dword [rbx]
or word [rbx + 0x24], 4
cmp eax, 2
mov dword [rsp + 0xc0], eax
jl 0x180090e74
mov r9d, dword [rsp + 0xc4]
mov r8d, dword [rsp + 0xb0]
movzx eax, byte [rbp + r12*8 + 1]
cmp al, 0xfa
jne 0x18008d636
mov rax, qword [rdi]
mov rdx, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax + 0x71]
mov byte [rdx + 8], cl
mov rax, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0xc4]
movzx r8d, word [rax + 0xa]
inc r8d
jmp 0x18008d63f
cmp al, 0xf2
jne 0x18008d647
mov r8d, dword [rbp + r12*8 + 0x10]
mov dword [rsp + 0xb0], r8d
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rdi
mov dword [rsp + 0x20], 1
call fcn.18008a300
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x18008af8d
mov byte [rax + 0x1c], 1
mov rax, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov r8d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0xc0]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xd0]
call fcn.180078fb0
mov rcx, qword [rsp + 0xb8]
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0x38], rcx
cmp r13d, 0x10
jne 0x18008d6d9
mov rax, qword [rsp + 0xd8]
mov r13d, r15d
mov dword [rsp + 0x44], r15d
mov qword [rax], r15
cmp byte [rbp + r12*8 + 1], 0xfa
mov rax, qword [rsp + 0xd8]
setne cl
mov byte [rax + 0x1e], cl
mov rax, qword [rsp + 0xd8]
test cl, cl
sete cl
mov byte [rax + 0x1f], cl
jmp 0x180090af0
mov r8d, dword [rbp + r12*8 + 8]
mov edx, dword [rbp + r12*8 + 4]
mov ebx, 1
or r9d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.18008a300
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x18008af8d
mov byte [rax + 0x1c], bl
bt dword [rsi + 0x18], 0x11
mov rdi, qword [rsp + 0xb0]
mov eax, 3
mov r9d, ebx
lea rcx, str.:memory:
cmovb r9d, eax
cmp byte [rsi + 0x29], 2
lea r8, [rdi + 0x28]
mov rdx, rsi
cmovne rcx, r15
mov dword [rsp + 0x20], 0x41e
call fcn.180076220
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008d7c9
mov rbx, qword [rdi + 0x28]
mov rcx, rbx
mov rsi, qword [rbx + 8]
call fcn.1800741c0
cmp byte [rbx + 0x11], r13b
je 0x18008d7af
add dword [rbx + 0x14], 0xffffffff
jne 0x18008d7af
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008d7ab
call qword [0x1801756e8]
mov byte [rbx + 0x12], 0
cmp qword [rsi + 0x40], 0
jne 0x18008d7c4
mov rcx, qword [rdi + 0x28]
mov edx, 0x1f4
call fcn.180076ac0
mov ebx, 1
test r13d, r13d
jne 0x18008d9fb
mov rcx, qword [rsp + 0xb0]
mov edx, ebx
mov rcx, qword [rcx + 0x28]
call fcn.1800773d0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008d9fb
cmp qword [rbp + r12*8 + 0x10], 0
mov rax, qword [rsp + 0xb0]
je 0x18008d94c
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call fcn.1800741c0
lea r8d, [r13 + 2]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.18007e770
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
je 0x18008d852
add dword [rbx + 0x14], 0xffffffff
jne 0x18008d852
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008d84e
call qword [0x1801756e8]
mov byte [rbx + 0x12], 0
test r13d, r13d
jne 0x18008d93b
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rbp + r12*8 + 0x10]
mov rdi, qword [rax + 0x28]
mov rbx, qword [rax]
mov rcx, rdi
call fcn.1800741c0
mov rax, qword [rdi + 8]
cmp byte [rax + 0x20], r13b
je 0x18008d88f
mov eax, 8
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008d8f0
mov ecx, dword [rsp + 0x90]
cmp ecx, 1
jne 0x18008d8af
cmp dword [rax + 0x3c], 0
jne 0x18008d8af
mov eax, 0x10
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008d8f0
mov dword [rbx + 0x28], ecx
or ecx, 0xffffffff
mov qword [rbx + 0x20], rsi
mov qword [rbx], rdi
mov qword [rbx + 8], rax
mov byte [rbx + 0x58], 1
mov word [rbx + 0x80], cx
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x10], rcx
test rcx, rcx
je 0x18008d8dc
mov qword [rcx + 0x18], rbx
mov qword [rax + 0x10], rbx
mov r13d, r15d
mov dword [rsp + 0x44], r15d
mov byte [rbx + 0x5b], 0
mov qword [rbx + 0x30], r15
cmp byte [rdi + 0x11], 0
je 0x18008d913
add dword [rdi + 0x14], 0xffffffff
jne 0x18008d913
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008d90f
call qword [0x1801756e8]
mov byte [rdi + 0x12], 0
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rbp + r12*8 + 0x10]
mov qword [rax + 0x38], rdx
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
movzx eax, byte [rax + 0x71]
mov byte [rdx + 8], al
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1e], 0
jmp 0x18008d9fb
mov rdi, qword [rax + 0x28]
mov rbx, qword [rax]
mov rcx, rdi
call fcn.1800741c0
mov rax, qword [rdi + 8]
cmp byte [rax + 0x20], 0
je 0x18008d973
mov eax, 8
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008d9cc
cmp dword [rax + 0x3c], 0
jne 0x18008d987
mov eax, 0x10
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008d9cc
or ecx, 0xffffffff
mov dword [rbx + 0x28], 1
mov qword [rbx + 0x20], r15
mov qword [rbx], rdi
mov qword [rbx + 8], rax
mov byte [rbx + 0x58], 1
mov word [rbx + 0x80], cx
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x10], rcx
test rcx, rcx
je 0x18008d9b8
mov qword [rcx + 0x18], rbx
mov qword [rax + 0x10], rbx
mov r13d, r15d
mov dword [rsp + 0x44], r15d
mov byte [rbx + 0x5b], 0
mov qword [rbx + 0x30], r15
cmp byte [rdi + 0x11], 0
je 0x18008d9ef
add dword [rdi + 0x14], 0xffffffff
jne 0x18008d9ef
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008d9eb
call qword [0x1801756e8]
mov byte [rdi + 0x12], 0
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1e], 1
mov rcx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
cmp byte [rcx + 0x1e], 0
sete al
mov byte [rcx + 0x1f], al
jmp 0x180090af0
mov r8d, dword [rbp + r12*8 + 0xc]
mov edx, dword [rbp + r12*8 + 4]
or r9d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.18008a300
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x18008af8d
mov byte [rax + 0x1c], 1
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rbp + r12*8 + 8]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1e], 1
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1f], 0
jmp 0x180090af0
movsxd rax, dword [rbp + r12*8 + 4]
mov rdx, qword [rdi + 0x58]
mov rcx, rdi
mov rdx, qword [rdx + rax*8]
call fcn.180085a60
movsxd r11, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov qword [rax + r11*8], r15
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rdx
cmp qword [rdx], 0
je 0x18008a875
movzx eax, byte [rbp + r12*8]
mov dword [rsp + 0xb4], eax
mov byte [rdx + 0x1c], 0
mov r10, qword [rsp + 0xb8]
cmp byte [r10 + 0x1e], 0
je 0x18008dd49
movsxd rbx, dword [rbp + r12*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008a450
mov rcx, rbx
call fcn.180082dd0
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], 0
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x18008dcde
test al, 8
jne 0x18008db37
mov ecx, dword [rbp + r12*8 + 8]
mov r8d, 4
dec ecx
jmp 0x180090afa
mov r8, qword [rsp + 0xe8]
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x18008dc8f
movsd xmm1, qword [rbx + 8]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm1
ja 0x18008db70
comisd xmm1, xmm6
jbe 0x18008dc8f
mov dword [rsp + 0xb0], 1
comisd xmm6, xmmword [rbx + 8]
jbe 0x18008dbe3
cmp dword [rsp + 0xb4], 0x2e
jl 0x18008dc7d
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.180079bd0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008dc66
cmp byte [rbx + 0x5b], al
jne 0x18008dbc7
mov dword [rsp + 0xb0], 1
jmp 0x18008dc66
mov rcx, rbx
mov dword [rsp + 0xb0], r15d
call fcn.180079db0
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008dc66
cmp dword [rsp + 0xb4], 0x2d
jg 0x18008dc7d
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], 1
jne 0x18008dc22
cmp byte [rbx + 0x59], 0
je 0x18008dc22
mov ecx, dword [rbp + r12*8 + 8]
mov r13d, r15d
mov dword [rsp + 0x44], r15d
dec ecx
mov r8d, 4
jmp 0x180090afa
mov rcx, rbx
call fcn.180079bd0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008dc66
cmp byte [rbx + 0x5b], al
jne 0x18008dc47
mov dword [rsp + 0xb0], 1
jmp 0x18008dc66
mov rcx, rbx
mov dword [rsp + 0xb0], r15d
call fcn.180079e60
test eax, eax
mov r13d, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x59], al
test r13d, r13d
jne 0x180090ea2
cmp dword [rsp + 0xb0], r13d
je 0x180090af0
mov ecx, dword [rbp + r12*8 + 8]
mov r8d, 4
dec ecx
jmp 0x180090afa
mov eax, dword [rsp + 0xb4]
cmp eax, 0x2c
je 0x18008dcbd
cmp eax, 0x2e
je 0x18008dcbd
pxor xmm0, xmm0
cvtsi2sd xmm0, r8
comisd xmm0, xmmword [rbx + 8]
jbe 0x18008dce6
dec r8
mov qword [rsp + 0xe8], r8
jmp 0x18008dce6
movsd xmm0, qword [rbx + 8]
pxor xmm1, xmm1
cvtsi2sd xmm1, r8
comisd xmm0, xmm1
jbe 0x18008dce6
inc r8
mov qword [rsp + 0xe8], r8
jmp 0x18008dce6
mov r8, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xb8]
lea rax, [rsp + 0xb0]
xor r9d, r9d
mov rcx, qword [rcx]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180079f20
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090ea2
cmp dword [rsp + 0xb0], eax
jne 0x18008ddf5
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], 1
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xe8]
mov qword [rcx + 0x10], rax
jmp 0x18008ddf5
mov eax, dword [rbp + r12*8 + 0x10]
mov dword [rsp + 0xe0], eax
mov rax, qword [r10 + 0x38]
mov qword [rsp + 0xc0], rax
movzx eax, word [rsp + 0xe0]
mov word [rsp + 0xc8], ax
movzx eax, word [rsp + 0xb4]
and ax, 1
shl ax, 3
mov word [rsp + 0xca], ax
movsxd rcx, dword [rbp + r12*8 + 0xc]
mov eax, 0x4000
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xd8], rcx
test word [rcx + 0x24], ax
je 0x18008ddb7
call fcn.180082a70
mov r10, qword [rsp + 0xb8]
mov rcx, qword [r10]
lea rax, [rsp + 0xb0]
lea rdx, [rsp + 0xc0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.180079f20
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090ea2
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], r13b
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x1d], 0
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], r15d
mov ecx, dword [rsp + 0xb4]
mov eax, dword [rsp + 0xb0]
cmp ecx, 0x2e
jl 0x18008de52
test eax, eax
js 0x18008de38
jne 0x18008de2b
cmp ecx, 0x2f
je 0x18008de38
mov dword [rsp + 0xb0], r15d
jmp 0x180090af0
mov rcx, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rcx]
call fcn.18007a3c0
jmp 0x18008de93
test eax, eax
jg 0x18008de7b
jne 0x18008de5d
cmp ecx, 0x2c
je 0x18008de7b
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov eax, r15d
cmp byte [rcx + 0x5b], 1
setne al
mov dword [rsp + 0xb0], eax
jmp 0x18008deae
mov rcx, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rcx]
call fcn.18007a550
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x180090ea2
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], 0
cmp dword [rsp + 0xb0], 0
mov r8d, 4
je case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rdx
cmp qword [rdx], 0
je case.0x18008a865.17
mov byte [rdx + 0x1c], 0
movsxd rcx, dword [rbp + r12*8 + 8]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.180082dd0
mov rcx, qword [rsp + 0xb0]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], 0
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], 1
jmp 0x180090af0
mov rax, qword [rdi + 0x58]
mov edx, r15d
mov dword [rsp + 0xb0], edx
movsxd rcx, dword [rbp + r12*8 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rcx
movsxd rbx, dword [rbp + r12*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
cmp qword [rcx], 0
je 0x18008e088
cmp dword [rbp + r12*8 + 0x10], 0
jle 0x18008dfad
mov rax, qword [rcx + 0x38]
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
movzx eax, word [rbp + r12*8 + 0x10]
mov qword [rsp + 0xe8], rbx
mov word [rsp + 0xd8], ax
mov eax, 0x10
mov qword [rsp + 0xc8], rdx
mov word [rsp + 0xda], ax
jmp 0x18008e00e
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18008dfc8
mov rcx, rbx
call fcn.180082a70
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rbx + 0x18]
mov edx, dword [rbx + 0x20]
mov rcx, qword [rcx + 0x38]
lea r9, [rsp + 0xf0]
mov dword [rsp + 0x20], 0xcf
call fcn.180087180
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x18008af8d
or word [rax + 0xa], 0x10
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
lea rax, [rsp + 0xc0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.180079f20
cmp dword [rbp + r12*8 + 0x10], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
jne 0x18008e045
mov rcx, qword [rsp + 0xc8]
call fcn.1800873d0
mov r8d, 4
test r13d, r13d
jne case.0x18008a865.17
cmp dword [rsp + 0xc0], r13d
mov eax, r15d
sete al
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x1d], r13b
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], r15d
mov edx, dword [rsp + 0xb0]
cmp byte [rbp + r12*8], 0x32
jne 0x18008e0a4
test edx, edx
je case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
test edx, edx
jne case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 0x10]
movsxd rbx, dword [rbp + r12*8 + 0xc]
mov r11, qword [rsp + 0x50]
imul rax, rax, 0x38
imul rbx, rbx, 0x38
add rax, r11
add rbx, r11
mov qword [rsp + 0xd0], rax
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
movzx ecx, r15w
mov qword [rsp + 0xb8], rdx
mov dword [rdx + 0x60], r15d
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], r15d
mov r10, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xd0]
mov r9, qword [r10]
mov qword [rsp + 0xc0], r9
mov rax, qword [r10 + 0x38]
movzx edx, word [rax + 0xa]
mov word [rsp + 0xb0], cx
mov word [rsp + 0xc8], dx
cmp r15w, dx
jae 0x18008e163
nop
movzx eax, cx
imul rax, rax, 0x38
test byte [rax + r8 + 0x24], 1
jne 0x18008e218
inc cx
mov word [rsp + 0xb0], cx
cmp cx, dx
jb 0x18008e140
test r9, r9
je 0x180090af0
mov rax, qword [r10 + 0x38]
inc dx
mov rcx, rbx
mov qword [rsp + 0xd8], rax
mov eax, 0x20
mov word [rsp + 0xe0], dx
mov word [rsp + 0xe2], ax
mov qword [rsp + 0xf0], r8
call fcn.180082dd0
mov qword [rbx], rax
mov ecx, 0xbf04
lea rdx, [rsp + 0xd8]
and word [rbx + 0x24], cx
or word [rbx + 0x24], 4
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xb8]
xor r9d, r9d
add rax, 0x60
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.180079f20
test byte [rsp + 0xe2], 0x20
mov r13d, eax
mov dword [rsp + 0x44], eax
jne 0x18008db25
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf8]
je 0x18008db25
mov qword [rbx], rax
jmp 0x180090af0
mov ecx, dword [rbp + r12*8 + 8]
mov r8d, 4
mov qword [rsp + 0xc0], r15
dec ecx
jmp 0x180090afa
movsxd rcx, dword [rbp + r12*8 + 4]
movsxd rbx, dword [rbp + r12*8 + 0xc]
mov rax, qword [rdi + 0x58]
imul rbx, rbx, 0x38
mov rdx, qword [rax + rcx*8]
add rbx, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rdx
mov rcx, qword [rdx]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
je 0x18008e309
mov dword [rsp + 0xc0], r15d
mov r8, qword [rbx]
lea rax, [rsp + 0xc0]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xc8], r8
call fcn.180079f20
mov rcx, qword [rbx]
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x10], rcx
cmp dword [rsp + 0xc0], 0
mov rax, qword [rsp + 0xb0]
sete cl
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1c], 0
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], r15d
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], 0
mov ecx, dword [rsp + 0xc0]
test ecx, ecx
je 0x18008e2f9
mov eax, dword [rbp + r12*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x60], ecx
jmp 0x180090af0
mov ecx, dword [rbp + r12*8 + 8]
mov dword [rdx + 0x60], r15d
dec ecx
jmp 0x180090afa
mov rax, qword [rdi + 0x58]
movsxd rcx, dword [rbp + r12*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x48]
mov qword [r14], rax
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x48]
jmp case.0x18008a865.17
mov rax, qword [rdi + 0x58]
mov dword [rsp + 0xc0], r15d
mov rdx, r15
mov qword [rsp + 0xb0], rdx
movsxd rcx, dword [rbp + r12*8 + 4]
mov rbx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rbx
cmp qword [rbx], 0
je 0x18008e704
mov dword [rsp + 0xc4], r15d
cmp byte [rbx + 0x1b], 0
jne 0x18008e59a
mov rax, qword [rbx]
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0xb0], rcx
test rcx, rcx
jne 0x18008e411
mov rbx, qword [rbx]
cmp byte [rbx + 0x5b], 1
jne 0x18008e3ad
cmp byte [rbx + 0x59], cl
jne 0x18008e473
mov rcx, rbx
call fcn.180079bd0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008e3f1
cmp byte [rbx + 0x5b], al
jne 0x18008e3d2
mov dword [rsp + 0xc0], 1
jmp 0x18008e3f1
mov rcx, rbx
mov dword [rsp + 0xc0], r15d
call fcn.180079e60
test eax, eax
mov r13d, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x59], al
test r13d, r13d
jne 0x180090ea2
cmp dword [rsp + 0xc0], r13d
je 0x18008e473
mov ecx, 1
mov qword [rsp + 0xb0], rcx
movabs r8, 0x7fffffffffffffff
movsxd rdx, dword [rbp + r12*8 + 0xc]
test edx, edx
je 0x18008e560
mov rax, qword [rdi + 0x158]
test rax, rax
je 0x18008e4dd
mov qword [rsp + 0xd0], rax
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x18008e464
nop dword [rax]
mov rax, rcx
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rcx + 0x60]
test rcx, rcx
jne 0x18008e450
movsxd rbx, dword [rbp + r12*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rax + 0x20]
jmp 0x18008e4e9
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], 1
je 0x18008e489
mov rcx, r15
jmp 0x18008e495
mov rcx, rbx
call fcn.1800791e0
mov rcx, qword [rbx + 0x40]
movabs r8, 0x7fffffffffffffff
mov qword [rsp + 0xb0], rcx
mov r13d, r15d
mov dword [rsp + 0x44], r15d
cmp rcx, r8
jne 0x18008e4cd
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x1b], 1
mov rcx, qword [rsp + 0xb0]
jmp 0x18008e41b
inc rcx
mov qword [rsp + 0xb0], rcx
jmp 0x18008e41b
mov rbx, rdx
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
mov qword [rsp + 0xc8], rbx
call fcn.180082dd0
movabs r8, 0x7fffffffffffffff
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rdx]
cmp rcx, r8
je 0x18008e6bd
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0x1b], 0
jne 0x18008e6bd
lea rax, [rcx + 1]
mov rcx, qword [rsp + 0xb0]
cmp rcx, rax
cmovl rcx, rax
mov qword [rsp + 0xb0], rcx
mov qword [rdx], rcx
mov rcx, qword [rsp + 0xb0]
cmp rcx, r8
lea rdx, [rcx + 1]
jl 0x18008e56c
mov rdx, r15
mov rax, qword [rsp + 0xb8]
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18008e59a
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x18008e591
mov qword [rcx + 0x30], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x18008e584
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0x1b], 0
je 0x18008e6d2
mov r8, qword [rsi + 0x40]
mov eax, r15d
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0xc4], eax
test eax, eax
jne 0x18008e5d8
mov rax, r8
and eax, 0xffffff
cmp rax, r8
jne 0x18008e5d8
inc r8
jmp 0x18008e647
cmp dword [0x180175664], 0
mov ebx, 8
lea rdi, [rsp + 0xb0]
jne 0x18008e5f3
mov rsi, r15
jmp 0x18008e610
mov ecx, 5
call qword [0x1801756c8]
mov rsi, rax
test rax, rax
je 0x18008e610
mov rcx, rax
call qword [0x1801756d8]
nop
call fcn.1800660c0
inc rdi
sub ebx, 1
mov byte [rdi - 1], al
jne 0x18008e610
test rsi, rsi
je 0x18008e62e
mov rcx, rsi
call qword [0x1801756e8]
cmp dword [rsp + 0xc4], 5
mov r8, qword [rsp + 0xb0]
jge 0x18008e64f
and r8d, 0xffffff
mov qword [rsp + 0xb0], r8
mov rcx, qword [rsp + 0xb8]
lea rax, [rsp + 0xc0]
xor r9d, r9d
mov rcx, qword [rcx]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180079f20
mov ecx, dword [rsp + 0xc0]
mov r13d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xc4]
inc eax
cmp eax, 0x64
mov dword [rsp + 0xc4], eax
jge 0x18008e6aa
test r13d, r13d
jne 0x18008e6c8
test ecx, ecx
jne 0x18008e6aa
mov r8, qword [rsp + 0xb0]
jmp 0x18008e5c2
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x18008e6d2
test ecx, ecx
jne 0x18008e6d2
mov r13d, 0xd
jmp 0x180090ea2
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0xb8]
mov r8d, 4
mov byte [rax + 0x19], 0
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x1d], 0
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], r15d
mov rdx, qword [rsp + 0xb0]
mov qword [r14], rdx
jmp case.0x18008a865.17
movsxd r9, dword [rbp + r12*8 + 8]
mov rax, qword [rdi + 0x58]
mov rbx, qword [rsp + 0x50]
imul r9, r9, 0x38
add r9, rbx
mov qword [rsp + 0xb0], r9
movsxd rcx, dword [rbp + r12*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rsp + 0xc8], r10
cmp byte [rbp + r12*8], 0x37
movsxd rax, dword [rbp + r12*8 + 0xc]
jne 0x18008e759
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0xb8], rax
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
test byte [rbp + r12*8 + 3], 1
je 0x18008e76f
inc dword [rdi + 0xac]
test byte [rbp + r12*8 + 3], 2
je 0x18008e793
mov rax, qword [rsp + 0xc0]
mov qword [rsi + 0x40], rax
mov r10, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb0]
test byte [r9 + 0x24], 1
je 0x18008e7ba
mov qword [r9 + 0x18], r15
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x20], r15d
mov r10, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb0]
test byte [rbp + r12*8 + 3], 0x10
je 0x18008e7d0
mov r8d, dword [r10 + 0x60]
mov dword [rsp + 0xd4], r8d
jmp 0x18008e7db
mov r8d, r15d
mov dword [rsp + 0xd4], r15d
mov eax, 0x4000
test word [r9 + 0x24], ax
je 0x18008e7ec
mov edx, dword [r9]
jmp 0x18008e7ef
mov edx, r15d
mov dword [rsp + 0xd0], edx
mov r11, qword [r10]
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18008e83b
mov eax, dword [r11 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x18008e813
mov qword [rcx + 0x30], r15
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x18008e806
mov r8d, dword [rsp + 0xd4]
mov edx, dword [rsp + 0xd0]
mov r10, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb0]
movzx eax, byte [rbp + r12*8 + 3]
mov rcx, qword [r10]
mov dword [rsp + 0x38], r8d
mov r8, qword [rsp + 0xc0]
and eax, 8
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x20]
mov r9, qword [r9 + 0x18]
mov dword [rsp + 0x28], edx
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.18007e190
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xc8]
mov byte [rax + 0x19], 0
mov rax, qword [rsp + 0xc8]
mov byte [rax + 0x1d], 0
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x64], r15d
test r13d, r13d
jne 0x180090af0
cmp qword [rsi + 0x100], 0
je 0x180090af0
cmp qword [rbp + r12*8 + 0x10], 0
je 0x180090af0
mov rax, qword [rsp + 0xc8]
mov edx, 0x12
movsxd rcx, dword [rax + 8]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov r8, qword [rcx + rax]
mov eax, 0x17
mov qword [rsp + 0xd8], r8
mov r9, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xe0], r9
test byte [rbp + r12*8 + 3], 4
cmovne edx, eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0xe8], edx
mov rcx, qword [rsi + 0xf8]
mov qword [rsp + 0x20], rax
call qword [rsi + 0x100]
jmp 0x180090af0
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0xb0], r15
movsxd rcx, dword [rbp + r12*8 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rcx
cmp qword [rsi + 0x100], 0
je 0x18008e95e
cmp qword [rbp + r12*8 + 0x10], 0
je 0x18008e95e
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xb0], rax
call fcn.180086ce0
mov r13d, eax
test eax, eax
jne 0x180090ea2
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rdx]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18008e9a4
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x18008e993
mov qword [rcx + 0x30], r15
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x18008e986
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rdx]
call fcn.18007e470
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], r15d
test r13d, r13d
jne 0x18008ea0d
mov r10, qword [rsi + 0x100]
test r10, r10
je 0x18008ea0d
mov r9, qword [rbp + r12*8 + 0x10]
test r9, r9
je 0x18008ea0d
mov rax, qword [rsp + 0xb8]
mov r8, qword [rsi + 0x10]
lea edx, [r13 + 9]
movsxd rcx, dword [rax + 8]
mov rax, qword [rsp + 0xb0]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [rsi + 0xf8]
call r10
test byte [rbp + r12*8 + 8], 1
mov ecx, dword [rsp + 0x40]
mov r8d, 4
je 0x180090afa
inc dword [rdi + 0xac]
jmp 0x180090afa
mov eax, dword [rdi + 0xac]
add dword [rsi + 0x50], eax
mov dword [rsi + 0x4c], eax
mov dword [rdi + 0xac], r15d
jmp case.0x18008a865.17
movsxd rcx, dword [rbp + r12*8 + 4]
movsxd r14, dword [rbp + r12*8 + 8]
mov rax, qword [rdi + 0x58]
imul r14, r14, 0x38
mov rcx, qword [rax + rcx*8]
add r14, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rcx
mov rax, qword [rcx]
mov qword [rsp + 0xb8], rax
call fcn.180086ce0
mov r13d, eax
test eax, eax
jne 0x180090ea2
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
cmp byte [rax + 0x1f], r13b
je 0x18008ead1
cmp byte [rbx + 0x5b], 1
je 0x18008eaa5
mov rcx, r15
jmp 0x18008eab1
mov rcx, rbx
call fcn.1800791e0
mov rcx, qword [rbx + 0x40]
mov qword [rsp + 0xc8], rcx
movsxd rax, dword [rsi + 0x60]
cmp rcx, rax
jg 0x180090eef
mov edx, ecx
mov dword [rsp + 0xc0], ecx
jmp 0x18008eaec
mov rcx, rbx
call fcn.1800791e0
mov edx, dword [rbx + 0x48]
mov dword [rsp + 0xc0], edx
cmp edx, dword [rsi + 0x60]
ja 0x180090eef
xor r8d, r8d
mov rcx, r14
call fcn.1800828a0
test eax, eax
jne 0x18008af8d
mov eax, dword [rsp + 0xc0]
mov r9, qword [r14 + 0x18]
xor edx, edx
mov dword [r14 + 0x20], eax
mov eax, 0xbf10
and word [r14 + 0x24], ax
or word [r14 + 0x24], 0x10
mov rax, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
cmp byte [rax + 0x1f], dl
je 0x18008eb58
mov dword [rsp + 0x20], r15d
call fcn.1800795b0
mov byte [r14 + 0x27], 1
mov dword [rsp + 0x44], eax
mov r13d, eax
jmp 0x180090af0
call fcn.180079a40
mov byte [r14 + 0x27], 1
mov dword [rsp + 0x44], eax
mov r13d, eax
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov r8, qword [rax + rcx*8]
mov qword [rsp + 0xb0], r8
cmp byte [r8 + 0x1c], 0
je 0x18008eb99
mov eax, 1
mov word [r14 + 0x24], ax
jmp 0x180090af0
cmp byte [r8 + 0x1d], 0
je 0x18008ebb4
mov rax, qword [r8 + 0x20]
mov qword [rsp + 0xb8], rax
mov qword [r14], rax
jmp 0x180090af0
cmp qword [r8 + 0x50], 0
je 0x18008ec0b
mov rax, qword [r8 + 0x50]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rax]
mov qword [rsp + 0xc0], rcx
mov rax, qword [rcx]
mov qword [rsp + 0xc8], rax
mov rcx, qword [r8 + 0x50]
call qword [rax + 0x60]
mov rdx, qword [rsp + 0xc0]
mov rcx, rdi
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.18008a670
mov rax, qword [rsp + 0xb8]
mov qword [r14], rax
jmp 0x180090af0
mov rcx, r8
call fcn.180086ce0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090ea2
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x19], r13b
je 0x18008ec44
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb8], rax
mov qword [r14], rax
jmp 0x180090af0
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], 1
je 0x18008ec68
mov rax, r15
mov r13d, r15d
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0xb8], rax
mov qword [r14], rax
jmp 0x180090af0
mov rcx, rbx
call fcn.1800791e0
mov rax, qword [rbx + 0x40]
mov r13d, r15d
mov qword [rsp + 0xb8], rax
mov qword [r14], rax
mov dword [rsp + 0x44], r15d
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rdx
mov byte [rdx + 0x1c], 1
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], 0
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rax]
test rbx, rbx
je case.0x18008a865.17
mov rcx, qword [rbx + 0x60]
call fcn.1800641a0
mov qword [rbx + 0x60], r15
mov byte [rbx + 0x5b], 0
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rdx]
mov qword [rsp + 0xb8], rbx
test rbx, rbx
jne 0x18008ed0d
mov dword [rsp + 0xc0], 1
jmp 0x18008ed75
cmp byte [rbx + 0x5b], 1
jne 0x18008ed23
cmp byte [rbx + 0x59], 0
je 0x18008ed23
mov r13d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x18008ed75
mov rcx, rbx
call fcn.180079bd0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008ed67
cmp byte [rbx + 0x5b], al
jne 0x18008ed48
mov dword [rsp + 0xc0], 1
jmp 0x18008ed67
mov rcx, rbx
mov dword [rsp + 0xc0], r15d
call fcn.180079e60
test eax, eax
mov r13d, eax
mov dword [rsp + 0x44], eax
sete al
mov byte [rbx + 0x59], al
mov rdx, qword [rsp + 0xb0]
mov r8d, 4
movzx eax, byte [rsp + 0xc0]
mov byte [rdx + 0x1c], al
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], 0
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], 0
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], r15d
mov eax, dword [rbp + r12*8 + 8]
test eax, eax
jle case.0x18008a865.17
cmp dword [rsp + 0xc0], 0
je case.0x18008a865.17
lea ecx, [rax - 1]
jmp 0x180090afa
inc dword [rdi + 0x124]
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov dword [rsp + 0xc0], 1
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rdx]
mov qword [rsp + 0xb8], rbx
test rbx, rbx
je 0x18008ee85
mov rcx, rbx
call fcn.180079bd0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008ee3d
cmp byte [rbx + 0x5b], al
jne 0x18008ee26
mov dword [rsp + 0xc0], 1
jmp 0x18008ee3d
mov rcx, rbx
mov dword [rsp + 0xc0], r15d
call fcn.180079db0
mov r13d, eax
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0xc0], 0
mov rax, qword [rsp + 0xb0]
mov r8d, 4
sete cl
mov byte [rax + 0x1a], cl
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], 0
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], r15d
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], 0
mov rdx, qword [rsp + 0xb0]
movzx eax, byte [rsp + 0xc0]
mov byte [rdx + 0x1c], al
cmp dword [rsp + 0xc0], 0
je case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
mov eax, dword [rsi + 0x148]
test eax, eax
jne 0x180090f10
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rdx
test rdx, rdx
je case.0x18008a865.17
mov rcx, qword [rdx]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
jne 0x18008eeef
mov byte [rdx + 0x1c], 1
jmp case.0x18008a865.17
mov dword [rsp + 0xc0], 1
cmp byte [rbp + r12*8], 0x43
lea rdx, [rsp + 0xc0]
jne 0x18008ef11
call fcn.18007a3c0
jmp 0x18008ef16
call fcn.18007a550
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x44], eax
mov r13d, eax
movzx eax, byte [rsp + 0xc0]
mov byte [rcx + 0x1c], al
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], r15d
cmp dword [rsp + 0xc0], 0
jne 0x18008ef65
mov eax, dword [rbp + r12*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
movzx eax, byte [rbp + r12*8 + 3]
test al, al
je 0x18008ef65
movzx eax, al
inc dword [rdi + rax*4 + 0x11c]
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], 0
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rdx
movsxd rbx, dword [rbp + r12*8 + 8]
mov rcx, qword [rdx]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
je case.0x18008a865.17
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18008efdf
mov rcx, rbx
call fcn.180082a70
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090af0
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
movsxd r8, dword [rbx + 0x20]
mov dword [rsp + 0xc0], r8d
mov r10, qword [rbx + 0x18]
mov qword [rsp + 0xc8], r10
test byte [rbp + r12*8 + 3], 0x10
je 0x18008f004
mov eax, dword [rdx + 0x60]
jmp 0x18008f007
mov eax, r15d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + r12*8 + 0xc]
lea r9, [0x18011804f]
mov dword [rsp + 0x30], eax
mov rdx, r10
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call fcn.18007e190
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], r15d
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
je case.0x18008a865.17
mov rax, qword [rax + 0x38]
lea rdx, [rsp + 0xc8]
xor r9d, r9d
mov qword [rsp + 0xc8], rax
movzx eax, word [rbp + r12*8 + 0xc]
mov word [rsp + 0xd2], r15w
mov word [rsp + 0xd0], ax
movsxd rax, dword [rbp + r12*8 + 8]
xor r8d, r8d
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.180079f20
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18008f0ef
cmp dword [rsp + 0xc0], eax
jne 0x18008f0ef
mov rcx, qword [rsp + 0xb8]
call fcn.18007e470
mov r13d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], r15d
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov eax, 1
mov word [r14 + 0x24], ax
cmp qword [rsp + 0xb0], 0
je case.0x18008a865.17
mov rcx, qword [rsp + 0xb8]
call fcn.180086ce0
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090ea2
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0x1c], r13b
jne 0x180090af0
mov rdx, qword [rsp + 0xb0]
lea r8, [rsp + 0xc0]
mov rcx, rsi
call fcn.180087730
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090ea2
mov rax, qword [rsp + 0xc0]
mov r8d, 4
mov qword [r14], rax
mov word [r14 + 0x24], r8w
jmp case.0x18008a865.17
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rcx
cmp qword [rcx], 0
je case.0x18008a865.17
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0xc0], rax
movzx eax, word [rbp + r12*8 + 0x10]
mov word [rsp + 0xc8], ax
cmp byte [rbp + r12*8 + 3], 0
je 0x18008f1f9
mov eax, 0xc
mov word [rsp + 0xca], ax
jmp 0x18008f202
mov word [rsp + 0xca], r8w
movsxd rax, dword [rbp + r12*8 + 0xc]
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0xc0]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov qword [rsp + 0xd8], rax
call fcn.180087a30
cmp byte [rbp + r12*8], 0x51
mov r13d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xb8]
jne 0x18008f247
neg eax
jmp 0x18008f249
inc eax
mov dword [rsp + 0xb8], eax
mov r8d, 4
test eax, eax
jle case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
mov ecx, r15d
mov dword [rsp + 0xb4], ecx
mov rax, qword [rsi + 0xa8]
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x18008f2c5
nop dword [rax + rax]
cmp dword [rax + 0x78], 0xbdf20da3
jne 0x18008f2b4
cmp byte [rax + 0xa5], 2
jae 0x18008f2b4
cmp dword [rax + 0x8c], 0
jl 0x18008f2b4
inc ecx
mov dword [rsp + 0xb4], ecx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb8], rax
test rax, rax
jne 0x18008f290
mov eax, 1
mov word [r14 + 0x24], ax
cmp dword [rsp + 0xb4], eax
jle 0x18008f2ec
mov r13d, 6
mov byte [rdi + 0x60], 2
mov dword [rsp + 0x44], r13d
jmp case.0x18008a865.17
movsxd rax, dword [rbp + r12*8 + 0xc]
mov dword [rsp + 0xc0], eax
mov ebx, dword [rbp + r12*8 + 4]
mov rcx, rax
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rcx, rdi
call fcn.1800741c0
lea r8, [rsp + 0xb0]
mov edx, ebx
mov rcx, rdi
call fcn.18007f070
cmp byte [rdi + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
je 0x18008f351
add dword [rdi + 0x14], 0xffffffff
jne 0x18008f351
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008f34d
call qword [0x1801756e8]
mov byte [rdi + 0x12], 0
mov r8d, 4
mov word [r14 + 0x24], r8w
movsxd rax, dword [rsp + 0xb0]
mov qword [r14], rax
test r13d, r13d
jne 0x18008b9cb
mov r8d, dword [rsp + 0xb0]
test r8d, r8d
je 0x18008ac98
movsxd r9, dword [rsp + 0xc0]
mov edx, dword [rbp + r12*8 + 4]
shl r9, 5
add r9, qword [rsi + 0x10]
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18008f3b8
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x20], r8d
jne 0x18008f3b0
mov dword [rax + 0x20], edx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18008f3a3
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x18008f3da
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], r8d
jne 0x18008f3d2
mov dword [rax + 0x28], edx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18008f3c5
mov rdi, qword [rsp + 0x58]
mov byte [rsp + 0x60], 1
jmp 0x180090af0
mov dword [rsp + 0xb0], r15d
cmp dword [rbp + r12*8 + 0xc], 0
movsxd rax, dword [rbp + r12*8 + 8]
mov rcx, qword [rsi + 0x10]
mov edx, dword [rbp + r12*8 + 4]
lea r8, [rsp + 0xb0]
cmove r8, r15
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18007ef80
cmp dword [rbp + r12*8 + 0xc], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
je 0x180090af0
movsxd rax, dword [rsp + 0xb0]
mov r8d, 4
add dword [rdi + 0xac], eax
movsxd rcx, dword [rbp + r12*8 + 0xc]
test ecx, ecx
jle case.0x18008a865.17
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add qword [rcx + rbx], rax
jmp case.0x18008a865.17
mov dword [rsp + 0xb0], r15d
movsxd rax, dword [rbp + r12*8 + 4]
mov ecx, 5
shl rax, 5
mov ebx, 2
add rax, qword [rsi + 0x10]
mov qword [rsp + 0xb8], rax
cmp byte [rbp + r12*8], 0x62
cmove ebx, ecx
mov dword [rsp + 0xb4], ebx
mov rdi, qword [rax + 8]
mov rcx, rdi
call fcn.1800741c0
lea rdx, [rsp + 0xb0]
mov r8d, ebx
mov rcx, rdi
call fcn.18007e770
cmp byte [rdi + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
je 0x18008f4e5
add dword [rdi + 0x14], 0xffffffff
jne 0x18008f4e5
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x18008f4e1
call qword [0x1801756e8]
mov byte [rdi + 0x12], 0
movsxd rax, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0x58]
mov qword [r14], rax
jmp 0x180090af0
mov eax, dword [rbp + r12*8 + 4]
mov rcx, rsi
mov dword [rsp + 0xb0], eax
call fcn.180074300
cmp dword [rbp + r12*8 + 8], 0
movsxd r11, dword [rsp + 0xb0]
jne 0x18008f538
mov rax, qword [rsi + 0x10]
mov rcx, r11
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
test byte [rcx + 0x72], 1
je 0x18008f618
mov qword [rsp + 0xc8], rsi
lea rax, str.sqlite_master
cmp r11d, 1
mov rcx, r11
lea r9, str.sqlite_temp_master
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmovne r9, rax
shl rcx, 5
mov qword [rsp + 0xb8], r9
mov eax, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xd0], eax
lea rax, [rdi + 0x98]
mov qword [rsp + 0xd8], rax
mov r8, qword [rsi + 0x10]
mov rax, qword [rbp + r12*8 + 0x10]
mov r8, qword [rcx + r8]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180065c80
mov qword [rsp + 0xc0], rax
test rax, rax
jne 0x18008f5bb
mov r13d, 7
mov dword [rsp + 0x44], r13d
jmp 0x18008f618
mov byte [rsi + 0x94], 1
mov rdx, qword [rsp + 0xc0]
lea r9, [rsp + 0xc8]
lea r8, [fcn.1800b5f00]
mov rcx, rsi
mov dword [rsp + 0xe0], r15d
mov qword [rsp + 0x20], r15
call fcn.1800b1a20
mov rdx, qword [rsp + 0xc0]
mov r13d, eax
test eax, eax
mov rcx, rsi
cmove r13d, dword [rsp + 0xe0]
mov dword [rsp + 0x44], r13d
call fcn.180064250
mov byte [rsi + 0x94], 0
mov rcx, rsi
call fcn.180074420
cmp r13d, 7
je 0x18008af8d
jmp 0x180090af0
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rsi
call fcn.18009d510
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
mov rdx, qword [rbp + r12*8 + 0x10]
movsxd rcx, dword [rbp + r12*8 + 4]
shl rcx, 5
mov rax, rdx
add rcx, qword [rsi + 0x10]
test rdx, rdx
jne 0x18008f667
mov eax, r15d
jmp 0x18008f67f
cmp byte [rdx], 0
je 0x18008f678
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x18008f670
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rcx + 0x18]
xor r9d, r9d
mov r8d, eax
add rcx, 8
call fcn.180067d00
mov rcx, rsi
mov rdx, rax
call fcn.18009f480
mov eax, 0x200
or dword [rsi + 0x18], eax
jmp 0x180090af0
mov r8, qword [rbp + r12*8 + 0x10]
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rsi
call fcn.18009f130
jmp 0x180090af0
mov r8, qword [rbp + r12*8 + 0x10]
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rsi
call fcn.1800c40d0
jmp 0x180090af0
mov edx, dword [rbp + r12*8 + 8]
mov rcx, rsi
mov dword [rsp + 0xb0], edx
lea edx, [rdx*4 + 4]
call fcn.180064530
mov r11, rax
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x18008af8d
movsxd rcx, dword [rbp + r12*8 + 0xc]
mov rax, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, rax
mov qword [rsp + 0xd0], rcx
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, rax
cmp dword [rsp + 0xb0], 0
mov eax, r15d
mov dword [rsp + 0xc0], eax
jle 0x18008f783
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, rbx
call fcn.180082dd0
movsxd rdx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + rdx*4], eax
mov eax, dword [rsp + 0xc0]
inc eax
cmp eax, dword [rsp + 0xb0]
mov dword [rsp + 0xc0], eax
jl 0x18008f740
mov r11, qword [rsp + 0xb8]
cdqe
mov dword [r11 + rax*4], r15d
movzx r10d, byte [rbp + r12*8 + 3]
mov rcx, qword [rsi + 0x10]
mov r8d, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
lea rax, [rsp + 0xc4]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xd0]
shl r10, 5
mov r9d, dword [rax]
mov rcx, qword [r10 + rcx + 8]
call fcn.180080bb0
mov rdx, qword [rsp + 0xb8]
mov rcx, rsi
mov qword [rsp + 0xc8], rax
call fcn.180064250
mov rax, qword [rsp + 0xd0]
movsxd r11, dword [rsp + 0xc4]
mov rcx, rbx
sub qword [rax], r11
call fcn.180083020
cmp dword [rsp + 0xc4], 0
je 0x18008f832
mov rdx, qword [rsp + 0xc8]
test rdx, rdx
je 0x18008af8d
lea rax, [fcn.1800641a0]
mov r9b, 1
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180083460
test byte [rbx + 0x24], 2
movzx ecx, byte [rsp + 0x48]
je 0x180090af0
movzx eax, byte [rbx + 0x27]
cmp eax, ecx
je 0x180090af0
movzx edx, cl
mov rcx, rbx
call fcn.180066340
jmp 0x180090af0
mov rax, qword [rsp + 0x50]
movsxd rbx, dword [rbp + r12*8 + 4]
movsxd rdi, dword [rbp + r12*8 + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rax
add rdi, rax
test byte [rbx + 0x24], 0x20
jne 0x18008f892
mov rcx, rbx
call fcn.180083190
test byte [rbx + 0x24], 0x20
je 0x18008af88
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.18006c3e0
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov eax, dword [rsi + 0x148]
test eax, eax
jne 0x180090f10
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], 0x20
je 0x18008f92b
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.18006c830
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x18008f926
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov rax, qword [rdi + 0x10]
mov rdx, qword [rax + 8]
mov qword [rdi + 0x10], rdx
test rdx, rdx
jne 0x18008f901
mov rcx, rdi
call fcn.18006c380
movsxd rcx, dword [rbp + r12*8 + 0xc]
mov rdx, qword [rsp + 0xb0]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.1800830b0
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
call fcn.180083020
mov ecx, dword [rbp + r12*8 + 8]
mov r8d, 4
dec ecx
jmp 0x180090afa
mov rax, qword [rsp + 0x50]
movsxd rbx, dword [rbp + r12*8 + 4]
movsxd rdi, dword [rbp + r12*8 + 0xc]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rax
add rdi, rax
mov eax, dword [rbp + r12*8 + 0x10]
mov dword [rsp + 0xb0], eax
test byte [rbx + 0x24], 0x20
jne 0x18008f98d
mov rcx, rbx
call fcn.180083190
test byte [rbx + 0x24], 0x20
je 0x18008af88
mov eax, dword [rsp + 0xb0]
test eax, eax
je 0x18008f9d4
js 0x18008f998
and eax, 0xf
jmp 0x18008f99d
mov eax, 0xff
mov r8, qword [rdi]
mov rcx, qword [rbx]
movzx edx, al
call fcn.18006c8c0
mov dword [rsp + 0xb4], eax
test eax, eax
je 0x18008f9cb
mov edi, dword [rbp + r12*8 + 8]
dec edi
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov eax, dword [rsp + 0xb0]
test eax, eax
js 0x18008ac98
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.18006c3e0
mov rdi, qword [rsp + 0x58]
jmp 0x180090af0
mov r8, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xd8], r8
movsxd rdx, dword [rbp + r12*8 + 0xc]
imul rdx, rdx, 0x38
add rdx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rdx
cmp byte [rbp + r12*8 + 3], 0
je 0x18008fa5b
mov rax, qword [rdi + 0x158]
mov rcx, qword [r8 + 0x18]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x18008fa5b
nop word [rax + rax]
cmp qword [rax + 0x40], rcx
je 0x180090af0
mov rax, qword [rax + 0x60]
mov qword [rsp + 0xd0], rax
test rax, rax
jne 0x18008fa40
mov eax, dword [rsi + 0x88]
cmp dword [rdi + 0x160], eax
jl 0x18008fa8f
lea rcx, [rdi + 0x98]
lea r8, str.too_many_levels_of_trigger_recursion
mov r13d, 1
mov rdx, rsi
mov dword [rsp + 0x44], r13d
call fcn.180064760
jmp 0x180090af0
test byte [rdx + 0x24], 0x40
jne 0x18008fc38
mov edx, dword [r8 + 0xc]
mov rcx, rsi
add edx, dword [r8 + 0x10]
mov dword [rsp + 0xb0], edx
imul edx, edx, 7
add edx, dword [r8 + 0x10]
lea edx, [rdx*8 + 0x68]
mov dword [rsp + 0xb4], edx
call fcn.1800644f0
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x18008af8d
mov rcx, qword [rsp + 0xb8]
call fcn.180082da0
mov rax, qword [rsp + 0xb8]
mov ecx, 0x40
mov word [rax + 0x24], cx
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd0]
mov qword [rcx], rax
mov rax, qword [rsp + 0xd0]
mov qword [rax], rdi
mov ecx, dword [rsp + 0xb0]
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rax + 0x10]
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 8], ecx
mov rcx, qword [rdi + 0x80]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rdi + 0x7c]
mov dword [rax + 0x28], ecx
mov rcx, qword [rdi + 0x58]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0xd0]
movzx ecx, word [rdi + 0x52]
mov word [rax + 0x38], cx
mov rcx, qword [rdi + 0x20]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rdi + 0x18]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + 0x18]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x40], rcx
mov rdx, qword [rsp + 0xd0]
movsxd rax, dword [rdx + 0x48]
imul rax, rax, 0x38
lea rcx, [rax + rdx + 0x68]
lea rax, [rdx + 0x68]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rax
cmp rax, rcx
je 0x18008fc43
mov ebx, 1
nop word [rax + rax]
mov word [rax + 0x24], bx
mov rax, qword [rsp + 0xc0]
mov qword [rax + 0x10], rsi
mov rax, qword [rsp + 0xc0]
add rax, 0x38
mov qword [rsp + 0xc0], rax
cmp rax, qword [rsp + 0xc8]
jne 0x18008fc00
mov rdx, qword [rsp + 0xd0]
jmp 0x18008fc43
mov rdx, qword [rdx]
mov qword [rsp + 0xd0], rdx
inc dword [rdi + 0x160]
mov rax, qword [rdi + 0x158]
mov qword [rdx + 0x60], rax
mov rcx, qword [rsi + 0x40]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x50], rcx
mov ecx, dword [rdi + 0xac]
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0xd0]
mov dword [rdi + 0xac], r15d
lea r11, [rax + 0x30]
mov qword [rdi + 0x158], rax
mov qword [rdi + 0x80], r11
mov ecx, dword [rax + 0x48]
mov qword [rsp + 0x50], r11
mov dword [rdi + 0x7c], ecx
movzx eax, word [rax + 0x4c]
mov word [rdi + 0x52], ax
lea eax, [rcx + 1]
cdqe
imul rax, rax, 0x38
add rax, r11
or ecx, 0xffffffff
mov qword [rdi + 0x58], rax
mov rax, qword [rsp + 0xd8]
lea r8d, [rcx + 5]
mov rbp, qword [rax]
mov qword [rdi + 0x20], rbp
mov eax, dword [rax + 8]
mov qword [rsp + 0x78], rbp
mov dword [rdi + 0x18], eax
jmp 0x180090afa
mov r8, qword [rdi + 0x158]
mov qword [rsp + 0xb0], r8
movsxd rax, dword [r8 + 8]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r14
add edx, dword [rbp + r12*8 + 4]
movsxd rdx, edx
imul rdx, rdx, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
mov qword [rsp + 0xb8], rdx
call fcn.1800832a0
jmp 0x180090af0
cmp dword [rbp + r12*8 + 4], 0
movsxd rax, dword [rbp + r12*8 + 8]
mov ecx, dword [rsp + 0x40]
je 0x18008fd46
add qword [rsi + 0x320], rax
jmp 0x180090afa
add qword [rdi + 0x140], rax
jmp 0x180090afa
cmp dword [rbp + r12*8 + 4], 0
je 0x18008fd74
cmp qword [rsi + 0x320], 0
jne case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
cmp qword [rdi + 0x140], 0
jne case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
mov rax, qword [rdi + 0x158]
test rax, rax
je 0x18008fdd3
mov qword [rsp + 0xb8], rax
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x18008fdc4
nop dword [rax + rax]
mov rax, rcx
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rcx + 0x60]
test rcx, rcx
jne 0x18008fdb0
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rax + 0x20]
jmp 0x18008fde1
movsxd rbx, dword [rbp + r12*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
mov qword [rsp + 0xb0], rbx
call fcn.180082dd0
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
movsxd rbx, dword [rbp + r12*8 + 8]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.180082dd0
mov ecx, 0xbf04
mov r8d, 4
and word [rbx + 0x24], cx
or word [rbx + 0x24], 4
mov qword [rbx], rax
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx], rax
jge case.0x18008a865.17
mov qword [rcx], rax
jmp case.0x18008a865.17
movsxd rax, dword [rbp + r12*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
cmp qword [rax + rcx], 0
jle case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rax, dword [rbp + r12*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
cmp qword [rax + rcx], 0
jge case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movsxd rcx, dword [rbp + r12*8 + 4]
movsxd rax, dword [rbp + r12*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
add qword [rcx], rax
jne case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
movzx eax, byte [rbp + r12*8 + 3]
mov rbx, qword [rsp + 0x50]
mov r8, qword [rdi + 0x38]
mov dword [rsp + 0xb0], eax
movsxd rdx, dword [rbp + r12*8 + 8]
mov ecx, r15d
mov qword [rsp + 0x128], r8
mov dword [rsp + 0xb4], ecx
imul rdx, rdx, 0x38
add rdx, rbx
mov qword [rsp + 0xc0], rdx
test eax, eax
jle 0x18008ff4b
nop word [rax + rax]
movsxd rax, ecx
mov qword [r8 + rax*8], rdx
mov rcx, qword [rsp + 0xc0]
call fcn.18008a2d0
mov ecx, dword [rsp + 0xb4]
mov rdx, qword [rsp + 0xc0]
inc ecx
add rdx, 0x38
cmp ecx, dword [rsp + 0xb0]
mov dword [rsp + 0xb4], ecx
mov qword [rsp + 0xc0], rdx
jge 0x18008ff4b
mov r8, qword [rsp + 0x128]
jmp 0x18008ff00
mov rax, qword [rbp + r12*8 + 0x10]
mov qword [rsp + 0xc8], rax
movsxd rax, dword [rbp + r12*8 + 0xc]
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x110], rax
inc dword [rax + 0x20]
mov r9, qword [rsp + 0xc8]
mov eax, 1
mov word [rsp + 0xfc], ax
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x100], r15
mov qword [rsp + 0xe8], rsi
mov dword [rsp + 0x118], r15d
mov qword [rsp + 0x120], r15
test byte [r9 + 3], 8
je 0x18008ffd0
mov rax, qword [rbp + r12*8 - 8]
mov qword [rsp + 0x120], rax
mov r8, qword [rsp + 0x128]
mov edx, dword [rsp + 0xb0]
lea rcx, [rsp + 0xc8]
call qword [r9 + 0x20]
cmp dword [rsp + 0x118], 0
je 0x18009002a
lea rcx, [rsp + 0xd8]
mov dl, 1
call fcn.180083dd0
lea rcx, [rdi + 0x98]
lea r8, [0x1801277c8]
mov r9, rax
mov rdx, rsi
call fcn.180064760
mov r13d, dword [rsp + 0x118]
mov dword [rsp + 0x44], r13d
lea rcx, [rsp + 0xd8]
call fcn.180082d10
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xe8]
call fcn.180064250
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x100], r15
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rbp + r12*8 + 0x10]
call fcn.180082c20
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1800900bc
mov rcx, qword [rsp + 0xb0]
mov dl, 1
call fcn.180083dd0
lea rcx, [rdi + 0x98]
lea r8, [0x1801277c8]
mov r9, rax
mov rdx, rsi
call fcn.180064760
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x48]
test byte [rcx + 0x24], 2
je 0x1800900e4
movzx eax, byte [rcx + 0x27]
cmp eax, edx
je 0x1800900e4
call fcn.180066340
mov rcx, qword [rsp + 0xb0]
call fcn.180083270
test eax, eax
jne 0x180090eef
jmp 0x180090af0
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rsi
call fcn.1800d5a80
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
cmp dword [rdi + 0xc0], 0
mov r8d, dword [rbp + r12*8 + 0xc]
mov dword [rsp + 0xc0], r8d
jne 0x180090142
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rdi
call fcn.1800850a0
mov rcx, rdi
call fcn.1800863a0
mov r8d, dword [rsp + 0xc0]
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rbp + r12*8 + 4]
shl rcx, 5
cmp r8d, 0xffffffff
mov r10, qword [rcx + rax + 8]
mov qword [rsp + 0xb0], r10
mov rax, qword [r10 + 8]
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rcx
movzx edx, byte [rcx + 9]
cmove r8d, edx
mov dword [rsp + 0xc4], edx
mov dword [rsp + 0xc0], r8d
cmp byte [rcx + 0x12], 3
jae 0x18009019d
mov rax, qword [rcx + 0x50]
cmp qword [rax], 0
je 0x1800901a7
cmp qword [rcx + 0x60], 0
jle 0x1800901a7
mov r8d, edx
mov dword [rsp + 0xc0], edx
mov rax, qword [rcx + 0xb0]
mov qword [rsp + 0xc8], rax
cmp r8d, 5
jne 0x1800901e4
cmp byte [rax], 0
je 0x1800901d5
mov rax, qword [rcx + 0x48]
mov r9, qword [rax]
cmp dword [r9], 2
jl 0x1800901d5
cmp qword [r9 + 0x68], 0
jne 0x1800901e4
mov r8d, edx
mov dword [rsp + 0xc0], edx
jmp 0x18009028f
cmp r8d, edx
je 0x18009028f
cmp edx, 5
je 0x1800901fc
cmp r8d, 5
jne 0x18009028f
cmp byte [rsi + 0x28], 0
je 0x1800902d2
cmp dword [rsi + 0xb0], 1
jg 0x1800902d2
cmp edx, 5
jne 0x180090239
call fcn.180071780
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180090277
mov edx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
jmp 0x180090243
cmp edx, 4
jne 0x180090258
mov edx, 2
call fcn.1800715a0
mov r10, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0xc0]
mov edx, r15d
cmp r8d, 5
mov rcx, r10
sete dl
inc edx
call fcn.180081310
mov r13d, eax
mov dword [rsp + 0x44], eax
test eax, eax
je 0x1800902c8
mov r8d, dword [rsp + 0xc4]
mov dword [rsp + 0xc0], r8d
mov rcx, qword [rsp + 0xb8]
mov edx, r8d
call fcn.1800715a0
mov dword [rsp + 0xc0], eax
movsxd r14, dword [rbp + r12*8 + 8]
mov eax, 0xa02
imul r14, r14, 0x38
add r14, qword [rsp + 0x50]
mov word [r14 + 0x24], ax
movsxd rax, dword [rsp + 0xc0]
cmp eax, 6
jne 0x18009030e
mov rcx, r15
jmp 0x18009031d
mov r8d, dword [rsp + 0xc0]
jmp 0x180090287
cmp r8d, 5
lea rax, str.into
lea r9, str.out_of
lea rcx, [rdi + 0x98]
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov r13d, 1
cmove r9, rax
mov rdx, rsi
mov dword [rsp + 0x44], r13d
call fcn.180064760
jmp 0x180090af0
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x12b000]
mov qword [r14 + 0x18], rcx
mov rax, rcx
test rcx, rcx
jne 0x18009032e
mov eax, r15d
jmp 0x180090342
cmp byte [rcx], 0
je 0x18009033b
inc rax
cmp byte [rax], 0
jne 0x180090333
sub eax, ecx
and eax, 0x3fffffff
mov dword [r14 + 0x20], eax
movzx eax, byte [rsp + 0x48]
mov byte [r14 + 0x27], 1
cmp eax, 1
je 0x180090af0
movzx edx, al
mov rcx, r14
call fcn.180066340
jmp 0x180090af0
lea rcx, [rdi + 0x98]
mov rdx, rsi
call fcn.1800c75b0
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0xb0], rcx
call fcn.180078420
mov r8d, 4
mov r13d, eax
mov dword [rsp + 0x44], eax
cmp eax, 0x65
jne case.0x18008a865.17
mov r13d, dword [rbp + r12*8 + 8]
mov dword [rsp + 0x44], r15d
dec r13d
mov dword [rsp + 0x40], r13d
mov r13d, r15d
jmp case.0x18008a865.17
cmp dword [rbp + r12*8 + 4], 0
jne 0x1800903e8
mov rcx, rsi
call fcn.180087ba0
jmp case.0x18008a865.17
mov byte [rdi + 0xa2], 1
jmp case.0x18008a865.17
movzx r8d, byte [rbp + r12*8 + 0xc]
test r8b, r8b
jne 0x18009040a
bt dword [rsi + 0x18], 0x13
jb 0x180090af0
movsxd rax, dword [rbp + r12*8 + 4]
mov rcx, qword [rsi + 0x10]
mov edx, dword [rbp + r12*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1800811b0
mov r13d, eax
mov dword [rsp + 0x44], eax
cmp al, 6
jne 0x180090af0
mov r9, qword [rbp + r12*8 + 0x10]
lea rcx, [rdi + 0x98]
lea r8, str.database_table_is_locked:__s
mov rdx, rsi
call fcn.180064760
jmp 0x180090af0
mov rdx, qword [rbp + r12*8 + 0x10]
mov rcx, rsi
mov qword [rsp + 0xb0], rdx
call fcn.1800c8d10
mov rdx, qword [rsp + 0xb0]
mov r13d, eax
mov dword [rsp + 0x44], eax
test rdx, rdx
je 0x180090af0
mov rdx, qword [rdx + 0x10]
mov rcx, rdi
call fcn.18008a670
jmp 0x180090af0
mov r8, qword [rbp + r12*8 + 0x10]
mov edx, dword [rbp + r12*8 + 4]
lea r9, [rdi + 0x98]
mov rcx, rsi
call fcn.1800c87f0
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
mov byte [rdi + 0xa5], 2
mov r8, qword [rbp + r12*8 + 0x10]
mov edx, dword [rbp + r12*8 + 4]
mov rcx, rsi
call fcn.1800c8ad0
mov byte [rdi + 0xa5], 0
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x180090af0
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xb8], r15
mov rax, qword [rbp + r12*8 + 0x10]
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0xc0], rcx
mov rax, qword [rcx]
mov qword [rsp + 0xc8], rax
call qword [rax + 0x30]
mov rdx, qword [rsp + 0xc0]
mov rcx, rdi
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.18008a670
test r13d, r13d
jne 0x180090af0
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
or r9d, 0xffffffff
mov qword [rcx], rax
mov edx, dword [rbp + r12*8 + 4]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.18008a300
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x18009059f
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rcx]
mov qword [rax + 0x58], rdx
jmp 0x180090af0
mov byte [rsi + 0x2a], 1
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
call qword [rax + 0x38]
jmp 0x180090af0
movsxd r8, dword [rbp + r12*8 + 0xc]
mov rax, qword [rdi + 0x58]
imul r8, r8, 0x38
add r8, qword [rsp + 0x50]
mov qword [rsp + 0xc0], r8
lea r9, [r8 + 0x38]
mov qword [rsp + 0xc8], r9
movsxd rcx, dword [rbp + r12*8 + 4]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xe0], rdx
mov rcx, qword [rdx + 0x50]
mov edx, r15d
mov qword [rsp + 0xd0], rcx
mov rax, qword [rcx]
mov qword [rsp + 0xd8], rax
mov r10, qword [rax]
mov qword [rsp + 0xb8], r10
mov eax, dword [r9]
mov dword [rsp + 0xb0], eax
mov r11d, dword [r8]
mov r8, qword [rdi + 0x38]
mov qword [rsp + 0xf0], r8
mov dword [rsp + 0xb4], r11d
mov dword [rsp + 0xe8], r15d
mov dword [rsp + 0xec], edx
test eax, eax
jle 0x1800906c2
nop dword [rax + rax]
lea eax, [rdx + 1]
movsxd rcx, eax
movsxd rax, edx
imul rcx, rcx, 0x38
add rcx, r9
mov qword [r8 + rax*8], rcx
movsxd rax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + rax*8]
call fcn.18008a2d0
mov edx, dword [rsp + 0xec]
mov eax, dword [rsp + 0xb0]
mov r8, qword [rsp + 0xf0]
inc edx
cmp edx, eax
mov dword [rsp + 0xec], edx
jge 0x1800906aa
mov r9, qword [rsp + 0xc8]
jmp 0x180090650
mov rcx, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xb8]
mov r11d, dword [rsp + 0xb4]
mov byte [rdi + 0xa5], 1
mov qword [rsp + 0x20], r8
mov r8, qword [rbp + r12*8 + 0x10]
mov r9d, eax
mov edx, r11d
call qword [r10 + 0x40]
mov rdx, qword [rsp + 0xd8]
mov rcx, rdi
mov r13d, eax
mov dword [rsp + 0x44], eax
mov byte [rdi + 0xa5], 0
call fcn.18008a670
test r13d, r13d
jne 0x18009071c
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xd0]
call qword [rax + 0x50]
mov dword [rsp + 0xe8], eax
jmp 0x180090723
mov eax, dword [rsp + 0xe8]
test eax, eax
je 0x180090732
mov eax, dword [rbp + r12*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xe0]
mov byte [rax + 0x1c], 0
jmp 0x180090af0
movsxd rcx, dword [rbp + r12*8 + 4]
mov rax, qword [rdi + 0x58]
mov rbx, qword [rax + rcx*8]
movsxd rcx, dword [rbp + r12*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xc0], rcx
cmp byte [rbx + 0x1c], 0
je 0x180090776
call fcn.180083020
jmp 0x180090af0
mov rax, qword [rbx + 0x50]
xor edx, edx
lea rcx, [rsp + 0xc8]
mov rax, qword [rax]
lea r8d, [rdx + 0x60]
mov qword [rsp + 0xb0], rax
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
call sub.MSVCR90.dll_memset
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0xd8]
call fcn.1800833d0
movzx r11d, word [rsp + 0xfc]
mov eax, 0xbf01
and r11w, ax
mov rax, qword [rsp + 0xb8]
lea rdx, [rsp + 0xc8]
or r11w, 1
mov word [rsp + 0xfc], r11w
mov r8d, dword [rbp + r12*8 + 8]
mov rcx, qword [rbx + 0x50]
call qword [rax + 0x58]
mov rdx, qword [rsp + 0xb0]
mov rcx, rdi
mov r13d, eax
call fcn.18008a670
mov eax, dword [rsp + 0x118]
movzx ecx, byte [rsp + 0x48]
test eax, eax
cmovne r13d, eax
test byte [rsp + 0xfc], 2
mov dword [rsp + 0x44], r13d
je 0x180090844
movzx eax, byte [rsp + 0xff]
cmp eax, ecx
je 0x180090844
movzx edx, cl
lea rcx, [rsp + 0xd8]
call fcn.180066340
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0xd8]
call fcn.1800833d0
mov rcx, qword [rsp + 0xc0]
call fcn.180083270
test eax, eax
jne 0x180090eef
jmp 0x180090af0
mov rax, qword [rdi + 0x58]
mov dword [rsp + 0xc0], r15d
movsxd rcx, dword [rbp + r12*8 + 4]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xc8], rdx
cmp byte [rdx + 0x1c], 0
jne case.0x18008a865.17
mov rax, qword [rdx + 0x50]
mov rcx, qword [rax]
mov qword [rsp + 0xb0], rcx
mov rax, qword [rcx]
mov byte [rdi + 0xa5], 1
mov qword [rsp + 0xb8], rax
mov rcx, qword [rdx + 0x50]
call qword [rax + 0x48]
mov rdx, qword [rsp + 0xb0]
mov rcx, rdi
mov r13d, eax
mov dword [rsp + 0x44], eax
mov byte [rdi + 0xa5], 0
call fcn.18008a670
test r13d, r13d
jne 0x180090905
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rcx + 0x50]
call qword [rax + 0x50]
mov dword [rsp + 0xc0], eax
jmp 0x18009090c
mov eax, dword [rsp + 0xc0]
mov r8d, 4
test eax, eax
jne case.0x18008a865.17
mov ecx, dword [rbp + r12*8 + 8]
dec ecx
jmp 0x180090afa
mov rax, qword [rbp + r12*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xb0], rcx
movsxd rdx, dword [rbp + r12*8 + 4]
imul rdx, rdx, 0x38
add rdx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rdx
mov rax, qword [rcx]
mov rdx, qword [rdx + 0x18]
call qword [rax + 0x98]
mov rdx, qword [rsp + 0xb0]
mov rcx, rdi
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.18008a670
jmp 0x180090af0
mov rax, qword [rbp + r12*8 + 0x10]
mov r10, qword [rax + 0x10]
mov qword [rsp + 0xb0], r10
mov rax, qword [r10]
mov qword [rsp + 0xb8], rax
mov edx, dword [rbp + r12*8 + 8]
mov dword [rsp + 0xc0], edx
cmp qword [rax + 0x68], 0
je case.0x18008a865.17
mov r8, qword [rdi + 0x38]
mov qword [rsp + 0xd0], r8
movsxd rcx, dword [rbp + r12*8 + 0xc]
mov dword [rsp + 0xc4], r15d
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xd8], rcx
test edx, edx
jle 0x180090a3f
call fcn.18008a2d0
movsxd rdx, dword [rsp + 0xc4]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov qword [rcx + rdx*8], rax
mov eax, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0xd8]
mov edx, dword [rsp + 0xc0]
inc eax
add rcx, 0x38
cmp eax, edx
mov qword [rsp + 0xd8], rcx
mov dword [rsp + 0xc4], eax
jl 0x1800909d7
mov r8, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xb0]
lea r9, [rsp + 0xc8]
mov rcx, r10
call qword [rax + 0x68]
mov rdx, qword [rsp + 0xb0]
mov rcx, rdi
mov r13d, eax
mov dword [rsp + 0x44], eax
call fcn.18008a670
test r13d, r13d
jne 0x180090a7c
cmp dword [rbp + r12*8 + 4], r13d
je 0x180090a7c
mov rax, qword [rsp + 0xc8]
mov qword [rsi + 0x40], rax
inc dword [rdi + 0xac]
jmp 0x180090af0
mov rax, qword [rsi + 0x10]
movsxd rcx, dword [rbp + r12*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
mov qword [r14], rcx
jmp case.0x18008a865.17
mov rdx, qword [rbp + r12*8 + 0x10]
test rdx, rdx
jne 0x180090ab3
mov rdx, qword [rdi + 0x130]
mov qword [rsp + 0xb0], rdx
test rdx, rdx
je case.0x18008a865.17
cmp qword [rsi + 0xb8], 0
je case.0x18008a865.17
mov rcx, rdi
call fcn.180089db0
mov rcx, qword [rsi + 0xc0]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xb8]
mov rdx, rbx
mov rcx, rsi
call fcn.180064250
mov r8d, 4
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
test r13d, r13d
jne 0x18008afad
mov rax, qword [rsp + 0xa0]
jmp 0x18008a7c2
mov r13d, 9
jmp 0x18008afad
mov eax, dword [rbp + r12*8 + 4]
mov ebx, dword [rsp + 0x40]
mov dword [rdi + 0x90], eax
movzx eax, byte [rbp + r12*8 + 8]
mov dword [rdi + 0x8c], ebx
mov byte [rdi + 0x60], al
mov r9, qword [rbp + r12*8 + 0x10]
test r9, r9
je 0x180090b86
lea rcx, [rdi + 0x98]
lea r8, [0x1801277c8]
mov rdx, rsi
call fcn.180064760
mov r11, qword [rbp + r12*8 + 0x10]
mov r9, qword [rdi + 0x130]
mov ecx, dword [rbp + r12*8 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], r11
call fcn.180066060
jmp 0x180090baa
cmp dword [rdi + 0x90], 0
je 0x180090baa
mov r9, qword [rdi + 0x130]
mov ecx, dword [rbp + r12*8 + 4]
lea rdx, str.constraint_failed_at__d_in___s_
mov r8d, ebx
call fcn.180066060
mov rcx, rdi
call fcn.180086430
cmp eax, 5
je 0x180090d79
cmp dword [rdi + 0x90], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x18008b006
mov eax, dword [rdi + 0x88]
mov rcx, qword [rsp + 0x50]
add eax, 2
or eax, 1
mov dword [rdi + 0x88], eax
movsxd rdx, dword [rbp + r12*8 + 4]
mov dword [rsp + 0xb8], r15d
imul rdx, rdx, 0x38
add rdx, rcx
mov qword [rdi + 0x48], rdx
mov qword [rsp + 0xb0], rdx
cmp dword [rbp + r12*8 + 8], 0
jle 0x180090c6c
nop word [rax + rax]
movsxd rcx, r15d
imul rcx, rcx, 0x38
add rcx, rdx
call fcn.180082ae0
movsxd rcx, dword [rsp + 0xb8]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0xb0]
call fcn.18008a2d0
mov r15d, dword [rsp + 0xb8]
inc r15d
mov dword [rsp + 0xb8], r15d
cmp r15d, dword [rbp + r12*8 + 8]
jge 0x180090c6c
mov rdx, qword [rsp + 0xb0]
jmp 0x180090c20
mov rsi, qword [rsp + 0x68]
cmp byte [rsi + 0x2a], 0
jne 0x18008af8d
mov eax, dword [rsp + 0x40]
mov ebx, 0x64
inc eax
mov dword [rdi + 0x8c], eax
jmp 0x18008b006
movzx eax, word [rsp + 0xf4]
mov ecx, 0x2460
test cx, ax
je 0x180090d2c
mov ecx, 0x2000
test cx, ax
je 0x180090cd5
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0xd0]
call fcn.180082c20
lea rcx, [rsp + 0xd0]
call fcn.180082da0
jmp 0x180090d2c
mov ecx, 0x400
test cx, ax
je 0x180090d00
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x180090d00
mov rcx, qword [rsp + 0xe8]
call rax
mov qword [rsp + 0xf8], r15
jmp 0x180090d2c
movzx eax, byte [rsp + 0xf4]
test al, 0x20
je 0x180090d1b
mov rcx, qword [rsp + 0xd0]
call fcn.18006c380
jmp 0x180090d2c
test al, 0x40
je 0x180090d2c
lea rcx, [rsp + 0xd0]
call fcn.180083020
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xe0]
call fcn.180064250
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0x100], r15
mov qword [rsp + 0xf8], r15
jmp 0x18008af8d
mov r13d, 0x14
jmp 0x180090ea2
mov eax, dword [rsp + 0x40]
mov dword [rdi + 0x8c], eax
mov byte [r12 + 0x28], 0
mov eax, 5
mov ebx, eax
mov dword [rdi + 0x90], eax
jmp 0x18008b006
lea rcx, [rdi + 0x98]
lea r8, str.foreign_key_constraint_failed
mov dword [rdi + 0x90], 0x13
mov byte [rdi + 0x60], 2
call fcn.180064760
mov ebx, r12d
jmp 0x18008b006
test ecx, ecx
je 0x180090de7
mov rcx, rsi
call fcn.1800d4d60
mov byte [rsi + 0x28], 1
mov rcx, rsi
call fcn.1800d4800
cmp dword [rdi + 0x90], 0
mov ebx, 0x65
mov eax, 1
cmove eax, ebx
mov ebx, eax
jmp 0x18008b006
mov rdx, qword [rdi]
cmp qword [rdx + 0x320], 0
jle 0x180090e1a
lea rcx, [rdi + 0x98]
lea r8, str.foreign_key_constraint_failed
mov dword [rdi + 0x90], 0x13
mov byte [rdi + 0x60], 2
call fcn.180064760
jmp 0x18008b006
movzx eax, byte [rsp + 0xb0]
mov rcx, rdi
mov byte [rsi + 0x28], al
call fcn.180086430
cmp eax, 5
jne 0x180090dc4
mov eax, dword [rsp + 0x40]
sub bl, byte [rsp + 0xb0]
mov dword [rdi + 0x8c], eax
mov eax, 5
mov byte [rsi + 0x28], bl
mov ebx, eax
mov dword [rdi + 0x90], eax
jmp 0x18008b006
mov eax, dword [rsp + 0x40]
mov dword [rdi + 0x8c], eax
mov eax, 5
mov ebx, eax
mov dword [rdi + 0x90], eax
jmp 0x18008b006
lea r9, [0x180137514]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0xf432
mov ecx, 0xb
call fcn.180066060
mov r13d, 0xb
jmp 0x180090ea2
mov rdi, qword [rsp + 0x58]
mov rsi, r12
cmp byte [rsi + 0x2a], 0
je 0x180090eb0
mov r13d, 7
jmp 0x180090ebd
cmp r13d, 0xc0a
je 0x18008afad
mov ecx, r13d
call fcn.1800d4e60
mov r9, rax
lea rcx, [rdi + 0x98]
lea r8, [0x1801277c8]
mov rdx, rsi
call fcn.180064760
jmp 0x18008afad
mov rsi, qword [rsp + 0x68]
jmp 0x180090eef
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi + 0x98]
lea r8, str.string_or_blob_too_big
mov rdx, rsi
call fcn.180064760
mov r13d, 0x12
jmp 0x18008afad
mov r13d, 9
lea r9, str.unknown_error
mov dword [rdi + 0x90], r13d
mov rax, qword [str.interrupted]
test rax, rax
cmovne r9, rax
jmp 0x180090ec8
mov rsi, qword [rsp + 0x68]
jmp 0x18008af8d