Function at 0x18008f720
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov r11, rsp
push rbp
push r12
push r13
lea rbp, [r11 - 0x238]
sub rsp, 0x320
mov rax, qword [0x180167010]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r12, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
xor al, al
mov qword [r11 + 0x20], rdi
mov rdi, qword [rcx + 0x88]
mov qword [r11 - 0x28], r15
mov r15, qword [r12]
mov r11, qword [r12 + 0x68]
mov qword [rbp - 0x78], rcx
xor ecx, ecx
mov r13d, ecx
mov qword [rsp + 0x58], rdi
mov r8d, ecx
movzx r9d, byte [r15 + 0x64]
mov esi, ecx
mov byte [rsp + 0x40], r9b
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x68], r15
mov byte [rbp - 0x80], al
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x60], r11
mov dword [rbp - 0x70], ecx
cmp dword [r12 + 0xd0], ecx
je 0x18008f7c6
mov rcx, r12
call fcn.180087070
mov r11, qword [rsp + 0x60]
mov r8d, esi
movzx r9d, byte [rsp + 0x40]
cmp qword [r15 + 0x210], rsi
je 0x18008f7e8
mov ecx, dword [r15 + 0x220]
xor edx, edx
mov eax, dword [r12 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x18008f7ef
mov rbx, 0xffffffffffffffff
cmp dword [r12 + 0x34], 7
mov qword [rsp + 0x318], r14
movaps xmmword [rsp + 0x300], xmm6
movaps xmmword [rsp + 0x2f0], xmm7
mov qword [rsp + 0x70], rbx
je 0x180096213
xor edx, edx
mov dword [r12 + 0x34], edx
mov qword [r12 + 0x48], rdx
mov eax, dword [r15 + 0x198]
mov dword [r15 + 0x298], edx
test eax, eax
jne 0x180096012
movsxd rax, dword [r12 + 0x30]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
lea rcx, [0x180000000]
movzx ebx, byte [r14]
inc rsi
mov qword [rsp + 0x48], r14
mov r10d, 8
mov qword [rsp + 0x78], rsi
cmp ebx, 0xb8
ja case.default.0x18008f888
movsxd rax, ebx
mov ecx, dword [rcx + rax*4 + 0x96454]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, rdi
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r11 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp case.0x18008f888.9
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], 4
je 0x18008fdf5
mov rax, qword [rax + r11]
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r11], rax
mov eax, 4
mov word [rcx + r11 + 0x14], ax
cmp dword [r14 + 8], 0
jne 0x180095424
jmp case.0x18008f888.89
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, qword [r12 + 0x88]
imul r8, rax, 0x38
mov rax, qword [r8 + r11]
lea rcx, [rax + rax*2]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
dec eax
cdqe
mov qword [r8 + r11], rax
mov eax, dword [rdi + rcx*8 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [0x180000000]
mov r15, qword [rsp + 0x68]
add r14, 0x18
mov r12, qword [rbp - 0x78]
mov rsi, qword [rsp + 0x78]
jmp 0x18008f851
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, rdi
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r11]
mov word [r8 + r11 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp 0x18008f97b
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x18008fdf5
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x180095c05
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x180095c05
mov rax, qword [rcx + 8]
dec dword [r12 + 0x118]
mov qword [r12 + 0x108], rax
mov rax, qword [r12 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
call fcn.180088170
mov r14, qword [rsp + 0x48]
mov rdi, qword [r12 + 0x88]
mov qword [rsp + 0x58], rdi
cmp dword [r14 + 8], 4
jne 0x18008fa71
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
mov r11, qword [r12 + 0x68]
movzx r9d, byte [rsp + 0x40]
cdqe
mov qword [rsp + 0x60], r11
lea rcx, [rax + rax*2]
jmp 0x18008f97b
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], ax
je 0x18008fab5
call fcn.18008f300
mov rcx, rax
xor edx, edx
jmp 0x18008fabe
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x18008fb0e
mov rcx, rdx
call fcn.18008f300
mov rdx, rax
jmp 0x18008fb17
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x18008fb69
mov rcx, rdx
call fcn.18008f300
mov rdx, rax
mov r10d, 8
mov word [rdx + 0x14], r10w
jmp 0x18008fb17
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], ax
je 0x18008fb9f
mov rcx, rbx
call fcn.18008f300
mov rcx, qword [rsp + 0x48]
mov rbx, rax
jmp 0x18008fba8
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x18008fbb9
xor r14d, r14d
mov eax, r14d
jmp 0x18008fbd1
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x18008fbc0
and eax, 0x3fffffff
xor r14d, r14d
movzx edi, byte [rsp + 0x40]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x18008fc74
mov r9b, 1
mov qword [rsp + 0x20], r14
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.1800847c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180095eed
test byte [rbx + 0x14], 2
jne 0x18008fc15
mov byte [rbx + 0x16], dil
jmp 0x18008fc2f
cmp byte [rbx + 0x16], dil
je 0x18008fc2f
movzx edx, dil
mov rcx, rbx
call fcn.18005e5a0
test eax, eax
jne 0x18009620e
mov eax, 0x2000
mov dword [rbx + 0x20], r14d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xfa
jne 0x18008fc5d
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x18008fc5d
mov rcx, r15
call fcn.18005ae70
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [rcx + 4], eax
cmp eax, dword [r15 + 0x88]
jg 0x180095eed
mov byte [rcx], 0x49
jmp 0x18008fc90
mov rcx, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], ax
je 0x18008fcb8
mov rcx, rdx
call fcn.18008f300
mov rcx, qword [rsp + 0x48]
mov rdx, rax
mov r11, qword [rsp + 0x60]
mov eax, 0x2202
mov r14, qword [rsp + 0x48]
mov word [rdx + 0x14], ax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [rcx + 4]
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x48]
mov byte [rdx + 0x16], dil
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1800958d1
mov r8d, dword [rsp + 0x50]
imul rcx, rax, 0x38
mov rax, r14
movzx eax, word [rax + 2]
cmp qword [rcx + r11], rax
jne 0x1800958d6
movzx r9d, byte [rsp + 0x40]
mov eax, 0x2210
mov rdi, qword [rsp + 0x58]
mov word [rdx + 0x14], ax
jmp 0x18008f984
mov rbx, qword [rsp + 0x48]
mov r9d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], r9w
je 0x18008fd52
call fcn.18008f300
mov rcx, rax
xor edx, edx
mov r9d, 0x9000
jmp 0x18008fd5b
mov eax, 4
mov word [rcx + 0x14], ax
cmp dword [rbx + 4], 0
mov esi, 1
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], edx
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x18008fdb8
nop word [rax + rax]
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x18008fdac
lea rcx, [rbx - 0x14]
call fcn.180083d00
xor edx, edx
mov r9d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], edx
test edi, edi
jg 0x18008fd90
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xffc1
add rcx, r11
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
mov r14, qword [rsp + 0x48]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], ax
je 0x18008fe29
mov rcx, rbx
call fcn.18008f300
mov rbx, rax
jmp 0x18008fe32
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
test rdx, rdx
jne 0x18008fe60
mov edx, eax
call fcn.180084410
mov rcx, rbx
call fcn.180083a20
test eax, eax
jne 0x18009620e
jmp 0x18008fe70
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x20], r9
call fcn.1800847c0
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov byte [rbx + 0x16], r9b
jmp 0x18008f97f
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.180084640
test eax, eax
jne 0x180095eed
movsxd rax, dword [rbx + 8]
mov r11, qword [rsp + 0x60]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x18008fed7
mov rcx, rbx
call fcn.180083d00
mov r11, qword [rsp + 0x60]
movups xmm0, xmmword [rdi - 0x38]
mov r14, qword [rsp + 0x48]
mov ecx, 0xafff
movzx r9d, byte [rsp + 0x40]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
mov rdi, qword [rsp + 0x58]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x18008ff44
cmp dword [rbx + 0x20], 0
je 0x18008ff4e
mov rcx, rbx
call fcn.180083d40
xor edx, edx
movups xmm0, xmmword [rdi]
mov eax, 1
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], ax
mov eax, 0x4000
mov dword [rdi + 0x20], edx
test word [rbx + 0x14], ax
je 0x18008ff97
mov rcx, rbx
call fcn.1800839c0
test eax, eax
jne 0x180096209
xor edx, edx
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x18008ff33
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
mov rcx, qword [rsp + 0x48]
mov r14, rcx
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.1800846b0
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x180090010
mov rcx, rbx
call fcn.1800839c0
test eax, eax
jne 0x180096209
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x18009002e
test byte [r14 + 2], 2
je 0x18009002e
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x1800958cc
add rbx, 0x38
add rdi, 0x38
jmp 0x18008ffe4
mov rcx, qword [rsp + 0x48]
mov r8d, 0x4000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
call fcn.1800846b0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x1800900c7
mov rdx, rax
mov rcx, r8
call fcn.180084460
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov r14, qword [rsp + 0x48]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
xor edx, edx
mov rcx, r12
call fcn.180088d60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18008fb2b
mov r14, qword [rsp + 0x58]
mov r15d, 1
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x18009229d
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul r13, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r13, r11
imul rbx, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rdi, r11
movzx eax, r15b
add rbx, r11
or al, byte [rdi + 0x14]
test al, 1
je 0x1800901a5
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180090188
mov rcx, rbx
call fcn.180083d00
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f984
mov r13d, dword [rsp + 0x54]
mov eax, 1
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov word [rbx + 0x14], ax
jmp case.0x18008f888.89
test r15b, 0x12
jne 0x1800901d8
xor r8d, r8d
movzx edx, r9b
mov rcx, r13
call fcn.180083a80
test eax, eax
jne 0x180096240
movzx r15d, word [r13 + 0x14]
mov r14d, 0xfffd
and r15w, r14w
mov eax, 0x400
jmp 0x1800901f3
mov eax, 0x400
test ax, r15w
je 0x1800901ed
mov rcx, r13
call fcn.180083a20
jmp 0x1800901ba
mov r14d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x18009020f
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.180083a80
jmp 0x18009021c
test ax, si
je 0x18009022c
mov rcx, rdi
call fcn.180083a20
test eax, eax
jne 0x180096204
movzx esi, word [rdi + 0x14]
and si, r14w
mov rax, qword [rsp + 0x68]
mov edx, dword [rdi + 0x10]
add edx, dword [r13 + 0x10]
movsxd r14, edx
movsxd rax, dword [rax + 0x88]
cmp r14, rax
jg 0x180095ee8
xor r9d, r9d
mov rcx, rbx
mov r8d, r9d
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.1800836b0
test eax, eax
jne 0x180096204
mov eax, 0xf242
and word [rbx + 0x14], ax
or word [rbx + 0x14], 2
cmp rbx, rdi
je 0x180090293
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call sub.VCRUNTIME140.dll_memcpy
movzx r9d, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
cmp r9b, 1
jbe 0x1800902bd
and r14, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r13d, dword [rsp + 0x54]
mov r11, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov byte [r14 + rax], 0
mov rax, qword [rbx + 8]
mov byte [r14 + rax + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r14d
mov r14, qword [rsp + 0x48]
mov byte [rbx + 0x16], r9b
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, r11
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, r11
add r14, r11
movzx edx, word [rdi + 0x14]
movzx eax, dl
and al, bl
test al, 4
jne 0x18009036f
movzx eax, dl
or al, bl
test al, 1
jne 0x18009053e
and bx, 0x2d
jne 0x180090353
mov rcx, rsi
call fcn.18008f250
movzx edx, word [rdi + 0x14]
movzx ebx, ax
and dx, 0x2d
jne 0x180090364
mov rcx, rdi
call fcn.18008f250
movzx edx, ax
and dl, bl
test dl, 4
je 0x180090480
mov rax, qword [rsp + 0x48]
mov rdx, qword [rdi]
mov r8, qword [rsi]
mov qword [rbp + 0x140], rdx
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x180090419
sub ecx, 1
je 0x180090404
sub ecx, 1
je 0x1800903ef
cmp ecx, 1
je 0x1800903c3
test r8, r8
je 0x18009053e
cmp r8, 0xffffffffffffffff
mov eax, 1
cmove r8, rax
mov rax, rdx
cqo
idiv r8
mov qword [rbp + 0x140], rdx
jmp 0x180090440
test r8, r8
je 0x18009053e
cmp r8, 0xffffffffffffffff
jne 0x1800903e5
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180090480
mov rax, rdx
cqo
idiv r8
jmp 0x180090439
mov rdx, r8
lea rcx, [rbp + 0x140]
call fcn.1800616b0
test eax, eax
jne 0x180090480
jmp 0x180090440
mov rdx, r8
lea rcx, [rbp + 0x140]
call fcn.180061640
test eax, eax
jne 0x180090480
jmp 0x180090440
test r8, r8
js 0x180090465
test rdx, rdx
jle 0x180090435
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jl 0x180090480
lea rax, [r8 + rdx]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
jmp 0x180090552
test rdx, rdx
jns 0x180090435
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jle 0x180090435
mov rcx, rsi
call fcn.180083f00
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180083f00
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x180090504
sub ecx, 1
je 0x1800904fe
sub ecx, 1
je 0x1800904f8
cmp ecx, 1
je 0x1800904ea
mov rcx, rsi
call fcn.180083e70
mov rcx, rdi
mov rbx, rax
call fcn.180083e70
mov qword [rbp + 0x140], rax
test rbx, rbx
je 0x18009053e
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x180090508
ucomisd xmm6, xmm7
jp 0x1800904f2
je 0x18009053e
divsd xmm0, xmm6
jmp 0x180090508
mulsd xmm0, xmm6
jmp 0x180090508
subsd xmm0, xmm6
jmp 0x180090508
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp + 0x128], xmm0
mov rax, qword [rbp + 0x128]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x180090578
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x18009056c
mov rcx, r14
call fcn.180083d00
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
mov ebx, 1
mov word [r14 + 0x14], bx
jmp 0x180090552
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov word [r14 + 0x14], ax
jmp 0x180090552
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x18008fdf5
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1800905d4
xor edx, edx
call fcn.180084460
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov r14, qword [rsp + 0x48]
mov eax, 4
mov word [rcx + 0x14], ax
mov qword [rcx], rdx
jmp case.0x18008f888.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rdi, r11
add rcx, r11
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
add rsi, r11
test al, 1
je 0x18009064b
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x180090633
mov rcx, rsi
jmp 0x18009054d
mov r14, qword [rsp + 0x48]
mov eax, 1
mov rdi, qword [rsp + 0x58]
mov word [rsi + 0x14], ax
jmp case.0x18008f888.89
call fcn.180083e70
mov rcx, rdi
mov rbx, rax
call fcn.180083e70
mov r14, qword [rsp + 0x48]
mov rcx, rax
movzx edx, byte [r14]
cmp dl, 0x66
jne 0x180090671
and rbx, rax
jmp 0x1800906e8
cmp dl, 0x67
jne 0x18009067b
or rbx, rcx
jmp 0x1800906e8
test rcx, rcx
je 0x1800906e8
jns 0x180090695
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18009069b
neg rcx
cmp rcx, 0x40
jl 0x1800906b6
test rbx, rbx
jns 0x1800906ae
cmp dl, 0x68
je 0x1800906ae
mov rbx, 0xffffffffffffffff
jmp 0x1800906e8
xor r9d, r9d
mov ebx, r9d
jmp 0x1800906e8
cmp dl, 0x68
jne 0x1800906c3
shl rbx, cl
mov r8, rbx
jmp 0x1800906e5
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1800906e5
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0xf244
mov qword [rsi], rbx
and word [rsi + 0x14], ax
or word [rsi + 0x14], 4
jmp 0x18009016e
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.180083e70
mov r14, qword [rsp + 0x48]
mov ecx, 0xf244
and word [rbx + 0x14], cx
or word [rbx + 0x14], 4
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx], rax
movsxd rcx, dword [r14 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x180090799
movzx r8d, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.18008f180
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x180090792
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 8], 0
jne 0x1800911f0
mov r13d, 0x14
mov rdi, r14
jmp 0x180092288
mov r11, qword [rsp + 0x60]
xor edx, edx
mov r14, qword [rsp + 0x48]
mov ecx, 0xf244
movzx r9d, byte [rsp + 0x40]
and ax, cx
mov r8d, dword [rsp + 0x50]
or ax, 4
mov word [rbx + 0x14], ax
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 0x24
je 0x18008fdf5
mov rcx, rbx
call fcn.180083f00
mov r14, qword [rsp + 0x48]
mov eax, 0xf248
and word [rbx + 0x14], ax
or word [rbx + 0x14], 8
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsd qword [rbx], xmm0
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x180090835
mov rcx, rbx
call fcn.180083a20
mov r13d, eax
test eax, eax
jne 0x180092283
mov rax, qword [rsp + 0x48]
mov rcx, rbx
movzx r8d, byte [rsp + 0x40]
movzx edx, byte [rax + 8]
call fcn.180084210
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r11
add r14, r11
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x180090915
mov rcx, qword [r14]
cmp rcx, qword [r15]
lea rcx, [0x180000000]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jle 0x1800908d9
xor edx, edx
cmp byte [rbx + rcx + 0x141e98], dl
jne 0x1800911f2
mov eax, 1
mov r8d, eax
mov dword [rsp + 0x50], eax
jmp case.default.0x18008f888
jge 0x1800908fa
xor edx, edx
cmp byte [rbx + rcx + 0x141e8c], dl
jne 0x1800911f2
mov r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
jmp case.default.0x18008f888
xor edx, edx
cmp byte [rbx + rcx + 0x141e92], dl
jne 0x1800911f2
mov r8d, edx
mov dword [rsp + 0x50], edx
jmp case.default.0x18008f888
movzx ecx, di
or cx, si
test cl, 1
je 0x1800909a6
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
test al, al
jns 0x180090981
test dl, 1
je 0x180090966
mov eax, 0x100
test ax, di
jne 0x180090966
mov rax, qword [rsp + 0x48]
lea rcx, [0x180000000]
xor r9d, r9d
lea rcx, [rcx + 0x141e92]
mov r8d, r9d
mov dword [rsp + 0x50], r9d
movzx eax, byte [rax]
jmp 0x180090aed
movzx eax, di
not ax
and eax, 1
lea r8d, [rax*2 - 1]
mov dword [rsp + 0x50], r8d
jmp 0x180090ab0
mov r14, qword [rsp + 0x48]
xor edx, edx
mov rdi, qword [rsp + 0x58]
test al, 0x10
jne 0x1800911f2
mov eax, 1
mov r8d, eax
mov dword [rsp + 0x50], eax
jmp case.0x18008f888.89
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jb 0x1800909f4
test cl, 2
je 0x180090a95
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1800909d7
xor edx, edx
mov rcx, r15
call fcn.18008f030
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x180090a95
xor edx, edx
mov rcx, r14
call fcn.18008f030
jmp 0x180090a95
cmp al, 0x42
jne 0x180090a95
test cl, 2
je 0x180090a95
test sil, 2
je 0x180090a1d
movzx eax, si
mov ecx, 0xffd3
and ax, cx
mov word [r15 + 0x14], ax
jmp 0x180090a5e
test sil, 0x2c
je 0x180090a59
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.180083a80
xor si, word [r15 + 0x14]
mov r12d, 0xdbf
and si, r12w
mov ecx, 0xffd3
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x180090a64
movzx edi, si
or di, 2
jmp 0x180090a64
mov ecx, 0xffd3
mov r12d, 0xdbf
test dil, 2
je 0x180090a71
and word [r14 + 0x14], cx
jmp 0x180090a95
test dil, 0x2c
je 0x180090a95
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.180083a80
xor di, word [r14 + 0x14]
and di, r12w
xor di, word [r14 + 0x14]
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.18008a240
mov r11, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
test r8d, r8d
jns 0x180090acd
lea rcx, [0x180000000]
lea rcx, [rcx + 0x141e8c]
jmp 0x180090aed
jne 0x180090adf
lea rcx, [0x180000000]
lea rcx, [rcx + 0x141e92]
jmp 0x180090aed
lea rcx, [0x180000000]
lea rcx, [rcx + 0x141e98]
add rcx, rax
xor edx, edx
movzx eax, byte [rcx]
mov word [r14 + 0x14], di
mov r14, qword [rsp + 0x48]
mov word [r15 + 0x14], si
test al, al
jne 0x180095424
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
test r8d, r8d
je 0x1800911f2
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x180090b3a
mov r13, rdx
jmp 0x180090b42
mov r13, qword [rax - 8]
add r13, 4
mov rdx, qword [rax + 0x10]
xor ecx, ecx
mov r8d, dword [rax + 4]
mov esi, ecx
mov r9d, dword [rax + 8]
mov ebx, ecx
movsxd rax, dword [rax + 0xc]
mov qword [rbp + 0x128], rdx
mov dword [rbp + 0x120], r8d
mov dword [rbp - 0x60], r9d
mov qword [rbp - 0x68], rax
test rax, rax
jle 0x180095be1
lea r12, [rdx + 0x20]
nop dword [rax + rax]
test r13, r13
je 0x180090b8c
mov ecx, dword [r13 + rbx*4]
jmp 0x180090b8e
mov ecx, esi
mov rax, qword [rdx + 0x18]
lea r15d, [rcx + r9]
lea r14d, [rcx + r8]
mov r8, qword [r12]
imul rdx, r15, 0x38
imul rcx, r14, 0x38
movzx edi, byte [rax + rbx]
add rdx, r11
and edi, 1
add rcx, r11
call fcn.18008a240
mov r11, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x180090c06
mov rdx, qword [rbp + 0x128]
inc esi
mov r8d, dword [rbp + 0x120]
inc rbx
mov r9d, dword [rbp - 0x60]
add r12, 8
cmp rbx, qword [rbp - 0x68]
jl 0x180090b80
mov r13d, dword [rsp + 0x54]
mov r8d, eax
mov r14, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f984
mov rax, qword [rbp + 0x128]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x180090c37
imul rax, r14, 0x38
test byte [rax + r11 + 0x14], 1
jne 0x180090c2f
imul rax, r15, 0x38
test byte [rax + r11 + 0x14], 1
je 0x180090c37
neg r8d
mov dword [rsp + 0x50], r8d
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
test edi, edi
je 0x1800958d6
movzx r9d, byte [rsp + 0x40]
neg r8d
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x50], r8d
jmp 0x18008f984
mov rax, qword [rsp + 0x48]
test r8d, r8d
jns 0x180090c7f
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18008f888.89
jne 0x180090c95
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18008f888.89
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18008f888.89
mov r15, qword [rsp + 0x48]
mov esi, 2
mov edx, esi
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
add rcx, r11
call fcn.180083f30
movsxd rcx, dword [r15 + 8]
mov edx, esi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x60]
call fcn.180083f30
lea rdx, [0x180000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r15], 0x2c
movsxd rcx, eax
jne 0x180090cfb
movzx r8d, byte [rcx + rdx + 0x13f7e8]
jmp 0x180090d04
movzx r8d, byte [rcx + rdx + 0x140df0]
movsxd rax, dword [r15 + 0xc]
mov r11, qword [rsp + 0x60]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r11 + 0x14]
cmp r8b, sil
jne 0x180090d3c
movzx r9d, byte [rsp + 0x40]
mov eax, 0xf241
and cx, ax
mov r14, r15
or cx, 1
mov word [rdx + r11 + 0x14], cx
jmp 0x18008f97f
movzx r9d, byte [rsp + 0x40]
mov r14, r15
movzx eax, r8b
mov qword [rdx + r11], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r11 + 0x14], cx
jmp 0x18008f97f
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.180083f30
movsxd rdx, dword [rbx + 0x10]
mov r11, qword [rsp + 0x60]
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x180090db9
call fcn.180084460
mov r11, qword [rsp + 0x60]
mov r14, rbx
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
movzx r9d, byte [rsp + 0x40]
mov eax, 4
mov word [rcx + 0x14], ax
mov r14, rbx
mov qword [rcx], rdx
jmp 0x18008f97f
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
test byte [rcx + 0x14], 1
jne 0x180090e40
xor edx, edx
call fcn.180083f30
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, 0x9000
sete cl
test word [rbx + 0x14], ax
je 0x180090e2f
mov rdx, rcx
mov rcx, rbx
call fcn.180084460
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], ax
jmp 0x18008faca
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180090e68
mov rcx, rbx
call fcn.180083d00
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov r14, qword [rsp + 0x48]
mov eax, 1
mov word [rbx + 0x14], ax
jmp case.0x18008f888.89
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r11
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x180090eb2
mov rcx, rbx
call fcn.180083d00
mov r11, qword [rsp + 0x60]
xor edx, edx
jmp 0x180090ebb
mov eax, 1
mov word [rbx + 0x14], ax
test byte [rdi + 0x14], 1
jne 0x180095907
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.180083e70
not rax
mov qword [rbx], rax
jmp 0x180090169
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x180090f5e
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r12 + 0x88]
mov r9, qword [r8 + 0x28]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1800911eb
mov r14, qword [rsp + 0x48]
bts eax, edx
mov r8d, dword [rsp + 0x50]
xor edx, edx
mov byte [rcx + r9], al
mov rcx, qword [r12 + 0x88]
movzx r9d, byte [rsp + 0x40]
mov eax, dword [rcx + 4]
mov dword [r14 + 4], eax
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov rcx, qword [r12 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x180094f59
mov r14, qword [rsp + 0x48]
mov eax, dword [rcx + 4]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov dword [r14 + 4], eax
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rcx, r11
mov edx, dword [rax + 0xc]
call fcn.180083f30
mov r14, qword [rsp + 0x48]
xor edx, edx
test eax, eax
jne 0x180095424
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.180083f30
mov r14, qword [rsp + 0x48]
xor edx, edx
test eax, eax
je 0x180095424
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x1800911f2
jmp case.0x18008f888.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x180091097
mov rcx, rax
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
movzx eax, word [rdx + 0x4a]
cmp ecx, eax
jge 0x18009108d
mov ecx, dword [rdx + rcx*4 + 0x78]
cmp ecx, 0xc
jb 0x180091079
test cl, 1
mov edx, 4
cmove dx, r10w
jmp 0x1800910c1
mov rax, rcx
lea rcx, [0x180000000]
movzx edx, byte [rax + rcx + 0x145938]
jmp 0x1800910c8
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x10]
jmp 0x1800910b7
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
lea rcx, [0x180000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x144f90]
dec ecx
mov edx, 1
shl dx, cl
lea rcx, [0x180000000]
mov r14, qword [rsp + 0x48]
test word [r14 + 2], dx
jne 0x1800911f0
xor edx, edx
jmp case.default.0x18008f888
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x180091148
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x180091148
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x180091134
xor edx, edx
call fcn.180084460
mov r11, qword [rsp + 0x60]
mov r14, rbx
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
mov r14, rbx
jmp case.0x18008f888.89
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x180091176
call fcn.180083d00
mov r11, qword [rsp + 0x60]
mov r14, rbx
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov eax, 1
mov r14, rbx
mov word [rcx + 0x14], ax
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x1800911f2
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x180092e05
cmp byte [rdx + 2], 0
je 0x180092e05
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x180091217
call fcn.180083d00
mov r14, qword [rsp + 0x48]
xor edx, edx
mov eax, dword [r14 + 8]
mov r11, qword [rsp + 0x60]
dec eax
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18008f888.89
mov eax, 1
mov word [rcx + 0x14], ax
jmp 0x1800911eb
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov r15d, dword [rcx + 8]
mov dword [rbp + 0x120], r15d
nop dword [rax]
nop dword [rax + rax]
mov r14, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp - 0x60], r14
cmp dword [rbx + 0x20], eax
je 0x18009129b
cmp byte [rbx + 2], 0
jne 0x1800912f6
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x180091294
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1800912c0
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1800912c0
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x18009123d
cmp byte [rdi], 0
je 0x1800912d7
jmp 0x1800912a8
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x18009138e
mov rcx, rbx
call fcn.180089a00
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x180091250
jmp 0x180092283
mov rcx, rbx
call fcn.180089990
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov rcx, rdi
call fcn.180078040
mov eax, dword [rdi + 0x40]
lea rsi, [rbx + 0x6c]
mov rdx, rsi
mov dword [rbx + 0x68], eax
mov rcx, rdi
call fcn.180078890
jmp 0x180091324
cmp byte [rbx], 3
jne 0x180091444
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x180091444
imul rcx, rax, 0x38
lea rsi, [rbx + 0x6c]
add rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x10]
mov dword [rsi], eax
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 8]
mov qword [rbx + 0x60], rax
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r14], ecx
cmp ecx, 0x80
jae 0x180091349
mov eax, 1
jmp 0x180091358
mov rcx, qword [rbx + 0x60]
mov rdx, r14
call fcn.1800614a0
movzx eax, al
mov dword [rbx + 0x40], eax
xor edx, edx
mov word [rbx + 0x4a], dx
mov eax, dword [r14]
cmp dword [rsi], eax
jae 0x18009143e
mov qword [rbx + 0x60], rdx
mov dword [rsi], edx
mov eax, dword [r14]
cmp eax, 0x18003
ja 0x180091580
cmp eax, dword [rbx + 0x68]
ja 0x180091580
mov rsi, qword [rsp + 0x78]
movzx edx, word [rbx + 0x4a]
cmp edx, r15d
ja 0x180091663
mov ecx, dword [rbx + 0x40]
mov eax, dword [r14]
cmp ecx, eax
jae 0x1800915ac
mov r13, qword [rbx + 0x60]
test r13, r13
jne 0x1800913f4
xorps xmm0, xmm0
lea r8, [rbp - 0x18]
movups xmmword [rbp - 0x18], xmm0
xor eax, eax
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 0x18], rax
movups xmmword [rbp + 8], xmm0
mov edx, dword [r14]
mov rcx, qword [rbx + 0x30]
call fcn.180084c60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r13, qword [rbp - 0x10]
movzx edx, word [rbx + 0x4a]
mov eax, dword [r14]
mov ecx, dword [rbx + 0x40]
movzx r15d, dx
mov edi, ecx
mov esi, r15d
add rdi, r13
mov r12d, eax
add r12, r13
mov r14d, dword [r14 + r15*4]
nop word [rax + rax]
movzx eax, byte [rdi]
mov dword [rbp - 0x58], eax
mov dword [rbx + rsi*4 + 0x78], eax
mov eax, dword [rbp - 0x58]
cmp eax, 0x80
jae 0x18009148c
movzx eax, al
lea rcx, [0x180000000]
inc rdi
movzx eax, byte [rax + rcx + 0x141420]
jmp 0x1800914c5
mov r13, qword [rbx + 0x60]
jmp 0x1800913f1
mov rax, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x18009146e
call fcn.180083d00
jmp 0x180090169
mov r14, qword [rsp + 0x48]
mov eax, 1
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x18008f97f
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.1800614a0
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x58]
mov dword [rbx + rsi*4 + 0x78], eax
mov eax, dword [rbp - 0x58]
cmp eax, 0x80
jb 0x1800914b6
add eax, 0xfffffff4
shr eax, 1
jmp 0x1800914c5
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x141420]
add r14, rax
inc r15d
mov rax, qword [rbp - 0x60]
movsxd rsi, r15d
mov dword [rax + rsi*4], r14d
cmp r15d, dword [rbp + 0x120]
ja 0x1800914ea
cmp rdi, r12
jb 0x180091410
jmp 0x1800914ef
cmp rdi, r12
jb 0x18009153c
cmp rdi, r12
ja 0x180091544
mov eax, dword [rbx + 0x68]
cmp r14, rax
jne 0x180091544
mov r14, qword [rbp - 0x60]
sub edi, r13d
mov word [rbx + 0x4a], r15w
cmp qword [rbx + 0x60], 0
mov dword [rbx + 0x40], edi
jne 0x18009152c
mov eax, 0x9000
test word [rbp - 4], ax
jne 0x180091523
cmp dword [rbp + 8], 0
je 0x18009152c
lea rcx, [rbp - 0x18]
call fcn.180083d40
mov edx, dword [rbp - 0x58]
mov r15d, dword [rbp + 0x120]
mov r12, qword [rbp - 0x78]
jmp 0x1800915b5
mov eax, dword [rbx + 0x68]
cmp r14, rax
jbe 0x1800914fc
mov r14, qword [rbp - 0x60]
cmp dword [r14], 0
jne 0x180091559
xor r9d, r9d
mov rdi, r12
mov r15d, r9d
jmp 0x180091500
cmp qword [rbx + 0x60], 0
jne 0x18009157a
mov eax, 0x9000
test word [rbp - 4], ax
jne 0x180091571
cmp dword [rbp + 8], 0
je 0x18009157a
lea rcx, [rbp - 0x18]
call fcn.180083d40
mov r12, qword [rbp - 0x78]
xor edx, edx
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x180095d1c
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [rdi + rax*8]
mov qword [rsp + 0x48], r13
mov r13d, dword [rsp + 0x54]
jmp 0x18008faca
xor r9d, r9d
mov edx, r9d
mov dword [rbp - 0x58], edx
movzx eax, word [rbx + 0x4a]
cmp eax, r15d
ja 0x18009165e
mov r13, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
cmp byte [r13 + 1], 0xf6
jne 0x18009160c
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.1800846b0
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
mov eax, 0x9000
test word [rcx + 0x14], ax
je 0x18009163b
call fcn.180083d00
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
mov r13d, dword [rsp + 0x54]
mov eax, 1
mov r14, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x18008f97f
mov esi, r15d
jmp 0x18009166d
mov esi, r15d
mov edx, dword [rbx + rsi*4 + 0x78]
mov dword [rbp - 0x58], edx
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x60]
test word [rdi + 0x14], ax
je 0x18009169a
mov rcx, rdi
call fcn.180083d00
mov edx, dword [rbp - 0x58]
mov r8, qword [rsp + 0x48]
lea eax, [r15 + 1]
mov eax, dword [r14 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x180091791
mov esi, dword [r14 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x1800916e2
mov rcx, rsi
mov r8, rdi
call fcn.180089a70
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
movzx eax, byte [rsp + 0x40]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x18009172e
mov r15, qword [rsp + 0x68]
cmp ebx, dword [r15 + 0x88]
jg 0x180095ee8
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.1800836b0
test eax, eax
jne 0x180096209
mov rcx, qword [rdi + 8]
jmp 0x180091736
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 8], rcx
mov r8d, ebx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 8]
lea rcx, [0x180000000]
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov byte [rbx + rax], 0
mov rax, qword [rdi + 8]
mov byte [rax + rbx + 1], 0
mov eax, dword [rbp - 0x58]
and eax, 1
xor edx, edx
movzx eax, word [rcx + rax*2 + 0x141ed4]
mov word [rdi + 0x14], ax
mov rdi, qword [rsp + 0x58]
jmp case.default.0x18008f888
movzx eax, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
movzx eax, byte [r8 + 2]
mov ecx, dword [rbp - 0x58]
and al, 0xc0
je 0x1800917b7
cmp al, 0x80
je 0x1800917d9
cmp ecx, 0xc
jb 0x1800917b7
test cl, 1
je 0x1800917d9
cmp al, 0xc0
je 0x1800917d9
cmp ecx, 0x80
jb 0x1800917c6
lea eax, [rcx - 0xc]
shr eax, 1
jmp 0x1800917d5
lea rdx, [0x180000000]
movzx eax, byte [rcx + rdx + 0x141420]
test eax, eax
jne 0x1800917e7
mov edx, ecx
lea rcx, [0x180140ca0]
jmp 0x1800916bb
mov eax, dword [rbp - 0x70]
mov r8d, ecx
mov r9d, dword [r14 + rsi*4]
mov edx, r15d
mov qword [rsp + 0x30], rdi
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.18008f460
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x1800915f2
cmp eax, 7
je 0x180096204
mov rsi, qword [rsp + 0x78]
cmp eax, 0x12
je 0x180095eed
jmp 0x180092283
mov rax, qword [rsp + 0x48]
mov esi, edx
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, r11
cmp dx, word [r14 + 0x36]
jge 0x18008fdf5
lea rdi, [r15 + 0xc]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x180091881
test al, 0x20
jne 0x18009192f
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
jne 0x18009192b
movzx edx, byte [rdi]
movzx r8d, r9b
mov rcx, rbx
call fcn.18008f180
movzx edx, word [rbx + 0x14]
test dl, 1
jne 0x18009192b
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x180091922
sub eax, 1
je 0x18009191d
sub eax, 1
je 0x18009191d
sub eax, 1
je 0x1800918c4
cmp eax, 1
jne 0x18009192b
test dl, 2
jmp 0x180091925
test dl, 4
je 0x180091918
mov rcx, qword [rbx]
movabs rax, 0x800000000000
add rax, rcx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1800918fa
or dx, 0x20
mov eax, 0xfffb
and dx, ax
mov word [rbx + 0x14], dx
jmp 0x18009192b
xorps xmm0, xmm0
or dx, 8
cvtsi2sd xmm0, rcx
mov eax, 0xfffb
and dx, ax
movsd qword [rbx], xmm0
mov word [rbx + 0x14], dx
jmp 0x18009192b
test dl, 0x28
jmp 0x180091925
test dl, 4
jmp 0x180091925
test dl, 0x10
je 0x180095d4f
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
movzx r9d, byte [rsp + 0x40]
add rdi, 0x18
cmp esi, eax
jl 0x180091862
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r11
nop dword [rax]
nop word [rax + rax]
movzx r8d, r9b
movzx edx, al
mov rcx, rbx
call fcn.18008f180
cmp byte [rdi], 0x45
jne 0x1800919e6
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x1800919e6
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1800919ca
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x1800919e2
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x1800958c7
movzx r9d, byte [rsp + 0x40]
add rbx, 0x38
jmp 0x180091980
mov rbx, qword [rsp + 0x48]
mov r15, rdx
mov r12d, edx
mov r13, rdx
movsxd rax, dword [rbx + 4]
mov rdi, qword [rbx + 0x10]
imul rcx, rax, 0x38
mov eax, dword [rbx + 8]
dec eax
add rcx, r11
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
add rsi, rcx
mov qword [rbp + 0x128], rcx
add rdx, r11
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x68], rdx
test rdi, rdi
je 0x180091a9f
movzx eax, byte [rdi]
lea rbx, [rcx + 0x14]
mov esi, 0xfffb
nop word [rax + rax]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
movzx edx, al
call fcn.18008f180
cmp byte [rdi], 0x45
jne 0x180091a86
movzx eax, word [rbx]
test al, 4
je 0x180091a86
and ax, si
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
movzx r9d, byte [rsp + 0x40]
add rbx, 0x38
test al, al
jne 0x180091a60
mov rsi, qword [rbp - 0x60]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test cl, 1
je 0x180091ace
mov eax, 0x400
mov r8d, 1
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x180091c76
test cl, 0x24
je 0x180091bf3
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x180091ae6
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x180091b2b
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x180091b18
mov rax, qword [rbp - 0x78]
cmp byte [rax + 0xc5], 4
jb 0x180091b18
lea eax, [rdx + 8]
mov r8d, 1
mov dword [r14], eax
jmp 0x180091c76
mov eax, 1
inc r15
mov dword [r14], eax
mov r8d, eax
jmp 0x180091c76
cmp rdx, 0x7fff
ja 0x180091b49
mov eax, 2
add r15, 2
mov dword [r14], eax
lea r8d, [rax - 1]
jmp 0x180091c76
cmp rdx, 0x7fffff
ja 0x180091b67
mov eax, 3
add r15, 3
mov dword [r14], eax
lea r8d, [rax - 2]
jmp 0x180091c76
cmp rdx, 0x7fffffff
ja 0x180091b85
mov eax, 4
add r15, 4
mov dword [r14], eax
lea r8d, [rax - 3]
jmp 0x180091c76
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x180091ba9
mov eax, 5
add r15, 6
mov dword [r14], eax
lea r8d, [rax - 4]
jmp 0x180091c76
add r15, 8
test cl, 0x20
je 0x180091be2
mov eax, 0xffdf
xorps xmm0, xmm0
cvtsi2sd xmm0, r8
and cx, ax
mov eax, 7
or cx, 8
mov word [r14 - 0x10], cx
lea r8d, [rax - 6]
movsd qword [r14 - 0x24], xmm0
mov dword [r14], eax
jmp 0x180091c76
mov eax, 6
mov dword [r14], eax
lea r8d, [rax - 5]
jmp 0x180091c76
test cl, 8
je 0x180091c0e
inc r12d
mov dword [r14], 7
add r15, 8
mov r8d, 1
jmp 0x180091c76
mov edi, dword [r14 - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x180091c4c
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x180091c49
lea rcx, [r14 - 0x24]
call fcn.180083a20
test eax, eax
jne 0x180096235
add edi, dword [r14 - 0x24]
jmp 0x180091c4c
add r13, rax
mov eax, edi
mov r8d, 1
add r15, rax
mov ecx, r8d
mov eax, esi
shr rax, 7
test rax, rax
je 0x180091c70
inc ecx
shr rax, 7
test rax, rax
jne 0x180091c65
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, qword [rbp + 0x128]
je 0x180091c8c
sub r14, 0x38
jmp 0x180091aa3
cmp r12d, 0x7e
jle 0x180091ccf
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x180091cac
inc edx
shr rax, 7
test rax, rax
jne 0x180091ca1
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x180091ccb
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x180091cc0
cmp edx, ecx
jge 0x180091cd2
inc r12d
mov rsi, qword [rbp - 0x68]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [r15 + rdi]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x180091d1a
mov r15, qword [rsp + 0x68]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x180095ee4
cmp edx, ebx
jge 0x180091d1a
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.1800836b0
test eax, eax
jne 0x18009623a
jmp 0x180091d22
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov dword [rsi + 0x10], ebx
mov eax, 0x10
mov word [rsi + 0x14], ax
test r13, r13
je 0x180091d3f
mov eax, 0x410
mov dword [rsi], r13d
mov word [rsi + 0x14], ax
mov rsi, qword [rsi + 8]
lea rbx, [rdi + rsi]
cmp r12d, 0x80
jge 0x180091d58
mov byte [rsi], r12b
inc rsi
jmp 0x180091d69
mov rdx, rdi
mov rcx, rsi
call fcn.180061270
movsxd rcx, eax
add rsi, rcx
mov rdi, qword [rbp + 0x128]
mov r14, qword [rbp - 0x60]
add rdi, 0x10
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x180091df3
mov byte [rsi], al
inc rsi
test eax, eax
je 0x180091e3a
mov rcx, qword [rdi - 0x10]
lea rdx, [0x180000000]
movzx edx, byte [rax + rdx + 0x141420]
mov eax, edx
sub eax, 1
je 0x180091dec
sub eax, 1
je 0x180091de5
sub eax, 1
je 0x180091dde
sub eax, 1
je 0x180091dd7
cmp eax, 2
je 0x180091dc9
mov byte [rbx + 7], cl
shr rcx, 8
mov byte [rbx + 6], cl
shr rcx, 8
mov byte [rbx + 5], cl
shr rcx, 8
mov byte [rbx + 4], cl
shr rcx, 8
mov byte [rbx + 3], cl
shr rcx, 8
mov byte [rbx + 2], cl
shr rcx, 8
mov byte [rbx + 1], cl
shr rcx, 8
mov byte [rbx], cl
add rbx, rdx
jmp 0x180091e3a
cmp eax, 0x80
jae 0x180091e0d
mov byte [rsi], al
inc rsi
cmp eax, 0xe
jb 0x180091e3a
movsxd rax, dword [rdi]
test eax, eax
jle 0x180091e3a
jmp 0x180091e25
mov rdx, rax
mov rcx, rsi
call fcn.180061270
movsxd rcx, eax
movsxd rax, dword [rdi]
add rsi, rcx
test eax, eax
je 0x180091e3a
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rdi]
add rbx, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x1800958c2
add rdi, 0x38
jmp 0x180091d78
mov rbx, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x180091e7d
mov rcx, rdx
call fcn.180079700
mov qword [rbp + 0x168], rax
jmp 0x180091ea5
xor r9d, r9d
lea r8, [rbp + 0x168]
mov rcx, r15
mov qword [rbp + 0x168], r9
call fcn.180080b20
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180096275
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], ax
je 0x180091ed4
call fcn.18008f300
mov rcx, rax
mov rax, qword [rbp + 0x168]
mov qword [rcx], rax
jmp 0x1800943f7
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp + 0x168]
mov qword [rcx], rax
jmp 0x1800943f7
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp + 0x120], r14d
test r14d, r14d
jne 0x180091fd1
cmp dword [r15 + 0xe0], r14d
jg 0x180095db4
test rdi, rdi
jne 0x180091f1f
mov ebx, edx
jmp 0x180091f35
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x180091f26
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x2f4]
xor edx, edx
add r8d, dword [r15 + 0x2f0]
mov rcx, r15
call fcn.1800fa3c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.18005b220
mov rsi, rax
test rax, rax
je 0x1800922b7
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call sub.VCRUNTIME140.dll_memcpy
cmp byte [r15 + 0x65], r13b
je 0x180091f9d
mov byte [r15 + 0x65], r13b
mov byte [r15 + 0x6d], 1
jmp 0x180091fa4
inc dword [r15 + 0x2f0]
mov rax, qword [r15 + 0x2e0]
mov qword [rsi + 0x18], rax
mov rax, qword [r15 + 0x2f8]
mov qword [r15 + 0x2e0], rsi
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x300]
mov qword [rsi + 0x10], rax
jmp 0x1800922b7
mov rax, qword [rsp + 0x68]
mov r15d, edx
mov rsi, qword [rax + 0x2e0]
test rsi, rsi
je 0x180092000
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.18005f160
test eax, eax
je 0x18009202f
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x180091fe5
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.1800857e0
mov r15d, 1
mov r13d, r15d
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x180092293
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0xe0], 0
jle 0x180092047
cmp r14d, 1
je 0x180095dce
cmp qword [rsi + 0x18], 0
jne 0x1800920b0
cmp byte [rcx + 0x6d], 0
je 0x1800920b0
mov eax, 1
mov r13d, eax
cmp r14d, eax
jne 0x1800920b7
mov edx, eax
mov rcx, r12
call fcn.180088d60
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18009637e
mov rax, qword [rsp + 0x68]
mov rcx, r12
mov byte [rax + 0x65], r13b
call fcn.180088dd0
cmp eax, 5
je 0x180095e05
mov ebx, dword [r12 + 0x34]
mov dword [rsp + 0x54], ebx
test ebx, ebx
jne 0x180095de8
mov r9, qword [rsp + 0x68]
mov byte [r9 + 0x6d], bl
jmp 0x1800921c7
xor edx, edx
mov r13d, edx
jmp 0x1800920b9
xor edx, edx
mov eax, dword [rcx + 0x2f0]
sub eax, r15d
lea r15d, [rax - 1]
mov eax, dword [rcx + 0x28]
cmp r14d, 2
jne 0x18009212f
mov r12d, dword [rcx + 0x2c]
mov edi, edx
and r12d, 1
test eax, eax
jle 0x180092132
mov r14d, r12d
mov rbx, rdx
xor r14d, 1
nop word [rax + rax]
mov rcx, qword [rcx + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.180077a90
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180096251
mov rcx, qword [rsp + 0x68]
inc edi
add rbx, 0x20
mov eax, dword [rcx + 0x28]
cmp edi, eax
jl 0x1800920f0
mov r14d, dword [rbp + 0x120]
xor edx, edx
jmp 0x180092132
mov r12d, edx
mov edi, edx
test eax, eax
jle 0x180092170
mov rbx, rdx
nop dword [rax + rax]
mov rcx, qword [rcx + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.180077dd0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180096251
mov rcx, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x180092140
test r12d, r12d
je 0x1800921b3
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx + 8]
test rax, rax
je 0x1800921a7
nop dword [rax]
nop word [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180092190
mov rcx, rbx
call fcn.1800b5a40
or dword [rbx + 0x2c], 1
cmp dword [rsp + 0x54], 0
mov r12, qword [rbp - 0x78]
jne 0x180096247
mov r9, qword [rsp + 0x68]
mov rcx, qword [r9 + 0x2e0]
cmp rcx, rsi
je 0x180092215
mov r14, qword [rsp + 0x68]
nop dword [rax + rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r14
mov qword [r14 + 0x2e0], rax
call fcn.18005ae70
mov rcx, qword [r14 + 0x2e0]
dec dword [r14 + 0x2f0]
cmp rcx, rsi
jne 0x1800921e0
mov r14d, dword [rbp + 0x120]
mov r9, qword [rsp + 0x68]
cmp r14d, 1
jne 0x180092244
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r9
mov qword [r9 + 0x2e0], rax
call fcn.18005ae70
test r13d, r13d
jne 0x1800922b2
mov r9, qword [rsp + 0x68]
dec dword [r9 + 0x2f0]
jmp 0x180092265
mov rax, qword [rsi + 8]
mov qword [r9 + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [r9 + 0x300], rax
test r13d, r13d
je 0x180092265
cmp r14d, 2
jne 0x1800922b2
mov r8d, r15d
mov edx, r14d
mov rcx, r9
call fcn.1800fa3c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x1800922b7
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov r15d, 1
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
je 0x18009627d
mov r13d, 7
jmp 0x180096293
mov r13d, dword [rsp + 0x54]
cmp byte [r12 + 0xc7], 3
jne 0x1800915f2
mov r13d, 0x65
jmp 0x180096383
mov rcx, qword [rsp + 0x48]
mov dword [rbp + 0x120], edx
mov edx, dword [rcx + 8]
test edx, edx
je 0x1800922fa
mov rax, qword [r15 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x180095e53
movsxd rdi, dword [rcx + 4]
shl rdi, 5
add rdi, qword [r15 + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1800923c7
lea r8, [rbp + 0x120]
mov rcx, rbx
call fcn.1800766c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180095e6d
test byte [r12 + 0xc8], 0x20
je 0x1800923d0
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], r13d
je 0x1800923d0
cmp byte [r15 + 0x65], r13b
je 0x18009235f
cmp dword [r15 + 0xdc], 1
jle 0x1800923d0
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x180092383
inc dword [r15 + 0x2f4]
mov r8d, dword [r15 + 0x2f0]
add r8d, dword [r15 + 0x2f4]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.1800fa3c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800923af
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.180077d60
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [r15 + 0x2f8]
mov qword [r12 + 0x58], rax
mov rax, qword [r15 + 0x300]
mov qword [r12 + 0x60], rax
test r13d, r13d
jne 0x180092283
mov r14, qword [rsp + 0x48]
cmp word [r14 + 2], 0
je 0x1800915f7
mov eax, dword [r14 + 0xc]
cmp dword [rbp + 0x120], eax
jne 0x1800923fe
mov rcx, qword [rdi + 0x18]
mov eax, dword [r14 + 0x10]
cmp dword [rcx + 4], eax
je 0x1800915f7
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x180092413
mov rcx, r15
call fcn.18005ae70
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.18005b580
mov qword [r12 + 0xa8], rax
mov rax, qword [r15 + 0x20]
movsxd rdx, dword [r14 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x120]
cmp dword [rcx], eax
je 0x180092450
mov rcx, r15
call fcn.1800b59c0
mov eax, dword [r12 + 0xc8]
mov r13d, 0x11
and eax, 0xffffffed
mov rdi, r14
or eax, 1
mov dword [r12 + 0xc8], eax
jmp 0x180092288
mov rcx, qword [r15 + 0x20]
lea r8, [rbp + 0x160]
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov edx, dword [r14 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1800809a0
movsxd rax, dword [r14 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], ax
je 0x1800924d9
call fcn.18008f300
mov r11, qword [rsp + 0x60]
mov rcx, rax
movsxd rax, dword [rbp + 0x160]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x18008f97f
mov r11, qword [rsp + 0x60]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp + 0x160]
mov qword [rcx], rax
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.180080a30
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x18009255e
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movzx eax, word [rax + 2]
mov ecx, dword [r14 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r15
or dword [r15 + 0x2c], 1
mov edx, dword [r14 + 4]
call fcn.1800cab20
jmp 0x180092573
cmp eax, 2
jne 0x180092573
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 4], 1
jne 0x180092592
xor edx, edx
mov rcx, r15
call fcn.18008b400
and dword [r12 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x18009078a
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov r15, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je case.0x18008f888.112
mov eax, dword [r15 + 8]
cmp dword [rdi + 0x44], eax
jne case.0x18008f888.112
mov rcx, qword [rdi + 0x30]
add rdi, 0x30
call fcn.1800733b0
jmp 0x1800926f2
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, 1
je 0x180095ec1
mov rax, qword [rsp + 0x48]
mov edi, edx
mov rcx, qword [rsp + 0x68]
mov r14, rdx
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x180092645
mov rcx, qword [rsp + 0x48]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
and esi, 8
mov rax, qword [rbp - 0x78]
or esi, 4
cmp cl, byte [rax + 0xc5]
jae 0x180092647
mov byte [rax + 0xc5], cl
jmp 0x180092647
mov esi, edx
mov rcx, qword [rsp + 0x48]
test byte [rcx + 2], 0x10
je 0x180092669
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.180084020
mov rcx, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x18009267c
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x180092683
cmp al, 0xfd
jne 0x180092683
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rbp - 0x78]
mov r8d, edi
call fcn.18008eea0
mov rbx, rax
test rax, rax
je 0x180096235
mov rcx, qword [rax + 0x30]
lea rdi, [rax + 0x30]
or dword [rax + 8], 4
mov r9, r14
mov qword [rsp + 0x20], rcx
mov r8d, esi
mov rcx, r13
mov byte [rax + 1], r12b
mov edx, r15d
mov byte [rax + 2], 1
mov dword [rax + 0x44], r15d
call fcn.180077fb0
mov r12, qword [rbp - 0x78]
mov r13d, eax
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x38], r14
cmp byte [rax + 1], 0xf8
setne al
mov byte [rbx + 4], al
mov rax, qword [rsp + 0x48]
mov rcx, qword [rdi]
movzx edx, word [rax + 2]
and edx, 3
call fcn.180073600
test r13d, r13d
jne 0x180092283
jmp 0x1800915f2
mov r13, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 8]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x48]
call fcn.18008eea0
mov r10, rax
test rax, rax
je 0x18009620e
or dword [rax + 8], 1
mov r8d, 4
mov byte [rax + 2], 1
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x44]
mov dword [rax + 0x44], ecx
mov ecx, dword [rax + 8]
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, dword [rax + 8]
mov dword [rax + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180077fb0
mov r11, qword [rsp + 0x60]
mov r13d, eax
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x54], eax
jmp 0x18008f97f
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x1800927eb
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], edx
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x18013df0b]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x18009283f
test byte [rbx + 8], 8
jne 0x18009283f
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x18009283f
mov edx, dword [rbx + 0x44]
xor eax, eax
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], eax
call fcn.1800803e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
xor edx, edx
mov byte [rbx + 2], 1
jmp 0x18008faca
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.18008eea0
mov rbx, rax
test rax, rax
je 0x18009620e
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
mov r8, r15
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r15]
call fcn.180075040
mov r13d, eax
mov r15d, 1
test eax, eax
jne 0x180095ed5
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.1800766c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18009293a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x10]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x18009290e
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.1800800a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092908
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 3]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180077fb0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rbx + 4], 0
jmp 0x180092935
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r15d
mov dword [rbx + 0x44], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.180077fb0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rbx + 4], r15b
mov rsi, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
xor edx, edx
mov ecx, edx
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r13d, r13d
jne 0x180095ecc
mov rdi, qword [rsp + 0x58]
mov byte [rbx + 2], 1
jmp 0x18008faca
mov r13, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r12
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.18008eea0
test rax, rax
je 0x18009620e
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.180097e10
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
xor edx, edx
test rcx, rcx
je 0x180095424
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r12
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.18008eea0
test rax, rax
je 0x18009620e
mov rcx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x18016ba9c]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], 1
jmp 0x18008f97f
mov rdx, qword [r12 + 0x78]
mov rcx, r12
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.180087de0
mov rax, qword [rsp + 0x48]
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], rdx
jmp 0x18008faca
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov r12d, edx
mov r15, qword [rax + rcx*8]
cmp byte [r15 + 4], 0
mov word [r15 + 2], 0
mov dword [r15 + 0x20], edx
je 0x180092bc4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r11
movzx esi, word [rdi + 0x14]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x180092ada
xor edx, edx
mov rcx, rdi
call fcn.18008f030
mov rcx, rdi
call fcn.180083e70
movzx edx, word [rdi + 0x14]
mov r14, rax
mov word [rdi + 0x14], si
test dl, 0x24
jne 0x180092b88
test dl, 8
jne 0x180092b66
test dl, 1
jne 0x18009541d
cmp ebx, 0x17
jae 0x18009541d
mov rcx, qword [r15 + 0x30]
lea rdx, [rbp + 0x124]
call fcn.180078e70
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180096256
xor edx, edx
cmp dword [rbp + 0x124], edx
jne 0x18009540e
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
test r12d, r12d
je 0x18008fdc7
movzx r9d, byte [rsp + 0x40]
add r14, 0x18
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
movsd xmm1, qword [rdi]
mov rcx, r14
call fcn.18008a1a0
test eax, eax
jle 0x180092b7f
test bl, 1
jne 0x180092b88
dec ebx
jmp 0x180092b88
jns 0x180092b88
test bl, 1
je 0x180092b88
inc ebx
mov rcx, qword [r15 + 0x30]
lea r9, [rbp + 0x124]
xor r8d, r8d
mov rdx, r14
call fcn.180078e90
mov rsi, qword [rsp + 0x78]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov qword [r15 + 0x50], r14
test eax, eax
jne 0x18009626c
mov rdi, qword [rsp + 0x58]
lea r14d, [rax + 1]
jmp 0x180092c4d
mov rcx, qword [r15 + 0x30]
mov edx, 2
call fcn.180082360
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x124]
test eax, eax
mov r14d, 1
mov rax, qword [r15 + 0x38]
mov edx, 0xffffffff
mov qword [rbp - 0x50], rax
cmovne r12d, r14d
movzx eax, word [rcx + 0x10]
mov word [rbp - 0x34], ax
lea eax, [rbx - 1]
test r14b, al
mov byte [rbp - 0x2e], 0
mov eax, r14d
cmovne eax, edx
lea rdx, [rbp - 0x50]
mov byte [rbp - 0x32], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x48], rcx
mov rcx, qword [r15 + 0x30]
call fcn.180079110
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18009626c
test r12d, r12d
je 0x180092c4d
cmp byte [rbp - 0x2e], al
je 0x180092b2c
mov eax, dword [rbp + 0x124]
cmp ebx, 0x17
jl 0x180092cb7
test eax, eax
js 0x180092c70
jne 0x180092c63
cmp ebx, 0x18
je 0x180092c70
xor edx, edx
mov dword [rbp + 0x124], edx
jmp 0x180092b3a
xor r9d, r9d
xor edx, edx
mov dword [rbp + 0x124], r9d
mov rcx, qword [r15 + 0x30]
call fcn.180079970
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x180092b2c
cmp eax, 0x65
jne 0x18009626c
xor edx, edx
mov dword [rbp + 0x124], r14d
mov r14, qword [rsp + 0x48]
mov r13d, edx
mov dword [rsp + 0x54], edx
jmp 0x1800911f2
test eax, eax
jg 0x180092cd6
jne 0x180092cc2
cmp ebx, 0x15
je 0x180092cd6
mov rcx, qword [r15 + 0x30]
call fcn.1800796f0
mov dword [rbp + 0x124], eax
jmp 0x180092b2c
xor r9d, r9d
xor edx, edx
mov dword [rbp + 0x124], r9d
mov rcx, qword [r15 + 0x30]
call fcn.180079bc0
jmp 0x180092c85
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
call fcn.180078080
mov r14, qword [rsp + 0x48]
test eax, eax
je 0x1800958cc
mov rax, qword [rdi + 0x38]
mov rcx, r14
mov qword [rbp - 0x50], rax
mov byte [rbp - 0x32], 0
movzx eax, word [rcx + 0x28]
mov ebx, dword [rcx + 4]
mov word [rbp - 0x34], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
xor r9d, r9d
mov qword [rbp - 0x48], rcx
mov dword [rbp + 0x158], r9d
nop word [rax + rax]
lea r9, [rbp + 0x158]
mov rdx, rdi
lea r8, [rbp - 0x50]
mov rcx, r15
call fcn.18008b2c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18009078a
mov eax, dword [rbp + 0x158]
test eax, eax
jle 0x180092d88
cmp word [r14 + 2], r13w
je 0x180092dcf
test eax, eax
jns 0x180095422
test ebx, ebx
jle 0x180095921
mov rcx, qword [rdi + 0x30]
xor eax, eax
xor edx, edx
mov dword [rdi + 0x20], eax
dec ebx
call fcn.180079970
mov r13d, eax
test eax, eax
je 0x180092d50
cmp eax, 0x65
jne 0x18009078a
mov rdi, qword [rsp + 0x58]
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
add r14, 0x18
jmp 0x1800911f2
xor edx, edx
mov rdi, qword [rsp + 0x58]
add r14, 0x18
jmp 0x1800911f2
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x180092e0f
mov word [rdx + 0xc], ax
mov r14, qword [rsp + 0x48]
jmp 0x18008f984
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp ecx, eax
lea rcx, [0x180000000]
jle 0x1800910d8
mov word [rdx + 0xc], ax
xor edx, edx
jmp case.default.0x18008f888
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x18008f888.9
cmp byte [rdx + 2], 0
je 0x180092e05
jmp case.0x18008f888.9
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r14 + 0x10]
jge case.0x18008f888.89
mov r13, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp - 0x34], ax
mov qword [rbp - 0x48], rcx
test ax, ax
je 0x180092ed9
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
mov byte [rbp - 0x32], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.180079110
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x180092f4b
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x180092ef1
call fcn.180083a20
test eax, eax
jne 0x18009620e
mov rcx, qword [rbx + 0x38]
call fcn.180089ca0
mov rdi, rax
test rax, rax
je 0x18009620e
mov rcx, qword [rbp - 0x48]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.180089d00
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.180079110
mov rdx, rdi
mov dword [rsp + 0x54], eax
mov rcx, r15
mov r13d, eax
call fcn.18005ae70
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x18009227e
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r13b
setne al
xor edx, edx
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x48]
mov dword [rbx + 0x20], edx
movzx eax, byte [rax]
cmp al, 0x1d
jne 0x180092f95
mov r14, qword [rsp + 0x48]
test ecx, ecx
je 0x180095424
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
test ecx, ecx
jne 0x18009540e
cmp al, 0x1b
jne 0x180092fea
mov rcx, rdx
movzx edx, word [rbp - 0x34]
test rdx, rdx
je 0x1800958c7
mov rax, qword [rbp - 0x48]
add rax, 0x14
nop dword [rax]
test byte [rax], 1
jne 0x18009541d
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x180092fc0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
cmp al, 0x1a
jne 0x18008fdc7
movzx r9d, byte [rsp + 0x40]
mov rax, r14
movzx eax, word [rax + 0x10]
mov word [rbx + 0xc], ax
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne case.0x18008f888.31
movups xmm0, xmmword [rcx]
movzx r8d, r9b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x198], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x1a8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x198]
movups xmmword [rbp + 0x1b8], xmm0
movsd qword [rbp + 0x1c8], xmm1
call fcn.18008f180
xor edx, edx
test byte [rbp + 0x1ac], 4
je 0x18009540e
mov rdi, qword [rbp + 0x198]
jmp 0x180093095
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
mov rax, qword [rsp + 0x48]
lea r9, [rbp + 0x14c]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0x14c], edx
mov rdx, rdi
call fcn.180078e90
mov r14, qword [rsp + 0x48]
xor edx, edx
mov dword [rbx + 0x20], edx
mov r13d, eax
mov qword [rbx + 0x50], rdi
mov word [rbx + 2], 0
mov dword [rsp + 0x54], eax
mov eax, dword [rbp + 0x14c]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0x14c], edx
je 0x18009310c
cmp dword [r14 + 8], edx
jne 0x180095424
mov ecx, 0x18104
call fcn.18011fcb0
mov r13d, eax
mov dword [rsp + 0x54], eax
xor edx, edx
test r13d, r13d
jne 0x180092283
jmp 0x18008fdbd
mov rbx, qword [rsp + 0x48]
mov rcx, r12
mov rdx, rbx
call fcn.18008f330
mov rcx, qword [r12 + 0x78]
mov r14, rbx
movsxd rdx, dword [rbx + 4]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x18008f97f
mov rbx, qword [rsp + 0x48]
mov rcx, r12
mov qword [rbp - 0x60], rdx
mov dword [rbp + 0x120], edx
mov rdx, rbx
call fcn.18008f330
movsxd rdx, dword [rbx + 4]
mov rsi, rax
mov rcx, qword [r12 + 0x78]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x1800931f6
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x120]
call fcn.180078e70
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18009625f
cmp dword [rbp + 0x120], eax
je 0x1800931c5
mov r15d, 1
mov qword [rbp - 0x60], r15
jmp 0x1800931fc
mov rcx, qword [rdi + 0x30]
call fcn.180078090
movabs r14, 0x7fffffffffffffff
mov qword [rbp - 0x60], rax
mov r15d, 1
cmp rax, r14
jl 0x1800931ed
or dword [rdi + 8], 2
jmp 0x180093206
inc rax
mov qword [rbp - 0x60], rax
jmp 0x180093206
mov r15d, 1
movabs r14, 0x7fffffffffffffff
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x180093272
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x18009323a
mov rax, qword [rcx + 8]
test rax, rax
je 0x180093230
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180093224
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x180093243
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.180084020
mov rax, qword [rbx]
cmp rax, r14
je 0x1800932d7
test byte [rdi + 8], 2
jne 0x1800932d7
mov rcx, qword [rbp - 0x60]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x60], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x1800932f1
xor eax, eax
mov r14d, 8
mov ebx, eax
lea rdx, [rbp - 0x60]
mov ecx, r14d
call fcn.18005e2b0
mov rdx, qword [rbp - 0x60]
lea r9, [rbp + 0x120]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x60], rdx
mov rcx, qword [rdi + 0x30]
call fcn.180078e90
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18009201b
cmp dword [rbp + 0x120], eax
jne 0x1800932f1
inc ebx
cmp ebx, 0x64
jl 0x180093282
mov rax, qword [rsp + 0x68]
mov r13d, 0xd
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x180092293
mov byte [rdi + 3], 0
xor edx, edx
mov dword [rdi + 0x20], edx
mov rax, qword [rbp - 0x60]
mov qword [rsi], rax
jmp 0x18008fdb8
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + r11]
mov qword [rbp - 0x48], r8
jne 0x18009335e
cmp qword [r15 + 0x140], 0
je 0x18009335e
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
xor r10d, r10d
mov rsi, qword [rcx + rax]
jmp 0x180093367
xor r10d, r10d
mov edi, r10d
mov esi, r10d
movzx ecx, word [r13 + 2]
test cl, 1
je 0x18009338b
inc qword [r12 + 0x38]
movzx eax, word [r13 + 2]
movzx ecx, ax
test al, 0x20
je 0x18009338b
mov qword [r15 + 0x38], r8
movzx ecx, word [r13 + 2]
mov rax, qword [rdx + 8]
mov qword [rbp - 0x40], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp - 0x2c], eax
test cl, 0x10
je 0x1800933a4
mov r9d, dword [rbx + 0x24]
jmp 0x1800933a7
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x1800933b9
mov eax, dword [rdx]
mov dword [rbp - 0x28], eax
jmp 0x1800933bd
mov dword [rbp - 0x28], r10d
movzx r8d, cx
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x50], r10
and r8d, 0x8a
mov rcx, qword [rbx + 0x30]
call fcn.18007ea00
inc dword [rbp - 0x70]
xor edx, edx
mov dword [rsp + 0x54], eax
mov r13d, eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], edx
test eax, eax
jne 0x18009227e
test rdi, rdi
je 0x18008fdb8
mov rax, qword [rsp + 0x48]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r15 + 0x138]
test byte [rax + 2], 4
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x20], rax
call qword [r15 + 0x140]
jmp 0x1800915f2
mov r13, qword [rsp + 0x48]
mov rcx, qword [r12 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r13 + 0xc]
test eax, eax
je 0x180093461
imul rcx, rax, 0x38
mov r8, qword [rcx + r11]
jmp 0x180093466
xor eax, eax
mov r8d, eax
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.18007f010
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov r13, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov r14d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x1800934ef
cmp qword [r15 + 0x140], 0
je 0x1800934ef
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
test byte [r13 + 2], 2
mov rsi, qword [rcx + rax]
je 0x1800934f5
cmp byte [rbx + 4], 0
je 0x1800934f5
mov rcx, qword [rbx + 0x30]
call fcn.180078090
mov qword [rbx + 0x50], rax
jmp 0x1800934f5
mov rsi, rdx
mov rdi, rdx
movzx edx, byte [r13 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.18007f560
inc dword [rbp - 0x70]
xor edx, edx
mov dword [rsp + 0x54], eax
mov r13d, eax
mov qword [rbx + 0x20], rdx
test eax, eax
jne 0x18009227e
test r14b, 1
je 0x18008fdb8
inc qword [r12 + 0x38]
mov r10, qword [r15 + 0x140]
test r10, r10
je 0x18008fdb8
test rdi, rdi
je 0x18008fdb8
test byte [rdi + 0x30], 0x80
jne 0x18008fdb8
mov rax, qword [rbx + 0x50]
lea edx, [r13 + 9]
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r15 + 0x138]
mov qword [rsp + 0x20], rax
call r10
jmp 0x1800915f2
mov rdx, qword [r12 + 0x38]
mov rcx, r15
call fcn.18008b3f0
mov r11, qword [rsp + 0x60]
xor edx, edx
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov qword [r12 + 0x38], rdx
jmp case.0x18008f888.89
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 0x154]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
xor eax, eax
add rdx, r11
mov dword [rbp + 0x154], eax
call fcn.18009a5b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
xor edx, edx
cmp dword [rbp + 0x154], edx
jne 0x180095424
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r11
mov rcx, qword [rax + rcx*8]
call fcn.18009a4e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov rax, qword [rsp + 0x48]
xor edx, edx
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edx
jmp 0x18008faca
mov r13, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r13
call fcn.18008f330
mov rcx, qword [r12 + 0x78]
mov rbx, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.1800780d0
cmp eax, dword [r15 + 0x88]
ja 0x180095eed
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.180084c60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 0xc], eax
jne 0x1800958cc
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1800958cc
mov rcx, rbx
call fcn.1800839c0
test eax, eax
jne 0x18009620e
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
mov rbx, qword [rsp + 0x48]
mov rcx, r12
mov rdx, rbx
call fcn.18008f330
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r12 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x18009371d
mov eax, 1
mov word [rdi + 0x14], ax
jmp 0x1800915f2
cmp byte [rbx + 3], 0
je 0x180093736
mov rax, qword [rbx + 0x50]
mov qword [rbp + 0x170], rax
mov qword [rdi], rax
jmp 0x1800915f2
cmp byte [rbx], 2
jne 0x180093779
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x170]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.18008b580
test r13d, r13d
jne 0x180092283
mov rax, qword [rbp + 0x170]
mov qword [rdi], rax
jmp 0x1800915f2
mov rcx, rbx
call fcn.180089a60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
cmp byte [rbx + 2], al
je 0x1800937a3
mov eax, 1
mov word [rdi + 0x14], ax
jmp 0x1800915f2
mov rcx, qword [rbx + 0x30]
call fcn.180078090
mov qword [rbp + 0x170], rax
mov qword [rdi], rax
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x180093804
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r12
call fcn.18008eea0
test rax, rax
je 0x18009620e
xor edx, edx
mov byte [rax + 4], 1
or dword [rax + 8], 8
lea rcx, [0x18016ba9c]
mov dword [rax + 0x24], edx
mov qword [rax + 0x30], rcx
jmp 0x180093806
xor edx, edx
cmp byte [rax], 0
mov byte [rax + 2], 1
mov dword [rax + 0x20], edx
jne 0x18008fdb8
mov rcx, qword [rax + 0x30]
call fcn.1800733b0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x30]
mov dword [rbp + 0x148], edx
cmp bl, 0x89
jne 0x18009386c
mov rcx, rsi
mov dword [rdi + 0x24], 0xffffffff
call fcn.180078080
test eax, eax
jne 0x1800958c7
lea rdx, [rbp + 0x148]
mov rcx, rsi
call fcn.180078e70
mov r13d, eax
mov dword [rsp + 0x54], eax
movzx eax, byte [rbp + 0x148]
xor edx, edx
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
test r13d, r13d
jne 0x18009227e
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 8], edx
jle 0x18008fdbd
cmp dword [rbp + 0x148], edx
jne 0x180095424
jmp 0x18008fdbd
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x138]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.180078d30
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
cmp dword [rbp + 0x138], eax
je 0x180093903
mov rcx, 0xffffffffffffffff
jmp 0x180093917
mov rcx, rbx
call fcn.180079700
mov rcx, rax
call fcn.180061750
movsx rcx, ax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
cmp rcx, rax
jl 0x180093943
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x10]
cmp rcx, rax
jg 0x180093943
mov eax, 1
mov dword [rbp + 0x138], eax
jmp 0x1800911eb
xor edx, edx
mov dword [rbp + 0x138], edx
jmp 0x18008faca
inc dword [r12 + 0xdc]
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x130]
mov r15d, 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x130], r15d
cmp byte [rbx], r15b
jne 0x18009398f
mov rcx, rbx
call fcn.18009a360
xor edx, edx
jmp 0x1800939a1
mov rcx, qword [rbx + 0x30]
call fcn.180078d30
xor edx, edx
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], edx
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180095ed5
mov r14, qword [rsp + 0x48]
movzx eax, byte [rbp + 0x130]
mov byte [rbx + 2], al
cmp dword [r14 + 8], r13d
jle 0x18008fdbd
cmp dword [rbp + 0x130], r13d
jne 0x180095424
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.18009a430
jmp 0x180093a4a
mov r13, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.180079bc0
jmp 0x180093a4a
mov r13, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.180079970
mov r13d, eax
mov dword [rsp + 0x54], eax
xor edx, edx
mov dword [rbx + 0x20], edx
test eax, eax
jne 0x180093a73
mov rax, qword [rsp + 0x48]
mov byte [rbx + 2], dl
movzx eax, word [rax + 2]
inc dword [r12 + rax*4 + 0xd4]
jmp case.0x18008f888.9
cmp r13d, 0x65
jne 0x180092283
mov r13d, edx
mov dword [rsp + 0x54], edx
mov byte [rbx + 2], 1
jmp 0x1800943f7
mov r13, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [r13 + 2], 1
je 0x180093ab6
inc qword [r12 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x180093ae0
mov rcx, rbx
call fcn.180083a20
mov r13d, eax
test eax, eax
jne 0x180092283
mov r13, qword [rsp + 0x48]
xor edx, edx
mov r11, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x48], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 0x50], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp - 0x30], ax
mov qword [rbp - 0x38], rcx
test r8b, 0x10
je 0x180093b19
mov r9d, dword [rdi + 0x24]
jmp 0x180093b1c
mov r9d, edx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp - 0x50]
and r8d, 0x8a
call fcn.18007ea00
xor edx, edx
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x20], edx
mov r13d, eax
test eax, eax
jne 0x180092283
jmp 0x18008fdb8
mov rbx, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x180093b84
mov rcx, rbx
call fcn.180083a20
mov r13d, eax
test eax, eax
jne 0x180092283
mov rdx, rbx
mov rcx, rdi
call fcn.180099250
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
jmp 0x1800915f2
mov r13, qword [rsp + 0x48]
lea r8, [rbp + 0x15c]
mov rax, qword [r12 + 0x78]
lea rdx, [rbp - 0x50]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp - 0x50], rax
movzx eax, word [r13 + 0xc]
mov word [rbp - 0x34], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov byte [rbp - 0x32], 0
add rcx, r11
mov qword [rbp - 0x48], rcx
mov rcx, rbx
call fcn.180079110
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
cmp dword [rbp + 0x15c], eax
jne 0x180093c30
mov dl, 4
mov rcx, rbx
call fcn.18007f560
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
xor edx, edx
mov qword [rdi + 0x20], rdx
jmp 0x18008fdbd
mov r14, qword [rsp + 0x48]
cmp word [r14 + 2], 0
je 0x180093c4d
mov rcx, r15
call fcn.1800b66c0
test eax, eax
je 0x180095f07
xor edx, edx
mov qword [rdi + 0x20], rdx
jmp 0x18008fdbd
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.180089a60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
cmp byte [rbx + 2], al
jne 0x180093d34
xor r14d, r14d
lea r8, [rbp + 0x178]
mov qword [rbp + 0x178], r14
mov rcx, r15
mov rdx, qword [rbx + 0x30]
call fcn.18008b070
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x180093d0a
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r12 + 0x78]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r14b
mov rax, qword [rbp + 0x178]
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x48]
mov dword [rdx + 0x20], r14d
mov r14, qword [rsp + 0x48]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x18008f97f
mov rdx, rax
mov rcx, r12
call fcn.18008f330
mov rcx, qword [rbp + 0x178]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rax], rcx
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.1800843f0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x18008fdf5
call fcn.180089990
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov r13, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp - 0x50], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x34], ax
sbb al, al
mov byte [rbp - 0x32], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x48], rcx
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.1800780d0
mov ebx, eax
test eax, eax
je 0x180095f28
cmp rbx, 0x7fffffff
ja 0x180095f28
xor r8d, r8d
lea rcx, [rbp + 0x90]
mov rdx, r15
call fcn.1800843d0
lea r8, [rbp + 0x90]
mov edx, ebx
mov rcx, rdi
call fcn.180084c60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov rdx, qword [rbp + 0x98]
lea r8, [rbp - 0x50]
mov ecx, dword [rbp + 0xa0]
xor r9d, r9d
call fcn.18008a350
lea rcx, [rbp + 0x90]
mov ebx, eax
call fcn.180083e30
mov rcx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movzx edx, byte [rcx]
lea ecx, [rbx + 1]
neg ebx
and dl, 1
cmovne ebx, ecx
xor edx, edx
test ebx, ebx
jg 0x180095424
jmp 0x18008fdbd
mov r13, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r13
call fcn.18008f330
mov rbx, rax
mov eax, 1
mov word [rbx + 0x14], ax
mov ecx, dword [r15 + 0xe8]
inc ecx
cmp dword [r15 + 0xdc], ecx
jg 0x180095f3a
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp + 0x134]
mov rcx, qword [r15 + 0x20]
xor eax, eax
mov edx, dword [r13 + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp + 0x134], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.180080940
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rax, dword [rbp + 0x134]
mov qword [rbx], rax
test r13d, r13d
jne 0x180092283
mov r8d, dword [rbp + 0x134]
test r8d, r8d
je 0x1800958c7
mov rax, qword [rsp + 0x48]
mov edx, edi
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.1800bae60
lea eax, [rdi + 1]
mov byte [rbp - 0x80], al
jmp 0x1800915f2
mov r13, qword [rsp + 0x48]
lea r8, [rbp + 0x128]
mov rcx, qword [r15 + 0x20]
mov qword [rbp + 0x128], rdx
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1800803e0
mov r14, qword [rsp + 0x48]
mov r13d, eax
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x54], eax
cmp dword [r14 + 0xc], 0
je 0x180093f92
mov rdx, qword [rbp + 0x128]
add qword [r12 + 0x38], rdx
movsxd rax, dword [r14 + 0xc]
test eax, eax
jle 0x180093f92
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test r13d, r13d
jne 0x18009078a
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x180093fde
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.180098470
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rcx, qword [rcx + 0x30]
call fcn.1800804c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov r13, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r13
call fcn.18008f330
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x150]
mov r8d, dword [r13 + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r15 + 0x20]
mov dword [rbp + 0x150], eax
mov rcx, qword [rcx + 8]
call fcn.1800800a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov eax, dword [rbp + 0x150]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx], rax
jmp 0x18008f97f
inc byte [r15 + 0x70]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [r15 + 0x200]
movzx edi, byte [r15 + 0x6e]
mov esi, dword [r15 + 0x2e8]
mov eax, dword [rcx + 4]
mov qword [rbp - 0x60], rdx
test al, 1
je 0x1800940a9
mov qword [r15 + 0x200], rdx
mov byte [r15 + 0x6e], 0
mov eax, dword [rcx + 4]
test al, 2
je 0x1800940b7
mov eax, dword [rcx + 8]
mov dword [r15 + 0x2e8], eax
mov rdx, qword [rcx + 0x10]
lea rax, [rbp - 0x60]
mov rcx, r15
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
call fcn.1800d4430
mov r8, qword [rbp - 0x60]
mov r13d, eax
dec byte [r15 + 0x70]
mov dword [rsp + 0x54], eax
mov qword [r15 + 0x200], rbx
mov byte [r15 + 0x6e], dil
mov dword [r15 + 0x2e8], esi
test r8, r8
jne 0x180094100
test eax, eax
je 0x1800915f2
lea rdx, [0x1801478d8]
mov rcx, r12
call fcn.1800857e0
mov rcx, qword [rbp - 0x60]
call fcn.18005ad90
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
cmp r13d, 7
je 0x180096213
mov rax, qword [rsp + 0x68]
mov r15d, 1
mov rdi, qword [rsp + 0x48]
jmp 0x180092298
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x18009419c
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1800c1390
and dword [r15 + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.1800dd3f0
or dword [r15 + 0x2c], 1
mov r13d, eax
and dword [r12 + 0xc8], 0xfffffffc
mov dword [rsp + 0x54], eax
jmp 0x180094264
mov dword [rbp - 0x40], ebx
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x38], edx
shl rbx, 5
mov rcx, qword [rbx + rcx + 8]
call fcn.180074d30
mov r8, qword [r15 + 0x20]
lea r9, str.sqlite_master
mov dword [rbp - 0x30], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r13 + 0x10]
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r8, qword [rbx + r8]
call fcn.18005dba0
mov rbx, rax
mov rcx, r15
test rax, rax
je 0x180095f4e
xor eax, eax
mov byte [r15 + 0xc5], 1
lea r9, [rbp - 0x50]
mov dword [rbp - 0x3c], eax
lea r8, [fcn.1800dd1a0]
mov dword [rbp - 0x34], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800d4430
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180094251
mov r13d, dword [rbp - 0x3c]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x180094251
cmp dword [rbp - 0x34], r13d
jne 0x180094251
mov ecx, 0x1873a
call fcn.18011fcb0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdx, rbx
mov rcx, r15
call fcn.18005ae70
mov byte [r15 + 0xc5], 0
test r13d, r13d
je 0x18008fb26
mov rcx, r15
call fcn.1800b5a40
jmp 0x18009411d
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1800b2d60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800b6370
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800b56b0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800f1da0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov r13, qword [rsp + 0x48]
mov rdx, qword [r15 + 0x20]
movsxd rcx, dword [r13 + 4]
mov r8, qword [r13 + 0x10]
mov r10d, dword [r13 + 8]
add r8, 4
imul rdi, rcx, 0x38
lea eax, [rcx + 1]
movsxd rcx, eax
add rdi, r11
movsxd rax, dword [r13 + 0xc]
imul rbx, rcx, 0x38
imul r9, rax, 0x38
mov ecx, dword [rdi]
add rbx, r11
movzx eax, word [r13 + 2]
inc ecx
shl rax, 5
add r9, r11
lea r11, [rbp - 0x20]
mov rdx, qword [rax + rdx + 8]
mov qword [rsp + 0x38], r11
lea r11, [rbp + 0x180]
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], ecx
mov rcx, r15
mov dword [rsp + 0x20], r10d
call fcn.1800819c0
mov rcx, rbx
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.1800843f0
mov eax, dword [rbp + 0x180]
test eax, eax
je 0x1800943e5
test r13d, r13d
jne 0x180095f58
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.18005ad90]
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800847c0
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.180083690
mov rdi, qword [rsp + 0x58]
mov eax, dword [r15 + 0x198]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
test eax, eax
jne 0x180096012
cmp rsi, rbx
jb 0x1800958c7
nop dword [rax]
mov rdx, qword [r15 + 0x210]
test rdx, rdx
je 0x1800958c7
mov eax, dword [r15 + 0x220]
mov rcx, qword [r15 + 0x218]
add rbx, rax
mov qword [rsp + 0x70], rbx
call rdx
test eax, eax
jne 0x18009600b
cmp rsi, rbx
jae 0x180094420
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x18009449b
mov rcx, rbx
call fcn.180084530
test eax, eax
jne 0x18009620e
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.180069170
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 0x10
je 0x1800944f9
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x190]
call fcn.1800695f0
test eax, eax
je 0x1800944f9
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbp + 0x190]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.1800844a0
jmp 0x1800943f7
mov rcx, rbx
call fcn.1800843f0
jmp case.0x18008f888.9
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add rbx, r11
add rsi, r11
test byte [rbx + 0x14], 0x10
jne 0x18009453a
mov rcx, rbx
call fcn.180084530
test eax, eax
jne 0x180096209
test edi, edi
je 0x18009455c
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.180069670
test eax, eax
jne 0x18009541d
test edi, edi
js 0x1800958c7
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.180069170
jmp 0x1800915f2
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, r11
cmp word [rcx + 2], 0
je 0x1800945b3
mov rax, qword [r12 + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x1800945b3
nop dword [rax]
cmp qword [rax + 0x30], rcx
je 0x18008fdf5
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800945a0
mov r8, qword [rsp + 0x68]
mov eax, dword [r12 + 0x118]
cmp eax, dword [r8 + 0xb0]
jge 0x180095f66
test byte [r14 + 0x14], 0x10
jne 0x1800946fb
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x1800945fe
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, r8
movsxd rdx, ebx
call fcn.18005b190
mov rsi, rax
test rax, rax
je 0x180096204
mov rcx, r14
call fcn.180083e10
mov r8, qword [rsp + 0x68]
mov eax, 0x1010
mov word [r14 + 0x14], ax
lea rax, [0x180087350]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [r14 + 8], rsi
mov dword [r14 + 0x10], ebx
mov qword [rsi], r12
mov dword [rsi + 0x58], edi
mov ecx, dword [r15 + 0x10]
mov dword [rsi + 0x5c], ecx
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x58]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x4c], edx
xor edx, edx
mov rax, qword [r12 + 0x68]
mov qword [rsi + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rsi + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rsi + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rsi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x30], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x1800946f1
nop dword [rax]
nop dword [rax + rax]
mov word [rax + 0x14], dx
mov qword [rax + 0x18], r8
add rax, 0x38
cmp rax, rcx
jne 0x1800946e0
mov eax, dword [r12 + 0x118]
jmp 0x1800946ff
mov rsi, qword [r14 + 8]
inc eax
mov dword [r12 + 0x118], eax
mov rax, qword [r12 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [r8 + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x60], rax
mov rax, qword [r12]
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x68], rcx
mov rax, qword [r12 + 0x128]
mov qword [rsi + 0x40], rax
mov qword [r12 + 0x128], rdx
mov qword [r12 + 0x38], rdx
lea rdx, [rsi + 0x70]
mov qword [r12 + 0x68], rdx
mov qword [r12 + 0x108], rsi
movsxd rcx, dword [rsi + 0x58]
mov dword [r12 + 0x24], ecx
movzx eax, word [rsi + 0x5c]
mov dword [r12 + 0x28], eax
mov qword [rsp + 0x60], rdx
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r12 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x28], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [r15]
mov qword [r12 + 0x88], rdi
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x68]
mov dword [r12 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rdi
jmp 0x1800943f7
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18008f330
mov r9, qword [r12 + 0x108]
movsxd rcx, dword [r9 + 0x4c]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x48]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x4000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x18]
call fcn.1800846b0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov eax, dword [r15 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r14, rax
jae 0x180094854
movsxd rax, dword [rax + 8]
add qword [r15 + 0x300], rax
jmp case.0x18008f888.89
cmp dword [rax + 4], 0
lea rcx, [0x180000000]
movsxd rax, dword [rax + 8]
je 0x180094871
add qword [r15 + 0x2f8], rax
jmp case.default.0x18008f888
add qword [r12 + 0x50], rax
jmp case.default.0x18008f888
cmp dword [r14 + 4], 0
je 0x1800948a3
cmp qword [r15 + 0x2f8], 0
jne case.0x18008f888.89
cmp qword [r15 + 0x300], 0
je 0x1800911f2
jmp case.0x18008f888.89
cmp qword [r12 + 0x50], 0
jne case.0x18008f888.89
cmp qword [r15 + 0x300], 0
je 0x1800911f2
jmp case.0x18008f888.89
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x1800948ff
mov rax, qword [rcx + 8]
test rax, rax
je 0x1800948ec
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800948e0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x18009490f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.180084020
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.180084020
mov rax, qword [rbx]
xor edx, edx
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
cmp qword [rdi], rax
jge 0x18008fdc7
movzx r9d, byte [rsp + 0x40]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x18008f984
mov rax, r14
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x1800911f0
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
call fcn.18008f330
mov rcx, qword [rbx]
mov rsi, rax
mov qword [rbp + 0x188], rcx
test rcx, rcx
jle 0x1800949f9
mov rdx, qword [rdi]
lea rcx, [rbp + 0x188]
test rdx, rdx
mov eax, 0
cmovle rdx, rax
call fcn.1800615f0
test eax, eax
jne 0x1800949f9
mov rax, qword [rbp + 0x188]
mov qword [rsi], rax
jmp 0x1800915f2
mov qword [rsi], 0xffffffffffffffff
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x18008fdf5
mov r14, qword [rsp + 0x48]
jle 0x1800911f2
dec rax
mov qword [rcx + r11], rax
jmp 0x1800911f2
mov rax, qword [rsp + 0x48]
movabs r10, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, r10
jle 0x180094a5d
dec rax
mov qword [rcx + r11], rax
mov r14, qword [rsp + 0x48]
test rax, rax
je 0x1800911f2
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
mov rcx, r15
movzx edi, word [rax + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.18005b220
mov rbx, rax
test rax, rax
je 0x180096209
xor eax, eax
add rsi, 6
mov rdx, r15
mov qword [rbx + 0x10], rax
lea rcx, [rbx + rsi*8]
lea r8d, [rax + 1]
mov qword [rbx], rcx
call fcn.1800843d0
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 8], rcx
mov rcx, rax
sub rcx, r14
mov qword [rbx + 0x18], r12
mov byte [rbx + 0x29], 0
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov byte [rbx + 0x2a], dil
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], eax
movzx eax, byte [rsp + 0x40]
mov byte [rbx + 0x28], al
mov rax, qword [rsp + 0x48]
mov word [rax], 0xf1a3
mov qword [rax + 0x10], rbx
jmp 0x180094b22
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov rdi, qword [rsp + 0x60]
imul r10, rax, 0x38
add r10, rdi
mov qword [rbp - 0x68], r10
cmp qword [rbx + 0x10], r10
je 0x180094b95
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x180094b95
mov r10, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x180094b70
mov r10, qword [rbp - 0x68]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [rcx + 4], 0
mov rcx, rbx
je 0x180094bb8
call qword [rax + 0x30]
jmp 0x180094bbb
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1800958e8
jle 0x180094beb
mov rcx, qword [rbx]
call fcn.18008bb30
mov r8, rax
lea rdx, [0x1801478d8]
mov rcx, r12
call fcn.1800857e0
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
cmp byte [rbx + 0x29], 0
je 0x180094c13
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x180094c0f
imul rcx, rax, 0x38
mov edx, 1
add rcx, rdi
call fcn.1800844a0
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
call fcn.180083e10
mov rax, qword [rbx]
xor edx, edx
mov r15d, 1
mov word [rax + 0x14], r15w
mov dword [rbx + 0x24], edx
test r13d, r13d
jne 0x180090107
mov r14, qword [rsp + 0x48]
mov r11, rdi
mov rdi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
jmp case.0x18008f888.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, qword [rcx + 0x10]
add rbx, r11
test eax, eax
je 0x180094c9d
imul rdx, rax, 0x38
mov r8, rcx
mov rcx, rbx
add rdx, r11
call fcn.180083c60
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
jmp 0x180094caf
mov rdx, rcx
mov rcx, rbx
call fcn.180083b30
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rcx, rbx
test r13d, r13d
jne 0x180095f8d
movzx edx, byte [rsp + 0x40]
call fcn.180083690
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
lea rax, [rbp + 0x1d8]
mov dword [rbp + 0x1d0], edx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1d4]
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov qword [rbp + 0x1d4], 0xffffffffffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.18011ddb0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x180094d3a
cmp eax, 5
jne 0x180092283
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rbp + 0x1d0], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x60]
xor eax, eax
mov ebx, eax
movsxd rdx, dword [rbp + rbx*4 + 0x1d0]
mov rcx, rdi
call fcn.1800844a0
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x180094d50
jmp 0x1800915f2
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18008f330
mov r15, rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
mov rax, qword [rsp + 0x68]
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov r14, qword [rdx + rcx + 8]
mov rcx, r14
call fcn.180080c30
mov rcx, rax
mov rsi, rax
call fcn.18006ee80
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.18006ee90
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.18006e9f0
cmp ebx, 5
jne 0x180094df9
mov rcx, rax
call fcn.18005ebf0
test eax, eax
je 0x180094df2
mov rcx, rsi
call fcn.18006eeb0
test eax, eax
jne 0x180094df9
mov ebx, edi
jmp 0x180094e7a
cmp ebx, edi
je 0x180094e7a
cmp edi, 5
je 0x180094e07
cmp ebx, 5
jne 0x180094e7a
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x65], 0
je 0x180095fa9
cmp dword [rax + 0xdc], 1
jg 0x180095fa9
cmp edi, 5
jne 0x180094e4a
mov rdx, rax
mov rcx, rsi
call fcn.18006f1d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180094e7f
mov edx, ebx
mov rcx, rsi
call fcn.18006ece0
jmp 0x180094e5f
cmp edi, 4
jne 0x180094e5a
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.18006ece0
test r13d, r13d
jne 0x180094e7f
xor eax, eax
mov rcx, r14
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.180082220
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
je 0x180094e81
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.18006ece0
mov ecx, 0x2202
mov word [r15 + 0x14], cx
mov ecx, eax
call fcn.1800d5760
mov rcx, rax
mov qword [r15 + 8], rax
call fcn.18005ebf0
movzx edx, byte [rsp + 0x40]
mov rcx, r15
mov dword [r15 + 0x10], eax
mov byte [r15 + 0x16], 1
call fcn.180083690
test r13d, r13d
jne 0x18009227e
jmp 0x1800915f2
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x180094ee2
imul r9, rax, 0x38
add r9, r11
jmp 0x180094ee5
mov r9, rdx
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, r15
call fcn.1800f8040
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180077290
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x1800958c7
cmp eax, 0x65
jne 0x180092283
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
mov r14, qword [rsp + 0x48]
jmp 0x1800911f2
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x180094f8e
mov edx, dword [rax + 8]
mov rcx, r15
call fcn.18008b400
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov eax, dword [rax + 8]
mov r14, qword [rsp + 0x48]
inc eax
xor eax, dword [r12 + 0xc8]
and eax, 3
xor dword [r12 + 0xc8], eax
jmp case.0x18008f888.89
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.1800780b0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.1800780c0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
movzx r8d, byte [r14 + 0xc]
test r8b, r8b
jne 0x18009502e
movabs rax, 0x400000000
test qword [r15 + 0x30], rax
jne 0x18008fada
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180082030
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18008fb26
mov rdi, qword [rsp + 0x48]
cmp al, 6
jne 0x180092288
mov r8, qword [rdi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
call fcn.1800857e0
jmp 0x180092288
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1800fa2c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test rbx, rbx
je 0x1800950ad
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.18008b580
test r13d, r13d
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x58], rdx
xorps xmm0, xmm0
mov qword [rbp + 0x88], rdx
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x78], xmm1
mov qword [rbp + 0x70], r15
add rdx, r11
call fcn.1800846f0
lea rcx, [rbp + 0x58]
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.18008bb30
test rax, rax
je 0x18009513a
mov r8, rax
lea r9, [r12 + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1800f9b40
mov r13d, eax
mov dword [rsp + 0x54], eax
lea rcx, [rbp + 0x58]
call fcn.180083e10
test r13d, r13d
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov rcx, r15
inc dword [r15 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800fa070
dec dword [r15 + 0xe8]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180092283
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x60], rdx
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180095ff2
mov rdi, qword [rbx]
test rdi, rdi
je 0x180095ff2
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.18008b580
test r13d, r13d
jne 0x180092283
mov rax, qword [rbp - 0x60]
mov r9b, 2
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.18008eea0
mov rcx, qword [rbp - 0x60]
test rax, rax
je 0x180095fea
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x60], rdx
movsxd rax, dword [rax + 8]
imul rsi, rax, 0x38
add rsi, r11
mov rcx, rsi
call fcn.1800843f0
mov rcx, qword [rsp + 0x48]
mov r14, qword [rcx + 0x10]
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1800958c7
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rbx]
call fcn.1800f8bd0
mov rcx, qword [rsp + 0x48]
lea r8, [rbp - 0x60]
mov rdx, qword [r15 + 0x20]
mov qword [rsp + 0x20], r8
mov r8, qword [r14]
movsxd rax, dword [rcx + 4]
mov r9d, dword [rcx + 0xc]
mov rcx, rbx
shl rax, 5
mov rdx, qword [rax + rdx]
call qword [rdi + 0xc0]
mov rcx, qword [r14 + 0x50]
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1800f8be0
test r13d, r13d
jne 0x180095ffd
mov rdx, qword [rbp - 0x60]
test rdx, rdx
je 0x1800958c7
lea rax, [fcn.18005ad90]
mov r9b, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1800847c0
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov ecx, 0x10
call fcn.18005ad40
mov rbx, rax
test rax, rax
je 0x18009620e
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
mov rcx, r12
add rdx, qword [rsp + 0x60]
mov qword [rbx + 8], rdx
mov rdx, rax
call fcn.18008f330
mov ecx, 1
lea r9, [0x18008c970]
lea r8, str.ValueList
mov rdx, rbx
mov word [rax + 0x14], cx
mov rcx, rax
call fcn.1800844c0
jmp 0x1800915f2
mov rcx, qword [rsp + 0x48]
mov rdi, qword [r12 + 0x70]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r11
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x30]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1800953b9
mov r10d, 1
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x1800953a0
mov rax, qword [rsp + 0x48]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov ebx, eax
mov dword [rsp + 0x54], eax
call fcn.18008b580
test ebx, ebx
jne 0x180096247
mov rcx, rsi
call qword [r14 + 0x50]
mov r14, qword [rsp + 0x48]
xor edx, edx
mov byte [r13 + 2], bl
mov r13d, ebx
test eax, eax
je 0x18008fdbd
mov rdi, qword [rsp + 0x58]
jmp 0x1800911f2
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x1800911f2
mov r14, qword [rsp + 0x48]
xor edx, edx
mov rdi, qword [rsp + 0x58]
jmp 0x1800911f2
mov rbx, qword [rsp + 0x48]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], 0
je 0x18009545e
mov rcx, rbx
call fcn.1800843f0
jmp 0x1800915f2
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov r13, qword [rsp + 0x48]
mov rsi, qword [rax]
xor eax, eax
test byte [r13 + 2], 1
mov r14, qword [rsi]
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0xd0]
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x28], rax
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x20], rbx
mov byte [rbp + 0x48], r9b
mov qword [rbp + 0xd8], rdx
mov dword [rbp + 0xd4], 0x1000000
je 0x1800954c0
mov rcx, rbx
call fcn.1800843f0
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x1800954d0
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x20]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.18008b580
cmp dword [rbp + 0x44], 0
jle 0x18009551f
mov rcx, rbx
call fcn.18008bb30
mov r8, rax
lea rdx, [0x1801478d8]
mov rcx, r12
call fcn.1800857e0
mov r13d, dword [rbp + 0x44]
mov dword [rsp + 0x54], r13d
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.180083690
test r13d, r13d
jne 0x18009227e
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x180095bf6
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.18008b580
test r13d, r13d
jne 0x18009227e
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x1800943f2
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rdi + rcx*8]
mov qword [rsp + 0x48], rax
jmp 0x1800943f7
mov rcx, qword [rsp + 0x48]
mov edx, 1
mov edi, dword [r15 + 0x30]
or qword [r15 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.180083690
mov r13d, eax
test eax, eax
jne 0x18009227e
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x54], eax
mov r13d, eax
test edi, edi
jne 0x180095615
and qword [r15 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r12
call fcn.18008b580
and dword [r12 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x18009227e
jmp 0x1800915f2
cmp byte [r15 + 0x67], 0
mov qword [rbp + 0x128], rdx
jne 0x18009620e
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180095ff2
mov r10, qword [rbx]
test r10, r10
je 0x180095ff2
cmp qword [r10 + 0x68], 0
mov r14, qword [rsp + 0x48]
movsxd rdx, dword [r14 + 8]
je 0x18008f984
movsxd rax, dword [r14 + 0xc]
movzx edi, byte [r15 + 0x6c]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r11
test edx, edx
jle 0x1800956b0
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1800956a0
movzx eax, byte [r14 + 2]
lea r9, [rbp + 0x128]
mov rcx, rbx
mov byte [r15 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x6c], dil
mov rcx, r12
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.18008b580
test r13d, r13d
jne 0x180095716
cmp dword [r14 + 4], r13d
je 0x1800956f3
mov rax, qword [rbp + 0x128]
mov qword [r15 + 0x38], rax
inc qword [r12 + 0x38]
test r13d, r13d
jne 0x180092283
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18008f97f
cmp r13b, 0x13
jne 0x1800956f3
mov rax, qword [r14 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x1800956f3
movzx ecx, word [r14 + 2]
cmp ecx, 4
jne 0x18009601d
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
jmp 0x18008fdbd
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18008f330
mov rcx, qword [r15 + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.180074d30
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov ecx, eax
mov qword [rbx], rcx
jmp 0x18008f97f
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18008f330
mov r8, qword [rsp + 0x48]
mov rdi, rax
mov rcx, qword [r15 + 0x20]
xor eax, eax
movsxd rdx, dword [r8 + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
cmp dword [r8 + 0xc], eax
je 0x1800957ca
mov rcx, rbx
call fcn.180074d30
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0xc]
cmp eax, ecx
cmovb eax, ecx
mov edx, eax
mov rcx, rbx
call fcn.180075cf0
mov eax, eax
mov qword [rdi], rax
jmp 0x1800915f2
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r11
cmp qword [rbx], rdi
je 0x180095846
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov byte [rbx + 0x28], r9b
sub rdx, 1
mov qword [rbx + 0x18], r12
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x180095846
mov r15, qword [rsp + 0x48]
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
nop
mov eax, dword [r15 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r11
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x180095820
mov r15, qword [rsp + 0x68]
mov eax, 0xf241
lea r8, [rbx + 0x30]
and word [rdi + 0x14], ax
mov rcx, rbx
or word [rdi + 0x14], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1800958c7
jle 0x180095892
mov rcx, rdi
call fcn.18008bb30
mov r8, rax
lea rdx, [0x1801478d8]
mov rcx, r12
call fcn.1800857e0
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
mov rax, qword [rsp + 0x48]
lea rdx, [r12 + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.1800894f0
xor edx, edx
mov dword [rbx + 0x24], edx
test r13d, r13d
jne 0x180092283
jmp 0x18008fdb8
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
xor edx, edx
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
mov r14, qword [rsp + 0x48]
mov r11, rdi
mov rdi, qword [rsp + 0x58]
xor edx, edx
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
jmp case.0x18008f888.89
mov r14, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
xor edx, edx
jmp 0x18008fdbd
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
jmp case.0x18008f888.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov eax, 0x800
add rcx, r11
test word [rdx + r11 + 0x14], ax
je 0x180093d46
movzx edx, byte [rdx + r11 + 0x17]
call fcn.1800844a0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, r11
test byte [rdx + r11 + 0x14], 1
je 0x1800959c6
mov eax, 0xf7ff
and word [rcx + 0x14], ax
jmp 0x18008f984
mov eax, 0x800
or word [rcx + 0x14], ax
movzx eax, byte [rdx + r11]
mov byte [rcx + 0x17], al
jmp 0x18008f984
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.18008f360
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x18008f97f
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.18008f360
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r14, qword [rsp + 0x48]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x180095a8d
inc dword [r12 + 0xf4]
jmp 0x1800911f0
inc dword [r12 + 0xf0]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
movzx eax, byte [r15 + 0x6e]
test al, 0x41
je 0x180095b05
cmp byte [r12 + 0xc5], 0xfe
je 0x180095b05
mov rcx, qword [rsp + 0x48]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x180095ad4
mov r9, qword [r12 + 0xf8]
test r9, r9
je 0x180095b05
test al, 0x40
je 0x180095b7a
mov rdx, r9
mov rcx, r12
call fcn.18008e950
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.18005ad90
xor edx, edx
mov ebx, 1
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x1801673d8]
jl 0x180095b67
cmp byte [r14], 0xb8
je 0x18008facf
cmp dword [r12 + 0x90], 1
mov edx, ebx
jle 0x180095b63
mov eax, 0x18
xor r9d, r9d
nop
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x180095b53
mov dword [rax + rcx + 4], r9d
inc edx
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x180095b40
xor edx, edx
mov eax, edx
inc eax
mov dword [r14 + 4], eax
inc dword [r12 + 0xec]
jmp 0x1800911f2
cmp dword [r15 + 0xe4], 1
jle 0x180095bc2
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.18005dba0
mov rdx, qword [r15 + 0x100]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [r15 + 0xf8]
mov rdx, rbx
mov rcx, r15
call fcn.18005aed0
jmp 0x180095b03
mov rdx, qword [r15 + 0x100]
mov ebx, 1
mov ecx, ebx
mov r8, r12
call qword [r15 + 0xf8]
xor edx, edx
jmp 0x180095b0a
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
jmp 0x18008f97f
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp case.0x18008f888.89
mov r13, qword [rsp + 0x48]
mov ecx, dword [r13 + 4]
mov dword [r12 + 0x34], ecx
movzx eax, byte [r13 + 8]
mov byte [r12 + 0xc4], al
test ecx, ecx
je 0x180095cd3
movzx eax, word [r13 + 2]
mov rcx, r12
test ax, ax
je 0x180095c7d
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x180000000]
mov r8, qword [rax + r8*8 + 0x13fc60]
call fcn.1800857e0
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x180095c8d
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.18005dba0
mov qword [r12 + 0xa8], rax
jmp 0x180095c8d
mov r8, qword [r13 + 0x10]
lea rdx, [0x1801478d8]
call fcn.1800857e0
mov r9, qword [r12 + 0xf8]
mov rcx, r13
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, dword [r13 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.18005de90
mov rcx, r12
call fcn.180088dd0
mov rcx, qword [rsp + 0x68]
mov r13d, eax
mov rdi, qword [rsp + 0x48]
mov r15d, 1
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
cmp eax, 5
jne 0x180095d07
mov dword [r12 + 0x34], eax
jmp 0x1800963a2
cmp dword [r12 + 0x34], 0
mov r13d, 0x65
cmovne r13d, r15d
jmp 0x1800963a2
lea rax, [0x18014dba4]
mov r13d, 0xb
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x17836
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18005de90
jmp 0x18009227e
lea r10, [0x180000000]
movsxd rax, esi
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
mov rax, qword [r15 + rcx*8]
mov rcx, r12
movzx r8d, byte [rdx + r10 + 0x144f90]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov r8, qword [r10 + r8*8 + 0x143b30]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x168fc0]
call fcn.1800857e0
mov r13d, 0xc13
jmp 0x18009227e
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.1800857e0
mov r13d, 5
jmp 0x180092283
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.1800857e0
mov r13d, 5
jmp 0x18009227e
mov rax, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
mov byte [rax + 0x65], 0
jmp 0x18009228d
mov rdi, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rsp + 0x58]
mov rcx, rdi
mov rsi, qword [rsp + 0x78]
sub rcx, r14
imul rcx
mov rcx, qword [rsp + 0x68]
mov r13d, 5
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
mov byte [rcx + 0x65], 0
mov dword [r12 + 0x34], r13d
jmp 0x180096397
mov r13d, 0xb
bt rax, 0x14
mov rdi, rcx
cmovae r10d, r13d
mov r13d, r10d
jmp 0x180092288
mov rdi, qword [rsp + 0x48]
mov r15d, 1
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
cmp r13b, 5
jne 0x180090111
mov rcx, rdi
mov dword [r12 + 0x34], r13d
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rcx, qword [rsp + 0x68]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
jmp 0x1800963a2
mov r13d, 0x204
jmp 0x180092283
mov rcx, qword [rbx + 0x10]
call fcn.180075860
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
jmp 0x180092293
mov r12, qword [rbp - 0x78]
mov rsi, qword [rsp + 0x78]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.1800857e0
mov r13d, 0x12
jmp 0x180092283
lea r8, str.index_corruption
mov edx, 0x18548
mov ecx, 0x30b
call fcn.18011fc80
mov r13d, eax
mov rdi, r14
jmp 0x180092288
mov ecx, 0x18615
call fcn.18011fcb0
mov r13d, eax
jmp 0x180092283
mov r13d, 6
mov byte [r12 + 0xc4], 2
jmp 0x180092283
call fcn.1800b5a40
jmp 0x18009620e
mov rcx, qword [rbp - 0x20]
call fcn.18005ad90
jmp 0x180092283
mov r15d, 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r13d, r15d
call fcn.1800857e0
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
jmp 0x180092293
call fcn.18008bb30
mov r8, rax
lea rdx, [0x1801478d8]
mov rcx, r12
call fcn.1800857e0
jmp 0x180092283
cmp ebx, 5
lea rax, str.into
lea r8, str.out_of
mov r15d, 1
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r12
mov r13d, r15d
call fcn.1800857e0
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x180092293
call qword [rdi + 0x38]
jmp 0x18009620e
mov r13d, 6
jmp 0x180092283
mov rcx, qword [rbp - 0x60]
call fcn.18005ad90
jmp 0x18009227e
mov rbx, 0xffffffffffffffff
mov r13d, 9
jmp 0x18009412c
movzx eax, cl
cmp ecx, 5
mov ecx, 2
mov rdi, r14
cmove eax, ecx
mov byte [r12 + 0xc4], al
jmp 0x180092288
mov eax, dword [r12 + 0x2c]
mov r13, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [r12 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [r12 + 0xa0], rcx
cmp byte [r15 + 0x67], 0
jne 0x18009620e
test byte [r15 + 0x6e], 4
je 0x18009608d
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, r12
lea ecx, [r9 + 4]
call qword [r15 + 0xf8]
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov r13d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r12 + 0x30], edx
jmp 0x180096388
mov r13, qword [rsp + 0x48]
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x1800961c3
test ecx, ecx
je 0x1800960f5
mov edx, 0x204
mov rcx, r15
call fcn.18011c9a0
mov al, 1
mov r14d, 1
jmp 0x180096141
test ebx, ebx
je 0x18009611d
cmp dword [r15 + 0xe0], 0
jle 0x18009611d
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.1800857e0
mov r13d, 5
jmp 0x180092283
mov r14d, 1
mov rcx, r12
mov edx, r14d
call fcn.180088d60
mov r13d, eax
test eax, eax
jne 0x180096388
mov r13, qword [rsp + 0x48]
movzx eax, bl
mov rcx, r12
mov byte [r15 + 0x65], al
call fcn.180088dd0
cmp eax, 5
jne 0x180096191
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r14d
sub al, bl
mov dword [r12 + 0x30], edx
mov byte [r15 + 0x65], al
mov dword [r12 + 0x34], r13d
jmp 0x180096388
mov rcx, r15
call fcn.18011bf80
cmp dword [r12 + 0x34], 0
mov r13d, 0x65
mov rcx, qword [rsp + 0x68]
mov r15d, 1
mov rdi, qword [rsp + 0x48]
cmovne r13d, r15d
mov r14, qword [rsp + 0x58]
jmp 0x18009639d
test ebx, ebx
jne 0x1800961d0
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1800961e4
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r12
call fcn.1800857e0
mov rax, qword [rsp + 0x68]
mov r15d, 1
mov rdi, qword [rsp + 0x48]
mov r13d, r15d
jmp 0x180092293
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rcx, r15
call fcn.18005b7f0
lea rdx, [0x18013e990]
mov rcx, r12
call fcn.1800857e0
mov r13d, 7
jmp 0x18009412c
mov r15, qword [rsp + 0x68]
mov r12, qword [rbp - 0x78]
jmp 0x180096209
mov r15, qword [rsp + 0x68]
jmp 0x18009620e
mov r13d, dword [rsp + 0x54]
jmp 0x18009227e
mov r13d, dword [rsp + 0x54]
mov r12, qword [rbp - 0x78]
jmp 0x18009227e
mov rsi, qword [rsp + 0x78]
mov rdi, rbx
jmp 0x180092288
mov r12, qword [rbp - 0x78]
jmp 0x180092283
mov rdi, rbx
jmp 0x180092288
cmp r13d, 0x210a
jne 0x180096293
mov ecx, 0x18f2a
call fcn.18011fcb0
mov r13d, eax
cmp qword [r12 + 0xa8], 0
jne 0x1800962c1
cmp r13d, 0xc0a
je 0x1800962c1
mov ecx, r13d
call fcn.18011cb00
mov r8, rax
lea rdx, [0x1801478d8]
mov rcx, r12
call fcn.1800857e0
mov rcx, qword [rsp + 0x68]
mov edx, r13d
mov dword [r12 + 0x34], r13d
call fcn.18005ec60
mov r9, qword [r12 + 0xf8]
mov rcx, rdi
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, r13d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.18005de90
cmp byte [r12 + 0xc7], 2
jne 0x18009632b
mov rcx, r12
call fcn.180088dd0
cmp r13d, 0xc0a
jne 0x18009635d
mov rcx, qword [rsp + 0x68]
call fcn.18005b7f0
mov rcx, qword [rsp + 0x68]
movzx eax, byte [rbp - 0x80]
mov r13d, r15d
test al, al
je 0x1800963a2
lea edx, [rax - 1]
call fcn.1800b59c0
mov rcx, qword [rsp + 0x68]
jmp 0x1800963a2
cmp r13d, 0xb
jne 0x18009633e
mov rcx, qword [rsp + 0x68]
cmp byte [rcx + 0x65], 0
jne 0x180096343
movabs rax, 0x200000000
or qword [rcx + 0x30], rax
jmp 0x180096343
mov r13d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov r15d, 1
mov rbx, qword [rsp + 0x70]
cmp rsi, rbx
jb 0x1800963e1
mov rdx, qword [rcx + 0x210]
test rdx, rdx
je 0x1800963e1
mov eax, dword [rcx + 0x220]
mov rcx, qword [rcx + 0x218]
add rbx, rax
call rdx
mov rcx, qword [rsp + 0x68]
test eax, eax
je 0x1800963a2
mov rbx, 0xffffffffffffffff
mov rax, rcx
lea r13d, [rbx + 0xa]
jmp 0x18009229d
add dword [r12 + 0xe4], esi
cmp dword [r12 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x2f0]
movaps xmm6, xmmword [rsp + 0x300]
mov r15, qword [rsp + 0x310]
mov r14, qword [rsp + 0x318]
mov rdi, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x350]
mov rbx, qword [rsp + 0x348]
je 0x180096434
mov rcx, r12
call fcn.1800871a0
mov eax, r13d
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.18012be40
add rsp, 0x320
pop r13
pop r12
pop rbp
ret