Function at 0x18008d894
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 [0x1801563c0]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov r14, rcx
mov qword [rsp + 0x78], rcx
xor ecx, ecx
mov r13, qword [r14]
mov rbp, qword [r14 + 0x20]
mov rbx, qword [r14 + 0x80]
mov rax, qword [r13 + 0x10]
mov dword [rsp + 0x40], ecx
mov r15d, ecx
mov rdx, qword [rax + 0x18]
mov dword [rsp + 0x44], ecx
mov byte [rsp + 0x60], cl
mov al, byte [rdx + 0x71]
mov dword [rsp + 0x80], ecx
mov rdi, rcx
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x70], ecx
mov qword [rsp + 0x88], rcx
mov rcx, r14
mov byte [rsp + 0x48], al
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x50], rbx
call fcn.18008aa90
lea eax, [rdi + 7]
lea r12d, [rdi + 1]
cmp dword [r14 + 0x90], eax
je 0x180093a19
xor ecx, ecx
mov dword [r14 + 0x90], ecx
mov qword [r14 + 0x48], rcx
mov eax, dword [r13 + 0x148]
mov dword [r13 + 0x2b8], ecx
cmp eax, ecx
jne 0x1800939d8
cmp qword [r13 + 0x188], rcx
xorpd xmm6, xmm6
mov eax, ecx
mov ecx, dword [r14 + 0x8c]
setne al
lea r11d, [rdi + 2]
cdqe
lea r9d, [rdi + 4]
xor r10d, r10d
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x40], ecx
cmp byte [r13 + 0x2a], r10b
jne 0x180093a19
movsxd rbx, ecx
xor ecx, ecx
lea rsi, [rbx + rbx*2]
mov qword [rsp + 0xa0], rsi
cmp rax, rcx
je 0x18008d9f7
mov eax, dword [rsp + 0x80]
cmp dword [r13 + 0x198], eax
jne 0x18008d9ed
mov rcx, qword [r13 + 0x190]
call qword [r13 + 0x188]
xor ecx, ecx
cmp eax, ecx
jne 0x1800937a4
mov eax, ecx
lea r11d, [rcx + 2]
lea r9d, [rcx + 4]
add eax, r12d
mov dword [rsp + 0x80], eax
test byte [rbp + rsi*8 + 2], r11b
je 0x18008da28
movsxd rdi, dword [rbp + rsi*8 + 8]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
mov qword [rsp + 0x58], rdi
call fcn.180088334
mov r9d, 4
lea r11d, [r9 - 2]
mov word [rdi + 0x24], r9w
movzx eax, byte [rbp + rsi*8]
dec eax
cmp eax, 0x90
ja case.default.0x18008da4d
lea rdx, [0x180000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x93ad8]
add rcx, rdx
jmp rcx
mov eax, dword [r13 + 0x148]
xor ecx, ecx
cmp eax, ecx
jne 0x1800939d8
mov ecx, dword [rbp + rsi*8 + 8]
sub ecx, r12d
jmp 0x18008dbae
movsxd rax, dword [rbp + rsi*8 + 4]
imul rax, rax, 0x38
add rax, qword [rsp + 0x50]
mov word [rax + 0x24], r9w
mov qword [rax], rbx
jmp 0x18008da60
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
mov ecx, dword [rax + rcx]
jmp 0x18008dbae
movsxd rcx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov eax, dword [rcx]
mov word [rcx + 0x24], r9w
mov dword [rsp + 0xb0], eax
mov qword [rcx], rbx
mov ecx, dword [rsp + 0xb0]
jmp 0x18008dbae
movsxd rax, dword [rbp + rsi*8 + 0xc]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], r12b
je case.0x18008da4d.17
xor ecx, ecx
cmp dword [rbp + rsi*8 + 4], ecx
jne 0x1800937af
mov r8, qword [r14 + 0x158]
cmp r8, rcx
je 0x1800937af
mov rax, qword [r8 + 0x60]
mov qword [r14 + 0x158], rax
or rax, 0xffffffffffffffff
add dword [r14 + 0x160], eax
mov eax, dword [r14 + 0xac]
add dword [r13 + 0x50], eax
mov dword [r13 + 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
mov ecx, dword [r8 + 8]
cmp dword [rbp + rsi*8 + 8], r9d
jne 0x18008db88
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x20]
mov ebp, dword [rax + rcx*8 + 8]
sub ebp, r12d
mov ecx, ebp
mov rbp, qword [r14 + 0x20]
mov rax, qword [r14 + 0x80]
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x50], rax
jmp 0x18008dbae
movsxd rax, dword [rbp + rsi*8 + 4]
mov qword [rdi], rax
mov ecx, dword [rsp + 0x40]
xor r10d, r10d
add ecx, r12d
mov dword [rsp + 0x40], ecx
cmp r15d, r10d
jne 0x180093a39
mov rax, qword [rsp + 0xa8]
jmp 0x18008d99b
mov rax, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [rdi], rcx
jmp case.0x18008da4d.17
mov eax, 8
mov word [rdi + 0x24], ax
mov rax, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [rdi + 8], rcx
jmp case.0x18008da4d.17
mov rdx, qword [rbp + rsi*8 + 0x10]
xor r8d, r8d
mov byte [rbp + rsi*8], 9
mov rax, rdx
cmp rdx, r8
jne 0x18008dc0c
mov eax, r8d
jmp 0x18008dc20
cmp byte [rdx], r8b
je 0x18008dc19
add rax, r12
cmp byte [rax], r8b
jne 0x18008dc11
sub eax, edx
and eax, 0x3fffffff
mov bl, byte [rsp + 0x48]
mov dword [rbp + rsi*8 + 4], eax
cmp bl, r12b
je 0x18008dcd9
mov qword [rsp + 0x20], r8
mov r9b, r12b
mov rcx, rdi
or r8d, 0xffffffff
call fcn.180088844
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, 0x12
je 0x1800939ba
mov r8d, 2
movzx edx, bl
test byte [rdi + 0x24], r8b
je 0x18008dc79
movzx ecx, byte [rdi + 0x27]
cmp ecx, edx
je 0x18008dc79
mov rcx, rdi
call fcn.1800743b8
xor r8d, r8d
jmp 0x18008dc7f
xor r8d, r8d
mov eax, r8d
cmp eax, r8d
jne 0x180093a19
movzx eax, word [rdi + 0x24]
mov ecx, 0xfbff
mov qword [rdi + 0x30], r8
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [rdi + 0x24], ax
or rax, 0xffffffffffffffff
cmp byte [rbp + rsi*8 + 1], al
jne 0x18008dcbf
mov rdx, qword [rbp + rsi*8 + 0x10]
mov rcx, r13
call fcn.180072a38
or rax, 0xffffffffffffffff
mov byte [rbp + rsi*8 + 1], al
mov rax, qword [rdi + 0x18]
mov r9d, 4
mov qword [rbp + rsi*8 + 0x10], rax
mov eax, dword [rdi + 0x20]
mov dword [rbp + rsi*8 + 4], eax
mov eax, dword [r13 + 0x60]
cmp dword [rbp + rsi*8 + 4], eax
jg 0x1800939ba
jmp 0x18008dced
mov bl, byte [rsp + 0x48]
mov eax, 0xa02
mov word [rdi + 0x24], ax
mov rax, qword [rbp + rsi*8 + 0x10]
mov qword [rdi + 0x18], rax
mov eax, dword [rbp + rsi*8 + 4]
mov byte [rdi + 0x27], bl
mov dword [rdi + 0x20], eax
mov r11d, 2
jmp case.0x18008da4d.17
mov word [rdi + 0x24], r12w
jmp case.0x18008da4d.17
mov r8d, dword [rbp + rsi*8 + 4]
mov rdx, qword [rbp + rsi*8 + 0x10]
xor eax, eax
xor r9d, r9d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180088844
mov al, byte [rsp + 0x48]
mov byte [rdi + 0x27], al
mov r11d, 2
mov r9d, 4
jmp case.0x18008da4d.17
mov eax, dword [rbp + rsi*8 + 4]
sub eax, r12d
movsxd rdx, eax
imul rdx, rdx, 0x38
add rdx, qword [r14 + 0x68]
mov qword [rsp + 0xb0], rdx
test byte [rdx + 0x24], 0x12
je 0x18008dd94
mov ecx, dword [rdx + 0x20]
mov eax, 0x4000
test word [rdx + 0x24], ax
je 0x18008dd82
add ecx, dword [rdx]
mov rax, qword [rdx + 0x10]
xor r8d, r8d
cmp ecx, dword [rax + 0x60]
setg r8b
xor eax, eax
jmp 0x18008dd99
xor eax, eax
mov r8d, eax
cmp r8d, eax
jne 0x1800939ba
mov r8d, 0x800
mov rcx, rdi
call fcn.180088724
jmp 0x18008dd41
mov edx, dword [rbp + rsi*8 + 0xc]
mov r9, qword [rsp + 0x50]
mov dword [rsp + 0xb8], edx
movsxd rax, dword [rbp + rsi*8 + 4]
mov dword [rsp + 0xbc], eax
movsxd rcx, dword [rbp + rsi*8 + 8]
mov rbx, rax
imul rbx, rbx, 0x38
mov rdi, rcx
xor eax, eax
add rbx, r9
mov dword [rsp + 0xc0], ecx
imul rdi, rdi, 0x38
add rdi, r9
mov qword [rsp + 0x58], rdi
cmp edx, eax
je 0x18008de4b
xor r13d, r13d
sub edx, r12d
mov rcx, rdi
mov dword [rsp + 0xb8], edx
mov rax, qword [rdi + 0x30]
mov rdx, rbx
mov qword [rsp + 0xb0], rax
mov qword [rdi + 0x30], r13
call fcn.1800887fc
mov r11, qword [rsp + 0xb0]
add rbx, 0x38
add rdi, 0x38
mov qword [rbx - 8], r11
mov edx, dword [rsp + 0xb8]
cmp edx, r13d
jne 0x18008ddfc
mov r13, qword [rsp + 0x68]
mov qword [rsp + 0x58], rdi
sub edx, r12d
mov dword [rsp + 0xb8], edx
jmp 0x18008dd41
mov rbx, qword [rsp + 0x50]
movsxd rdi, dword [rbp + rsi*8 + 8]
movsxd rdx, dword [rbp + rsi*8 + 4]
imul rdx, rdx, 0x38
imul rdi, rdi, 0x38
add rdi, rbx
add rdx, rbx
mov ebx, 0x1000
mov r8d, ebx
mov rcx, rdi
mov qword [rsp + 0x58], rdi
call fcn.180088724
test word [rdi + 0x24], bx
je 0x18008dd41
mov rcx, rdi
call fcn.180088098
xor ecx, ecx
cmp eax, ecx
jne 0x180093a19
jmp 0x18008dd41
mov rbx, qword [rsp + 0x50]
movsxd rdi, dword [rbp + rsi*8 + 8]
movsxd rdx, dword [rbp + rsi*8 + 4]
imul rdi, rdi, 0x38
imul rdx, rdx, 0x38
add rdi, rbx
add rdx, rbx
mov qword [rsp + 0x58], rdi
mov r8d, 0x1000
jmp 0x18008dda8
xor edx, edx
mov rcx, r14
call fcn.18008aae4
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18008dd41
mov edx, r12d
mov rcx, r14
call fcn.18008a9c0
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18008dd41
mov eax, dword [r14 + 0x88]
mov rcx, qword [rsp + 0x50]
xor edi, edi
add eax, 2
or eax, r12d
mov dword [r14 + 0x88], eax
movsxd rdx, dword [rbp + rsi*8 + 4]
mov eax, edi
mov dword [rsp + 0xb8], eax
imul rdx, rdx, 0x38
add rdx, rcx
mov qword [r14 + 0x48], rdx
mov qword [rsp + 0xb0], rdx
cmp dword [rbp + rsi*8 + 8], edi
jle 0x18009385d
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, rdx
call fcn.18008816c
movsxd rcx, dword [rsp + 0xb8]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0xb0]
call fcn.18008d5c0
mov eax, dword [rsp + 0xb8]
add eax, r12d
mov dword [rsp + 0xb8], eax
cmp eax, dword [rbp + rsi*8 + 8]
jge 0x18009385d
mov rdx, qword [rsp + 0xb0]
jmp 0x18008df57
movsxd rdi, dword [rbp + rsi*8 + 4]
movsxd rbx, dword [rbp + rsi*8 + 8]
mov rax, qword [rsp + 0x50]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
movsxd rsi, dword [rbp + rsi*8 + 0xc]
add rdi, rax
add rbx, rax
imul rsi, rsi, 0x38
add rsi, rax
mov al, byte [rdi + 0x24]
or al, byte [rbx + 0x24]
mov qword [rsp + 0x58], rsi
test r12b, al
je 0x18008dfed
mov rdi, rsi
mov rcx, rdi
call fcn.1800885a4
jmp 0x18008dd41
mov ecx, 0x4000
test word [rdi + 0x24], cx
je 0x18008e009
mov rcx, rdi
call fcn.18008810c
xor edx, edx
mov ecx, 0x4000
jmp 0x18008e00d
xor edx, edx
mov eax, edx
cmp eax, edx
jne 0x180093a19
test word [rbx + 0x24], cx
je 0x18008e027
mov rcx, rbx
call fcn.18008810c
xor edx, edx
jmp 0x18008e029
mov eax, edx
cmp eax, edx
jne 0x180093a19
test byte [rdi + 0x24], 0x12
jne 0x18008e04e
movzx edx, byte [rsp + 0x48]
mov rcx, rdi
call fcn.1800881d0
xor edx, edx
cmp eax, edx
jne 0x180093a19
test byte [rbx + 0x24], 0x12
jne 0x18008e06b
movzx edx, byte [rsp + 0x48]
mov rcx, rbx
call fcn.1800881d0
xor edx, edx
cmp eax, edx
jne 0x180093a19
mov eax, dword [rdi + 0x20]
add eax, dword [rbx + 0x20]
movsxd rcx, eax
mov qword [rsp + 0xb0], rcx
movsxd rax, dword [r13 + 0x60]
cmp rcx, rax
jg 0x1800939ba
mov r8d, 2
mov eax, 0xbf02
mov rcx, rsi
and word [rsi + 0x24], ax
or word [rsi + 0x24], r8w
mov r8d, edx
mov edx, dword [rsp + 0xb0]
cmp rsi, rbx
sete r8b
add edx, 2
call fcn.180087fac
xor ecx, ecx
cmp eax, ecx
jne 0x180093a19
cmp rsi, rbx
je 0x18008e0d9
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rsi + 0x18]
call fcn.1800d47b0
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
add rcx, qword [rsi + 0x18]
call fcn.1800d47b0
mov rax, qword [rsp + 0xb0]
mov r11, qword [rsi + 0x18]
xor ecx, ecx
xor r10d, r10d
mov rdi, rsi
mov byte [rax + r11], cl
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsi + 0x18]
mov byte [rcx + rax + 1], r10b
mov eax, 0x200
or word [rsi + 0x24], ax
mov eax, dword [rsp + 0xb0]
mov dword [rsi + 0x20], eax
mov al, byte [rsp + 0x48]
mov byte [rsi + 0x27], al
mov r11d, 2
mov ecx, dword [rsp + 0x40]
mov r9d, 4
jmp 0x18008dbb1
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008d6ec
movsxd rdi, dword [rbp + rsi*8 + 8]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.18008d6ec
movsxd r11, dword [rbp + rsi*8 + 0xc]
movzx ecx, word [rdi + 0x24]
imul r11, r11, 0x38
movzx eax, word [rbx + 0x24]
add r11, qword [rsp + 0x50]
or ecx, eax
mov qword [rsp + 0x58], r11
mov dword [rsp + 0xb0], ecx
test r12b, cl
jne 0x18008e3a7
mov al, byte [rdi + 0x24]
mov r9d, 4
and al, byte [rbx + 0x24]
test r9b, al
je 0x18008e280
mov rcx, qword [rbx]
mov qword [rsp + 0xb8], rcx
mov rdx, qword [rdi]
mov qword [rsp + 0xc0], rdx
movzx r8d, byte [rbp + rsi*8]
sub r8d, 0x56
je 0x18008e25c
sub r8d, r12d
je 0x18008e257
sub r8d, r12d
je 0x18008e251
xor eax, eax
sub r8d, r12d
je 0x18008e211
cmp rcx, rax
je 0x18008e3a7
or rax, 0xffffffffffffffff
cmp rcx, rax
mov rax, rdx
cmove rcx, r12
cqo
mov qword [rsp + 0xb8], rcx
idiv rcx
jmp 0x18008e25f
cmp rcx, rax
je 0x18008e3a7
or rax, 0xffffffffffffffff
cmp rcx, rax
jne 0x18008e23c
movabs rax, 0x8000000000000000
cmp rdx, rax
cmove rcx, r12
mov qword [rsp + 0xb8], rcx
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
mov qword [rsp + 0xc0], rax
jmp 0x18008e267
imul rdx, rcx
jmp 0x18008e25f
sub rdx, rcx
jmp 0x18008e25f
add rdx, rcx
mov qword [rsp + 0xc0], rdx
mov rdi, r11
mov qword [r11], rdx
mov eax, 0xbf04
and word [rdi + 0x24], ax
or word [rdi + 0x24], r9w
jmp 0x18008dd09
mov rcx, rbx
call fcn.180088498
mov rcx, rdi
movsd qword [rsp + 0xc8], xmm0
call fcn.180088498
movsd qword [rsp + 0xd0], xmm0
movzx ecx, byte [rbp + rsi*8]
movapd xmm5, xmm0
sub ecx, 0x56
je 0x18008e349
sub ecx, r12d
je 0x18008e336
sub ecx, r12d
je 0x18008e32b
cmp ecx, r12d
je 0x18008e310
cvttsd2si rcx, qword [rsp + 0xc8]
cvttsd2si rax, xmm0
xor edx, edx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], rcx
cmp rcx, rdx
je 0x18008e3a7
or rdx, 0xffffffffffffffff
pxor xmm5, xmm5
cmp rcx, rdx
cqo
cmove rcx, r12
mov qword [rsp + 0xb8], rcx
idiv rcx
cvtsi2sd xmm5, rdx
jmp 0x18008e352
movsd xmm0, qword [rsp + 0xc8]
ucomisd xmm0, xmm6
jp 0x18008e325
je 0x18008e3a7
divsd xmm5, xmm0
jmp 0x18008e352
mulsd xmm5, qword [rsp + 0xc8]
jmp 0x18008e352
movapd xmm0, xmm6
subsd xmm0, qword [rsp + 0xc8]
addsd xmm5, xmm0
jmp 0x18008e352
addsd xmm5, qword [rsp + 0xc8]
movapd xmm0, xmm5
movsd qword [rsp + 0xd0], xmm5
call fcn.18007490c
xor ecx, ecx
cmp eax, ecx
jne 0x18008e3a7
mov rdi, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0xd0]
lea edx, [rcx + 8]
mov eax, 0xbf08
and word [rdi + 0x24], ax
or word [rdi + 0x24], dx
movsd qword [rdi + 8], xmm0
test byte [rsp + 0xb0], dl
jne 0x18008dd41
mov rcx, rdi
call fcn.18008852c
jmp 0x18008dd41
mov rdi, qword [rsp + 0x58]
jmp 0x18008dfe0
movzx eax, byte [rbp + rsi*8 + 3]
mov r8, qword [r14 + 0x38]
mov rbx, qword [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x128], eax
mov qword [rsp + 0x120], r8
movsxd rcx, dword [rbp + rsi*8 + 8]
mov edx, r9d
mov dword [rsp + 0xb0], edx
imul rcx, rcx, 0x38
add rcx, rbx
cmp eax, r9d
mov qword [rsp + 0xb8], rcx
jle 0x18008e440
movsxd rax, edx
mov qword [r8 + rax*8], rcx
mov rcx, qword [rsp + 0xb8]
call fcn.18008d5c0
mov edx, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
add edx, r12d
add rcx, 0x38
cmp edx, dword [rsp + 0x128]
mov dword [rsp + 0xb0], edx
mov qword [rsp + 0xb8], rcx
jge 0x18008e440
mov r8, qword [rsp + 0x120]
jmp 0x18008e3f4
cmp byte [rbp + rsi*8 + 1], 0xfb
mov rax, qword [rbp + rsi*8 + 0x10]
jne 0x18008e456
mov qword [rsp + 0xc8], r9
jmp 0x18008e461
mov qword [rsp + 0xc8], rax
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
movsxd rdi, dword [rbp + rsi*8 + 0xc]
lea rcx, [rsp + 0xd0]
mov word [rsp + 0xf4], r12w
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0xf8], r9
imul rdi, rdi, 0x38
add rdi, rbx
mov qword [rsp + 0x100], r9
mov rdx, rdi
mov qword [rsp + 0x58], rdi
call fcn.1800887fc
movzx r11d, word [rsp + 0xf4]
mov r9, qword [rsp + 0xc0]
mov eax, 0xbf01
and r11w, ax
xor eax, eax
mov dword [rsp + 0x110], eax
or r11w, r12w
mov eax, 8
mov word [rsp + 0xf4], r11w
test byte [r9 + 3], al
je 0x18008e4f3
mov rax, qword [rbp + rsi*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]
xor eax, eax
cmp byte [r13 + 0x2a], al
jne 0x18009387e
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x18008e544
mov edx, dword [rbp + rsi*8 + 4]
call fcn.18008b040
mov r11, qword [rsp + 0xc8]
mov byte [rbp + rsi*8 + 1], 0xf9
mov qword [rbp + rsi*8 + 0x10], r11
xor eax, eax
cmp dword [rsp + 0x110], eax
je 0x18008e583
lea rcx, [rsp + 0xd0]
mov dl, r12b
call fcn.180088d84
lea rcx, [r14 + 0x98]
lea r8, [0x18012a978]
mov r9, rax
mov rdx, r13
call fcn.180072ec4
mov r15d, dword [rsp + 0x110]
mov dword [rsp + 0x44], r15d
movzx ecx, byte [rsp + 0x48]
mov r8d, 2
test byte [rsp + 0xf4], r8b
je 0x18008e5b3
movzx eax, byte [rsp + 0xf7]
cmp eax, ecx
je 0x18008e5b3
mov dl, cl
lea rcx, [rsp + 0xd0]
call fcn.1800743b8
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.1800887fc
test byte [rdi + 0x24], 0x12
je 0x18008e5e9
mov ecx, dword [rdi + 0x20]
mov eax, 0x4000
test word [rdi + 0x24], ax
je 0x18008e5d9
add ecx, dword [rdi]
mov rax, qword [rdi + 0x10]
xor edx, edx
cmp ecx, dword [rax + 0x60]
setg dl
xor ecx, ecx
jmp 0x18008e5ed
xor ecx, ecx
mov edx, ecx
cmp edx, ecx
jne 0x1800939ba
jmp 0x18008dd41
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 8]
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
movsxd rdi, dword [rbp + rsi*8 + 0xc]
add rcx, rax
add rbx, rax
imul rdi, rdi, 0x38
add rdi, rax
mov al, byte [rcx + 0x24]
or al, byte [rbx + 0x24]
mov qword [rsp + 0x58], rdi
test r12b, al
jne 0x18008dfe0
call fcn.180088424
mov rcx, rbx
mov qword [rsp + 0xb0], rax
call fcn.180088424
mov qword [rsp + 0xb8], rax
movzx edx, byte [rbp + rsi*8]
mov r11, rax
sub edx, 0x52
je 0x18008e68d
sub edx, r12d
je 0x18008e680
mov rcx, rax
mov rax, qword [rsp + 0xb0]
cmp edx, r12d
je 0x18008e67b
sar rax, cl
jmp 0x18008e698
shl rax, cl
jmp 0x18008e698
mov rax, qword [rsp + 0xb0]
or rax, r11
jmp 0x18008e698
mov rax, qword [rsp + 0xb0]
and rax, r11
mov qword [rsp + 0xb0], rax
mov r9d, 4
mov qword [rdi], rax
jmp 0x18008e26d
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008857c
movsxd r11, dword [rbp + rsi*8 + 8]
add qword [rbx], r11
jmp 0x18008dd41
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008d6ec
mov eax, 8
test byte [rbx + 0x24], al
je 0x18008e6f9
mov rcx, rbx
call fcn.18008852c
movzx eax, word [rbx + 0x24]
mov r9d, 4
test r9b, al
jne 0x18008e724
mov eax, dword [rbp + rsi*8 + 8]
xor ecx, ecx
cmp eax, ecx
je 0x180093890
lea ecx, [rax - 1]
mov r11d, 2
jmp 0x18008dbae
mov ecx, 0xbf04
and ax, cx
or ax, r9w
mov word [rbx + 0x24], ax
jmp 0x18008dd09
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], r9b
je case.0x18008da4d.17
mov rcx, rbx
call fcn.180088498
mov eax, 0xbf08
movsd qword [rbx + 8], xmm0
and word [rbx + 0x24], ax
mov eax, 8
or word [rbx + 0x24], ax
jmp 0x18008dd41
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], r12b
jne case.0x18008da4d.17
movzx eax, word [rbx + 0x24]
mov r8b, byte [rsp + 0x48]
mov dl, 0x61
shr ax, 3
mov rcx, rbx
and ax, r11w
or ax, word [rbx + 0x24]
mov word [rbx + 0x24], ax
call fcn.18008d7d0
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18008e7c5
mov rcx, rbx
call fcn.18008810c
jmp 0x18008e7c7
xor eax, eax
mov dword [rsp + 0x44], eax
mov r15d, eax
mov eax, 0xbfe3
and word [rbx + 0x24], ax
jmp 0x18008dd41
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
movzx eax, word [rbx + 0x24]
test r12b, al
jne case.0x18008da4d.17
mov esi, 0x10
test sil, al
jne 0x18008e82c
mov r8b, byte [rsp + 0x48]
mov dl, 0x61
mov rcx, rbx
call fcn.18008d7d0
movzx r11d, word [rbx + 0x24]
mov eax, 0xbf10
and r11w, ax
or r11w, si
mov word [rbx + 0x24], r11w
jmp 0x18008dd41
mov ecx, 0xff10
and ax, cx
mov word [rbx + 0x24], ax
jmp case.0x18008da4d.17
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], 0xd
jne case.0x18008da4d.17
test byte [rbx + 0x24], r11b
je 0x18008e878
cmp byte [rbx + 0x27], r12b
je 0x18008e878
mov dl, r12b
mov rcx, rbx
call fcn.1800743b8
mov r11d, 2
lea r9d, [r11 + 2]
jmp 0x18008e87a
xor eax, eax
xor ecx, ecx
cmp eax, ecx
jne case.0x18008da4d.17
mov rcx, rbx
call fcn.18008816c
xor ecx, ecx
cmp eax, ecx
jne 0x18008dd41
mov rcx, qword [rbx + 0x18]
mov rdx, rbx
call fcn.180074f2c
xor ecx, ecx
cmp eax, ecx
je 0x18008e8bf
lea r9d, [rcx + 4]
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], r9w
jmp 0x18008dd09
mov rcx, rbx
call fcn.180088498
mov eax, 0xbf08
mov rcx, rbx
and word [rbx + 0x24], ax
mov eax, 8
movsd qword [rbx + 8], xmm0
or word [rbx + 0x24], ax
jmp 0x18008e39d
movsxd rcx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], r12b
jne case.0x18008da4d.17
call fcn.18008857c
jmp 0x18008dd41
movsxd rbx, dword [rbp + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], r12b
jne case.0x18008da4d.17
jmp 0x18008e751
movsxd rbx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 0xc]
mov r9, qword [rsp + 0x50]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r9
add rdi, r9
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]
mov al, cl
or al, byte [rbx + 0x24]
test r12b, al
je 0x18008e9dc
mov al, byte [rbp + rsi*8 + 3]
test al, al
jns 0x18008e98d
and cl, byte [rbx + 0x24]
mov r8d, 0
test r12b, cl
sete r8b
mov dword [rsp + 0xb0], r8d
jmp 0x18008ea5e
mov ecx, 0x10
test cl, al
je 0x18008e9ba
movsxd rdi, dword [rbp + rsi*8 + 8]
mov eax, 0xbf01
imul rdi, rdi, 0x38
add rdi, r9
mov qword [rsp + 0x58], rdi
and word [rdi + 0x24], ax
or word [rdi + 0x24], r12w
jmp 0x18008dd47
mov ecx, 8
lea r9d, [rcx - 4]
test cl, al
je 0x18008e9d2
mov edi, dword [rbp + rsi*8 + 8]
sub edi, r12d
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x58]
jmp case.0x18008da4d.17
mov dl, byte [rbp + rsi*8 + 3]
and dl, 0x67
mov byte [rsp + 0xb4], dl
je 0x18008ea19
mov r8b, byte [rsp + 0x48]
mov rcx, rbx
call fcn.18008d7d0
mov r8b, byte [rsp + 0x48]
mov dl, byte [rsp + 0xb4]
mov rcx, rdi
call fcn.18008d7d0
xor eax, eax
cmp byte [r13 + 0x2a], al
jne 0x180093a19
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18008ea31
mov rcx, rbx
call fcn.18008810c
mov eax, 0x4000
test word [rdi + 0x24], ax
je 0x18008ea3f
mov rcx, rdi
call fcn.18008810c
mov r8, qword [rbp + rsi*8 + 0x10]
mov rdx, rbx
mov rcx, rdi
call fcn.180088a70
mov r9, qword [rsp + 0x50]
mov r8d, eax
mov dword [rsp + 0xb0], eax
movzx edx, byte [rbp + rsi*8]
xor ecx, ecx
sub edx, 0x4b
mov eax, ecx
je 0x18008eaa8
sub edx, r12d
je 0x18008eaa0
sub edx, r12d
je 0x18008ea98
sub edx, r12d
je 0x18008ea90
cmp edx, r12d
je 0x18008ea88
cmp r8d, ecx
setge al
jmp 0x18008eaae
cmp r8d, ecx
setl al
jmp 0x18008eaae
cmp r8d, ecx
setle al
jmp 0x18008eaae
cmp r8d, ecx
setg al
jmp 0x18008eaae
cmp r8d, ecx
sete al
jmp 0x18008eaae
cmp r8d, ecx
setne al
mov edx, 0x10
mov dword [rsp + 0xb0], eax
test byte [rbp + rsi*8 + 3], dl
je 0x18008eaf1
movsxd r11, dword [rbp + rsi*8 + 8]
mov eax, 0xbf04
imul r11, r11, 0x38
add r11, r9
lea r9d, [rdx - 0xc]
and word [r11 + 0x24], ax
or word [r11 + 0x24], r9w
movsxd rax, dword [rsp + 0xb0]
mov qword [r11], rax
mov qword [rsp + 0x58], r11
jmp 0x18008eb06
mov r9d, 4
cmp eax, ecx
je 0x18008eb06
mov eax, dword [rbp + rsi*8 + 8]
sub eax, r12d
mov dword [rsp + 0x40], eax
mov al, byte [rsp + 0xb6]
mov byte [rbx + 0x24], al
mov al, byte [rsp + 0xb8]
mov byte [rdi + 0x24], al
mov rdi, qword [rsp + 0x58]
jmp 0x18008dd09
mov rax, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0x88], rax
jmp case.0x18008da4d.17
mov eax, dword [rbp + rsi*8 + 0xc]
xor r8d, r8d
cmp eax, r8d
mov dword [rsp + 0xb0], eax
mov rdx, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0xc0], rdx
mov r10d, dword [rbp + rsi*8 + 4]
mov ecx, r8d
mov dword [rsp + 0xb8], r10d
mov r11d, dword [rbp + rsi*8 + 8]
mov dword [rsp + 0xb4], ecx
mov dword [rsp + 0xbc], r11d
jle 0x18008ec47
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x88]
xor eax, eax
cmp rsi, rax
je 0x18008eba3
movsxd rax, ecx
mov r9d, dword [rsi + rax*4]
mov dword [rsp + 0xc8], r9d
jmp 0x18008ebad
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.180088a70
xor ecx, ecx
mov dword [rsp + 0x70], eax
cmp eax, ecx
jne 0x18008ec32
mov ecx, dword [rsp + 0xb4]
add ecx, r12d
cmp ecx, dword [rsp + 0xb0]
mov dword [rsp + 0xb4], ecx
jge 0x18008ec2e
mov rdx, qword [rsp + 0xc0]
mov r11d, dword [rsp + 0xbc]
mov r10d, dword [rsp + 0xb8]
jmp 0x18008eb8b
xor ecx, ecx
jmp 0x18008ec41
cmp dword [rsp + 0xd8], ecx
je 0x18008ec41
neg eax
mov dword [rsp + 0x70], eax
mov r9d, 4
mov qword [rsp + 0x88], rcx
jmp 0x18008dd09
mov ebx, dword [rsp + 0x70]
xor ecx, ecx
cmp ebx, ecx
jge 0x18008ec67
mov ecx, dword [rbp + rsi*8 + 4]
jmp 0x18008da64
je 0x18008da60
mov ecx, dword [rbp + rsi*8 + 0xc]
jmp 0x18008da64
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, rbx
test byte [rcx + 0x24], r12b
je 0x18008ec94
mov edx, r11d
xor edi, edi
jmp 0x18008eca7
call fcn.180088424
xor edi, edi
cmp rax, rdi
mov edx, edi
lea r11d, [rdi + 2]
setne dl
mov dword [rsp + 0xb0], edx
movsxd rcx, dword [rbp + rsi*8 + 8]
imul rcx, rcx, 0x38
add rcx, rbx
test byte [rcx + 0x24], r12b
je 0x18008eccd
mov r8d, r11d
mov dword [rsp + 0xb4], r11d
jmp 0x18008ecf1
call fcn.180088424
mov edx, dword [rsp + 0xb0]
mov r8d, edi
cmp rax, rdi
mov r11d, 2
setne r8b
mov dword [rsp + 0xb4], r8d
movsxd rax, edx
lea rcx, [rax + rax*2]
movsxd rax, r8d
add rcx, rax
cmp byte [rbp + rsi*8], 0x45
lea rax, [0x180000000]
jne 0x18008ed16
movzx eax, byte [rcx + rax + 0x110310]
jmp 0x18008ed1e
movzx eax, byte [rcx + rax + 0x110320]
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0xb0], eax
movsxd rdi, dword [rbp + rsi*8 + 0xc]
imul rdi, rdi, 0x38
add rdi, rbx
mov r9d, 4
mov qword [rsp + 0x58], rdi
cmp eax, r11d
jne 0x18008ed58
mov eax, 0xbf01
and word [rdi + 0x24], ax
or word [rdi + 0x24], r12w
jmp 0x18008dbae
cdqe
mov qword [rdi], rax
mov eax, 0xbf04
and word [rdi + 0x24], ax
or word [rdi + 0x24], r9w
jmp 0x18008dbae
mov rbx, qword [rsp + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 8]
imul rcx, rcx, 0x38
imul rdi, rdi, 0x38
add rdi, rbx
add rcx, rbx
mov qword [rsp + 0x58], rdi
test byte [rcx + 0x24], r12b
jne 0x18008dfe0
call fcn.180088424
xor ecx, ecx
cmp rax, rcx
mov rdx, rcx
sete dl
mov rcx, rdi
call fcn.180088650
jmp 0x18008dd41
mov rbx, qword [rsp + 0x50]
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 8]
imul rcx, rcx, 0x38
imul rdi, rdi, 0x38
add rdi, rbx
add rcx, rbx
mov qword [rsp + 0x58], rdi
test byte [rcx + 0x24], r12b
jne 0x18008dfe0
call fcn.180088424
not rax
mov rdx, rax
jmp 0x18008edac
movsxd rcx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
test byte [rcx + 0x24], r12b
je 0x18008ee13
mov ecx, dword [rbp + rsi*8 + 0xc]
mov dword [rsp + 0xb0], ecx
jmp 0x18008ee56
call fcn.180088498
ucomisd xmm0, xmm6
jp 0x18008ee2d
jne 0x18008ee2d
xor edx, edx
mov ecx, edx
mov dword [rsp + 0xb0], edx
jmp 0x18008ee39
mov ecx, r12d
xor edx, edx
mov dword [rsp + 0xb0], ecx
cmp byte [rbp + rsi*8], 0x1b
mov r9d, 4
jne 0x18008ee56
mov eax, edx
cmp ecx, edx
sete al
mov ecx, eax
mov dword [rsp + 0xb0], eax
xor r10d, r10d
lea r11d, [r10 + 2]
cmp ecx, r10d
je 0x180091a3f
mov ecx, dword [rbp + rsi*8 + 8]
sub ecx, r12d
jmp 0x18008dbb1
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], r12b
je case.0x18008da4d.17
jmp 0x18008da60
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, qword [rsp + 0x50]
imul rax, rax, 0x38
test byte [rax + rcx + 0x24], r12b
jne case.0x18008da4d.17
jmp 0x18008da60
mov eax, dword [rbp + rsi*8 + 4]
lea rcx, [rsp + 0x110]
xor edx, edx
mov dword [rsp + 0xc0], eax
mov eax, dword [rbp + rsi*8 + 8]
mov dword [rsp + 0xc4], eax
xor eax, eax
lea r8d, [rax + 0x38]
mov qword [rsp + 0xc8], rax
call fcn.1800d7640
movsxd r11, dword [rbp + rsi*8 + 0xc]
mov rbx, qword [rsp + 0x50]
imul r11, r11, 0x38
add r11, rbx
mov ecx, 0xbf01
mov qword [rsp + 0x108], r11
movzx eax, word [r11 + 0x24]
and ax, cx
or ax, r12w
mov word [r11 + 0x24], ax
movsxd rcx, dword [rsp + 0xc0]
xor eax, eax
mov qword [rsp + 0xd0], rax
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xc8], rdx
mov rax, qword [rdx]
mov qword [rsp + 0xd8], rax
cmp rax, rcx
je 0x18008f068
mov rcx, rdx
call fcn.18008b1cc
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009395c
mov rdx, qword [rsp + 0xc8]
cmp byte [rdx + 0x1c], cl
je 0x18008ef7a
mov dword [rsp + 0xb0], ecx
jmp 0x18008dd41
mov eax, dword [r14 + 0x88]
cmp dword [rdx + 0x64], eax
jne 0x18008efa1
mov ecx, dword [rdx + 0x68]
mov dword [rsp + 0xb0], ecx
mov rax, qword [rdx + 0x80]
mov qword [rsp + 0xd0], rax
jmp 0x18008eff5
mov rbx, qword [rsp + 0xd8]
xor r15d, r15d
cmp byte [rdx + 0x1f], r15b
je 0x18008f04e
cmp byte [rbx + 0x5b], r12b
je 0x18008efc6
mov qword [rsp + 0xb8], r15
jmp 0x18008efe2
mov rcx, rbx
call fcn.1800820b4
mov r11, qword [rbx + 0x40]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], r11
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0xb0], ecx
xor r10d, r10d
cmp ecx, r10d
je 0x18009378d
cmp ecx, dword [r13 + 0x60]
ja 0x1800939ba
movsxd r8, dword [rdx + 0x40]
mov eax, dword [r14 + 0x88]
xor r15d, r15d
mov dword [rsp + 0xf0], r8d
mov rcx, qword [rdx + 0x70]
mov qword [rsp + 0xe0], rcx
cmp dword [rdx + 0x64], eax
jne 0x18008f0c3
mov rax, qword [rdx + 0x78]
lea rbx, [0x180000000]
mov qword [rsp + 0xe8], rax
jmp 0x18008f407
mov rcx, rbx
call fcn.1800820b4
mov ecx, dword [rbx + 0x48]
mov rdx, qword [rsp + 0xc8]
mov dword [rsp + 0x44], r15d
jmp 0x18008efee
cmp dword [rdx + 0x30], ecx
jle 0x18008efee
movsxd rcx, dword [rdx + 0x30]
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
mov eax, 0x20
test byte [rbp + rsi*8 + 3], al
je 0x18008f0a5
xor eax, eax
jmp 0x18008f0ac
mov eax, dword [r14 + 0x88]
mov dword [rdx + 0x64], eax
mov rdx, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0xb0]
jmp 0x18008eff5
lea rcx, [rcx + r8*4]
mov dword [rsp + 0x164], r15d
mov qword [rsp + 0xe8], rcx
mov qword [rdx + 0x78], rcx
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0xb0]
mov dword [rax + 0x68], ecx
mov rax, qword [rsp + 0xc8]
mov ecx, dword [r14 + 0x88]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xd0]
cmp rax, r15
je 0x18008f116
mov qword [rsp + 0x100], rax
jmp 0x18008f193
mov r8, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov rdx, r15
cmp byte [r8 + 0x1f], r15b
je 0x18008f13a
cmp byte [rcx + 0x5b], r12b
jne 0x18008f15b
xor r8d, r8d
jmp 0x18008f143
cmp byte [rcx + 0x5b], r12b
jne 0x18008f15b
mov r8d, r12d
lea rdx, [rsp + 0x164]
call fcn.1800825a4
mov r8, qword [rsp + 0xc8]
mov rdx, rax
mov eax, dword [rsp + 0x164]
mov qword [rsp + 0x100], rdx
cmp dword [rsp + 0xb0], eax
ja 0x18008f184
mov qword [rsp + 0xd0], rdx
mov qword [r8 + 0x80], rdx
jmp 0x18008f18b
mov qword [r8 + 0x80], r15
mov rax, qword [rsp + 0x100]
cmp byte [rax], 0x80
jae 0x18008f1a7
movzx edx, byte [rax]
mov ecx, r12d
mov dword [rsp + 0x158], edx
jmp 0x18008f1c9
lea rdx, [rsp + 0x158]
mov rcx, rax
call fcn.1800752d0
mov edx, dword [rsp + 0x158]
movzx ecx, al
mov rax, qword [rsp + 0x100]
movzx r8d, cl
mov dword [rsp + 0x160], r8d
cmp edx, 0x18003
jbe 0x18008f1f3
mov ecx, 0xf0f2
call fcn.1800c0da4
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008dd41
mov r11d, dword [rsp + 0xf0]
lea ecx, [r11 + r11*4 + 3]
cmp ecx, edx
cmovg ecx, edx
mov dword [rsp + 0xf4], ecx
cmp qword [rsp + 0xd0], r15
jne 0x18008f2a2
cmp dword [rsp + 0x164], ecx
jge 0x18008f2a2
mov rax, qword [rsp + 0xc8]
mov word [rsp + 0x134], r15w
mov qword [rsp + 0x120], r15
movzx r9d, byte [rax + 0x1f]
mov r8d, ecx
mov rcx, qword [rsp + 0xd8]
lea rax, [rsp + 0x110]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180088c74
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18008dd41
mov rax, qword [rsp + 0x128]
mov r8d, dword [rsp + 0x160]
mov edx, dword [rsp + 0x158]
mov ecx, dword [rsp + 0xf4]
mov r11d, dword [rsp + 0xf0]
mov qword [rsp + 0x100], rax
xor r15d, r15d
movsxd r9, r8d
movsxd r10, ecx
mov dword [rsp + 0xf8], r15d
add r10, rax
add r9, rax
cmp r11d, r15d
mov r8d, r15d
lea rbx, [0x180000000]
mov qword [rsp + 0x150], r10
mov qword [rsp + 0x148], r9
jle 0x18008f3a0
mov rax, qword [rsp + 0xe8]
movsxd rcx, r8d
cmp r9, r10
jae 0x18008f46e
mov dword [rax + rcx*4], edx
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0xe0]
cmp byte [rcx], 0x80
jae 0x18008f318
movzx edx, byte [rcx]
movsxd rcx, dword [rsp + 0xf8]
mov dword [rax + rcx*4], edx
mov eax, r12d
jmp 0x18008f32c
movsxd rdx, dword [rsp + 0xf8]
lea rdx, [rax + rdx*4]
call fcn.1800752d0
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]
mov eax, reloc.WS2_32.dll_inet_ntoa
cmp edx, eax
jb 0x18008f366
lea eax, [rdx - 0xc]
shr eax, 1
jmp 0x18008f36e
movzx eax, byte [rdx + rbx + 0x1102c8]
mov edx, dword [rsp + 0x158]
mov dword [rsp + 0x15c], eax
add edx, eax
mov dword [rsp + 0x158], edx
cmp edx, eax
jae 0x18008f489
mov rax, qword [rsp + 0x150]
inc rax
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x110]
call fcn.1800883ac
mov rcx, qword [rsp + 0x150]
mov word [rsp + 0x134], r12w
cmp qword [rsp + 0x148], rcx
ja 0x18008f602
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0x158], eax
ja 0x18008f602
cmp qword [rsp + 0x148], rcx
jne 0x18008f3f7
cmp dword [rsp + 0x158], eax
jne 0x18008f602
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
movsxd rdx, dword [rsp + 0xc4]
cmp dword [rax + rdx*4], r15d
je 0x18008f57d
cmp qword [rsp + 0xd0], r15
je 0x18008f4af
mov rcx, qword [rsp + 0x108]
call fcn.180088334
movsxd r11, dword [rsp + 0xc4]
mov rax, qword [rsp + 0xe8]
mov ecx, dword [rax + r11*4]
mov rax, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x108]
mov edx, dword [rax + r11*4]
add rcx, qword [rsp + 0xd0]
call fcn.18008b3f8
jmp 0x18008f56c
mov dword [rax + rcx*4], r15d
mov edx, dword [rsp + 0x158]
mov r9, qword [rsp + 0x148]
mov r8d, dword [rsp + 0xf8]
add r8d, r12d
cmp r8d, dword [rsp + 0xf0]
mov dword [rsp + 0xf8], r8d
jge 0x18008f3a0
mov r10, qword [rsp + 0x150]
jmp 0x18008f2d9
mov eax, dword [rcx + rdx*4]
mov ecx, reloc.WS2_32.dll_inet_ntoa
cmp eax, ecx
jb 0x18008f4c2
add eax, 0xfffffff4
shr eax, 1
jmp 0x18008f4ca
movzx eax, byte [rax + rbx + 0x1102c8]
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x110]
mov dword [rsp + 0xf4], eax
call fcn.1800887fc
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.180088c74
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18008dd41
mov rcx, qword [rsp + 0x128]
movsxd rdx, dword [rsp + 0xc4]
mov rax, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x108]
mov qword [rsp + 0x100], rcx
mov edx, dword [rax + rdx*4]
call fcn.18008b3f8
xor r15d, r15d
mov rax, qword [rsp + 0x108]
mov cl, byte [rsp + 0x48]
mov byte [rax + 0x27], cl
jmp 0x18008f59c
cmp byte [rbp + rsi*8 + 1], 0xf8
jne 0x18008f59c
mov rdx, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rsp + 0x108]
mov r8d, 0x800
call fcn.180088724
cmp qword [rsp + 0x140], r15
je 0x18008f5f0
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.180088098
jmp 0x18008f1e7
mov ecx, 0xf13c
jmp 0x18008f1e2
mov rax, qword [rbp + rsi*8 + 0x10]
xor r10d, r10d
mov qword [rsp + 0xb0], rax
movsxd rbx, dword [rbp + rsi*8 + 4]
mov cl, byte [rax]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov byte [rsp + 0xb8], cl
cmp cl, r10b
je 0x18008f69c
mov r13b, byte [rsp + 0x48]
mov r14d, 0x4000
add rax, r12
mov qword [rsp + 0xb0], rax
test word [rbx + 0x24], r14w
je 0x18008f664
mov rcx, rbx
call fcn.18008810c
mov cl, byte [rsp + 0xb8]
mov dl, cl
mov r8b, r13b
mov rcx, rbx
call fcn.18008d7d0
mov rax, qword [rsp + 0xb0]
xor r10d, r10d
mov cl, byte [rax]
add rbx, 0x38
mov byte [rsp + 0xb8], cl
cmp cl, r10b
jne 0x18008f643
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x68]
lea r9d, [r10 + 4]
mov ecx, dword [rsp + 0x40]
add rax, r12
mov qword [rsp + 0xb0], rax
mov r11d, 2
jmp 0x18008dbb1
mov r8, qword [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0xc0], r9
mov dword [rsp + 0xc8], r9d
mov qword [rsp + 0xd0], r9
mov ebx, r9d
mov r14, r9
mov r11d, r9d
mov dword [rsp + 0xd8], ebx
movsxd rax, dword [rbp + rsi*8 + 4]
mov dword [rsp + 0xf8], eax
mov r13, qword [rbp + rsi*8 + 0x10]
mov r12, rax
imul r12, r12, 0x38
add r12, r8
mov qword [rsp + 0x100], r13
mov qword [rsp + 0xe8], r12
mov eax, dword [rbp + rsi*8 + 8]
mov r10, r12
mov dword [rsp + 0xf8], eax
dec eax
mov qword [rsp + 0xb8], r12
movsxd rdi, eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xa4]
imul rdi, rdi, 0x38
add rdi, r12
mov dword [rsp + 0x108], eax
mov qword [rsp + 0xf0], rdi
cmp r12, rdi
ja 0x18008f8e3
mov sil, byte [rsp + 0x48]
mov eax, 0x4000
lea rbp, [0x180000000]
lea r15d, [r9 + 0xc]
cmp r13, r9
je 0x18008f7e0
mov rdx, r10
movabs rax, 0x4924924924924925
mov r8b, sil
sub rdx, r12
mov rcx, r10
imul rdx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dl, byte [rdx + r13]
call fcn.18008d7d0
mov r13, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xe8]
mov ebx, dword [rsp + 0xd8]
mov r11d, dword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xb8]
xor r9d, r9d
mov eax, 0x4000
test word [r10 + 0x24], ax
je 0x18008f82c
cmp dword [r10 + 0x20], r9d
jle 0x18008f82c
mov rcx, r10
call fcn.18008810c
mov r13, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xe8]
mov ebx, dword [rsp + 0xd8]
mov r11d, dword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x108]
mov rcx, r10
call fcn.18008b27c
mov r9d, eax
mov dword [rsp + 0xe0], r9d
cmp eax, r15d
jb 0x18008f853
lea ecx, [r9 - 0xc]
shr ecx, 1
jmp 0x18008f85c
movzx ecx, byte [r9 + rbp + 0x1102c8]
movsxd rax, ecx
mov rdx, r9
mov dword [rsp + 0x110], ecx
add r14, rax
xor r9d, r9d
mov eax, r9d
mov qword [rsp + 0xc0], r14
shr rdx, 7
inc eax
cmp rdx, r9
je 0x18008f88a
cmp eax, 9
jl 0x18008f87a
add r11d, eax
mov eax, 0x4000
mov dword [rsp + 0xc8], r11d
test word [r10 + 0x24], ax
je 0x18008f8a6
add ebx, dword [r10]
jmp 0x18008f8ad
cmp ecx, r9d
cmovne ebx, r9d
add r10, 0x38
mov dword [rsp + 0xd8], ebx
mov qword [rsp + 0xb8], r10
cmp r10, rdi
jbe 0x18008f76c
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
mov r15d, dword [rsp + 0x44]
mov r8, qword [rsp + 0x50]
movsxd rcx, r11d
mov eax, r9d
mov r12d, 1
shr rcx, 7
add eax, r12d
cmp rcx, r9
je 0x18008f900
cmp eax, 9
jl 0x18008f8ef
add r11d, eax
mov dword [rsp + 0xdc], eax
mov ecx, r9d
mov dword [rsp + 0xc8], r11d
movsxd rdx, r11d
shr rdx, 7
add ecx, r12d
cmp rdx, r9
je 0x18008f929
cmp ecx, 9
jl 0x18008f918
cmp eax, ecx
jge 0x18008f938
add r11d, r12d
mov dword [rsp + 0xc8], r11d
mov r13, qword [rsp + 0x68]
movsxd rax, ebx
movsxd rcx, r11d
sub rcx, rax
add rcx, r14
mov qword [rsp + 0xd0], rcx
movsxd rax, dword [r13 + 0x60]
cmp rcx, rax
jg 0x1800939b5
movsxd rdi, dword [rbp + rsi*8 + 0xc]
mov edx, ecx
imul rdi, rdi, 0x38
add rdi, r8
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x58], rdi
call fcn.180087fac
xor r14d, r14d
cmp eax, r14d
jne 0x180093a14
mov ecx, dword [rsp + 0xc8]
mov r8, qword [rdi + 0x18]
mov qword [rsp + 0xb0], r8
cmp ecx, 0x80
jae 0x18008f9b2
mov al, byte [rsp + 0xc8]
mov byte [r8], al
mov eax, r12d
jmp 0x18008f9df
test ecx, 0xffffc000
jne 0x18008f9d4
mov eax, ecx
mov ebx, 2
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [r8], al
mov byte [r8 + 1], cl
mov eax, ebx
jmp 0x18008f9e4
mov rdx, rcx
mov rcx, r8
call fcn.18007509c
mov ebx, 2
mov rcx, qword [rsp + 0xf0]
movzx r10d, al
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x10c], r10d
mov qword [rsp + 0xb8], rax
cmp rax, rcx
ja 0x18008fb0e
mov edx, dword [rsp + 0x108]
mov rcx, rax
call fcn.18008b27c
mov r11d, eax
mov dword [rsp + 0xe0], r11d
cmp eax, 0x80
jae 0x18008fa48
mov rcx, qword [rsp + 0xb0]
mov al, r11b
movsxd rdx, r10d
mov byte [rdx + rcx], al
mov eax, r12d
jmp 0x18008fa7a
movsxd rcx, r10d
add rcx, qword [rsp + 0xb0]
test r11d, 0xffffc000
jne 0x18008fa72
mov eax, r11d
shr eax, 7
or al, 0x80
and r11b, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], r11b
mov eax, ebx
jmp 0x18008fa7a
mov rdx, r11
call fcn.18007509c
mov r10d, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0xf0]
movzx eax, al
add r10d, eax
mov rax, qword [rsp + 0xb8]
add rax, 0x38
mov dword [rsp + 0x10c], r10d
mov qword [rsp + 0xb8], rax
cmp rax, rcx
jbe 0x18008fa11
mov rax, qword [rsp + 0xe8]
cmp rax, rcx
jmp 0x18008fb0e
mov edx, dword [rsp + 0xd0]
mov r9d, dword [rsp + 0x108]
movsxd rcx, r10d
add rcx, qword [rsp + 0xb0]
mov r8, rax
sub edx, r10d
call fcn.18008b328
mov r10d, dword [rsp + 0x10c]
add r10d, eax
mov rax, qword [rsp + 0xb8]
add rax, 0x38
mov dword [rsp + 0x10c], r10d
cmp rax, qword [rsp + 0xf0]
mov qword [rsp + 0xb8], rax
jbe 0x18008fac2
mov eax, dword [rsp + 0xd0]
mov qword [rdi + 0x28], r14
mov dword [rdi + 0x20], eax
mov eax, 0x410
mov word [rdi + 0x24], ax
mov eax, dword [rsp + 0xd8]
cmp eax, r14d
je 0x18008fb46
mov dword [rdi], eax
mov eax, 0x4410
mov word [rdi + 0x24], ax
mov r14, qword [rsp + 0x78]
mov byte [rdi + 0x27], r12b
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rcx]
mov qword [rsp + 0xb8], rcx
cmp rcx, rax
je 0x18008fb97
lea rdx, [rsp + 0xb0]
call fcn.18008665c
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
mov r9d, 4
jmp 0x18008fb9f
mov qword [rsp + 0xb0], rax
mov qword [rdi], rax
jmp 0x18008dd09
mov ebx, dword [rbp + rsi*8 + 4]
xor eax, eax
mov dword [rsp + 0xb0], ebx
mov r10, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0xb8], r10
cmp ebx, eax
jne 0x18008fcb0
cmp dword [r13 + 0xb4], eax
jle 0x18008fbf2
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
lea rcx, [r14 + 0x98]
mov rdx, r13
call fcn.180072ec4
mov eax, 5
jmp 0x18008f1e7
cmp r10, rax
jne 0x18008fbff
mov r10d, eax
jmp 0x18008fc13
add r10, r12
cmp byte [r10], al
jne 0x18008fbfc
sub r10d, dword [rsp + 0xb8]
and r10d, 0x3fffffff
lea edx, [r10 + 0x19]
mov rcx, r13
mov dword [rsp + 0xc0], r10d
call fcn.180072ca0
xor ecx, ecx
mov qword [rsp + 0xc8], rax
cmp rax, rcx
je 0x18008dd41
lea rcx, [rax + 0x18]
mov qword [rax], rcx
mov eax, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0xb8]
inc eax
movsxd r8, eax
call fcn.1800d47b0
xor eax, eax
cmp byte [r13 + 0x28], al
je 0x18008fc6f
mov byte [r13 + 0x28], al
mov byte [r13 + 0x318], r12b
jmp 0x18008fc76
add dword [r13 + 0x310], r12d
mov rax, qword [rsp + 0xc8]
mov rcx, qword [r13 + 0x308]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [r13 + 0x320]
mov qword [r13 + 0x308], rax
mov rax, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
jmp 0x18008dd41
mov dword [rsp + 0xe0], eax
mov r11, qword [r13 + 0x308]
mov edi, eax
mov qword [rsp + 0xd0], r11
cmp r11, rax
je 0x18008ff3e
xor r14d, r14d
mov rcx, qword [r11]
mov rdx, r10
call fcn.180074aac
cmp eax, r14d
je 0x18008fcff
add edi, r12d
mov dword [rsp + 0xe0], edi
mov r11, qword [r11 + 0x10]
mov qword [rsp + 0xd0], r11
cmp r11, r14
jne 0x18008fcd4
cmp r11, r14
mov r14, qword [rsp + 0x78]
je 0x18008ff3e
xor eax, eax
cmp dword [r13 + 0xb4], eax
lea r8d, [rax + 2]
jg 0x18008ff05
cmp ebx, r8d
jne 0x18008fd32
cmp dword [r13 + 0xb0], r12d
jg 0x18008ff05
cmp qword [r11 + 0x10], rax
jne 0x18008fd8f
cmp byte [r13 + 0x318], al
je 0x18008fd8f
mov esi, r12d
cmp ebx, r12d
jne 0x18008fd91
mov edx, r12d
mov rcx, r14
call fcn.18008aae4
xor edi, edi
mov ebx, eax
cmp eax, edi
jne 0x180093a92
mov rcx, r14
mov byte [r13 + 0x28], r12b
call fcn.18008ab38
lea ecx, [rdi + 5]
cmp eax, ecx
je 0x18009389b
mov byte [r13 + 0x318], dil
mov r15d, dword [r14 + 0x90]
mov dword [rsp + 0x44], r15d
jmp 0x18008fe3e
mov esi, eax
mov r8d, dword [r13 + 0x310]
mov dword [rsp + 0xe4], eax
sub r8d, edi
xor edi, edi
sub r8d, r12d
mov dword [rsp + 0xe0], r8d
cmp dword [r13 + 8], edi
jle 0x18008fe0a
mov rcx, qword [r13 + 0x10]
cdqe
mov edx, ebx
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180081e58
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, edi
jne 0x18009395c
mov eax, dword [rsp + 0xe4]
mov ebx, dword [rsp + 0xb0]
add eax, r12d
mov dword [rsp + 0xe4], eax
cmp eax, dword [r13 + 8]
jge 0x18008fe02
mov r8d, dword [rsp + 0xe0]
jmp 0x18008fdb5
mov r11, qword [rsp + 0xd0]
mov eax, 2
cmp ebx, eax
jne 0x18008fe4d
bt dword [r13 + 0x18], 9
jae 0x18008fe4d
mov rax, qword [r13 + 0xa8]
jmp 0x18008fe2f
mov byte [rax + 0xa2], r12b
mov rax, qword [rax + 0x10]
cmp rax, rdi
jne 0x18008fe24
xor edx, edx
mov rcx, r13
call fcn.18009d2a0
mov ebx, dword [rsp + 0xb0]
mov r11, qword [rsp + 0xd0]
cmp qword [r13 + 0x308], r11
je 0x18008fea5
or rdi, 0xffffffffffffffff
mov rax, qword [r13 + 0x308]
mov rcx, r13
mov qword [rsp + 0xd8], rax
mov rax, qword [rax + 0x10]
mov qword [r13 + 0x308], rax
mov rdx, qword [rsp + 0xd8]
call fcn.180072a38
add dword [r13 + 0x310], edi
mov r11, qword [rsp + 0xd0]
cmp qword [r13 + 0x308], r11
jne 0x18008fe5a
mov ebx, dword [rsp + 0xb0]
xor edi, edi
cmp ebx, r12d
jne 0x18008fef0
mov rax, qword [r11 + 0x10]
mov rcx, r13
mov qword [r13 + 0x308], rax
mov rdx, qword [rsp + 0xd0]
call fcn.180072a38
mov ecx, dword [rsp + 0x40]
mov r11d, 2
cmp esi, edi
mov rdi, qword [rsp + 0x58]
lea r9d, [r11 + 2]
jne 0x18008dbae
or rax, 0xffffffffffffffff
add dword [r13 + 0x310], eax
jmp 0x18008dbae
mov rax, qword [r11 + 8]
mov qword [r13 + 0x320], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18008dd41
cmp ebx, r8d
lea rax, str.rollback
lea r9, str.release
lea rcx, [r14 + 0x98]
lea r8, str.cannot__s_savepoint___SQL_statements_in_progress
mov rdx, r13
cmove r9, rax
call fcn.180072ec4
mov eax, 5
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x18008fefb
lea rcx, [r14 + 0x98]
lea r8, str.no_such_savepoint:__s
mov r9, r10
mov rdx, r13
call fcn.180072ec4
mov r15d, r12d
mov dword [rsp + 0x44], r12d
jmp 0x18008fefb
mov edx, dword [rbp + rsi*8 + 4]
xor r15d, r15d
mov dword [rsp + 0xb0], edx
mov ecx, dword [rbp + rsi*8 + 8]
mov dword [rsp + 0xb4], ecx
cmp edx, r15d
je 0x18008ffbc
cmp byte [r13 + 0x28], r15b
jne 0x18008ffbc
mov dword [rsp + 0xb8], r12d
cmp ecx, r15d
je 0x18008ffa7
cmp dword [r13 + 0xb0], r12d
jle 0x18008ffc4
lea r8, str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x18008fbd9
cmp dword [r13 + 0xb4], r15d
jle 0x18008ffc4
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18008fbd9
mov dword [rsp + 0xb8], r15d
movzx eax, byte [r13 + 0x28]
cmp edx, eax
jne 0x1800938b8
cmp ecx, r15d
lea rax, str.cannot_rollback___no_transaction_is_active
lea r8, str.cannot_commit___no_transaction_is_active
cmovne r8, rax
cmp edx, r15d
lea rax, str.cannot_start_a_transaction_within_a_transaction
lea rcx, [r14 + 0x98]
cmove r8, rax
mov rdx, r13
call fcn.180072ec4
mov r15d, r12d
mov dword [rsp + 0x44], r12d
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r13 + 0x10]
xor r10d, r10d
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0xb0], rcx
cmp rcx, r10
je 0x180091a3f
mov edx, dword [rbp + rsi*8 + 8]
call fcn.180080cec
mov ebx, 5
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ebx
je 0x18009392e
xor ecx, ecx
cmp eax, ecx
jne 0x18009395c
cmp dword [rbp + rsi*8 + 8], ecx
je 0x18008dd41
cmp byte [r14 + 0xa6], cl
je 0x18008dd41
cmp byte [r13 + 0x28], cl
je 0x180090087
cmp dword [r13 + 0xb0], r12d
jle 0x18008dd41
cmp dword [r14 + 0x150], ecx
jne 0x1800900ac
add dword [r13 + 0x314], r12d
mov ecx, dword [r13 + 0x314]
add ecx, dword [r13 + 0x310]
mov dword [r14 + 0x150], ecx
mov rsi, qword [rsp + 0xb0]
mov edi, dword [r14 + 0x150]
mov rbx, qword [rsi + 8]
mov rcx, rsi
call fcn.18007ebe0
mov rcx, qword [rbx]
mov edx, edi
call fcn.18007c6e0
mov rcx, rsi
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18007ec78
mov rax, qword [r13 + 0x320]
mov qword [r14 + 0x148], rax
jmp 0x18008fefb
movsxd rax, dword [rbp + rsi*8 + 4]
lea r8, [rsp + 0xb0]
mov dword [rsp + 0xb4], eax
mov edx, dword [rbp + rsi*8 + 0xc]
shl rax, 5
mov dword [rsp + 0xb8], edx
mov rcx, qword [r13 + 0x10]
mov rcx, qword [rax + rcx + 8]
call fcn.180086548
movsxd r11, dword [rsp + 0xb0]
mov qword [rdi], r11
jmp 0x18008dd41
movsxd rax, dword [rbp + rsi*8 + 4]
shl rax, 5
add rax, qword [r13 + 0x10]
mov qword [rsp + 0xb0], rax
movsxd rbx, dword [rbp + rsi*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008857c
mov rcx, qword [rsp + 0xb0]
mov r8d, dword [rbx]
mov rcx, qword [rcx + 8]
mov edx, dword [rbp + rsi*8 + 8]
call fcn.1800865c4
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp dword [rbp + rsi*8 + 8], r12d
jne 0x18009019d
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x18]
mov eax, dword [rbx]
mov dword [rcx], eax
bts dword [r13 + 0x18], 9
jmp 0x1800901b9
mov eax, 2
cmp dword [rbp + rsi*8 + 8], eax
jne 0x1800901b9
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x18]
mov al, byte [rbx]
mov byte [rcx + 0x70], al
cmp dword [rbp + rsi*8 + 4], r12d
jne 0x18008dd41
mov rax, qword [r13 + 0xa8]
xor ecx, ecx
jmp 0x1800901da
mov byte [rax + 0xa2], r12b
mov rax, qword [rax + 0x10]
cmp rax, rcx
jne 0x1800901cf
mov byte [r14 + 0xa2], cl
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r13 + 0x10]
xor r11d, r11d
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0xb8], rcx
cmp rcx, r11
je 0x18009022d
lea r8, [rsp + 0xb0]
mov edx, r12d
call fcn.180086548
mov r11d, dword [rsp + 0xb0]
mov r9d, 4
jmp 0x180090235
mov dword [rsp + 0xb0], r11d
cmp r11d, dword [rbp + rsi*8 + 8]
je 0x18008dd09
mov rdx, qword [r14 + 0x98]
mov rcx, r13
call fcn.180072a38
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.180072e08
mov qword [r14 + 0x98], rax
mov rax, qword [r13 + 0x10]
movsxd rdx, dword [rbp + rsi*8 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsp + 0xb0]
cmp dword [rcx], eax
je 0x18009028d
mov rcx, r13
call fcn.18009d2a0
mov rax, qword [r13 + 0xa8]
xor ecx, ecx
jmp 0x1800902a3
mov byte [rax + 0xa2], r12b
mov rax, qword [rax + 0x10]
cmp rax, rcx
jne 0x180090298
mov r15d, 0x11
mov dword [rsp + 0x44], r15d
jmp 0x18008dd41
xor r15d, r15d
cmp byte [r14 + 0xa2], r15b
je 0x1800902d1
mov r15d, r9d
mov dword [rsp + 0x44], r9d
jmp case.0x18008da4d.17
mov dword [rsp + 0xb0], r15d
mov qword [rsp + 0xb8], r15
movsxd rdx, dword [rbp + rsi*8 + 8]
mov dword [rsp + 0xc0], edx
movsxd r9, dword [rbp + rsi*8 + 0xc]
mov r8d, r15d
mov dword [rsp + 0xc4], r9d
mov rcx, r9
shl rcx, 5
add rcx, qword [r13 + 0x10]
mov qword [rsp + 0xe0], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0xd0], rax
cmp byte [rbp + rsi*8], 0x27
jne 0x180090344
mov dword [rsp + 0xc8], r12d
mov rax, qword [rcx + 0x18]
mov cl, byte [rax + 0x70]
cmp cl, byte [r14 + 0xa4]
jae 0x18009034c
mov byte [r14 + 0xa4], cl
jmp 0x18009034c
mov dword [rsp + 0xc8], r15d
cmp byte [rbp + rsi*8 + 3], r15b
je 0x180090390
mov rbx, rdx
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008857c
mov r11d, dword [rbx]
mov eax, 2
cmp r11d, eax
mov dword [rsp + 0xc0], r11d
jl 0x180093947
mov r9d, dword [rsp + 0xc4]
mov r8d, dword [rsp + 0xb0]
mov al, byte [rbp + rsi*8 + 1]
cmp al, 0xfa
jne 0x1800903d0
mov rax, qword [r14]
mov rdx, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
mov cl, byte [rax + 0x71]
mov byte [rdx + 8], cl
mov rax, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0xc4]
movzx r8d, word [rax + 0xa]
add r8d, r12d
jmp 0x1800903d9
cmp al, 0xf2
jne 0x1800903e1
mov r8d, dword [rbp + rsi*8 + 0x10]
mov dword [rsp + 0xb0], r8d
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, r14
mov dword [rsp + 0x20], r12d
call fcn.18008d5ec
mov qword [rsp + 0xd8], rax
cmp rax, r15
je 0x180093a19
mov byte [rax + 0x1c], r12b
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.180081f0c
mov rcx, qword [rsp + 0xb8]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0x38], rcx
mov eax, 0x10
cmp r15d, eax
jne 0x180090474
mov rax, qword [rsp + 0xd8]
xor ecx, ecx
mov qword [rax], rcx
mov r15d, ecx
mov dword [rsp + 0x44], ecx
cmp byte [rbp + rsi*8 + 1], 0xfa
mov rax, qword [rsp + 0xd8]
setne cl
mov byte [rax + 0x1e], cl
xor eax, eax
cmp cl, al
mov rax, qword [rsp + 0xd8]
sete cl
mov byte [rax + 0x1f], cl
jmp 0x18008dd41
mov r8d, dword [rbp + rsi*8 + 8]
mov edx, dword [rbp + rsi*8 + 4]
or r9d, 0xffffffff
mov rcx, r14
mov dword [rsp + 0x20], r12d
call fcn.18008d5ec
xor edi, edi
mov qword [rsp + 0xb0], rax
cmp rax, rdi
je 0x180093a19
mov byte [rax + 0x1c], r12b
mov rax, qword [rsp + 0xb0]
mov r9d, 0x1f4
add rax, 0x28
mov r8d, r12d
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, r13
mov dword [rsp + 0x20], 0x41e
call fcn.1800c01b4
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, edi
jne 0x1800906d9
mov rcx, qword [rsp + 0xb0]
mov edx, r12d
mov rcx, qword [rcx + 0x28]
call fcn.180080cec
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, edi
jne 0x1800906d9
mov rax, qword [rsp + 0xb0]
xor r15d, r15d
cmp qword [rbp + rsi*8 + 0x10], r15
je 0x18009064f
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call fcn.18007ebe0
lea r8d, [rdi + 2]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.180085e3c
mov rcx, rbx
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18007ec78
cmp r15d, edi
jne 0x18009063e
mov rax, qword [rsp + 0xb0]
mov r12, qword [rbp + rsi*8 + 0x10]
mov rdi, qword [rax + 0x28]
mov rbx, qword [rax]
mov rcx, rdi
call fcn.18007ebe0
mov r11, qword [rdi + 8]
xor ecx, ecx
cmp byte [r11 + 0x20], cl
je 0x1800905b5
lea eax, [rcx + 8]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov r12d, 1
jmp 0x180090612
mov eax, dword [rsp + 0x90]
cmp eax, 1
jne 0x1800905ce
cmp dword [r11 + 0x3c], ecx
jne 0x1800905ce
mov eax, 0x10
jmp 0x1800905a6
mov dword [rbx + 0x28], eax
or rax, 0xffffffffffffffff
mov qword [rbx + 0x20], r12
lea r12d, [rax + 2]
mov qword [rbx], rdi
mov qword [rbx + 8], r11
mov byte [rbx + 0x58], r12b
mov word [rbx + 0x80], ax
mov rax, qword [r11 + 0x10]
mov qword [rbx + 0x10], rax
cmp rax, rcx
je 0x180090600
mov qword [rax + 0x18], rbx
mov qword [r11 + 0x10], rbx
mov r15d, ecx
mov dword [rsp + 0x44], ecx
mov byte [rbx + 0x5b], cl
mov qword [rbx + 0x30], rcx
mov rcx, rdi
call fcn.18007ec78
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rbp + rsi*8 + 0x10]
mov qword [rax + 0x38], rdx
mov rax, qword [r14]
xor edi, edi
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
mov al, byte [rax + 0x71]
mov byte [rdx + 8], al
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1e], dil
jmp 0x1800906d9
mov rdi, qword [rax + 0x28]
mov rbx, qword [rax]
mov rcx, rdi
call fcn.18007ebe0
mov r11, qword [rdi + 8]
cmp byte [r11 + 0x20], r15b
je 0x180090676
mov eax, 8
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x1800906c3
cmp dword [r11 + 0x3c], r15d
jne 0x180090683
mov eax, 0x10
jmp 0x18009066d
or rax, 0xffffffffffffffff
mov dword [rbx + 0x28], r12d
mov qword [rbx + 0x20], r15
mov qword [rbx], rdi
mov qword [rbx + 8], r11
mov byte [rbx + 0x58], r12b
mov word [rbx + 0x80], ax
mov rax, qword [r11 + 0x10]
mov qword [rbx + 0x10], rax
cmp rax, r15
je 0x1800906b2
mov qword [rax + 0x18], rbx
mov qword [r11 + 0x10], rbx
mov dword [rsp + 0x44], r15d
mov byte [rbx + 0x5b], r15b
mov qword [rbx + 0x30], r15
mov rcx, rdi
call fcn.18007ec78
mov rax, qword [rsp + 0xb0]
xor edi, edi
mov byte [rax + 0x1e], r12b
mov rcx, qword [rsp + 0xb0]
cmp byte [rcx + 0x1e], dil
sete al
mov byte [rcx + 0x1f], al
jmp 0x18008fefb
mov r8d, dword [rbp + rsi*8 + 0xc]
mov edx, dword [rbp + rsi*8 + 4]
xor eax, eax
or r9d, 0xffffffff
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.18008d5ec
xor ecx, ecx
mov qword [rsp + 0xb0], rax
cmp rax, rcx
je 0x180093a19
mov byte [rax + 0x1c], r12b
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rbp + rsi*8 + 8]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
mov byte [rax + 0x1e], r12b
mov rax, qword [rsp + 0xb0]
jmp 0x180090496
movsxd rax, dword [rbp + rsi*8 + 4]
mov rdx, qword [r14 + 0x58]
mov rcx, r14
mov rdx, qword [rdx + rax*8]
call fcn.18008a2f0
movsxd r11, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
xor ecx, ecx
mov qword [rax + r11*8], rcx
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb8], rdx
cmp qword [rdx], rcx
je 0x18008da60
movzx eax, byte [rbp + rsi*8]
mov dword [rsp + 0xb4], eax
mov byte [rdx + 0x1c], cl
mov r10, qword [rsp + 0xb8]
cmp byte [r10 + 0x1e], cl
je 0x1800909b1
movsxd rbx, dword [rbp + rsi*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008d6ec
mov rcx, rbx
call fcn.180088424
xor ecx, ecx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xb8]
lea r9d, [rcx + 4]
mov byte [rax + 0x19], cl
test byte [rbx + 0x24], r9b
jne 0x180090942
lea eax, [rcx + 8]
test byte [rbx + 0x24], al
jne 0x18009080b
mov ecx, dword [rbp + rsi*8 + 8]
sub ecx, r12d
jmp 0x18008e719
mov r8, qword [rsp + 0xe8]
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1800908f8
movsd xmm1, qword [rbx + 8]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm1
ja 0x180090844
comisd xmm1, xmm6
jbe 0x1800908f8
mov dword [rsp + 0xb0], r12d
comisd xmm6, xmmword [rbx + 8]
jbe 0x1800908a9
cmp dword [rsp + 0xb4], 0x2e
jl 0x1800907ff
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.18008274c
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x1800908a4
cmp byte [rbx + 0x5b], cl
jne 0x18009088c
mov dword [rsp + 0xb0], r12d
jmp 0x1800908a4
mov dword [rsp + 0xb0], ecx
mov rcx, rbx
call fcn.1800828dc
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp r15d, ecx
jmp 0x1800908da
cmp dword [rsp + 0xb4], 0x2d
jg 0x1800907ff
mov rcx, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rcx]
call fcn.180082a18
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009395c
mov r9d, 4
cmp dword [rsp + 0xb0], ecx
je 0x18008dd09
jmp 0x1800907ff
cmp dword [rsp + 0xb4], 0x2c
je 0x180090929
cmp dword [rsp + 0xb4], 0x2e
je 0x180090929
pxor xmm0, xmm0
cvtsi2sd xmm0, r8
comisd xmm0, xmmword [rbx + 8]
jbe 0x18009094a
sub r8, r12
mov qword [rsp + 0xe8], r8
jmp 0x18009094a
movsd xmm0, qword [rbx + 8]
pxor xmm1, xmm1
cvtsi2sd xmm1, r8
comisd xmm0, xmm1
jbe 0x18009094a
add r8, r12
jmp 0x18009091f
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.180082a78
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009395c
cmp dword [rsp + 0xb0], ecx
jne 0x180090a5d
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], r12b
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xe8]
mov qword [rcx + 0x10], rax
xor ecx, ecx
jmp 0x180090a5d
mov eax, dword [rbp + rsi*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, r12w
shl ax, 3
mov word [rsp + 0xca], ax
movsxd rcx, dword [rbp + rsi*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 0x180090a1e
call fcn.18008810c
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.180082a78
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009395c
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xb8]
xor edx, edx
mov byte [rax + 0x1d], cl
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], ecx
mov ecx, dword [rsp + 0xb4]
mov eax, dword [rsp + 0xb0]
cmp ecx, 0x2e
jl 0x180090ab4
cmp eax, edx
jl 0x180090a9a
jne 0x180090a93
cmp ecx, 0x2f
je 0x180090a9a
xor ecx, ecx
jmp 0x18008ef6e
mov rcx, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rcx]
call fcn.180082e0c
jmp 0x180090af6
cmp eax, edx
jg 0x180090ade
jne 0x180090abf
cmp ecx, 0x2c
je 0x180090ade
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov eax, edx
cmp byte [rcx + 0x5b], r12b
setne al
xor ecx, ecx
mov dword [rsp + 0xb0], eax
jmp 0x180090b12
mov rcx, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rcx]
call fcn.180082f68
xor ecx, ecx
mov dword [rsp + 0x44], eax
mov r15d, eax
cmp eax, ecx
jne 0x18009395c
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x19], cl
cmp dword [rsp + 0xb0], ecx
mov r11d, 2
lea r9d, [r11 + 2]
jmp 0x18008ee85
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb0], rdx
cmp qword [rdx], rcx
je case.0x18008da4d.17
mov byte [rdx + 0x1c], cl
movsxd rcx, dword [rbp + rsi*8 + 8]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.180088424
mov rcx, qword [rsp + 0xb0]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], r12b
jmp 0x18008dd41
mov rax, qword [r14 + 0x58]
xor r8d, r8d
mov edx, r8d
mov dword [rsp + 0xb0], edx
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rcx
movsxd rbx, dword [rbp + rsi*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
cmp qword [rcx], r8
je 0x180090ce8
cmp dword [rbp + rsi*8 + 0x10], r8d
jle 0x180090c07
mov rax, qword [rcx + 0x38]
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
movzx eax, word [rbp + rsi*8 + 0x10]
mov qword [rsp + 0xe8], rbx
mov word [rsp + 0xd8], ax
lea eax, [r8 + 0x10]
mov qword [rsp + 0xc8], rdx
mov word [rsp + 0xda], ax
jmp 0x180090c6e
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x180090c22
mov rcx, rbx
call fcn.18008810c
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.18008b5e8
xor ecx, ecx
mov qword [rsp + 0xc8], rax
cmp rax, rcx
je 0x180093a19
mov ecx, 0x10
or word [rax + 0xa], cx
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.180082a78
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp dword [rbp + rsi*8 + 0x10], ecx
jne 0x180090ca7
mov rcx, qword [rsp + 0xc8]
call fcn.18008b748
xor ecx, ecx
mov r9d, 4
cmp r15d, ecx
jne 0x18008dd09
cmp dword [rsp + 0xc0], ecx
mov eax, ecx
sete al
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x1d], cl
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], ecx
mov edx, dword [rsp + 0xb0]
jmp 0x180090cea
xor ecx, ecx
cmp byte [rbp + rsi*8], 0x32
mov r11d, 2
jne 0x180090cfe
cmp edx, ecx
jmp 0x18008ee85
cmp edx, ecx
jmp 0x18008eea3
movsxd rax, dword [rbp + rsi*8 + 0x10]
movsxd rbx, dword [rbp + rsi*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 + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb8], rdx
mov dword [rdx + 0x60], ecx
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], ecx
mov r10, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xd0]
mov rdx, qword [r10]
mov qword [rsp + 0xc0], rdx
mov rax, qword [r10 + 0x38]
movzx r8d, word [rax + 0xa]
xor eax, eax
mov word [rsp + 0xc8], r8w
cmp ax, r8w
jmp 0x180090d9a
movzx eax, cx
imul rax, rax, 0x38
test byte [rax + r9 + 0x24], r12b
jne 0x180090da6
add cx, r12w
cmp cx, r8w
mov word [rsp + 0xb0], cx
jb 0x180090d84
jmp 0x180090dbb
mov edx, dword [rbp + rsi*8 + 8]
sub edx, r12d
mov dword [rsp + 0x40], edx
xor edx, edx
mov qword [rsp + 0xc0], rdx
xor ecx, ecx
cmp rdx, rcx
je 0x18008dd41
mov rax, qword [r10 + 0x38]
add r8w, r12w
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xd8], rax
lea eax, [rcx + 0x20]
mov rcx, rbx
mov word [rsp + 0xe2], ax
mov word [rsp + 0xe0], r8w
call fcn.18008857c
mov rax, qword [rsp + 0xb8]
mov r11, qword [rbx]
mov rcx, qword [rsp + 0xc0]
add rax, 0x60
lea rdx, [rsp + 0xd8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0xf8], r11
mov qword [rsp + 0x20], rax
call fcn.180082a78
mov r15d, eax
mov dword [rsp + 0x44], eax
mov eax, 0x20
test byte [rsp + 0xe2], al
jne 0x180090e60
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf8]
je 0x180090e60
mov qword [rbx], rax
jmp 0x18008dd41
mov ecx, dword [rbp + rsi*8 + 8]
mov r11d, 2
sub ecx, r12d
lea r9d, [r11 + 2]
jmp 0x18008dbae
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd rbx, dword [rbp + rsi*8 + 0xc]
mov rax, qword [r14 + 0x58]
imul rbx, rbx, 0x38
mov rdx, qword [rax + rcx*8]
add rbx, qword [rsp + 0x50]
xor r10d, r10d
mov qword [rsp + 0xb0], rdx
mov rcx, qword [rdx]
mov qword [rsp + 0xb8], rcx
cmp rcx, r10
je 0x180090f51
xor edx, edx
lea rax, [rsp + 0xc0]
xor r9d, r9d
mov dword [rsp + 0xc0], edx
mov r8, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xc8], r8
call fcn.180082a78
mov rcx, qword [rbx]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x10], rcx
xor eax, eax
cmp dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0xb0]
sete cl
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
mov byte [rax + 0x1c], cl
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], cl
mov ecx, dword [rsp + 0xc0]
xor eax, eax
cmp ecx, eax
je 0x180090f41
mov eax, dword [rbp + rsi*8 + 8]
sub eax, r12d
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x60], ecx
jmp 0x18008dd41
mov ecx, dword [rbp + rsi*8 + 8]
mov dword [rdx + 0x60], r10d
sub ecx, r12d
jmp 0x18008dbb1
mov rax, qword [r14 + 0x58]
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x48]
mov qword [rdi], rax
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x48], r12
jmp case.0x18008da4d.17
xor eax, eax
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0xc0], eax
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rdx, rax
mov rax, qword [r14 + 0x58]
mov r10, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb8], r10
cmp qword [r10], rcx
je 0x1800912bd
mov dword [rsp + 0xc4], ecx
cmp byte [r10 + 0x1b], cl
jne 0x1800911b4
mov rax, qword [r10]
xor ebx, ebx
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0xb0], rcx
cmp rcx, rbx
jne 0x180091021
mov rcx, qword [r10]
lea rdx, [rsp + 0xc0]
call fcn.180082a18
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ebx
jne 0x18009395c
mov r10, qword [rsp + 0xb8]
cmp dword [rsp + 0xc0], ebx
je 0x18009105c
mov rcx, r12
mov qword [rsp + 0xb0], rcx
movabs r8, 0x7fffffffffffffff
movsxd rdx, dword [rbp + rsi*8 + 0xc]
cmp edx, ebx
je 0x18009116c
mov rax, qword [r14 + 0x158]
xor r10d, r10d
cmp rax, r10
je 0x1800910f4
mov qword [rsp + 0xd0], rax
mov rcx, qword [rax + 0x60]
jmp 0x1800910e0
mov rbx, qword [r10]
cmp byte [rbx + 0x5b], r12b
je 0x180091074
xor ebx, ebx
mov rcx, rbx
mov qword [rsp + 0xb0], rbx
jmp 0x180091092
mov rcx, rbx
call fcn.1800820b4
mov rcx, qword [rbx + 0x40]
mov r10, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], rcx
xor ebx, ebx
movabs r8, 0x7fffffffffffffff
mov r15d, ebx
mov dword [rsp + 0x44], ebx
cmp rcx, r8
jne 0x1800910c1
mov byte [r10 + 0x1b], r12b
mov r10, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
jmp 0x18009102b
add rcx, r12
mov qword [rsp + 0xb0], rcx
jmp 0x18009102b
mov rax, rcx
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rcx + 0x60]
cmp rcx, r10
jne 0x1800910d1
movsxd rcx, dword [rbp + rsi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rax + 0x20]
jmp 0x180091100
mov rcx, rdx
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xc8], rcx
call fcn.18008857c
mov r11, qword [rsp + 0xc8]
mov rcx, qword [r11]
movabs r8, 0x7fffffffffffffff
cmp rcx, r8
je 0x180093956
mov rax, qword [rsp + 0xb8]
xor ebx, ebx
cmp byte [rax + 0x1b], bl
jne 0x180093956
lea rax, [rcx + 1]
mov rcx, qword [rsp + 0xb0]
cmp rcx, rax
cmovl rcx, rax
mov qword [rsp + 0xb0], rcx
mov qword [r11], rcx
mov r10, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
cmp rcx, r8
mov r8, qword [r10]
lea rax, [rcx + 1]
mov rdx, rbx
cmovl rdx, rax
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
cmp rcx, rbx
je 0x1800911a8
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x180091197
mov qword [rcx + 0x30], rdx
mov rcx, qword [rcx + 0x10]
cmp rcx, rbx
jne 0x18009118a
mov r10, qword [rsp + 0xb8]
xor ecx, ecx
cmp byte [r10 + 0x1b], cl
je 0x180091295
mov r8, qword [r13 + 0x40]
mov eax, ecx
mov dword [rsp + 0xc4], ecx
mov qword [rsp + 0xb0], r8
cmp eax, ecx
jne 0x1800911df
mov rax, r8
and eax, 0xffffff
cmp rax, r8
jne 0x1800911df
add r8, r12
jmp 0x180091216
lea rdx, [rsp + 0xb0]
mov ecx, 8
call fcn.1800741a8
mov r8, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xb8]
mov eax, 5
cmp dword [rsp + 0xc4], eax
jge 0x18009121e
and r8d, 0xffffff
mov qword [rsp + 0xb0], r8
mov rcx, qword [r10]
lea rax, [rsp + 0xc0]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180082a78
mov ecx, dword [rsp + 0xc0]
xor edx, edx
mov r15d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xc4]
add eax, r12d
cmp eax, 0x64
mov dword [rsp + 0xc4], eax
jge 0x18009127e
cmp r15d, edx
jne 0x18009128b
cmp ecx, edx
jne 0x18009127e
mov r10, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
xor ecx, ecx
jmp 0x1800911c9
cmp r15d, edx
jne 0x18009128b
cmp ecx, edx
je 0x180093956
mov r10, qword [rsp + 0xb8]
xor ecx, ecx
mov byte [r10 + 0x19], cl
mov rax, qword [rsp + 0xb8]
mov r9d, 4
mov byte [rax + 0x1d], cl
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], ecx
mov rdx, qword [rsp + 0xb0]
mov qword [rdi], rdx
jmp 0x18008dd09
movsxd r9, dword [rbp + rsi*8 + 8]
mov rax, qword [r14 + 0x58]
mov rbx, qword [rsp + 0x50]
imul r9, r9, 0x38
add r9, rbx
mov qword [rsp + 0xb0], r9
movsxd rcx, dword [rbp + rsi*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rsp + 0xc8], r10
cmp byte [rbp + rsi*8], 0x37
movsxd rax, dword [rbp + rsi*8 + 0xc]
jne 0x180091311
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0xb8], rax
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
test byte [rbp + rsi*8 + 3], r12b
je 0x180091327
add dword [r14 + 0xac], r12d
test byte [rbp + rsi*8 + 3], r11b
je 0x18009134a
mov rax, qword [rsp + 0xc0]
mov qword [r13 + 0x40], rax
mov r10, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb0]
xor r15d, r15d
test byte [r9 + 0x24], r12b
je 0x180091373
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]
mov eax, 0x10
test byte [rbp + rsi*8 + 3], al
je 0x18009138c
mov r8d, dword [r10 + 0x60]
mov dword [rsp + 0xd4], r8d
jmp 0x180091397
mov r8d, r15d
mov dword [rsp + 0xd4], r15d
mov eax, 0x4000
test word [r9 + 0x24], ax
je 0x1800913a8
mov edx, dword [r9]
jmp 0x1800913ab
mov edx, r15d
mov dword [rsp + 0xd0], edx
mov r11, qword [r10]
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 0x10]
cmp rcx, r15
je 0x1800913f7
mov eax, dword [r11 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1800913cf
mov qword [rcx + 0x30], r15
mov rcx, qword [rcx + 0x10]
cmp rcx, r15
jne 0x1800913c2
mov r8d, dword [rsp + 0xd4]
mov edx, dword [rsp + 0xd0]
mov r10, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb0]
movzx eax, byte [rbp + rsi*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.18008588c
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xc8]
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xc8]
mov byte [rax + 0x1d], cl
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x64], ecx
cmp r15d, ecx
jne 0x18008dd41
cmp qword [r13 + 0x100], rcx
je 0x18008dd41
cmp qword [rbp + rsi*8 + 0x10], rcx
je 0x18008dd41
mov rax, qword [rsp + 0xc8]
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x10]
shl rcx, 5
mov r8, qword [rcx + rax]
mov qword [rsp + 0xd8], r8
mov r9, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0xe0], r9
mov al, byte [rbp + rsi*8 + 3]
and al, 4
neg al
mov rax, qword [rsp + 0xc0]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
mov dword [rsp + 0xe8], edx
mov rcx, qword [r13 + 0xf8]
call qword [r13 + 0x100]
jmp 0x18008dd41
mov rax, qword [r14 + 0x58]
xor edx, edx
mov qword [rsp + 0xb0], rdx
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rcx
cmp qword [r13 + 0x100], rdx
je 0x180091514
cmp qword [rbp + rsi*8 + 0x10], rdx
je 0x180091514
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xb0], rax
call fcn.18008b1cc
xor r9d, r9d
mov r15d, eax
cmp eax, r9d
jne 0x18009395c
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rdx]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
cmp rcx, r9
je 0x18009155e
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x18009154d
mov qword [rcx + 0x30], r9
mov rcx, qword [rcx + 0x10]
cmp rcx, r9
jne 0x180091540
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rdx]
call fcn.180085b3c
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x64], ecx
cmp r15d, ecx
jne 0x1800915c9
mov r10, qword [r13 + 0x100]
cmp r10, rcx
je 0x1800915c9
mov r9, qword [rbp + rsi*8 + 0x10]
cmp r9, rcx
je 0x1800915c9
mov rax, qword [rsp + 0xb8]
mov r8, qword [r13 + 0x10]
mov edx, 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 [r13 + 0xf8]
call r10
mov ecx, dword [rsp + 0x40]
mov r11d, 2
lea r9d, [r11 + 2]
test byte [rbp + rsi*8 + 8], r12b
je 0x18008dbae
add dword [r14 + 0xac], r12d
jmp 0x18008dbae
mov eax, dword [r14 + 0xac]
add dword [r13 + 0x50], eax
xor ecx, ecx
mov dword [r13 + 0x4c], eax
mov dword [r14 + 0xac], ecx
jmp case.0x18008da4d.17
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 8]
mov rax, qword [r14 + 0x58]
imul rdi, rdi, 0x38
mov rcx, qword [rax + rcx*8]
add rdi, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0xb8], rax
call fcn.18008b1cc
mov r15d, eax
xor eax, eax
cmp r15d, eax
jne 0x18009395c
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
xor r15d, r15d
cmp byte [rax + 0x1f], r15b
je 0x1800916a1
cmp byte [rbx + 0x5b], r12b
je 0x180091675
mov rcx, r15
jmp 0x180091681
mov rcx, rbx
call fcn.1800820b4
mov rcx, qword [rbx + 0x40]
mov qword [rsp + 0xc8], rcx
movsxd rax, dword [r13 + 0x60]
cmp rcx, rax
jg 0x1800939ba
mov edx, ecx
mov dword [rsp + 0xc0], ecx
jmp 0x1800916bd
mov rcx, rbx
call fcn.1800820b4
mov edx, dword [rbx + 0x48]
mov dword [rsp + 0xc0], edx
cmp edx, dword [r13 + 0x60]
ja 0x1800939ba
xor r8d, r8d
mov rcx, rdi
call fcn.180087fac
cmp eax, r15d
jne 0x180093a19
mov eax, dword [rsp + 0xc0]
mov r9, qword [rdi + 0x18]
xor edx, edx
mov dword [rdi + 0x20], eax
mov eax, 0xbf10
and word [rdi + 0x24], ax
mov eax, 0x10
or word [rdi + 0x24], ax
mov rax, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
cmp byte [rax + 0x1f], r15b
je 0x18009171d
mov dword [rsp + 0x20], r15d
call fcn.180082230
jmp 0x180091722
call fcn.18008253c
mov dword [rsp + 0x44], eax
mov r15d, eax
mov byte [rdi + 0x27], r12b
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov r8, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb0], r8
cmp byte [r8 + 0x1c], cl
jne case.0x18008da4d.10
cmp byte [r8 + 0x1d], cl
je 0x18009176a
mov rax, qword [r8 + 0x20]
mov qword [rsp + 0xb8], rax
jmp 0x18008fb9f
cmp qword [r8 + 0x50], rcx
je 0x1800917bd
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, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18008d83c
mov rax, qword [rsp + 0xb8]
jmp 0x18008fb8f
mov rcx, r8
call fcn.18008b1cc
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009395c
mov rax, qword [rsp + 0xb0]
cmp byte [rax + 0x19], cl
je 0x1800917f4
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb8], rax
jmp 0x18008fb8f
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], r12b
je 0x18009180a
mov rax, rcx
mov qword [rsp + 0xb8], rcx
jmp 0x180091820
mov rcx, rbx
call fcn.1800820b4
mov rax, qword [rbx + 0x40]
xor ecx, ecx
mov qword [rsp + 0xb8], rax
mov r15d, ecx
mov dword [rsp + 0x44], ecx
jmp 0x18008fb8f
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb0], rdx
mov byte [rdx + 0x1c], r12b
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rax]
cmp rbx, rcx
je case.0x18008da4d.17
mov rcx, qword [rbx + 0x60]
call fcn.180072998
xor ecx, ecx
mov qword [rbx + 0x60], rcx
mov byte [rbx + 0x5b], cl
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0xb0], rdx
mov rcx, qword [rdx]
mov qword [rsp + 0xb8], rcx
cmp rcx, rax
jne 0x1800918ae
mov dword [rsp + 0xc0], r12d
jmp 0x1800918d0
lea rdx, [rsp + 0xc0]
call fcn.180082a18
mov rdx, qword [rsp + 0xb0]
mov r9d, 4
mov r15d, eax
mov dword [rsp + 0x44], eax
mov al, byte [rsp + 0xc0]
xor ecx, ecx
mov byte [rdx + 0x1c], al
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], cl
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], cl
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], ecx
mov eax, dword [rbp + rsi*8 + 8]
cmp eax, ecx
jle 0x18008dd09
xor r10d, r10d
lea r11d, [rcx + 2]
cmp dword [rsp + 0xc0], ecx
je 0x180091a3f
lea ecx, [rax - 1]
jmp 0x18008dbb1
add dword [r14 + 0x124], r12d
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
mov dword [rsp + 0xc0], r12d
xor eax, eax
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rdx]
mov qword [rsp + 0xb8], rbx
cmp rbx, rax
je 0x1800919df
mov rcx, rbx
call fcn.18008274c
xor edx, edx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, edx
jne 0x18009199b
cmp byte [rbx + 0x5b], dl
jne 0x180091983
mov dword [rsp + 0xc0], r12d
jmp 0x18009199b
mov rcx, rbx
mov dword [rsp + 0xc0], edx
call fcn.1800828dc
xor edx, edx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0xc0], edx
mov rax, qword [rsp + 0xb0]
mov r9d, 4
sete cl
mov byte [rax + 0x1a], cl
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x1d], dl
mov rax, qword [rsp + 0xb0]
mov dword [rax + 0x64], edx
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], dl
mov rdx, qword [rsp + 0xb0]
mov al, byte [rsp + 0xc0]
xor ecx, ecx
mov byte [rdx + 0x1c], al
cmp dword [rsp + 0xc0], ecx
lea r11d, [rcx + 2]
jmp 0x18008ee85
mov eax, dword [r13 + 0x148]
xor ecx, ecx
cmp eax, ecx
jne 0x1800939d8
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
xor r10d, r10d
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb0], rdx
cmp rdx, rcx
je 0x180091a3f
mov rcx, qword [rdx]
mov qword [rsp + 0xb8], rcx
cmp rcx, r10
jne 0x180091a48
mov byte [rdx + 0x1c], r12b
mov ecx, dword [rsp + 0x40]
jmp 0x18008dbb1
mov dword [rsp + 0xc0], r12d
cmp byte [rbp + rsi*8], 0x43
lea rdx, [rsp + 0xc0]
jne 0x180091a66
call fcn.180082e0c
jmp 0x180091a6b
call fcn.180082f68
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x44], eax
mov r15d, eax
mov al, byte [rsp + 0xc0]
mov byte [rcx + 0x1c], al
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
mov dword [rax + 0x64], ecx
cmp dword [rsp + 0xc0], ecx
jne 0x180091ab8
mov eax, dword [rbp + rsi*8 + 8]
sub eax, r12d
mov dword [rsp + 0x40], eax
mov al, byte [rbp + rsi*8 + 3]
cmp al, cl
je 0x180091ab8
movzx eax, al
add dword [r14 + rax*4 + 0x11c], r12d
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x19], cl
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
xor r10d, r10d
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rdx
movsxd rbx, dword [rbp + rsi*8 + 8]
mov rcx, qword [rdx]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rcx
cmp rcx, r10
je 0x180091a3f
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x180091b34
mov rcx, rbx
call fcn.18008810c
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
mov r15d, eax
mov dword [rsp + 0x44], eax
mov r9d, 4
jmp 0x180091b3c
xor r15d, r15d
mov dword [rsp + 0x44], r15d
xor r10d, r10d
cmp r15d, r10d
jne 0x180093782
movsxd r8, dword [rbx + 0x20]
mov eax, 0x10
mov dword [rsp + 0xc0], r8d
mov r10, qword [rbx + 0x18]
mov qword [rsp + 0xc8], r10
test byte [rbp + rsi*8 + 3], al
je 0x180091b70
mov eax, dword [rdx + 0x60]
jmp 0x180091b74
xor edx, edx
mov eax, edx
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + rsi*8 + 0xc]
lea r9, [0x18010f114]
mov dword [rsp + 0x30], eax
xor eax, eax
mov rdx, r10
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.18008588c
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
mov dword [rax + 0x64], ecx
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
xor r10d, r10d
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rcx
cmp rcx, r10
je 0x180091a3f
mov rax, qword [rax + 0x38]
lea rdx, [rsp + 0xc8]
xor r9d, r9d
mov qword [rsp + 0xc8], rax
movzx eax, word [rbp + rsi*8 + 0xc]
xor r8d, r8d
mov word [rsp + 0xd0], ax
xor eax, eax
mov word [rsp + 0xd2], ax
movsxd rax, dword [rbp + rsi*8 + 8]
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.180082a78
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
cmp r15d, eax
jne 0x180091ba0
cmp dword [rsp + 0xc0], eax
jne 0x180091ba0
mov rcx, qword [rsp + 0xb8]
call fcn.180085b3c
jmp 0x180091b99
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rax, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xb8], rax
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov word [rdi + 0x24], r12w
cmp qword [rsp + 0xb0], rcx
je case.0x18008da4d.17
mov rcx, qword [rsp + 0xb8]
call fcn.18008b1cc
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009395c
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0x1c], cl
jne 0x18008dd41
mov rdx, qword [rsp + 0xb0]
lea r8, [rsp + 0xc0]
mov rcx, r13
call fcn.18008b9a4
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
cmp r15d, eax
jne 0x18009395c
mov rax, qword [rsp + 0xc0]
mov r9d, 4
mov qword [rdi], rax
mov word [rdi + 0x24], r9w
jmp 0x18008dd09
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
xor r10d, r10d
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb0], rcx
cmp qword [rcx], r10
je 0x180091a3f
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0xc0], rax
movzx eax, word [rbp + rsi*8 + 0x10]
mov word [rsp + 0xc8], ax
xor eax, eax
cmp byte [rbp + rsi*8 + 3], al
je 0x180091d61
lea eax, [r10 + 0xc]
mov word [rsp + 0xca], ax
jmp 0x180091d6a
mov word [rsp + 0xca], r9w
movsxd rax, dword [rbp + rsi*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.18008baec
cmp byte [rbp + rsi*8], 0x51
mov r15d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xb8]
jne 0x180091dae
neg eax
jmp 0x180091db1
add eax, r12d
xor ecx, ecx
mov dword [rsp + 0xb8], eax
cmp eax, ecx
lea r11d, [rcx + 2]
lea r9d, [rcx + 4]
jle case.0x18008da4d.17
jmp 0x18008da60
xor r15d, r15d
mov ecx, r15d
mov dword [rsp + 0xb4], ecx
mov rax, qword [r13 + 0xa8]
jmp 0x180091e0e
cmp dword [rax + 0x78], 0xbdf20da3
jne 0x180091e0a
cmp byte [rax + 0xa5], r11b
jae 0x180091e0a
cmp dword [rax + 0x8c], r15d
jl 0x180091e0a
add ecx, r12d
mov dword [rsp + 0xb4], ecx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb8], rax
cmp rax, r15
jne 0x180091de5
mov word [rdi + 0x24], r12w
cmp dword [rsp + 0xb4], r12d
jle 0x180091e3e
mov r15d, 6
mov byte [r14 + 0x60], r11b
mov dword [rsp + 0x44], r15d
jmp case.0x18008da4d.17
movsxd rax, dword [rbp + rsi*8 + 0xc]
mov dword [rsp + 0xc0], eax
mov ebx, dword [rbp + rsi*8 + 4]
mov rcx, rax
mov rax, qword [r13 + 0x10]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rcx, rdi
call fcn.18007ebe0
lea r8, [rsp + 0xb0]
mov edx, ebx
mov rcx, rdi
call fcn.180086328
mov rcx, rdi
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18007ec78
mov rdi, qword [rsp + 0x58]
mov r9d, 4
xor ecx, ecx
mov word [rdi + 0x24], r9w
movsxd rax, dword [rsp + 0xb0]
mov qword [rdi], rax
cmp r15d, ecx
jne 0x18008dd09
mov r8d, dword [rsp + 0xb0]
cmp r8d, ecx
je 0x18008dd09
movsxd rdx, dword [rsp + 0xc0]
mov r9d, dword [rbp + rsi*8 + 4]
shl rdx, 5
add rdx, qword [r13 + 0x10]
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax + 0x10]
xor eax, eax
cmp rcx, rax
je 0x180091f00
xor r14d, r14d
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x20], r8d
jne 0x180091ef3
mov dword [rax + 0x20], r9d
mov rcx, qword [rcx]
cmp rcx, r14
jne 0x180091ee5
mov r14, qword [rsp + 0x78]
mov rax, qword [rdx + 0x18]
xor r10d, r10d
mov rcx, qword [rax + 0x28]
jmp 0x180091f1e
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], r8d
jne 0x180091f1b
mov dword [rax + 0x28], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x180091f0d
mov byte [rsp + 0x60], r12b
jmp 0x18008e131
xor eax, eax
mov dword [rsp + 0xb0], eax
mov eax, dword [rbp + rsi*8 + 0xc]
mov rcx, qword [r13 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
neg eax
lea rax, [rsp + 0xb0]
sbb r8, r8
and r8, rax
movsxd rax, dword [rbp + rsi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180086294
xor ecx, ecx
xor r10d, r10d
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp dword [rbp + rsi*8 + 0xc], ecx
je 0x18008e131
movsxd rax, dword [rsp + 0xb0]
lea r11d, [r10 + 2]
lea r9d, [r10 + 4]
add dword [r14 + 0xac], eax
movsxd rcx, dword [rbp + rsi*8 + 0xc]
cmp ecx, r10d
jle 0x180091a3f
mov rbx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add qword [rcx + rbx], rax
jmp 0x180091a3f
xor eax, eax
mov edi, r11d
mov dword [rsp + 0xb0], eax
movsxd rbx, dword [rbp + rsi*8 + 4]
mov eax, 5
shl rbx, 5
add rbx, qword [r13 + 0x10]
mov qword [rsp + 0xb8], rbx
cmp byte [rbp + rsi*8], 0x62
cmove edi, eax
mov dword [rsp + 0xb4], edi
mov rbx, qword [rbx + 8]
mov rcx, rbx
call fcn.18007ebe0
lea rdx, [rsp + 0xb0]
mov r8d, edi
mov rcx, rbx
call fcn.180085e3c
mov rcx, rbx
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18007ec78
mov rdi, qword [rsp + 0x58]
movsxd rax, dword [rsp + 0xb0]
mov qword [rdi], rax
jmp 0x18008dd41
mov eax, dword [rbp + rsi*8 + 4]
mov rcx, r13
mov dword [rsp + 0xb0], eax
call fcn.18007ecac
movsxd r11, dword [rsp + 0xb0]
xor eax, eax
cmp dword [rbp + rsi*8 + 8], eax
jne 0x180092067
mov rax, qword [r13 + 0x10]
mov rcx, r11
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
test byte [rcx + 0x72], r12b
je 0x180092149
mov qword [rsp + 0xc8], r13
lea rax, str.sqlite_master
cmp r11d, r12d
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 + rsi*8 + 4]
mov dword [rsp + 0xd0], eax
lea rax, [r14 + 0x98]
mov qword [rsp + 0xd8], rax
mov r8, qword [r13 + 0x10]
mov rax, qword [rbp + rsi*8 + 0x10]
mov r8, qword [rcx + r8]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.180073ecc
xor ecx, ecx
mov qword [rsp + 0xc0], rax
cmp rax, rcx
jne 0x1800920e8
lea r15d, [rcx + 7]
mov dword [rsp + 0x44], r15d
jmp 0x180092149
mov byte [r13 + 0x94], r12b
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0xe0], ecx
lea r9, [rsp + 0xc8]
lea r8, [fcn.1800aba20]
mov rcx, r13
call fcn.1800a8ca8
mov rdx, qword [rsp + 0xc0]
mov rcx, r13
mov r15d, eax
xor eax, eax
cmp r15d, eax
cmove r15d, dword [rsp + 0xe0]
mov dword [rsp + 0x44], r15d
call fcn.180072a38
xor eax, eax
mov byte [r13 + 0x94], al
mov rcx, r13
call fcn.18007ed84
cmp r15d, 7
je 0x180093a19
jmp 0x18008dd41
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, r13
call fcn.18009bf20
jmp 0x18008f1e7
mov rdx, qword [rbp + rsi*8 + 0x10]
movsxd rcx, dword [rbp + rsi*8 + 4]
xor r8d, r8d
shl rcx, 5
mov rax, rdx
add rcx, qword [r13 + 0x10]
cmp rdx, r8
jne 0x180092193
mov eax, r8d
jmp 0x1800921a7
cmp byte [rdx], r8b
je 0x1800921a0
add rax, r12
cmp byte [rax], r8b
jne 0x180092198
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rcx + 0x18]
xor r9d, r9d
mov r8d, eax
add rcx, 8
call fcn.180075764
mov rcx, r13
mov rdx, rax
call fcn.18009d48c
bts dword [r13 + 0x18], 9
jmp 0x18008dd41
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, r13
call fcn.18009d1e0
jmp 0x18008dd41
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, r13
call fcn.1800b3548
jmp 0x18008dd41
mov edx, dword [rbp + rsi*8 + 8]
mov rcx, r13
mov dword [rsp + 0xb0], edx
lea edx, [rdx*4 + 4]
call fcn.180072ca0
xor edx, edx
mov r11, rax
mov qword [rsp + 0xb8], rax
cmp rax, rdx
je 0x180093a19
movsxd rcx, dword [rbp + rsi*8 + 0xc]
mov rax, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, rax
mov qword [rsp + 0xd0], rcx
movsxd rbx, dword [rbp + rsi*8 + 4]
mov dword [rsp + 0xc0], edx
imul rbx, rbx, 0x38
add rbx, rax
cmp dword [rsp + 0xb0], edx
mov eax, edx
jle 0x1800922a9
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, rbx
call fcn.180088424
movsxd rdx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + rdx*4], eax
mov eax, dword [rsp + 0xc0]
add eax, r12d
cmp eax, dword [rsp + 0xb0]
mov dword [rsp + 0xc0], eax
jl 0x180092263
mov r11, qword [rsp + 0xb8]
xor edx, edx
cdqe
mov dword [r11 + rax*4], edx
movzx r10d, byte [rbp + rsi*8 + 3]
mov rcx, qword [r13 + 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.18008736c
mov rdx, qword [rsp + 0xb8]
mov rcx, r13
mov qword [rsp + 0xc8], rax
call fcn.180072a38
mov rax, qword [rsp + 0xd0]
movsxd r11, dword [rsp + 0xc4]
mov rcx, rbx
sub qword [rax], r11
call fcn.1800885a4
xor ecx, ecx
cmp dword [rsp + 0xc4], ecx
je 0x180092359
mov rdx, qword [rsp + 0xc8]
cmp rdx, rcx
je 0x180093a19
lea rax, [fcn.180072998]
mov r9b, r12b
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180088844
movzx ecx, byte [rsp + 0x48]
mov r11d, 2
test byte [rbx + 0x24], r11b
je 0x18008dd47
movzx eax, byte [rbx + 0x27]
cmp eax, ecx
je 0x18008dd47
mov dl, cl
mov rcx, rbx
call fcn.1800743b8
jmp 0x18008dd41
movsxd rbx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 8]
mov rax, qword [rsp + 0x50]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, rax
mov esi, 0x20
add rdi, rax
test byte [rbx + 0x24], sil
jne 0x1800923c3
mov rcx, rbx
call fcn.180088680
test byte [rbx + 0x24], sil
je 0x180093a19
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.180078c4c
jmp 0x18008fefb
mov eax, dword [r13 + 0x148]
xor ecx, ecx
cmp eax, ecx
jne 0x1800939d8
movsxd rbx, dword [rbp + rsi*8 + 4]
lea eax, [rcx + 0x20]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
test byte [rbx + 0x24], al
je 0x180092454
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.180078ea0
mov rax, qword [rdi + 0x10]
xor ecx, ecx
cmp rax, rcx
je 0x180092454
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov rax, qword [rdi + 0x10]
mov rdx, qword [rax + 8]
mov qword [rdi + 0x10], rdx
cmp rdx, rcx
jne 0x180092434
mov rcx, rdi
call fcn.180078bf4
movsxd rcx, dword [rbp + rsi*8 + 0xc]
mov rdx, qword [rsp + 0xb0]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.180088650
jmp 0x18008fefb
mov rcx, rbx
call fcn.1800885a4
mov edi, dword [rbp + rsi*8 + 8]
sub edi, r12d
mov dword [rsp + 0x40], edi
jmp 0x18008fefb
mov rax, qword [rsp + 0x50]
movsxd rbx, dword [rbp + rsi*8 + 4]
movsxd rdi, dword [rbp + rsi*8 + 0xc]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
mov edx, dword [rbp + rsi*8 + 0x10]
add rbx, rax
add rdi, rax
mov eax, 0x20
mov dword [rsp + 0xb0], edx
test byte [rbx + 0x24], al
jne 0x1800924bb
mov rcx, rbx
call fcn.180088680
mov eax, 0x20
test byte [rbx + 0x24], al
je 0x180093a19
mov edx, dword [rsp + 0xb0]
xor ecx, ecx
cmp edx, ecx
je 0x1800923c3
mov al, byte [rsp + 0xb0]
xor r8d, r8d
mov ecx, 0xff
and al, 0xf
cmp edx, r8d
mov r8, qword [rdi]
movzx eax, al
cmovge ecx, eax
mov dl, cl
mov rcx, qword [rbx]
call fcn.180078eec
xor ecx, ecx
mov dword [rsp + 0xb4], eax
cmp eax, ecx
jne 0x18009245c
mov edx, dword [rsp + 0xb0]
cmp edx, ecx
jl 0x18008fefb
jmp 0x1800923c3
mov r8, qword [rbp + rsi*8 + 0x10]
xor eax, eax
mov qword [rsp + 0xd8], r8
movsxd rcx, dword [rbp + rsi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rcx
cmp byte [rbp + rsi*8 + 3], al
je 0x18009257f
mov rax, qword [r14 + 0x158]
mov rdx, qword [r8 + 0x18]
xor r10d, r10d
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xd0], rax
cmp rax, r10
je 0x18009257f
cmp qword [rax + 0x40], rdx
je 0x180092576
mov rax, qword [rax + 0x60]
mov qword [rsp + 0xd0], rax
cmp rax, r10
jne 0x18009255f
cmp rax, r10
jne 0x180091a3f
mov eax, dword [r13 + 0x88]
cmp dword [r14 + 0x160], eax
jl 0x1800925b2
lea rcx, [r14 + 0x98]
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, r13
mov r15d, r12d
mov dword [rsp + 0x44], r12d
call fcn.180072ec4
jmp 0x18008dd41
mov esi, 0x40
test byte [rcx + 0x24], sil
jne 0x1800927f6
mov edx, dword [r8 + 0xc]
mov rcx, r13
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.180072c68
xor ecx, ecx
mov qword [rsp + 0xd0], rax
cmp rax, rcx
je 0x180093a19
mov rcx, qword [rsp + 0xb8]
call fcn.1800883ac
mov rax, qword [rsp + 0xb8]
mov word [rax + 0x24], si
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd0]
mov qword [rcx], rax
mov rax, qword [rsp + 0xd0]
mov qword [rax], r14
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 [r14 + 0x80]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xd0]
mov ecx, dword [r14 + 0x7c]
mov dword [rax + 0x28], ecx
mov rcx, qword [r14 + 0x58]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0xd0]
movzx ecx, word [r14 + 0x52]
mov word [rax + 0x38], cx
mov rcx, qword [r14 + 0x20]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xd0]
mov ecx, dword [r14 + 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 0x18009274d
mov word [rax + 0x24], r12w
mov rax, qword [rsp + 0xc0]
mov qword [rax + 0x10], r13
mov rax, qword [rsp + 0xc0]
add rax, 0x38
mov qword [rsp + 0xc0], rax
cmp rax, qword [rsp + 0xc8]
jne 0x180092716
mov rdx, qword [rsp + 0xd0]
mov r9d, 4
add dword [r14 + 0x160], r12d
mov rax, qword [r14 + 0x158]
mov qword [rdx + 0x60], rax
mov rcx, qword [r13 + 0x40]
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x50], rcx
mov ecx, dword [r14 + 0xac]
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x58], ecx
xor eax, eax
mov dword [r14 + 0xac], eax
mov rax, qword [rsp + 0xd0]
lea rbx, [rax + 0x30]
mov qword [r14 + 0x158], rax
mov qword [r14 + 0x80], rbx
mov ecx, dword [rax + 0x48]
mov qword [rsp + 0x50], rbx
mov dword [r14 + 0x7c], ecx
movzx eax, word [rax + 0x4c]
mov word [r14 + 0x52], ax
lea eax, [r12 + rcx]
cdqe
imul rax, rax, 0x38
add rax, rbx
or ecx, 0xffffffff
mov qword [r14 + 0x58], rax
mov rax, qword [rsp + 0xd8]
mov rbp, qword [rax]
mov qword [r14 + 0x20], rbp
mov eax, dword [rax + 8]
mov qword [rsp + 0x98], rbp
mov dword [r14 + 0x18], eax
jmp 0x18008e719
mov rdx, qword [rcx]
mov qword [rsp + 0xd0], rdx
jmp 0x180092753
mov r8, qword [r14 + 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]
add edx, dword [rbp + rsi*8 + 4]
movsxd rdx, edx
imul rdx, rdx, 0x38
add rdx, qword [r8 + 0x20]
mov qword [rsp + 0xb8], rdx
jmp 0x18008decf
mov ecx, dword [rsp + 0x40]
xor eax, eax
cmp dword [rbp + rsi*8 + 4], eax
movsxd rax, dword [rbp + rsi*8 + 8]
je 0x18009285e
add qword [r13 + 0x320], rax
jmp 0x18008dbae
add qword [r14 + 0x140], rax
jmp 0x18008dbae
xor ecx, ecx
cmp dword [rbp + rsi*8 + 4], ecx
je 0x18009287e
cmp qword [r13 + 0x320], rcx
jmp 0x18008eea3
cmp qword [r14 + 0x140], rcx
jmp 0x18008eea3
mov rax, qword [r14 + 0x158]
xor edx, edx
cmp rax, rdx
je 0x1800928c9
mov qword [rsp + 0xb8], rax
mov rcx, qword [rax + 0x60]
jmp 0x1800928b5
mov rax, rcx
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rcx + 0x60]
cmp rcx, rdx
jne 0x1800928a6
movsxd rcx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rax + 0x20]
jmp 0x1800928d7
movsxd rcx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rcx
call fcn.18008857c
movsxd rbx, dword [rbp + rsi*8 + 8]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18008857c
mov rax, qword [rsp + 0xb0]
mov r11, qword [rbx]
mov ecx, dword [rsp + 0x40]
xor r10d, r10d
cmp qword [rax], r11
lea r9d, [r10 + 4]
jge 0x18008f6ab
mov qword [rax], r11
jmp 0x18008f6ab
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, qword [rsp + 0x50]
xor r10d, r10d
imul rax, rax, 0x38
cmp qword [rax + rcx], r10
jle 0x180091a3f
jmp 0x18008ee66
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, qword [rsp + 0x50]
xor r10d, r10d
imul rax, rax, 0x38
cmp qword [rax + rcx], r10
jge 0x180091a3f
jmp 0x18008ee66
movsxd rcx, dword [rbp + rsi*8 + 4]
movsxd rax, dword [rbp + rsi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
add qword [rcx], rax
jmp 0x18008eea3
movzx eax, byte [rbp + rsi*8 + 3]
mov rbx, qword [rsp + 0x50]
mov r8, qword [r14 + 0x38]
xor r9d, r9d
mov dword [rsp + 0xb0], eax
movsxd rcx, dword [rbp + rsi*8 + 8]
mov edx, r9d
mov qword [rsp + 0x128], r8
imul rcx, rcx, 0x38
add rcx, rbx
cmp eax, r9d
mov dword [rsp + 0xb4], edx
mov qword [rsp + 0xc0], rcx
jle 0x180092a0b
movsxd rax, edx
mov qword [r8 + rax*8], rcx
mov rcx, qword [rsp + 0xc0]
call fcn.18008d5c0
mov edx, dword [rsp + 0xb4]
mov rcx, qword [rsp + 0xc0]
add edx, r12d
add rcx, 0x38
cmp edx, dword [rsp + 0xb0]
mov dword [rsp + 0xb4], edx
mov qword [rsp + 0xc0], rcx
jge 0x180092a0b
mov r8, qword [rsp + 0x128]
jmp 0x1800929bf
mov rax, qword [rbp + rsi*8 + 0x10]
mov qword [rsp + 0xc8], rax
movsxd rax, dword [rbp + rsi*8 + 0xc]
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x110], rax
add dword [rax + 0x20], r12d
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x100], r9
mov dword [rsp + 0x118], r9d
mov qword [rsp + 0x120], r9
mov r9, qword [rsp + 0xc8]
mov eax, 8
mov word [rsp + 0xfc], r12w
mov qword [rsp + 0xe8], r13
test byte [r9 + 3], al
je 0x180092a91
mov rax, qword [rbp + rsi*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]
xor eax, eax
cmp dword [rsp + 0x118], eax
je 0x180092aed
lea rcx, [rsp + 0xd8]
mov dl, r12b
call fcn.180088d84
lea rcx, [r14 + 0x98]
lea r8, [0x18012a978]
mov r9, rax
mov rdx, r13
call fcn.180072ec4
mov r15d, dword [rsp + 0x118]
mov dword [rsp + 0x44], r15d
lea rcx, [rsp + 0xd8]
call fcn.1800883ac
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rbp + rsi*8 + 0x10]
call fcn.18008829c
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
cmp r15d, eax
je 0x180092b56
mov rcx, qword [rsp + 0xb0]
mov dl, r12b
call fcn.180088d84
lea rcx, [r14 + 0x98]
lea r8, [0x18012a978]
mov r9, rax
mov rdx, r13
call fcn.180072ec4
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x48]
mov r11d, 2
test byte [rcx + 0x24], r11b
je 0x180092b8a
movzx eax, byte [rcx + 0x27]
cmp eax, edx
je 0x180092b8a
call fcn.1800743b8
mov rcx, qword [rsp + 0xb0]
mov r11d, 2
test byte [rcx + 0x24], 0x12
je 0x180092bae
mov edx, dword [rcx + 0x20]
mov eax, 0x4000
test word [rcx + 0x24], ax
je 0x180092ba0
add edx, dword [rcx]
mov rax, qword [rcx + 0x10]
xor ecx, ecx
cmp edx, dword [rax + 0x60]
setg cl
jmp 0x180092bb0
xor ecx, ecx
xor r10d, r10d
cmp ecx, r10d
jne 0x1800939ba
jmp 0x18008e137
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, r13
call fcn.1800c00d4
jmp 0x18008f1e7
mov edx, dword [rbp + rsi*8 + 0xc]
xor r10d, r10d
mov dword [rsp + 0xc0], edx
cmp dword [r14 + 0xc0], r10d
jne 0x180092c07
mov edx, dword [rbp + rsi*8 + 4]
mov rcx, r14
call fcn.180089b08
mov rcx, r14
call fcn.18008aa90
mov edx, dword [rsp + 0xc0]
xor r10d, r10d
mov rax, qword [r13 + 0x10]
movsxd rcx, dword [rbp + rsi*8 + 4]
shl rcx, 5
mov r13, qword [rcx + rax + 8]
mov qword [rsp + 0xb0], r13
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
or rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rcx
movzx r8d, byte [rcx + 9]
cmp edx, eax
cmove edx, r8d
mov dword [rsp + 0xc4], r8d
mov dword [rsp + 0xc0], edx
cmp byte [rcx + 0x12], 3
jae 0x180092c63
mov rax, qword [rcx + 0x50]
cmp qword [rax], r10
je 0x180092c6d
cmp qword [rcx + 0x60], r10
jle 0x180092c6d
mov edx, r8d
mov dword [rsp + 0xc0], edx
mov rax, qword [rcx + 0xb0]
mov ebx, 5
mov qword [rsp + 0xc8], rax
cmp edx, ebx
jne 0x180092ca9
cmp byte [rax], r10b
je 0x180092c9f
mov rax, qword [rcx + 0x48]
mov r9, qword [rax]
lea eax, [rbx - 3]
cmp dword [r9], eax
jl 0x180092c9f
cmp qword [r9 + 0x68], r10
jne 0x180092ca9
mov edx, r8d
mov dword [rsp + 0xc0], edx
cmp edx, r8d
je 0x180092dfc
cmp r8d, ebx
je 0x180092cbf
cmp edx, ebx
jne 0x180092dfc
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x28], r10b
je 0x180092e45
cmp dword [rax + 0xb0], r12d
jg 0x180092e45
cmp r8d, ebx
jne 0x180092d11
call fcn.18007ca9c
mov rcx, qword [rsp + 0xb8]
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
cmp r15d, eax
jne 0x180092d04
mov edx, dword [rsp + 0xc0]
jmp 0x180092d20
mov r8d, dword [rsp + 0xc4]
jmp 0x180092e01
mov r11d, 4
cmp r8d, r11d
jne 0x180092d47
lea edx, [r11 - 2]
call fcn.18007c924
mov r13, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0xc4]
xor r10d, r10d
cmp r15d, r10d
jne 0x180092e01
mov eax, 5
mov ebx, r10d
mov rcx, r13
cmp edx, eax
sete bl
add ebx, r12d
mov r12, qword [r13 + 8]
cmp ebx, 1
sete al
xor edx, edx
mov byte [r12 + 0x2f], al
call fcn.180080cec
xor r10d, r10d
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, r10d
jne 0x180092dda
mov rax, qword [r12 + 0x18]
mov rdi, qword [rax + 0x70]
cmp byte [rdi + 0x12], bl
jne 0x180092d9b
cmp byte [rdi + 0x13], bl
je 0x180092dda
mov edx, 2
mov rcx, r13
call fcn.180080cec
xor r10d, r10d
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, r10d
jne 0x180092dda
mov rcx, qword [r12 + 0x18]
mov rcx, qword [rcx + 0x78]
call fcn.18007c15c
xor r10d, r10d
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, r10d
jne 0x180092dda
mov byte [rdi + 0x12], bl
mov byte [rdi + 0x13], bl
mov byte [r12 + 0x2f], r10b
mov r8d, dword [rsp + 0xc4]
mov edx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
mov r12d, 1
cmp r15d, r10d
je 0x180092e0b
mov edx, r8d
mov dword [rsp + 0xc0], edx
call fcn.18007c924
xor r13d, r13d
mov dword [rsp + 0xc0], eax
movsxd rdi, dword [rbp + rsi*8 + 8]
mov eax, 0xa02
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdi
mov word [rdi + 0x24], ax
cmp dword [rsp + 0xc0], 6
jne 0x180092e81
mov rcx, r13
jmp 0x180092e98
mov r13, qword [rsp + 0x68]
lea rax, str.into
lea r9, str.out_of
cmp edx, ebx
mov r15d, r12d
mov dword [rsp + 0x44], r12d
cmove r9, rax
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
lea rcx, [r14 + 0x98]
mov rdx, r13
call fcn.180072ec4
jmp 0x18008dd41
movsxd rax, dword [rsp + 0xc0]
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x110ad0]
mov qword [rdi + 0x18], rcx
mov rax, rcx
cmp rcx, r13
jne 0x180092ea9
mov eax, r13d
jmp 0x180092ebd
cmp byte [rcx], r13b
je 0x180092eb6
add rax, r12
cmp byte [rax], r13b
jne 0x180092eae
sub eax, ecx
and eax, 0x3fffffff
mov dword [rdi + 0x20], eax
movzx eax, byte [rsp + 0x48]
mov byte [rdi + 0x27], r12b
cmp eax, r12d
je 0x180092ed8
mov dl, al
mov rcx, rdi
call fcn.1800743b8
mov r13, qword [rsp + 0x68]
jmp 0x18008dd41
lea rcx, [r14 + 0x98]
mov rdx, r13
call fcn.1800b535c
jmp 0x18008f1e7
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r13 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov qword [rsp + 0xb0], rcx
call fcn.1800817fc
mov r11d, 2
lea r9d, [r11 + 2]
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, 0x65
jne case.0x18008da4d.17
mov r15d, dword [rbp + rsi*8 + 8]
sub r15d, r12d
xor ecx, ecx
mov dword [rsp + 0x40], r15d
mov r15d, ecx
mov dword [rsp + 0x44], ecx
jmp case.0x18008da4d.17
xor ecx, ecx
cmp dword [rbp + rsi*8 + 4], ecx
jne 0x180092f70
mov rax, qword [r13 + 0xa8]
jmp 0x180092f66
mov byte [rax + 0xa2], r12b
mov rax, qword [rax + 0x10]
cmp rax, rcx
jne 0x180092f5b
jmp case.0x18008da4d.17
mov byte [r14 + 0xa2], r12b
jmp case.0x18008da4d.17
mov r8b, byte [rbp + rsi*8 + 0xc]
xor ecx, ecx
cmp r8b, cl
jne 0x180092f94
bt dword [r13 + 0x18], 0x13
jb case.0x18008da4d.17
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, qword [r13 + 0x10]
mov edx, dword [rbp + rsi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18008773c
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp al, 6
jne 0x18008dd41
mov r9, qword [rbp + rsi*8 + 0x10]
lea r8, str.database_table_is_locked:__s
jmp 0x180092e6d
mov rbx, qword [rbp + rsi*8 + 0x10]
xor ecx, ecx
mov qword [rsp + 0xb0], rbx
mov edx, dword [r13 + 0x1c8]
mov r15d, ecx
cmp edx, ecx
mov dword [rsp + 0x44], ecx
jle 0x180093004
cmp qword [r13 + 0x1c0], rcx
jne 0x180093004
lea r15d, [rcx + 6]
mov dword [rsp + 0x44], r15d
jmp 0x180093078
cmp rbx, rcx
je 0x180092f41
mov r8, qword [rbx + 0x10]
mov rax, qword [r8]
mov r9, qword [rax + 0x70]
cmp r9, rcx
je 0x180093072
xor eax, eax
cmp edx, eax
jle 0x180093043
mov rax, qword [r13 + 0x1c0]
mov edx, 8
cmp qword [rax], rbx
je 0x180093092
add ecx, r12d
add rax, rdx
cmp ecx, dword [r13 + 0x1c8]
jl 0x18009302f
mov rcx, r8
call r9
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x18009306a
mov rdx, rbx
mov rcx, r13
call fcn.1800b6028
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
mov rbx, qword [rsp + 0xb0]
mov r9d, 4
cmp rbx, rcx
je 0x18008dd09
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.18008d83c
jmp 0x18008dd41
xor ecx, ecx
mov dword [rsp + 0x44], ecx
jmp 0x180093072
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, dword [rbp + rsi*8 + 4]
lea r9, [r14 + 0x98]
mov rcx, r13
call fcn.1800b60cc
jmp 0x18008f1e7
xor eax, eax
mov byte [r14 + 0xa5], r11b
mov r8, qword [r13 + 0x10]
mov rdx, qword [rbp + rsi*8 + 0x10]
mov r15d, eax
mov dword [rsp + 0x44], eax
movsxd rax, dword [rbp + rsi*8 + 4]
mov rcx, r13
shl rax, 5
mov r8, qword [rax + r8]
call fcn.18009cfbc
xor ecx, ecx
mov rbx, rax
cmp rax, rcx
je 0x180093130
cmp qword [rax + 0x58], rcx
je 0x180093130
mov rdx, rax
mov rcx, r13
call fcn.1800b5878
mov rdi, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rcx, qword [rax + 0x10]
call qword [rdx + 0x28]
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp eax, ecx
jne 0x180093130
mov qword [rdi + 0x10], rcx
mov qword [rbx + 0x58], rcx
mov rcx, rdi
call fcn.1800b583c
xor ecx, ecx
mov byte [r14 + 0xa5], cl
jmp 0x18008fefb
xor eax, eax
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov rax, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rax + 0x10]
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, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18008d83c
xor ecx, ecx
cmp r15d, ecx
jne 0x18008dd41
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
or r9d, 0xffffffff
mov qword [rcx], rax
mov edx, dword [rbp + rsi*8 + 4]
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.18008d5ec
xor ecx, ecx
mov qword [rsp + 0xb0], rax
cmp rax, rcx
je 0x1800931fd
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 0x18008dd41
mov byte [r13 + 0x2a], r12b
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
call qword [rax + reloc.WS2_32.dll_getservbyport]
jmp 0x18008dd41
movsxd r8, dword [rbp + rsi*8 + 0xc]
mov rax, qword [r14 + 0x58]
xor r15d, r15d
imul r8, r8, 0x38
add r8, qword [rsp + 0x50]
mov qword [rsp + 0xc0], r8
lea r10, [r8 + 0x38]
mov qword [rsp + 0xc8], r10
movsxd rcx, dword [rbp + rsi*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 r11, qword [rax]
mov qword [rsp + 0xb8], r11
mov r9d, dword [r10]
cmp r9d, r15d
mov dword [rsp + 0xb0], r9d
mov eax, dword [r8]
mov r8, qword [r14 + 0x38]
mov dword [rsp + 0xe8], r15d
mov dword [rsp + 0xec], edx
mov qword [rsp + 0xf0], r8
mov dword [rsp + 0xb4], eax
jle 0x180093321
lea eax, [rdx + 1]
movsxd rcx, eax
movsxd rax, edx
imul rcx, rcx, 0x38
add rcx, r10
mov qword [r8 + rax*8], rcx
movsxd rax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + rax*8]
call fcn.18008d5c0
mov edx, dword [rsp + 0xec]
mov r9d, dword [rsp + 0xb0]
mov r8, qword [rsp + 0xf0]
add edx, r12d
cmp edx, r9d
mov dword [rsp + 0xec], edx
jge 0x18009330a
mov r10, qword [rsp + 0xc8]
jmp 0x1800932ad
mov rcx, qword [rsp + 0xd0]
mov r11, qword [rsp + 0xb8]
mov eax, dword [rsp + 0xb4]
mov byte [r14 + 0xa5], r12b
mov qword [rsp + 0x20], r8
mov r8, qword [rbp + rsi*8 + 0x10]
mov edx, eax
call qword [r11 + 0x40]
mov rdx, qword [rsp + 0xd8]
mov rcx, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov byte [r14 + 0xa5], al
call fcn.18008d83c
xor ecx, ecx
cmp r15d, ecx
jne 0x18009337d
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xd0]
call qword [rax + 0x50]
xor ecx, ecx
mov dword [rsp + 0xe8], eax
jmp 0x180093384
mov eax, dword [rsp + 0xe8]
cmp eax, ecx
je 0x180093393
mov eax, dword [rbp + rsi*8 + 8]
sub eax, r12d
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xe0]
mov byte [rax + 0x1c], cl
jmp 0x18008dd41
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rbx, qword [rax + rcx*8]
movsxd rcx, dword [rbp + rsi*8 + 0xc]
xor eax, eax
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xc0], rcx
cmp byte [rbx + 0x1c], al
jne 0x18008dfe3
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 fcn.1800d7640
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0xd8]
call fcn.1800887fc
movzx r11d, word [rsp + 0xfc]
mov eax, 0xbf01
and r11w, ax
mov rax, qword [rsp + 0xb8]
lea rdx, [rsp + 0xc8]
or r11w, r12w
mov word [rsp + 0xfc], r11w
mov r8d, dword [rbp + rsi*8 + 8]
mov rcx, qword [rbx + 0x50]
call qword [rax + 0x58]
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
mov r15d, eax
call fcn.18008d83c
mov eax, dword [rsp + 0x118]
xor ecx, ecx
cmp eax, ecx
movzx ecx, byte [rsp + 0x48]
cmovne r15d, eax
mov eax, 2
mov dword [rsp + 0x44], r15d
test byte [rsp + 0xfc], al
je 0x1800934a3
movzx eax, byte [rsp + 0xff]
cmp eax, ecx
je 0x1800934a3
mov dl, cl
lea rcx, [rsp + 0xd8]
call fcn.1800743b8
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0xd8]
call fcn.1800887fc
mov rax, qword [rsp + 0xc0]
test byte [rax + 0x24], 0x12
je 0x1800934e4
mov edx, dword [rax + 0x20]
mov ecx, 0x4000
test word [rax + 0x24], cx
je 0x1800934d6
add edx, dword [rax]
mov rax, qword [rax + 0x10]
xor ecx, ecx
cmp edx, dword [rax + 0x60]
setg cl
jmp 0x1800934e6
xor ecx, ecx
xor r10d, r10d
cmp ecx, r10d
jne 0x1800939ba
jmp 0x18008e131
xor eax, eax
mov dword [rsp + 0xc0], eax
movsxd rcx, dword [rbp + rsi*8 + 4]
mov rax, qword [r14 + 0x58]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0xc8], rdx
cmp byte [rdx + 0x1c], cl
jne case.0x18008da4d.17
mov rax, qword [rdx + 0x50]
mov rcx, qword [rax]
mov qword [rsp + 0xb0], rcx
mov rax, qword [rcx]
mov byte [r14 + 0xa5], r12b
mov qword [rsp + 0xb8], rax
mov rcx, qword [rdx + 0x50]
call qword [rax + 0x48]
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov byte [r14 + 0xa5], al
call fcn.18008d83c
xor eax, eax
cmp r15d, eax
jne 0x18009358f
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 0x180093596
mov eax, dword [rsp + 0xc0]
xor ecx, ecx
cmp eax, ecx
lea r11d, [rcx + 2]
lea r9d, [rcx + 4]
jmp 0x18008eea3
mov rax, qword [rbp + rsi*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xb0], rcx
movsxd rdx, dword [rbp + rsi*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 r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x180093085
mov rax, qword [rbp + rsi*8 + 0x10]
xor ecx, ecx
mov r10, qword [rax + 0x10]
mov qword [rsp + 0xb0], r10
mov rax, qword [r10]
mov qword [rsp + 0xb8], rax
mov edx, dword [rbp + rsi*8 + 8]
mov dword [rsp + 0xc0], edx
cmp qword [rax + 0x68], rcx
je case.0x18008da4d.17
mov r8, qword [r14 + 0x38]
xor r15d, r15d
mov qword [rsp + 0xd0], r8
movsxd rcx, dword [rbp + rsi*8 + 0xc]
mov dword [rsp + 0xc4], r15d
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
cmp edx, r15d
mov qword [rsp + 0xd8], rcx
jle 0x1800936bd
call fcn.18008d5c0
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]
add eax, r12d
add rcx, 0x38
cmp eax, edx
mov qword [rsp + 0xd8], rcx
mov dword [rsp + 0xc4], eax
jl 0x180093654
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, r14
mov r15d, eax
mov dword [rsp + 0x44], eax
call fcn.18008d83c
xor ecx, ecx
cmp r15d, ecx
jne 0x1800936fb
cmp dword [rbp + rsi*8 + 4], ecx
je 0x1800936fb
mov rax, qword [rsp + 0xc8]
mov qword [r13 + 0x40], rax
add dword [r14 + 0xac], r12d
jmp 0x18008dd41
mov rax, qword [r13 + 0x10]
movsxd rcx, dword [rbp + rsi*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
jmp 0x18008dbd6
mov rdx, qword [rbp + rsi*8 + 0x10]
xor ecx, ecx
cmp rdx, rcx
jne 0x180093738
mov rdx, qword [r14 + 0x130]
mov qword [rsp + 0xb0], rdx
cmp rdx, rcx
je case.0x18008da4d.17
cmp qword [r13 + 0xb8], rcx
je case.0x18008da4d.17
mov rcx, r14
call fcn.18008d294
mov rcx, qword [r13 + 0xc0]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xb8]
mov rdx, rbx
mov rcx, r13
call fcn.180072a38
jmp 0x18008dd41
mov r11d, 2
jmp 0x180091a3f
mov r11d, 2
lea r9d, [r11 + 2]
jmp 0x180091a3f
xor r10d, r10d
jmp 0x180091a3f
mov r15d, 9
jmp 0x180093a39
mov eax, dword [rbp + rsi*8 + 4]
mov ebx, dword [rsp + 0x40]
mov dword [r14 + 0x90], eax
mov al, byte [rbp + rsi*8 + 8]
mov dword [r14 + 0x8c], ebx
mov byte [r14 + 0x60], al
mov r9, qword [rbp + rsi*8 + 0x10]
cmp r9, rcx
je 0x180093813
lea rcx, [r14 + 0x98]
lea r8, [0x18012a978]
mov rdx, r13
call fcn.180072ec4
mov r11, qword [rbp + rsi*8 + 0x10]
mov r9, qword [r14 + 0x130]
mov ecx, dword [rbp + rsi*8 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], r11
call fcn.180074150
jmp 0x180093836
cmp dword [r14 + 0x90], ecx
je 0x180093836
mov r9, qword [r14 + 0x130]
mov ecx, dword [rbp + rsi*8 + 4]
lea rdx, str.constraint_failed_at__d_in___s_
mov r8d, ebx
call fcn.180074150
mov rcx, r14
call fcn.18008ab38
mov ecx, 5
cmp eax, ecx
je 0x1800938aa
mov eax, dword [r14 + 0x90]
neg eax
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x180093a92
cmp byte [r13 + 0x2a], dil
jne 0x180093a19
mov eax, dword [rsp + 0x40]
mov ebx, 0x64
inc eax
mov dword [r14 + 0x8c], eax
jmp 0x180093a92
lea rcx, [rsp + 0xd0]
call fcn.1800883ac
jmp 0x180093a19
mov r15d, socket
jmp 0x18009395c
mov eax, dword [rsp + 0x40]
mov dword [r14 + 0x8c], eax
mov byte [r13 + 0x28], dil
mov ebx, ecx
mov dword [r14 + 0x90], ecx
jmp 0x180093a92
cmp ecx, r15d
je 0x1800938e0
mov rcx, r13
call fcn.1800bf6ec
mov byte [r13 + 0x28], r12b
mov rcx, r13
call fcn.1800bf3cc
mov r11d, dword [r14 + 0x90]
neg r11d
jmp 0x180093850
mov edx, r12d
mov rcx, r14
call fcn.18008aae4
mov ebx, eax
cmp eax, r15d
jne 0x180093a92
mov al, byte [rsp + 0xb0]
mov rcx, r14
mov byte [r13 + 0x28], al
call fcn.18008ab38
mov ecx, 5
cmp eax, ecx
jne 0x1800938c9
mov eax, dword [rsp + 0x40]
sub r12b, byte [rsp + 0xb0]
mov dword [r14 + 0x8c], eax
mov byte [r13 + 0x28], r12b
jmp 0x1800938aa
mov eax, dword [rsp + 0x40]
mov dword [r14 + 0x90], ebx
mov dword [r14 + 0x8c], eax
mov eax, ebx
jmp 0x180093a92
mov ecx, 0xf432
call fcn.1800c0da4
mov r15d, eax
jmp 0x18009395c
mov r15d, ntohs
xor ebp, ebp
cmp byte [r13 + 0x2a], bpl
lea eax, [rbp + 7]
cmovne r15d, eax
cmp r15d, 0xc0a
je 0x180093a3b
movzx eax, r15b
cmp eax, 0x1a
ja 0x180093993
lea rcx, [0x180000000]
mov r9, qword [rcx + rax*8 + 0x113380]
cmp r9, rbp
jne 0x18009399a
lea r9, str.unknown_error
lea rcx, [r14 + 0x98]
lea r8, [0x18012a978]
mov rdx, r13
call fcn.180072ec4
jmp 0x180093a3b
mov r14, qword [rsp + 0x78]
lea rcx, [r14 + 0x98]
lea r8, str.string_or_blob_too_big
mov rdx, r13
call fcn.180072ec4
mov r15d, socket
jmp 0x180093a39
mov eax, 9
lea r9, str.unknown_error
lea r8, [0x18012a978]
mov r15d, eax
mov dword [r14 + 0x90], eax
mov rax, qword [str.interrupted]
cmp rax, rcx
lea rcx, [r14 + 0x98]
mov rdx, r13
cmovne r9, rax
call fcn.180072ec4
jmp 0x180093a39
mov r14, qword [rsp + 0x78]
lea rcx, [r14 + 0x98]
lea r8, str.out_of_memory
mov rdx, r13
mov byte [r13 + 0x2a], r12b
call fcn.180072ec4
mov r15d, 7
xor ebp, ebp
mov rax, qword [r14 + 0x98]
mov r9, qword [r14 + 0x130]
mov r8d, dword [rsp + 0x40]
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov dword [r14 + 0x90], r15d
call fcn.180074150
mov rcx, r14
call fcn.18008ab38
cmp r15d, 0xc0a
jne 0x180093a7e
mov byte [r13 + 0x2a], r12b
mov ebx, r12d
cmp byte [rsp + 0x60], bpl
je 0x180093a92
xor edx, edx
mov rcx, r13
call fcn.18009d2a0
lea rcx, [r14 + 0xc0]
call fcn.18007edf8
mov eax, ebx
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1800d12b0
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