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

Disassembly:
mov r11, rsp
push rbp
push r12
push r13
lea rbp, [r11 - 0x1d8]
sub rsp, 0x2c0
mov rax, qword [0x180191008]
xor rax, rsp
mov qword [rbp + 0x180], 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 - 0x60], 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 - 0x70], al
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x60], r11
mov dword [rbp - 0x50], ecx
cmp dword [r12 + 0xd0], ecx
je 0x18005d6c6
mov rcx, r12
call fcn.1800555f0
mov r11, qword [rsp + 0x60]
mov r8d, esi
movzx r9d, byte [rsp + 0x40]
cmp qword [r15 + 0x210], rsi
je 0x18005d6e8
mov ecx, dword [r15 + 0x220]
xor edx, edx
mov eax, dword [r12 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x18005d6ef
mov rbx, 0xffffffffffffffff
cmp dword [r12 + 0x34], 7
mov qword [rsp + 0x2b8], r14
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x290], xmm7
mov qword [rsp + 0x70], rbx
je 0x180063dcd
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 0x180063bcc
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, 0xb6
ja case.default.0x18005d788
movsxd rax, ebx
mov ecx, dword [rcx + rax*4 + 0x64018]
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.0x18005d788.9
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], 4
je 0x18005dcd5
mov rax, qword [rax + r11]
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18005d788.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 0x180063087
jmp case.0x18005d788.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
cdqe
xor r10d, r10d
mov word [rdx + r11 + 0x14], r10w
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp 0x18005d958
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
lea r14, [rdi + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp 0x18005d953
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x18005dcd5
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x1800637bf
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x1800637bf
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.180056680
mov r14, qword [rsp + 0x48]
mov rdi, qword [r12 + 0x88]
mov qword [rsp + 0x58], rdi
cmp dword [r14 + 8], 4
jne 0x18005d939
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
mov r11, qword [r12 + 0x68]
cdqe
mov qword [rsp + 0x60], r11
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
xor edx, edx
lea rcx, [0x180000000]
mov r15, qword [rsp + 0x68]
add r14, 0x18
mov r12, qword [rbp - 0x60]
mov rsi, qword [rsp + 0x78]
jmp 0x18005d751
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 0x18005d9a1
call fcn.18005d200
mov rcx, rax
xor edx, edx
jmp 0x18005d9aa
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.0x18005d788.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 0x18005d9f7
mov rcx, rdx
call fcn.18005d200
mov rdx, rax
jmp 0x18005da00
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]
jmp 0x18005d94d
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 0x18005da4c
mov rcx, rdx
call fcn.18005d200
mov rdx, rax
mov r10d, 8
mov word [rdx + 0x14], r10w
jmp 0x18005da00
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 0x18005da82
mov rcx, rbx
call fcn.18005d200
mov rcx, qword [rsp + 0x48]
mov rbx, rax
jmp 0x18005da8b
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x18005da9c
xor r14d, r14d
mov eax, r14d
jmp 0x18005dab4
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x18005daa3
and eax, 0x3fffffff
xor r14d, r14d
movzx edi, byte [rsp + 0x40]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x18005db57
mov r9b, 1
mov qword [rsp + 0x20], r14
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.180052e50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180063aa7
test byte [rbx + 0x14], 2
jne 0x18005daf8
mov byte [rbx + 0x16], dil
jmp 0x18005db12
cmp byte [rbx + 0x16], dil
je 0x18005db12
movzx edx, dil
mov rcx, rbx
call fcn.18002da20
test eax, eax
jne 0x180063dc8
mov eax, 0x2000
mov dword [rbx + 0x20], r14d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xfa
jne 0x18005db40
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x18005db40
mov rcx, r15
call fcn.18002a500
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 0x180063aa7
mov byte [rcx], 0x49
jmp 0x18005db73
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 0x18005db9b
mov rcx, rdx
call fcn.18005d200
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 0x180063531
mov r8d, dword [rsp + 0x50]
imul rcx, rax, 0x38
mov rax, r14
movzx eax, word [rax + 2]
cmp qword [rcx + r11], rax
jne 0x180063536
movzx r9d, byte [rsp + 0x40]
mov eax, 0x2210
mov rdi, qword [rsp + 0x58]
mov word [rdx + 0x14], ax
jmp 0x18005d958
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 0x18005dc35
call fcn.18005d200
mov rcx, rax
xor edx, edx
mov r9d, 0x9000
jmp 0x18005dc3e
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 0x18005dc98
nop dword [rax]
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x18005dc8c
lea rcx, [rbx - 0x14]
call fcn.1800523e0
xor edx, edx
mov r9d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], edx
test edi, edi
jg 0x18005dc70
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.0x18005d788.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.0x18005d788.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 0x18005dd09
mov rcx, rbx
call fcn.18005d200
mov rbx, rax
jmp 0x18005dd12
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 0x18005dd40
mov edx, eax
call fcn.180052aa0
mov rcx, rbx
call fcn.180052130
test eax, eax
jne 0x180063dc8
jmp 0x18005dd53
xor r10d, r10d
mov r8, rax
xor r9d, r9d
mov qword [rsp + 0x20], r10
call fcn.180052e50
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov byte [rbx + 0x16], r9b
jmp 0x18005d953
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.180052cd0
test eax, eax
jne 0x180063aa7
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 0x18005ddba
mov rcx, rbx
call fcn.1800523e0
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 0x18005d953
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
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x18005de31
cmp dword [rbx + 0x20], 0
je 0x18005de3b
mov rcx, rbx
call fcn.180052420
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 0x18005de84
mov rcx, rbx
call fcn.1800520d0
test eax, eax
jne 0x180063dc3
xor edx, edx
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x18005de20
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.0x18005d788.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.180052d40
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x18005defd
mov rcx, rbx
call fcn.1800520d0
test eax, eax
jne 0x180063dc3
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x18005df1b
test byte [r14 + 2], 2
je 0x18005df1b
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x18006352c
add rbx, 0x38
add rdi, 0x38
jmp 0x18005ded1
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.180052d40
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
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 0x18005dfa8
mov rdx, rax
mov rcx, r8
call fcn.180052af0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov r14, qword [rsp + 0x48]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.89
xor edx, edx
mov rcx, r12
call fcn.1800572b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18005da14
mov r14, qword [rsp + 0x58]
mov r15d, 1
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x1800600ba
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 0x18005e086
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x18005e069
mov rcx, rbx
call fcn.1800523e0
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 0x18005d958
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.0x18005d788.89
test r15b, 0x12
jne 0x18005e0b9
xor r8d, r8d
movzx edx, r9b
mov rcx, r13
call fcn.180052190
test eax, eax
jne 0x180063dfa
movzx r15d, word [r13 + 0x14]
mov r14d, 0xfffd
and r15w, r14w
mov eax, 0x400
jmp 0x18005e0d4
mov eax, 0x400
test ax, r15w
je 0x18005e0ce
mov rcx, r13
call fcn.180052130
jmp 0x18005e09b
mov r14d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x18005e0f0
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.180052190
jmp 0x18005e0fd
test ax, si
je 0x18005e10d
mov rcx, rdi
call fcn.180052130
test eax, eax
jne 0x180063dbe
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 0x180063aa2
xor r10d, r10d
mov rcx, rbx
mov r8d, r10d
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.180051dc0
test eax, eax
jne 0x180063dbe
mov eax, 0xf242
and word [rbx + 0x14], ax
or word [rbx + 0x14], 2
cmp rbx, rdi
je 0x18005e174
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.18013fe80
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 fcn.18013fe80
movzx r9d, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
cmp r9b, 1
jbe 0x18005e19e
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 0x18005d953
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 0x18005e250
movzx eax, dl
or al, bl
test al, 1
jne 0x18005e417
and bx, 0x2d
jne 0x18005e234
mov rcx, rsi
call fcn.18005d150
movzx edx, word [rdi + 0x14]
movzx ebx, ax
and dx, 0x2d
jne 0x18005e245
mov rcx, rdi
call fcn.18005d150
movzx edx, ax
and dl, bl
test dl, 4
je 0x18005e362
mov rax, qword [rsp + 0x48]
mov rdx, qword [rdi]
mov r8, qword [rsi]
mov qword [rbp - 8], rdx
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x18005e2f2
sub ecx, 1
je 0x18005e2e0
sub ecx, 1
je 0x18005e2ca
cmp ecx, 1
je 0x18005e29e
test r8, r8
je 0x18005e417
cmp r8, 0xffffffffffffffff
mov eax, 1
cmove r8, rax
mov rax, rdx
cqo
idiv r8
mov qword [rbp - 8], rdx
jmp 0x18005e316
test r8, r8
je 0x18005e417
cmp r8, 0xffffffffffffffff
jne 0x18005e2c0
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18005e362
mov rax, rdx
cqo
idiv r8
jmp 0x18005e312
mov rdx, r8
lea rcx, [rbp - 8]
call fcn.180030a10
test eax, eax
jne 0x18005e362
jmp 0x18005e316
mov rdx, r8
lea rcx, [rbp - 8]
call fcn.1800309a0
test eax, eax
jne 0x18005e362
jmp 0x18005e316
test r8, r8
js 0x18005e347
test rdx, rdx
jle 0x18005e30e
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jl 0x18005e362
lea rax, [r8 + rdx]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov r11, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
test rdx, rdx
jns 0x18005e30e
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jle 0x18005e30e
mov rcx, rsi
call fcn.1800525e0
mov rcx, rdi
movaps xmm6, xmm0
call fcn.1800525e0
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x18005e3e3
sub ecx, 1
je 0x18005e3dd
sub ecx, 1
je 0x18005e3d7
cmp ecx, 1
je 0x18005e3c9
mov rcx, rsi
call fcn.180052550
mov rcx, rdi
mov rbx, rax
call fcn.180052550
mov qword [rbp - 8], rax
test rbx, rbx
je 0x18005e417
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x18005e3e7
ucomisd xmm6, xmm7
jp 0x18005e3d1
je 0x18005e417
divsd xmm0, xmm6
jmp 0x18005e3e7
mulsd xmm0, xmm6
jmp 0x18005e3e7
subsd xmm0, xmm6
jmp 0x18005e3e7
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x58], xmm0
mov rax, qword [rbp - 0x58]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x18005e45d
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x18005e43f
mov rcx, r14
call fcn.1800523e0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x18005d94d
mov r11, qword [rsp + 0x60]
mov ebx, 1
mov rdi, qword [rsp + 0x58]
mov word [r14 + 0x14], bx
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm0
or ax, 8
jmp 0x18005e32e
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x18005dcd5
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x18005e4b1
xor edx, edx
call fcn.180052af0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov r14, qword [rsp + 0x48]
mov eax, 4
mov word [rcx + 0x14], ax
mov qword [rcx], rdx
jmp case.0x18005d788.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 0x18005e528
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x18005e510
mov rcx, rsi
jmp 0x18005e426
mov r14, qword [rsp + 0x48]
mov eax, 1
mov rdi, qword [rsp + 0x58]
mov word [rsi + 0x14], ax
jmp case.0x18005d788.89
call fcn.180052550
mov rcx, rdi
mov rbx, rax
call fcn.180052550
mov r14, qword [rsp + 0x48]
mov rcx, rax
movzx edx, byte [r14]
cmp dl, 0x66
jne 0x18005e54e
and rbx, rax
jmp 0x18005e5c5
cmp dl, 0x67
jne 0x18005e558
or rbx, rcx
jmp 0x18005e5c5
test rcx, rcx
je 0x18005e5c5
jns 0x18005e572
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18005e578
neg rcx
cmp rcx, 0x40
jl 0x18005e593
test rbx, rbx
jns 0x18005e58b
cmp dl, 0x68
je 0x18005e58b
mov rbx, 0xffffffffffffffff
jmp 0x18005e5c5
xor r10d, r10d
mov ebx, r10d
jmp 0x18005e5c5
cmp dl, 0x68
jne 0x18005e5a0
shl rbx, cl
mov r8, rbx
jmp 0x18005e5c2
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18005e5c2
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 0x18005e04f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.180052550
mov r14, qword [rsp + 0x48]
mov ecx, 0xf244
and word [rbx + 0x14], cx
or word [rbx + 0x14], 4
mov r11, qword [rsp + 0x60]
mov qword [rbx], rax
movsxd rcx, dword [r14 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x18005d94d
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 0x18005e670
movzx r8d, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.18005d080
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x18005e669
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 8], 0
jne 0x18005f049
mov r13d, 0x14
mov rdi, r14
jmp 0x1800600a5
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.0x18005d788.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 0x24
je 0x18005dcd5
mov rcx, rbx
call fcn.1800525e0
mov r14, qword [rsp + 0x48]
mov eax, 0xf248
and word [rbx + 0x14], ax
or word [rbx + 0x14], 8
mov r11, qword [rsp + 0x60]
movsd qword [rbx], xmm0
jmp 0x18005d94d
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 0x18005e706
mov rcx, rbx
call fcn.180052130
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov rax, qword [rsp + 0x48]
mov rcx, rbx
movzx r8d, byte [rsp + 0x40]
movzx edx, byte [rax + 8]
call fcn.1800528a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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 0x18005e7e0
mov rcx, qword [r14]
cmp rcx, qword [r15]
lea rcx, [0x180000000]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jle 0x18005e7a4
xor edx, edx
cmp byte [rbx + rcx + 0x169248], dl
jne 0x18005f04b
mov eax, 1
mov r8d, eax
mov dword [rsp + 0x50], eax
jmp case.default.0x18005d788
jge 0x18005e7c5
xor edx, edx
cmp byte [rbx + rcx + 0x16923c], dl
jne 0x18005f04b
mov r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
jmp case.default.0x18005d788
xor edx, edx
cmp byte [rbx + rcx + 0x169242], dl
jne 0x18005f04b
mov r8d, edx
mov dword [rsp + 0x50], edx
jmp case.default.0x18005d788
movzx ecx, di
or cx, si
test cl, 1
je 0x18005e871
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
test al, al
jns 0x18005e84c
test dl, 1
je 0x18005e831
mov eax, pe_nt_image_headers64
test ax, di
jne 0x18005e831
mov rax, qword [rsp + 0x48]
lea rcx, [0x180000000]
xor r10d, r10d
lea rcx, [rcx + 0x169242]
mov r8d, r10d
mov dword [rsp + 0x50], r10d
movzx eax, byte [rax]
jmp 0x18005e98a
movzx eax, di
not ax
and eax, 1
lea r8d, [rax*2 - 1]
mov dword [rsp + 0x50], r8d
jmp 0x18005e94d
mov r14, qword [rsp + 0x48]
xor edx, edx
mov rdi, qword [rsp + 0x58]
test al, 0x10
jne 0x18005f04b
mov eax, 1
mov r8d, eax
mov dword [rsp + 0x50], eax
jmp case.0x18005d788.89
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jb 0x18005e8bc
test cl, 2
je 0x18005e932
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x18005e8a2
xor edx, edx
mov rcx, r15
call fcn.18005cf60
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x18005e932
xor edx, edx
mov rcx, r14
call fcn.18005cf60
jmp 0x18005e932
cmp al, 0x42
jne 0x18005e932
test cl, 2
je 0x18005e932
test sil, 2
jne 0x18005e902
test sil, 0x2c
je 0x18005e902
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.180052190
xor si, word [r15 + 0x14]
mov r12d, 0xdbf
and si, r12w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x18005e908
movzx edi, si
or di, 2
jmp 0x18005e908
mov r12d, 0xdbf
test dil, 2
jne 0x18005e932
test dil, 0x2c
je 0x18005e932
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.180052190
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.180058780
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 0x18005e96a
lea rcx, [0x180000000]
lea rcx, [rcx + 0x16923c]
jmp 0x18005e98a
jne 0x18005e97c
lea rcx, [0x180000000]
lea rcx, [rcx + 0x169242]
jmp 0x18005e98a
lea rcx, [0x180000000]
lea rcx, [rcx + 0x169248]
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 0x180063087
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp case.0x18005d788.89
test r8d, r8d
je 0x18005f04b
jmp case.0x18005d788.89
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x18005e9d7
mov r13, rdx
jmp 0x18005e9df
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 - 0x58], rdx
mov dword [rbp - 0x80], r8d
mov dword [rbp - 0x78], r9d
mov qword [rbp + 0x10], rax
test rax, rax
jle 0x1800637a1
lea r12, [rdx + 0x20]
test r13, r13
je 0x18005ea1e
mov ecx, dword [r13 + rbx*4]
jmp 0x18005ea20
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.180058780
mov r11, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x18005ea92
mov rdx, qword [rbp - 0x58]
inc esi
mov r8d, dword [rbp - 0x80]
inc rbx
mov r9d, dword [rbp - 0x78]
add r12, 8
cmp rbx, qword [rbp + 0x10]
jl 0x18005ea12
mov r13d, dword [rsp + 0x54]
mov r8d, eax
mov r14, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18005d958
mov rax, qword [rbp - 0x58]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x18005eac0
imul rax, r14, 0x38
test byte [rax + r11 + 0x14], 1
jne 0x18005eab8
imul rax, r15, 0x38
test byte [rax + r11 + 0x14], 1
je 0x18005eac0
neg r8d
mov dword [rsp + 0x50], r8d
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
test edi, edi
je 0x180063536
movzx r9d, byte [rsp + 0x40]
neg r8d
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x50], r8d
jmp 0x18005d958
mov rax, qword [rsp + 0x48]
test r8d, r8d
jns 0x18005eb08
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18005d788.89
jne 0x18005eb1e
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18005d788.89
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
jmp case.0x18005d788.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.180052610
movsxd rcx, dword [r15 + 8]
mov edx, esi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x60]
call fcn.180052610
lea rdx, [0x180000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r15], 0x2c
movsxd rcx, eax
jne 0x18005eb84
movzx r8d, byte [rcx + rdx + 0x16d210]
jmp 0x18005eb8d
movzx r8d, byte [rcx + rdx + 0x16e600]
movsxd rax, dword [r15 + 0xc]
mov r11, qword [rsp + 0x60]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r11 + 0x14]
cmp r8b, sil
jne 0x18005ebbf
mov eax, 0xf241
mov r14, r15
and cx, ax
or cx, 1
mov word [rdx + r11 + 0x14], cx
jmp 0x18005d94d
movzx eax, r8b
mov r14, r15
mov qword [rdx + r11], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r11 + 0x14], cx
jmp 0x18005d94d
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.180052610
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 0x18005ec30
call fcn.180052af0
mov r11, qword [rsp + 0x60]
mov r14, rbx
jmp 0x18005d94d
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
mov r14, rbx
jmp 0x18005d94d
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 0x18005ecab
xor edx, edx
call fcn.180052610
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, 0x9000
sete cl
test word [rbx + 0x14], ax
je 0x18005ec9a
mov rdx, rcx
mov rcx, rbx
call fcn.180052af0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], ax
jmp 0x18005d9b6
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x18005eccd
mov rcx, rbx
call fcn.1800523e0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov r14, qword [rsp + 0x48]
mov eax, 1
mov word [rbx + 0x14], ax
jmp case.0x18005d788.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 0x18005ed17
mov rcx, rbx
call fcn.1800523e0
mov r11, qword [rsp + 0x60]
xor edx, edx
jmp 0x18005ed20
mov eax, 1
mov word [rbx + 0x14], ax
test byte [rdi + 0x14], 1
jne 0x180063567
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.180052550
not rax
mov qword [rbx], rax
jmp 0x18005e04a
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x18005edc3
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 0x18005f044
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.0x18005d788.89
mov rax, qword [rsp + 0x48]
mov rcx, qword [r12 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x180062bc3
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.0x18005d788.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.180052610
mov r14, qword [rsp + 0x48]
xor edx, edx
test eax, eax
jne 0x180063087
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.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.180052610
mov r14, qword [rsp + 0x48]
xor edx, edx
test eax, eax
je 0x180063087
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.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 0x18005f04b
jmp case.0x18005d788.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x18005eefc
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 0x18005eef2
mov ecx, dword [rdx + rcx*4 + 0x78]
cmp ecx, 0xc
jb 0x18005eede
test cl, 1
mov edx, 4
cmove dx, r10w
jmp 0x18005ef26
mov rax, rcx
lea rcx, [0x180000000]
movzx edx, byte [rax + rcx + 0x168178]
jmp 0x18005ef2d
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x10]
jmp 0x18005ef1c
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 + 0x16d2b0]
dec ecx
mov edx, 1
shl dx, cl
lea rcx, [0x180000000]
mov r14, qword [rsp + 0x48]
test word [r14 + 2], dx
jne 0x18005f049
xor edx, edx
jmp case.default.0x18005d788
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x18005efa7
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x18005efa7
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x18005ef93
xor edx, edx
call fcn.180052af0
mov r11, qword [rsp + 0x60]
mov r14, rbx
jmp 0x18005d94d
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
mov r14, rbx
jmp case.0x18005d788.89
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x18005efcf
call fcn.1800523e0
mov r11, qword [rsp + 0x60]
mov r14, rbx
jmp 0x18005d94d
mov eax, 1
mov r14, rbx
mov word [rcx + 0x14], ax
jmp case.0x18005d788.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 0x18005f04b
jmp case.0x18005d788.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 0x180060bbf
cmp byte [rdx + 2], 0
je 0x180060bbf
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 0x18005f070
call fcn.1800523e0
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.0x18005d788.89
mov eax, 1
mov word [rcx + 0x14], ax
jmp 0x18005f044
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 - 0x80], r15d
nop word [rax + rax]
mov r14, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp - 0x78], r14
cmp dword [rbx + 0x20], eax
je 0x18005f0eb
cmp byte [rbx + 2], 0
jne 0x18005f146
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x18005f0e4
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x18005f110
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x18005f110
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x18005f096
cmp byte [rdi], 0
je 0x18005f127
jmp 0x18005f0f8
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x18005f1de
mov rcx, rbx
call fcn.180057f50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18005f0a0
jmp 0x1800600a0
mov rcx, rbx
call fcn.180057ee0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov rcx, rdi
call fcn.180046e70
mov eax, dword [rdi + 0x40]
lea rsi, [rbx + 0x6c]
mov rdx, rsi
mov dword [rbx + 0x68], eax
mov rcx, rdi
call fcn.1800475a0
jmp 0x18005f174
cmp byte [rbx], 3
jne 0x18005f294
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x18005f294
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 0x18005f199
mov eax, 1
jmp 0x18005f1a8
mov rcx, qword [rbx + 0x60]
mov rdx, r14
call fcn.180030800
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 0x18005f28e
mov qword [rbx + 0x60], rdx
mov dword [rsi], edx
mov eax, dword [r14]
cmp eax, 0x18003
ja 0x18005f3ca
cmp eax, dword [rbx + 0x68]
ja 0x18005f3ca
mov rsi, qword [rsp + 0x78]
movzx edx, word [rbx + 0x4a]
cmp edx, r15d
ja 0x18005f4ad
mov ecx, dword [rbx + 0x40]
mov eax, dword [r14]
cmp ecx, eax
jae 0x18005f3f6
mov r13, qword [rbx + 0x60]
test r13, r13
jne 0x18005f247
xorps xmm0, xmm0
lea r8, [rbp + 0x58]
movups xmmword [rbp + 0x58], xmm0
xor eax, eax
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x88], rax
movups xmmword [rbp + 0x78], xmm0
mov edx, dword [r14]
mov rcx, qword [rbx + 0x30]
call fcn.1800532f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r13, qword [rbp + 0x60]
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 dword [rax]
movzx eax, byte [rdi]
mov dword [rbp - 0x6c], eax
mov dword [rbx + rsi*4 + 0x78], eax
mov eax, dword [rbp - 0x6c]
cmp eax, 0x80
jae 0x18005f2dc
movzx eax, al
lea rcx, [0x180000000]
inc rdi
movzx eax, byte [rax + rcx + 0x1687e0]
jmp 0x18005f315
mov r13, qword [rbx + 0x60]
jmp 0x18005f244
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 0x18005f2be
call fcn.1800523e0
jmp 0x18005e04a
mov r14, qword [rsp + 0x48]
mov eax, 1
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x18005d953
lea rdx, [rbp - 0x6c]
mov rcx, rdi
call fcn.180030800
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x6c]
mov dword [rbx + rsi*4 + 0x78], eax
mov eax, dword [rbp - 0x6c]
cmp eax, 0x80
jb 0x18005f306
add eax, 0xfffffff4
shr eax, 1
jmp 0x18005f315
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x1687e0]
add r14, rax
inc r15d
mov rax, qword [rbp - 0x78]
movsxd rsi, r15d
mov dword [rax + rsi*4], r14d
cmp r15d, dword [rbp - 0x80]
ja 0x18005f337
cmp rdi, r12
jb 0x18005f260
jmp 0x18005f33c
cmp rdi, r12
jb 0x18005f386
cmp rdi, r12
ja 0x18005f38e
mov eax, dword [rbx + 0x68]
cmp r14, rax
jne 0x18005f38e
mov r14, qword [rbp - 0x78]
sub edi, r13d
mov word [rbx + 0x4a], r15w
cmp qword [rbx + 0x60], 0
mov dword [rbx + 0x40], edi
jne 0x18005f379
mov eax, 0x9000
test word [rbp + 0x6c], ax
jne 0x18005f370
cmp dword [rbp + 0x78], 0
je 0x18005f379
lea rcx, [rbp + 0x58]
call fcn.180052420
mov edx, dword [rbp - 0x6c]
mov r15d, dword [rbp - 0x80]
mov r12, qword [rbp - 0x60]
jmp 0x18005f3ff
mov eax, dword [rbx + 0x68]
cmp r14, rax
jbe 0x18005f349
mov r14, qword [rbp - 0x78]
cmp dword [r14], 0
jne 0x18005f3a3
xor r10d, r10d
mov rdi, r12
mov r15d, r10d
jmp 0x18005f34d
cmp qword [rbx + 0x60], 0
jne 0x18005f3c4
mov eax, 0x9000
test word [rbp + 0x6c], ax
jne 0x18005f3bb
cmp dword [rbp + 0x78], 0
je 0x18005f3c4
lea rcx, [rbp + 0x58]
call fcn.180052420
mov r12, qword [rbp - 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x1800638d6
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 0x18005d9b6
xor r10d, r10d
mov edx, r10d
mov dword [rbp - 0x6c], edx
movzx eax, word [rbx + 0x4a]
cmp eax, r15d
ja 0x18005f4a8
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 0x18005f456
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.180052d40
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 0x18005d953
mov eax, 0x9000
test word [rcx + 0x14], ax
je 0x18005f485
call fcn.1800523e0
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 0x18005d953
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 0x18005d953
mov esi, r15d
jmp 0x18005f4b7
mov esi, r15d
mov edx, dword [rbx + rsi*4 + 0x78]
mov dword [rbp - 0x6c], 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 0x18005f4e4
mov rcx, rdi
call fcn.1800523e0
mov edx, dword [rbp - 0x6c]
mov r8, qword [rsp + 0x48]
lea eax, [r15 + 1]
mov eax, dword [r14 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x18005f5db
mov esi, dword [r14 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x18005f52c
mov rcx, rsi
mov r8, rdi
call fcn.180057fc0
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 0x18005d953
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 0x18005f578
mov r15, qword [rsp + 0x68]
cmp ebx, dword [r15 + 0x88]
jg 0x180063aa2
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.180051dc0
test eax, eax
jne 0x180063dc3
mov rcx, qword [rdi + 8]
jmp 0x18005f580
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 8], rcx
mov r8d, ebx
mov rdx, rsi
call fcn.18013fe80
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 - 0x6c]
and eax, 1
xor edx, edx
movzx eax, word [rcx + rax*2 + 0x1648e8]
mov word [rdi + 0x14], ax
mov rdi, qword [rsp + 0x58]
jmp case.default.0x18005d788
movzx eax, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
movzx eax, byte [r8 + 2]
mov ecx, dword [rbp - 0x6c]
and al, 0xc0
je 0x18005f601
cmp al, 0x80
je 0x18005f623
cmp ecx, 0xc
jb 0x18005f601
test cl, 1
je 0x18005f623
cmp al, 0xc0
je 0x18005f623
cmp ecx, 0x80
jb 0x18005f610
lea eax, [rcx - 0xc]
shr eax, 1
jmp 0x18005f61f
lea rdx, [0x180000000]
movzx eax, byte [rcx + rdx + 0x1687e0]
test eax, eax
jne 0x18005f631
mov edx, ecx
lea rcx, [0x180167f60]
jmp 0x18005f505
mov eax, dword [rbp - 0x50]
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.18005d360
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18005f43c
cmp eax, 7
je 0x180063dbe
mov rsi, qword [rsp + 0x78]
cmp eax, 0x12
je 0x180063aa7
jmp 0x1800600a0
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 0x18005dcd5
lea rdi, [r15 + 0xc]
nop dword [rax]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x18005f6cf
test al, 0x20
jne 0x18005f77d
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
jne 0x18005f779
movzx edx, byte [rdi]
movzx r8d, r9b
mov rcx, rbx
call fcn.18005d080
movzx edx, word [rbx + 0x14]
test dl, 1
jne 0x18005f779
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x18005f770
sub eax, 1
je 0x18005f76b
sub eax, 1
je 0x18005f76b
sub eax, 1
je 0x18005f712
cmp eax, 1
jne 0x18005f779
test dl, 2
jmp 0x18005f773
test dl, 4
je 0x18005f766
mov rcx, qword [rbx]
movabs rax, 0x800000000000
add rax, rcx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x18005f748
or dx, 0x20
mov eax, 0xfffb
and dx, ax
mov word [rbx + 0x14], dx
jmp 0x18005f779
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 0x18005f779
test dl, 0x28
jmp 0x18005f773
test dl, 4
jmp 0x18005f773
test dl, 0x10
je 0x180063909
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
movzx r9d, byte [rsp + 0x40]
add rdi, 0x18
cmp esi, eax
jl 0x18005f6b0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x18005d953
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
movzx r8d, r9b
movzx edx, al
mov rcx, rbx
call fcn.18005d080
cmp byte [rdi], 0x45
jne 0x18005f827
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x18005f827
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x18005f80b
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x18005f823
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 0x180063527
movzx r9d, byte [rsp + 0x40]
add rbx, 0x38
jmp 0x18005f7c1
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 - 0x58], rcx
add rdx, r11
mov qword [rbp - 0x78], rsi
mov qword [rbp + 0x10], rdx
test rdi, rdi
je 0x18005f8df
movzx eax, byte [rdi]
lea rbx, [rcx + 0x14]
mov esi, 0xfffb
nop dword [rax + rax]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
movzx edx, al
call fcn.18005d080
cmp byte [rdi], 0x45
jne 0x18005f8c6
movzx eax, word [rbx]
test al, 4
je 0x18005f8c6
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 0x18005f8a0
mov rsi, qword [rbp - 0x78]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test cl, 1
je 0x18005f90e
mov eax, 0x400
mov r8d, 1
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x18005fab6
test cl, 0x24
je 0x18005fa33
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x18005f926
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x18005f96b
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x18005f958
mov rax, qword [rbp - 0x60]
cmp byte [rax + 0xc5], 4
jb 0x18005f958
lea eax, [rdx + 8]
mov r8d, 1
mov dword [r14], eax
jmp 0x18005fab6
mov eax, 1
inc r15
mov dword [r14], eax
mov r8d, eax
jmp 0x18005fab6
cmp rdx, 0x7fff
ja 0x18005f989
mov eax, 2
add r15, 2
mov dword [r14], eax
lea r8d, [rax - 1]
jmp 0x18005fab6
cmp rdx, 0x7fffff
ja 0x18005f9a7
mov eax, 3
add r15, 3
mov dword [r14], eax
lea r8d, [rax - 2]
jmp 0x18005fab6
cmp rdx, 0x7fffffff
ja 0x18005f9c5
mov eax, 4
add r15, 4
mov dword [r14], eax
lea r8d, [rax - 3]
jmp 0x18005fab6
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x18005f9e9
mov eax, 5
add r15, 6
mov dword [r14], eax
lea r8d, [rax - 4]
jmp 0x18005fab6
add r15, 8
test cl, 0x20
je 0x18005fa22
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 0x18005fab6
mov eax, 6
mov dword [r14], eax
lea r8d, [rax - 5]
jmp 0x18005fab6
test cl, 8
je 0x18005fa4e
inc r12d
mov dword [r14], 7
add r15, 8
mov r8d, 1
jmp 0x18005fab6
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 0x18005fa8c
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x18005fa89
lea rcx, [r14 - 0x24]
call fcn.180052130
test eax, eax
jne 0x180063def
add edi, dword [r14 - 0x24]
jmp 0x18005fa8c
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 0x18005fab0
inc ecx
shr rax, 7
test rax, rax
jne 0x18005faa5
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, qword [rbp - 0x58]
je 0x18005fac9
sub r14, 0x38
jmp 0x18005f8e3
cmp r12d, 0x7e
jle 0x18005fb0f
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x18005faeb
nop
inc edx
shr rax, 7
test rax, rax
jne 0x18005fae0
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x18005fb0b
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x18005fb00
cmp edx, ecx
jge 0x18005fb12
inc r12d
mov rsi, qword [rbp + 0x10]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [rdi + r15]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x18005fb5a
mov r15, qword [rsp + 0x68]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x180063a9e
cmp edx, ebx
jge 0x18005fb5a
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.180051dc0
test eax, eax
jne 0x180063df4
jmp 0x18005fb62
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 0x18005fb7f
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 0x18005fb98
mov byte [rsi], r12b
inc rsi
jmp 0x18005fba9
mov rdx, rdi
mov rcx, rsi
call fcn.1800305d0
movsxd rcx, eax
add rsi, rcx
mov rdi, qword [rbp - 0x58]
mov r14, qword [rbp - 0x78]
add rdi, 0x10
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x18005fc30
mov byte [rsi], al
inc rsi
test eax, eax
je 0x18005fc77
mov rcx, qword [rdi - 0x10]
lea rdx, [0x180000000]
movzx edx, byte [rax + rdx + 0x1687e0]
mov eax, edx
sub eax, 1
je 0x18005fc29
sub eax, 1
je 0x18005fc22
sub eax, 1
je 0x18005fc1b
sub eax, 1
je 0x18005fc14
cmp eax, 2
je 0x18005fc06
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 0x18005fc77
cmp eax, 0x80
jae 0x18005fc4a
mov byte [rsi], al
inc rsi
cmp eax, 0xe
jb 0x18005fc77
movsxd rax, dword [rdi]
test eax, eax
jle 0x18005fc77
jmp 0x18005fc62
mov rdx, rax
mov rcx, rsi
call fcn.1800305d0
movsxd rcx, eax
movsxd rax, dword [rdi]
add rsi, rcx
test eax, eax
je 0x18005fc77
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rbx
call fcn.18013fe80
movsxd rax, dword [rdi]
add rbx, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x180063522
add rdi, 0x38
jmp 0x18005fbb5
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 0x18005fcb7
mov rcx, rdx
call fcn.180048410
mov qword [rbp + 0x28], rax
jmp 0x18005fcd9
xor r10d, r10d
lea r8, [rbp + 0x28]
mov rcx, r15
mov qword [rbp + 0x28], r10
call fcn.18004f3f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180063e39
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], ax
je 0x18005fd05
call fcn.18005d200
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rcx], rax
jmp 0x18006209e
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp + 0x28]
mov qword [rcx], rax
jmp 0x18006209e
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x80], r14d
test r14d, r14d
jne 0x18005fdfc
cmp dword [r15 + 0xe0], r14d
jg 0x18006396e
test rdi, rdi
jne 0x18005fd4a
mov ebx, edx
jmp 0x18005fd60
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x18005fd51
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x2f4]
xor edx, edx
add r8d, dword [r15 + 0x2f0]
mov rcx, r15
call fcn.1800c71b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.18002a8b0
mov rsi, rax
test rax, rax
je 0x1800600d4
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.18013fe80
cmp byte [r15 + 0x65], r13b
je 0x18005fdc8
mov byte [r15 + 0x65], r13b
mov byte [r15 + 0x6d], 1
jmp 0x18005fdcf
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 0x1800600d4
mov rax, qword [rsp + 0x68]
mov r15d, edx
mov rsi, qword [rax + 0x2e0]
test rsi, rsi
je 0x18005fe2b
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.18002e480
test eax, eax
je 0x18005fe5a
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x18005fe10
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.180053d90
mov r15d, 1
mov r13d, r15d
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x1800600b0
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0xe0], 0
jle 0x18005fe72
cmp r14d, 1
je 0x180063988
cmp qword [rsi + 0x18], 0
jne 0x18005fedb
cmp byte [rcx + 0x6d], 0
je 0x18005fedb
mov eax, 1
mov r13d, eax
cmp r14d, eax
jne 0x18005fee2
mov edx, eax
mov rcx, r12
call fcn.1800572b0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180063f42
mov rax, qword [rsp + 0x68]
mov rcx, r12
mov byte [rax + 0x65], r13b
call fcn.180057320
cmp eax, 5
je 0x1800639bf
mov ebx, dword [r12 + 0x34]
mov dword [rsp + 0x54], ebx
test ebx, ebx
jne 0x1800639a2
mov r9, qword [rsp + 0x68]
mov byte [r9 + 0x6d], bl
jmp 0x18005ffe7
xor edx, edx
mov r13d, edx
jmp 0x18005fee4
xor edx, edx
mov eax, dword [rcx + 0x2f0]
sub eax, r15d
lea r15d, [rax - 1]
mov eax, dword [rcx + 0x28]
cmp r14d, 2
jne 0x18005ff4e
mov r12d, dword [rcx + 0x2c]
mov edi, edx
and r12d, 1
test eax, eax
jle 0x18005ff51
mov r14d, r12d
mov rbx, rdx
xor r14d, 1
mov rcx, qword [rcx + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.1800468f0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180063e0b
mov rcx, qword [rsp + 0x68]
inc edi
add rbx, 0x20
mov eax, dword [rcx + 0x28]
cmp edi, eax
jl 0x18005ff12
mov r14d, dword [rbp - 0x80]
xor edx, edx
jmp 0x18005ff51
mov r12d, edx
mov edi, edx
test eax, eax
jle 0x18005ff90
mov rbx, rdx
nop word [rax + rax]
mov rcx, qword [rcx + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.180046c00
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180063e0b
mov rcx, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x18005ff60
test r12d, r12d
je 0x18005ffd3
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx + 8]
test rax, rax
je 0x18005ffc7
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 0x18005ffb0
mov rcx, rbx
call fcn.180083460
or dword [rbx + 0x2c], 1
cmp dword [rsp + 0x54], 0
mov r12, qword [rbp - 0x60]
jne 0x180063e01
mov r9, qword [rsp + 0x68]
mov rcx, qword [r9 + 0x2e0]
cmp rcx, rsi
je 0x180060032
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.18002a500
mov rcx, qword [r14 + 0x2e0]
dec dword [r14 + 0x2f0]
cmp rcx, rsi
jne case.0x1800e6ea5.16
mov r14d, dword [rbp - 0x80]
mov r9, qword [rsp + 0x68]
cmp r14d, 1
jne 0x180060061
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r9
mov qword [r9 + 0x2e0], rax
call fcn.18002a500
test r13d, r13d
jne 0x1800600cf
mov r9, qword [rsp + 0x68]
dec dword [r9 + 0x2f0]
jmp 0x180060082
mov rax, qword [rsi + 8]
mov qword [r9 + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [r9 + 0x300], rax
test r13d, r13d
je 0x180060082
cmp r14d, 2
jne 0x1800600cf
mov r8d, r15d
mov edx, r14d
mov rcx, r9
call fcn.1800c71b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x1800600d4
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 0x180063e41
mov r13d, 7
jmp 0x180063e57
mov r13d, dword [rsp + 0x54]
cmp byte [r12 + 0xc7], 3
jne 0x18005f43c
mov r13d, 0x65
jmp 0x180063f47
mov rcx, qword [rsp + 0x48]
mov dword [rbp - 0x80], edx
mov edx, dword [rcx + 8]
test edx, edx
je 0x180060114
mov rax, qword [r15 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x180063a0d
movsxd rdi, dword [rcx + 4]
shl rdi, 5
add rdi, qword [r15 + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1800601de
lea r8, [rbp - 0x80]
mov rcx, rbx
call fcn.180045610
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180063a27
test byte [r12 + 0xc8], 0x20
je 0x1800601e7
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], r13d
je 0x1800601e7
cmp byte [r15 + 0x65], r13b
je 0x180060176
cmp dword [r15 + 0xdc], 1
jle 0x1800601e7
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x18006019a
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.1800c71b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800601c6
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.180046b90
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 0x1800600a0
mov r14, qword [rsp + 0x48]
cmp word [r14 + 2], 0
je 0x18005f441
mov eax, dword [r14 + 0xc]
cmp dword [rbp - 0x80], eax
jne 0x180060212
mov rcx, qword [rdi + 0x18]
mov eax, dword [r14 + 0x10]
cmp dword [rcx + 4], eax
je 0x18005f441
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x180060227
mov rcx, r15
call fcn.18002a500
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.18002ac10
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 - 0x80]
cmp dword [rcx], eax
je 0x180060261
mov rcx, r15
call fcn.1800833e0
mov eax, dword [r12 + 0xc8]
mov r13d, 0x11
and eax, 0xffffffed
mov rdi, r14
or eax, 1
mov dword [r12 + 0xc8], eax
jmp 0x1800600a5
mov rcx, qword [r15 + 0x20]
lea r8, [rbp + 0x1c]
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.18004f270
movsxd rax, dword [r14 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], ax
je 0x1800602de
call fcn.18005d200
mov r11, qword [rsp + 0x60]
mov rcx, rax
movsxd rax, dword [rbp + 0x1c]
mov qword [rcx], rax
jmp 0x18005d94d
mov r11, qword [rsp + 0x60]
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp + 0x1c]
mov qword [rcx], rax
jmp 0x18005d94d
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.18004f300
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x18006035a
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.1800988e0
jmp 0x18006036f
cmp eax, 2
jne 0x18006036f
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 0x18006038e
xor edx, edx
mov rcx, r15
call fcn.180059750
and dword [r12 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x18005e661
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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.0x18005d788.112
mov eax, dword [r15 + 8]
cmp dword [rdi + 0x44], eax
jne case.0x18005d788.112
mov rcx, qword [rdi + 0x30]
add rdi, 0x30
call fcn.180042470
jmp 0x1800604e8
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, 1
je 0x180063a7b
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 0x18006043b
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 - 0x60]
or esi, 4
cmp cl, byte [rax + 0xc5]
jae 0x18006043d
mov byte [rax + 0xc5], cl
jmp 0x18006043d
mov esi, edx
mov rcx, qword [rsp + 0x48]
test byte [rcx + 2], 0x10
je 0x18006045f
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.180052700
mov rcx, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x180060472
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x180060479
cmp al, 0xfd
jne 0x180060479
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rbp - 0x60]
mov r8d, edi
call fcn.18005cdd0
mov rbx, rax
test rax, rax
je 0x180063def
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.180046de0
mov r12, qword [rbp - 0x60]
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.1800426a0
test r13d, r13d
jne 0x1800600a0
jmp 0x18005f43c
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.18005cdd0
mov r10, rax
test rax, rax
je 0x180063dc8
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.180046de0
mov r11, qword [rsp + 0x60]
mov r13d, eax
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x54], eax
jmp 0x18005d94d
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x1800605db
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], edx
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x18016e73b]
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 0x18006062f
test byte [rbx + 8], 8
jne 0x18006062f
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x18006062f
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.18004ecc0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
xor edx, edx
mov byte [rbx + 2], 1
jmp 0x18005d9b6
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.18005cdd0
mov rbx, rax
test rax, rax
je 0x180063dc8
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.180044070
mov r13d, eax
mov r15d, 1
test eax, eax
jne 0x180063a8f
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.180045610
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006072a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x10]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1800606fe
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.18004e990
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800606f8
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.180046de0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rbx + 4], 0
jmp 0x180060725
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.180046de0
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 0x180063a86
mov rdi, qword [rsp + 0x58]
mov byte [rbx + 2], 1
jmp 0x18005d9b6
mov r13, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r12
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.18005cdd0
test rax, rax
je 0x180063dc8
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.1800659c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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 0x180063087
jmp case.0x18005d788.89
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r12
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.18005cdd0
test rax, rax
je 0x180063dc8
mov rcx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x180197281]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], 1
jmp 0x18005d94d
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.180056360
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 0x18005d9b6
mov rax, qword [r12 + 0x78]
mov r12d, edx
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [r15 + 4]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 4], 0
mov word [r14 + 2], 0
mov dword [r14 + 0x20], edx
je 0x18006099c
movsxd rax, dword [r15 + 0xc]
imul rdi, rax, 0x38
add rdi, r11
movzx esi, word [rdi + 0x14]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1800608b9
xor edx, edx
mov rcx, rdi
call fcn.18005cf60
mov rcx, rdi
call fcn.180052550
movzx edx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], si
test dl, 0x24
jne 0x180060961
test dl, 8
jne 0x18006093f
test dl, 1
jne 0x180063080
cmp ebx, 0x17
jae 0x180063080
mov rcx, qword [r14 + 0x30]
lea rdx, [rbp - 0x68]
call fcn.180047b80
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180063e10
xor edx, edx
cmp dword [rbp - 0x68], edx
jne 0x180063071
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
test r12d, r12d
je 0x18005dca7
movzx r9d, byte [rsp + 0x40]
add r14, 0x18
mov rdi, qword [rsp + 0x58]
jmp case.0x18005d788.89
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.1800586e0
test eax, eax
jle 0x180060958
test bl, 1
jne 0x180060961
dec ebx
jmp 0x180060961
jns 0x180060961
test bl, 1
je 0x180060961
inc ebx
mov rcx, qword [r14 + 0x30]
lea r9, [rbp - 0x68]
xor r8d, r8d
mov rdx, r15
call fcn.180047ba0
mov rsi, qword [rsp + 0x78]
mov r13d, eax
mov qword [r14 + 0x50], r15
mov r15d, 1
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180063e26
mov rdi, qword [rsp + 0x58]
jmp 0x180060a22
mov rcx, qword [r14 + 0x30]
mov edx, 2
call fcn.180050bd0
mov rcx, qword [rsp + 0x48]
lea r8, [rbp - 0x68]
test eax, eax
mov r15d, 1
mov rax, qword [r14 + 0x38]
mov edx, 0xffffffff
mov qword [rbp - 0x48], rax
cmovne r12d, r15d
movzx eax, word [rcx + 0x10]
mov word [rbp - 0x2c], ax
lea eax, [rbx - 1]
test r15b, al
mov byte [rbp - 0x26], 0
mov eax, r15d
cmovne eax, edx
lea rdx, [rbp - 0x48]
mov byte [rbp - 0x2a], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x40], rcx
mov rcx, qword [r14 + 0x30]
call fcn.180047e20
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180063e26
test r12d, r12d
je 0x180060a22
cmp byte [rbp - 0x26], al
je 0x180060908
mov eax, dword [rbp - 0x68]
cmp ebx, 0x17
jl 0x180060a80
test eax, eax
js 0x180060a3f
jne 0x180060a35
cmp ebx, 0x18
je 0x180060a3f
xor edx, edx
mov dword [rbp - 0x68], edx
jmp 0x180060913
xor r10d, r10d
xor edx, edx
mov dword [rbp - 0x68], r10d
mov rcx, qword [r14 + 0x30]
call fcn.180048670
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x180060908
cmp eax, 0x65
jne 0x180063e26
mov r14, qword [rsp + 0x48]
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
mov dword [rbp - 0x68], r15d
jmp 0x18005f04b
test eax, eax
jg 0x180060a9c
jne 0x180060a8b
cmp ebx, 0x15
je 0x180060a9c
mov rcx, qword [r14 + 0x30]
call fcn.180048400
mov dword [rbp - 0x68], eax
jmp 0x180060908
xor r10d, r10d
xor edx, edx
mov dword [rbp - 0x68], r10d
mov rcx, qword [r14 + 0x30]
call fcn.180048840
jmp 0x180060a51
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.180046eb0
mov r14, qword [rsp + 0x48]
test eax, eax
je 0x18006352c
mov rax, qword [rdi + 0x38]
mov rcx, r14
mov qword [rbp - 0x48], rax
mov byte [rbp - 0x2a], 0
movzx eax, word [rcx + 0x28]
mov ebx, dword [rcx + 4]
mov word [rbp - 0x2c], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
xor r10d, r10d
mov qword [rbp - 0x40], rcx
mov dword [rbp], r10d
nop word [rax + rax]
lea r9, [rbp]
mov rdx, rdi
lea r8, [rbp - 0x48]
mov rcx, r15
call fcn.180059620
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18005e661
mov eax, dword [rbp]
test eax, eax
jle 0x180060b42
cmp word [r14 + 2], r13w
je 0x180060b89
test eax, eax
jns 0x180063085
test ebx, ebx
jle 0x180063581
mov rcx, qword [rdi + 0x30]
xor eax, eax
xor edx, edx
mov dword [rdi + 0x20], eax
dec ebx
call fcn.180048670
mov r13d, eax
test eax, eax
je 0x180060b10
cmp eax, 0x65
jne 0x18005e661
mov rdi, qword [rsp + 0x58]
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
add r14, 0x18
jmp 0x18005f04b
xor edx, edx
mov rdi, qword [rsp + 0x58]
add r14, 0x18
jmp 0x18005f04b
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 0x180060bc9
mov word [rdx + 0xc], ax
mov r14, qword [rsp + 0x48]
jmp 0x18005d958
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp ecx, eax
lea rcx, [0x180000000]
jle 0x18005ef3d
mov word [rdx + 0xc], ax
xor edx, edx
jmp case.default.0x18005d788
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.0x18005d788.9
cmp byte [rdx + 2], 0
je 0x180060bbf
jmp case.0x18005d788.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.0x18005d788.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 - 0x2c], ax
mov qword [rbp - 0x40], rcx
test ax, ax
je 0x180060c93
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp - 0x48], rax
lea rdx, [rbp - 0x48]
mov byte [rbp - 0x2a], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.180047e20
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x180060d05
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x180060cab
call fcn.180052130
test eax, eax
jne 0x180063dc8
mov rcx, qword [rbx + 0x38]
call fcn.1800581f0
mov rdi, rax
test rax, rax
je 0x180063dc8
mov rcx, qword [rbp - 0x40]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.180058250
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.180047e20
mov rdx, rdi
mov dword [rsp + 0x54], eax
mov rcx, r15
mov r13d, eax
call fcn.18002a500
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x18006009b
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 0x180060d4f
mov r14, qword [rsp + 0x48]
test ecx, ecx
je 0x180063087
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.89
test ecx, ecx
jne 0x180063071
cmp al, 0x1b
jne 0x180060d97
mov rcx, rdx
movzx edx, word [rbp - 0x2c]
test rdx, rdx
je 0x180063527
mov rax, qword [rbp - 0x40]
add rax, 0x14
test byte [rax], 1
jne 0x180063080
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x180060d73
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
cmp al, 0x1a
jne 0x18005dca7
movzx r9d, byte [rsp + 0x40]
mov rax, r14
movzx eax, word [rax + 0x10]
mov word [rbx + 0xc], ax
jmp case.0x18005d788.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.0x18005d788.31
movups xmm0, xmmword [rcx]
movzx r8d, r9b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x100], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x110], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x100]
movups xmmword [rbp + 0x120], xmm0
movsd qword [rbp + 0x130], xmm1
call fcn.18005d080
xor edx, edx
test byte [rbp + 0x114], 4
je 0x180063071
mov rdi, qword [rbp + 0x100]
jmp 0x180060e42
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 - 0x18]
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 - 0x18], edx
mov rdx, rdi
call fcn.180047ba0
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 - 0x18]
mov dword [rbx + 0x24], eax
cmp dword [rbp - 0x18], edx
je 0x180060ead
cmp dword [r14 + 8], edx
jne 0x180063087
mov ecx, 0x17d6c
call fcn.1800ec250
mov r13d, eax
mov dword [rsp + 0x54], eax
xor edx, edx
test r13d, r13d
jne 0x1800600a0
jmp 0x18005dc9d
mov rbx, qword [rsp + 0x48]
mov rcx, r12
mov rdx, rbx
call fcn.18005d230
mov rcx, qword [r12 + 0x78]
mov r14, rbx
movsxd rdx, dword [rbx + 4]
mov r11, qword [rsp + 0x60]
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 0x18005d94d
mov rbx, qword [rsp + 0x48]
mov rcx, r12
mov qword [rbp - 0x78], rdx
mov dword [rbp - 0x80], edx
mov rdx, rbx
call fcn.18005d230
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 0x180060f88
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp - 0x80]
call fcn.180047b80
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180063e19
cmp dword [rbp - 0x80], eax
je 0x180060f57
mov r15d, 1
mov qword [rbp - 0x78], r15
jmp 0x180060f8e
mov rcx, qword [rdi + 0x30]
call fcn.180046ec0
movabs r14, 0x7fffffffffffffff
mov qword [rbp - 0x78], rax
mov r15d, 1
cmp rax, r14
jl 0x180060f7f
or dword [rdi + 8], 2
jmp 0x180060f98
inc rax
mov qword [rbp - 0x78], rax
jmp 0x180060f98
mov r15d, 1
movabs r14, 0x7fffffffffffffff
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x18006100e
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x180060fd6
mov rax, qword [rcx + 8]
test rax, rax
je 0x180060fcc
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180060fc0
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x180060fdf
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.180052700
mov rax, qword [rbx]
cmp rax, r14
je 0x18006106f
test byte [rdi + 8], 2
jne 0x18006106f
mov rcx, qword [rbp - 0x78]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x78], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x180061089
xor eax, eax
mov r14d, 8
mov ebx, eax
nop
lea rdx, [rbp - 0x78]
mov ecx, r14d
call fcn.18002d7e0
mov rdx, qword [rbp - 0x78]
lea r9, [rbp - 0x80]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x78], rdx
mov rcx, qword [rdi + 0x30]
call fcn.180047ba0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18005fe46
cmp dword [rbp - 0x80], eax
jne 0x180061089
inc ebx
cmp ebx, 0x64
jl 0x180061020
mov rax, qword [rsp + 0x68]
mov r13d, 0xd
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x1800600b0
mov byte [rdi + 3], 0
xor edx, edx
mov dword [rdi + 0x20], edx
mov rax, qword [rbp - 0x78]
mov qword [rsi], rax
jmp 0x18005dc98
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 - 0x40], r8
jne 0x1800610f6
cmp qword [r15 + 0x140], 0
je 0x1800610f6
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 0x1800610ff
xor r10d, r10d
mov edi, r10d
mov esi, r10d
movzx ecx, word [r13 + 2]
test cl, 1
je 0x180061123
inc qword [r12 + 0x38]
movzx eax, word [r13 + 2]
movzx ecx, ax
test al, 0x20
je 0x180061123
mov qword [r15 + 0x38], r8
movzx ecx, word [r13 + 2]
mov rax, qword [rdx + 8]
mov qword [rbp - 0x38], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp - 0x24], eax
test cl, 0x10
je 0x18006113c
mov r9d, dword [rbx + 0x24]
jmp 0x18006113f
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x180061151
mov eax, dword [rdx]
mov dword [rbp - 0x20], eax
jmp 0x180061155
mov dword [rbp - 0x20], r10d
movzx r8d, cx
lea rdx, [rbp - 0x48]
mov qword [rbp - 0x48], r10
and r8d, 0x8a
mov rcx, qword [rbx + 0x30]
call fcn.18004d330
inc dword [rbp - 0x50]
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 0x18006009b
test rdi, rdi
je 0x18005dc98
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 - 0x40]
mov qword [rsp + 0x20], rax
call qword [r15 + 0x140]
jmp 0x18005f43c
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 0x1800611f9
imul rcx, rax, 0x38
mov r8, qword [rcx + r11]
jmp 0x1800611fe
xor eax, eax
mov r8d, eax
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.18004d910
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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 0x180061281
cmp qword [r15 + 0x140], 0
je 0x180061281
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 0x180061287
cmp byte [rbx + 4], 0
je 0x180061287
mov rcx, qword [rbx + 0x30]
call fcn.180046ec0
mov qword [rbx + 0x50], rax
jmp 0x180061287
mov rsi, rdx
mov rdi, rdx
movzx edx, byte [r13 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.18004de60
inc dword [rbp - 0x50]
xor edx, edx
mov dword [rsp + 0x54], eax
mov r13d, eax
mov qword [rbx + 0x20], rdx
test eax, eax
jne 0x18006009b
test r14b, 1
je 0x18005dc98
inc qword [r12 + 0x38]
mov r10, qword [r15 + 0x140]
test r10, r10
je 0x18005dc98
test rdi, rdi
je 0x18005dc98
test byte [rdi + 0x30], 0x80
jne 0x18005dc98
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 0x18005f43c
mov rdx, qword [r12 + 0x38]
mov rcx, r15
call fcn.180059740
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.0x18005d788.89
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 4]
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 + 4], eax
call fcn.1800680e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
xor edx, edx
cmp dword [rbp + 4], edx
jne 0x180063087
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.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.180068010
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
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 0x18005d9b6
mov r13, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r13
call fcn.18005d230
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.180046f00
cmp eax, dword [r15 + 0x88]
ja 0x180063aa7
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.1800532f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 0xc], eax
jne 0x18006352c
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x18006352c
mov rcx, rbx
call fcn.1800520d0
test eax, eax
jne 0x180063dc8
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18005d953
mov rbx, qword [rsp + 0x48]
mov rcx, r12
mov rdx, rbx
call fcn.18005d230
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 0x1800614a6
mov eax, 1
mov word [rdi + 0x14], ax
jmp 0x18005f43c
cmp byte [rbx + 3], 0
je 0x1800614bc
mov rax, qword [rbx + 0x50]
mov qword [rbp + 0x30], rax
mov qword [rdi], rax
jmp 0x18005f43c
cmp byte [rbx], 2
jne 0x1800614f9
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x30]
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.1800598d0
test r13d, r13d
jne 0x1800600a0
mov rax, qword [rbp + 0x30]
mov qword [rdi], rax
jmp 0x18005f43c
mov rcx, rbx
call fcn.180057fb0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
cmp byte [rbx + 2], al
je 0x180061523
mov eax, 1
mov word [rdi + 0x14], ax
jmp 0x18005f43c
mov rcx, qword [rbx + 0x30]
call fcn.180046ec0
mov qword [rbp + 0x30], rax
mov qword [rdi], rax
jmp 0x18005f43c
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 0x180061581
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r12
call fcn.18005cdd0
test rax, rax
je 0x180063dc8
xor edx, edx
mov byte [rax + 4], 1
or dword [rax + 8], 8
lea rcx, [0x180197281]
mov dword [rax + 0x24], edx
mov qword [rax + 0x30], rcx
jmp 0x180061583
xor edx, edx
cmp byte [rax], 0
mov byte [rax + 2], 1
mov dword [rax + 0x20], edx
jne 0x18005dc98
mov rcx, qword [rax + 0x30]
call fcn.180042470
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
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 - 0x14], edx
cmp bl, 0x89
jne 0x1800615e0
mov rcx, rsi
mov dword [rdi + 0x24], 0xffffffff
call fcn.180046eb0
test eax, eax
jne 0x180063527
lea rdx, [rbp - 0x14]
mov rcx, rsi
call fcn.180047b80
mov r13d, eax
mov dword [rsp + 0x54], eax
movzx eax, byte [rbp - 0x14]
xor edx, edx
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
test r13d, r13d
jne 0x18006009b
mov r14, qword [rsp + 0x48]
cmp dword [r14 + 8], edx
jle 0x18005dc9d
cmp dword [rbp - 0x14], edx
jne 0x180063087
jmp 0x18005dc9d
mov rax, qword [rsp + 0x48]
lea rdx, [rbp - 0x10]
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.180047a40
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
cmp dword [rbp - 0x10], eax
jne 0x180063080
mov rcx, rbx
call fcn.180048410
test rax, rax
js 0x180061693
mov rcx, rax
call fcn.180030ab0
mov r14, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r14 + 0xc]
jge 0x180061698
mov eax, 1
mov dword [rbp - 0x10], eax
jmp 0x18005f049
mov r14, qword [rsp + 0x48]
xor edx, edx
cmp dword [rbp - 0x10], edx
jne 0x180063087
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.89
inc dword [r12 + 0xdc]
mov rax, qword [rsp + 0x48]
lea rdx, [rbp - 0x4c]
mov r15d, 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x4c], r15d
cmp byte [rbx], r15b
jne 0x1800616f1
mov rcx, rbx
call fcn.180067e90
xor edx, edx
jmp 0x180061703
mov rcx, qword [rbx + 0x30]
call fcn.180047a40
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 0x180063a8f
mov r14, qword [rsp + 0x48]
movzx eax, byte [rbp - 0x4c]
mov byte [rbx + 2], al
cmp dword [r14 + 8], r13d
jle 0x18005dc9d
cmp dword [rbp - 0x4c], r13d
jne 0x180063087
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp case.0x18005d788.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.180067f60
jmp 0x1800617a6
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.180048840
jmp 0x1800617a6
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.180048670
mov r13d, eax
mov dword [rsp + 0x54], eax
xor edx, edx
mov dword [rbx + 0x20], edx
test eax, eax
jne 0x1800617cf
mov rax, qword [rsp + 0x48]
mov byte [rbx + 2], dl
movzx eax, word [rax + 2]
inc dword [r12 + rax*4 + 0xd4]
jmp case.0x18005d788.9
cmp r13d, 0x65
jne 0x1800600a0
mov r13d, edx
mov dword [rsp + 0x54], edx
mov byte [rbx + 2], 1
jmp 0x18006209e
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 0x180061812
inc qword [r12 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x18006183c
mov rcx, rbx
call fcn.180052130
mov r13d, eax
test eax, eax
jne 0x1800600a0
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 - 0x40], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 0x48], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp - 0x28], ax
mov qword [rbp - 0x30], rcx
test r8b, 0x10
je 0x180061875
mov r9d, dword [rdi + 0x24]
jmp 0x180061878
mov r9d, edx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp - 0x48]
and r8d, 0x8a
call fcn.18004d330
xor edx, edx
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x20], edx
mov r13d, eax
test eax, eax
jne 0x1800600a0
jmp 0x18005dc98
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 0x1800618e0
mov rcx, rbx
call fcn.180052130
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov rdx, rbx
mov rcx, rdi
call fcn.180066d90
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
jmp 0x18005f43c
mov r13, qword [rsp + 0x48]
lea r8, [rbp + 0x18]
mov rax, qword [r12 + 0x78]
lea rdx, [rbp - 0x48]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp - 0x48], rax
movzx eax, word [r13 + 0xc]
mov word [rbp - 0x2c], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov byte [rbp - 0x2a], 0
add rcx, r11
mov qword [rbp - 0x40], rcx
mov rcx, rdi
call fcn.180047e20
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
cmp dword [rbp + 0x18], eax
jne 0x180061986
mov dl, 4
mov rcx, rdi
call fcn.18004de60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
xor edx, edx
mov qword [rbx + 0x20], rdx
jmp 0x18005dc9d
mov r14, qword [rsp + 0x48]
cmp word [r14 + 2], 0
je 0x1800619a3
mov rcx, r15
call fcn.180084110
test eax, eax
je 0x180063ac1
xor edx, edx
mov qword [rbx + 0x20], rdx
jmp 0x18005dc9d
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.180057fb0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
cmp byte [rbx + 2], al
jne 0x180061a72
xor r14d, r14d
lea r8, [rbp + 0x38]
mov qword [rbp + 0x38], r14
mov rcx, r15
mov rdx, qword [rbx + 0x30]
call fcn.1800593f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x180061a51
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r12 + 0x78]
mov r11, qword [rsp + 0x60]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r14b
mov rax, qword [rbp + 0x38]
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 0x18005d94d
mov rdx, rax
mov rcx, r12
call fcn.18005d230
mov rcx, qword [rbp + 0x38]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov qword [rax], rcx
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.180052a80
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
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 0x18005dcd5
call fcn.180057ee0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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 - 0x48], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x2c], ax
sbb al, al
mov byte [rbp - 0x2a], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp - 0x40], rcx
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.180046f00
mov ebx, eax
test eax, eax
je 0x180063ae2
cmp rbx, 0x7fffffff
ja 0x180063ae2
xor r8d, r8d
lea rcx, [rbp + 0x138]
mov rdx, r15
call fcn.180052a60
lea r8, [rbp + 0x138]
mov edx, ebx
mov rcx, rdi
call fcn.1800532f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov rdx, qword [rbp + 0x140]
lea r8, [rbp - 0x48]
mov ecx, dword [rbp + 0x148]
xor r9d, r9d
call fcn.180058890
lea rcx, [rbp + 0x138]
mov ebx, eax
call fcn.180052510
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 0x180063087
jmp 0x18005dc9d
mov r13, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r13
call fcn.18005d230
mov rbx, rax
mov eax, 1
mov word [rbx + 0x14], ax
mov ecx, dword [r15 + 0xe8]
inc ecx
cmp dword [r15 + 0xdc], ecx
jg 0x180063af4
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp - 0xc]
mov rcx, qword [r15 + 0x20]
xor eax, eax
mov edx, dword [r13 + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp - 0xc], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.18004f210
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rax, dword [rbp - 0xc]
mov qword [rbx], rax
test r13d, r13d
jne 0x1800600a0
mov r8d, dword [rbp - 0xc]
test r8d, r8d
je 0x180063527
mov rax, qword [rsp + 0x48]
mov edx, edi
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.180088960
lea eax, [rdi + 1]
mov byte [rbp - 0x70], al
jmp 0x18005f43c
mov r13, qword [rsp + 0x48]
lea r8, [rbp - 0x58]
mov rcx, qword [r15 + 0x20]
mov qword [rbp - 0x58], rdx
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18004ecc0
mov r14, qword [rsp + 0x48]
mov r13d, eax
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x54], eax
cmp dword [r14 + 0xc], 0
je 0x180061caf
mov rdx, qword [rbp - 0x58]
add qword [r12 + 0x38], rdx
movsxd rax, dword [r14 + 0xc]
test eax, eax
jle 0x180061caf
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test r13d, r13d
jne 0x18005e661
jmp 0x18005d94d
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 0x180061cef
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.180066020
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov rcx, qword [rcx + 0x30]
call fcn.18004eda0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
mov r13, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r13
call fcn.18005d230
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 8]
mov r8d, dword [r13 + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r15 + 0x20]
mov dword [rbp + 8], eax
mov rcx, qword [rcx + 8]
call fcn.18004e990
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov eax, dword [rbp + 8]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov qword [rbx], rax
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
inc byte [r15 + 0x70]
mov rbx, qword [r15 + 0x200]
movzx edi, byte [r15 + 0x6e]
cmp dword [rax + 4], 0
mov qword [rbp - 0x78], rdx
je 0x180061d9a
mov qword [r15 + 0x200], rdx
mov byte [r15 + 0x6e], 0
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, r15
xor r8d, r8d
call fcn.1800a1c30
mov r8, qword [rbp - 0x78]
mov r13d, eax
dec byte [r15 + 0x70]
mov dword [rsp + 0x54], eax
mov qword [r15 + 0x200], rbx
mov byte [r15 + 0x6e], dil
test r8, r8
jne 0x180061ddc
test eax, eax
je 0x18005f43c
lea rdx, [0x180170cd8]
mov rcx, r12
call fcn.180053d90
mov rcx, qword [rbp - 0x78]
call fcn.18002a420
mov rbx, qword [rsp + 0x70]
cmp r13d, 7
je 0x180063dcd
mov rax, qword [rsp + 0x68]
mov r15d, 1
mov rdi, qword [rsp + 0x48]
jmp 0x1800600b5
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x180061e73
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.18008ee90
and dword [r15 + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.1800aa940
or dword [r15 + 0x2c], 1
mov r13d, eax
and dword [r12 + 0xc8], 0xfffffffc
mov dword [rsp + 0x54], eax
jmp 0x180061f3b
mov dword [rbp - 0x38], ebx
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x30], edx
shl rbx, 5
mov rcx, qword [rbx + rcx + 8]
call fcn.180043d60
mov r8, qword [r15 + 0x20]
lea r9, str.sqlite_master
mov dword [rbp - 0x28], 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.18002d1d0
mov rbx, rax
mov rcx, r15
test rax, rax
je 0x180063b08
xor eax, eax
mov byte [r15 + 0xc5], 1
lea r9, [rbp - 0x48]
mov dword [rbp - 0x34], eax
lea r8, [fcn.1800aa6f0]
mov dword [rbp - 0x2c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800a1c30
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180061f28
mov r13d, dword [rbp - 0x34]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x180061f28
cmp dword [rbp - 0x2c], r13d
jne 0x180061f28
mov ecx, 0x1838b
call fcn.1800ec250
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdx, rbx
mov rcx, r15
call fcn.18002a500
mov byte [r15 + 0xc5], 0
test r13d, r13d
je 0x18005da0f
mov rcx, r15
call fcn.180083460
jmp 0x180061df4
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1800807d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.180083dc0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800830d0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800bedc0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 0x40]
mov rdx, qword [r15 + 0x20]
mov qword [rsp + 0x30], r9
lea r9, [rbp + 0x20]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
mov r9d, dword [r13 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
add rdi, r11
shl rax, 5
add rbx, r11
mov ecx, dword [rdi]
mov rdx, qword [rax + rdx + 8]
inc ecx
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.180050260
mov rcx, rbx
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.180052a80
mov eax, dword [rbp + 0x20]
test eax, eax
je 0x18006208c
test r13d, r13d
jne 0x180063b12
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.18002a420]
mov rdx, qword [rbp + 0x40]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180052e50
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.180051da0
mov rdi, qword [rsp + 0x58]
mov eax, dword [r15 + 0x198]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
test eax, eax
jne 0x180063bcc
cmp rsi, rbx
jb 0x180063527
mov rdx, qword [r15 + 0x210]
test rdx, rdx
je 0x180063527
mov eax, dword [r15 + 0x220]
mov rcx, qword [r15 + 0x218]
add rbx, rax
mov qword [rsp + 0x70], rbx
call rdx
test eax, eax
jne 0x180063bc5
cmp rsi, rbx
jae 0x1800620c0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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 0x180062135
mov rcx, rbx
call fcn.180052bc0
test eax, eax
jne 0x180063dc8
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1800383b0
jmp 0x18005f43c
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 0x10
je 0x18006218d
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x50]
call fcn.180038800
test eax, eax
je 0x18006218d
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbp + 0x50]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.180052b30
jmp 0x18006209e
mov rcx, rbx
call fcn.180052a80
jmp case.0x18005d788.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 0x1800621ce
mov rcx, rbx
call fcn.180052bc0
test eax, eax
jne 0x180063dc3
test edi, edi
je 0x1800621f0
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.180038880
test eax, eax
jne 0x180063080
test edi, edi
js 0x180063527
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.1800383b0
jmp 0x18005f43c
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 0x180062243
mov rax, qword [r12 + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x180062243
nop dword [rax]
cmp qword [rax + 0x30], rcx
je 0x18005dcd5
mov rax, qword [rax + 8]
test rax, rax
jne 0x180062230
mov r8, qword [rsp + 0x68]
mov eax, dword [r12 + 0x118]
cmp eax, dword [r8 + 0xb0]
jge 0x180063b20
test byte [r14 + 0x14], 0x10
jne 0x18006238b
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 0x18006228e
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, r8
movsxd rdx, ebx
call fcn.18002a820
mov rsi, rax
test rax, rax
je 0x180063dbe
mov rcx, r14
call fcn.1800524f0
mov r8, qword [rsp + 0x68]
mov eax, 0x1010
mov word [r14 + 0x14], ax
lea rax, [0x1800558d0]
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 0x180062381
nop dword [rax]
nop dword [rax + rax]
mov word [rax + 0x14], dx
mov qword [rax + 0x18], r8
add rax, 0x38
cmp rax, rcx
jne 0x180062370
mov eax, dword [r12 + 0x118]
jmp 0x18006238f
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 fcn.18013d7a0
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 0x18006209e
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18005d230
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.180052d40
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov eax, dword [r15 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r14, rax
jae 0x1800624de
movsxd rax, dword [rax + 8]
add qword [r15 + 0x300], rax
jmp case.0x18005d788.89
cmp dword [rax + 4], 0
lea rcx, [0x180000000]
movsxd rax, dword [rax + 8]
je 0x1800624fb
add qword [r15 + 0x2f8], rax
jmp case.default.0x18005d788
add qword [r12 + 0x50], rax
jmp case.default.0x18005d788
cmp dword [r14 + 4], 0
je 0x18006252d
cmp qword [r15 + 0x2f8], 0
jne case.0x18005d788.89
cmp qword [r15 + 0x300], 0
je 0x18005f04b
jmp case.0x18005d788.89
cmp qword [r12 + 0x50], 0
jne case.0x18005d788.89
cmp qword [r15 + 0x300], 0
je 0x18005f04b
jmp case.0x18005d788.89
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x180062581
mov rax, qword [rcx + 8]
test rax, rax
je 0x18006256e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180062562
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x180062591
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.180052700
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.180052700
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 0x18005dca7
movzx r9d, byte [rsp + 0x40]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp case.0x18005d788.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 0x18005d958
mov rax, r14
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x18005f049
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.18005d230
mov rcx, qword [rbx]
mov rsi, rax
mov qword [rbp + 0x48], rcx
test rcx, rcx
jle 0x180062672
mov rdx, qword [rdi]
lea rcx, [rbp + 0x48]
test rdx, rdx
mov eax, 0
cmovle rdx, rax
call fcn.180030950
test eax, eax
jne 0x180062672
mov rax, qword [rbp + 0x48]
mov qword [rsi], rax
jmp 0x18005f43c
mov qword [rsi], 0xffffffffffffffff
jmp 0x18005f43c
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x18005dcd5
mov r14, qword [rsp + 0x48]
jle 0x18005f04b
dec rax
mov qword [rcx + r11], rax
jmp 0x18005f04b
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 0x1800626d6
dec rax
mov qword [rcx + r11], rax
mov r14, qword [rsp + 0x48]
test rax, rax
je 0x18005f04b
jmp case.0x18005d788.89
mov rax, qword [rsp + 0x48]
mov rcx, r15
movzx edi, word [rax + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.18002a8b0
mov rbx, rax
test rax, rax
je 0x180063dc3
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.180052a60
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 0x18006279b
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 + 0x10], r10
cmp qword [rbx + 0x10], r10
je 0x180062805
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x180062805
mov r10, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
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 0x1800627e0
mov r10, qword [rbp + 0x10]
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 0x180062828
call qword [rax + 0x30]
jmp 0x18006282b
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x180063548
jle 0x18006285b
mov rcx, qword [rbx]
call fcn.180059e60
mov r8, rax
lea rdx, [0x180170cd8]
mov rcx, r12
call fcn.180053d90
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
cmp byte [rbx + 0x29], 0
je 0x180062883
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x18006287f
imul rcx, rax, 0x38
mov edx, 1
add rcx, rdi
call fcn.180052b30
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
call fcn.1800524f0
mov rax, qword [rbx]
xor edx, edx
mov r15d, 1
mov word [rax + 0x14], r15w
mov dword [rbx + 0x24], edx
test r13d, r13d
jne 0x18005dfe8
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.0x18005d788.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 0x18006290d
imul rdx, rax, 0x38
mov r8, rcx
mov rcx, rbx
add rdx, r11
call fcn.180052350
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 0x18006291f
mov rdx, rcx
mov rcx, rbx
call fcn.180052240
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rcx, rbx
test r13d, r13d
jne 0x180063b47
movzx edx, byte [rsp + 0x40]
call fcn.180051da0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
lea rax, [rbp + 0x178]
mov dword [rbp + 0x170], edx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x174]
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov qword [rbp + 0x174], 0xffffffffffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1800ea4e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x1800629a4
cmp eax, 5
jne 0x1800600a0
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rbp + 0x170], 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
nop word [rax + rax]
movsxd rdx, dword [rbp + rbx*4 + 0x170]
mov rcx, rdi
call fcn.180052b30
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x1800629c0
jmp 0x18005f43c
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18005d230
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.18004f500
mov rcx, rax
mov rsi, rax
call fcn.18003dfd0
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.18003dfe0
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.18003db30
cmp ebx, 5
jne 0x180062a69
mov rcx, rax
call fcn.18002e040
test eax, eax
je 0x180062a62
mov rcx, rsi
call fcn.18003e000
test eax, eax
jne 0x180062a69
mov ebx, edi
jmp 0x180062aea
cmp ebx, edi
je 0x180062aea
cmp edi, 5
je 0x180062a77
cmp ebx, 5
jne 0x180062aea
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x65], 0
je 0x180063b63
cmp dword [rax + 0xdc], 1
jg 0x180063b63
cmp edi, 5
jne 0x180062aba
mov rdx, rax
mov rcx, rsi
call fcn.18003e300
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180062aef
mov edx, ebx
mov rcx, rsi
call fcn.18003de30
jmp 0x180062acf
cmp edi, 4
jne 0x180062aca
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.18003de30
test r13d, r13d
jne 0x180062aef
xor eax, eax
mov rcx, r14
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.180050a90
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
je 0x180062af1
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.18003de30
mov ecx, 0x2202
mov word [r15 + 0x14], cx
mov ecx, eax
call fcn.1800a2ee0
mov rcx, rax
mov qword [r15 + 8], rax
call fcn.18002e040
movzx edx, byte [rsp + 0x40]
mov rcx, r15
mov dword [r15 + 0x10], eax
mov byte [r15 + 0x16], 1
call fcn.180051da0
test r13d, r13d
jne 0x18006009b
jmp 0x18005f43c
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x180062b52
imul r9, rax, 0x38
add r9, r11
jmp 0x180062b55
mov r9, rdx
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, r15
call fcn.1800c4e80
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
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.180046170
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x180063527
cmp eax, 0x65
jne 0x1800600a0
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
mov r14, qword [rsp + 0x48]
jmp 0x18005f04b
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x180062bf2
mov edx, dword [rax + 8]
mov rcx, r15
call fcn.180059750
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
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.0x18005d788.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.180046ee0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
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.180046ef0
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
movzx r8d, byte [r14 + 0xc]
test r8b, r8b
jne 0x180062c86
movabs rax, 0x400000000
test qword [r15 + 0x30], rax
jne 0x18005d9c6
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.1800508a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18005da0f
mov rdi, qword [rsp + 0x48]
cmp al, 6
jne 0x1800600a5
mov r8, qword [rdi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
call fcn.180053d90
jmp 0x1800600a5
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1800c70b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test rbx, rbx
je 0x180062d05
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1800598d0
test r13d, r13d
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
lea rcx, [rbp + 0xc8]
mov qword [rbp + 0xc8], rdx
xorps xmm0, xmm0
mov qword [rbp + 0xf8], rdx
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xd0], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0xe8], xmm1
mov qword [rbp + 0xe0], r15
add rdx, r11
call fcn.180052d80
lea rcx, [rbp + 0xc8]
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.180059e60
test rax, rax
je 0x180062d9e
mov r8, rax
lea r9, [r12 + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1800c6980
mov r13d, eax
mov dword [rsp + 0x54], eax
lea rcx, [rbp + 0xc8]
call fcn.1800524f0
test r13d, r13d
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
mov rcx, r15
inc dword [r15 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800c6e60
dec dword [r15 + 0xe8]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1800600a0
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x78], rdx
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180063bac
mov rdi, qword [rbx]
test rdi, rdi
je 0x180063bac
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1800598d0
test r13d, r13d
jne 0x1800600a0
mov rax, qword [rbp - 0x78]
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.18005cdd0
mov rcx, qword [rbp - 0x78]
test rax, rax
je 0x180063ba4
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x18005f43c
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x78], rdx
movsxd rax, dword [rax + 8]
imul r14, rax, 0x38
add r14, r11
mov rcx, r14
call fcn.180052a80
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rcx + 0x10]
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x180063527
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rbx]
inc dword [rsi + 0x2c]
call fcn.1800c5a00
mov rcx, qword [rsp + 0x48]
lea r8, [rbp - 0x78]
mov rdx, qword [r15 + 0x20]
mov qword [rsp + 0x20], r8
mov r8, qword [rsi]
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 [rsi + 0x50]
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1800c5a10
mov rdx, rsi
mov rcx, r15
call fcn.180083da0
test r13d, r13d
jne 0x180063bb7
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x180063527
lea rax, [fcn.18002a420]
mov r9b, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.180052e50
jmp 0x18005f43c
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.18002a3d0
mov rbx, rax
test rax, rax
je 0x180063dc8
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.18005d230
mov ecx, 1
lea r9, [0x18005ac90]
lea r8, str.ValueList
mov rdx, rbx
mov word [rax + 0x14], cx
mov rcx, rax
call fcn.180052b50
jmp 0x18005f43c
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 0x18006301c
mov r10d, 1
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x180063003
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.1800598d0
test ebx, ebx
jne 0x180063e01
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 0x18005dc9d
mov rdi, qword [rsp + 0x58]
jmp 0x18005f04b
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x18005f04b
mov r14, qword [rsp + 0x48]
xor edx, edx
mov rdi, qword [rsp + 0x58]
jmp 0x18005f04b
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 0x1800630c1
mov rcx, rbx
call fcn.180052a80
jmp 0x18005f43c
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 + 0x90], xmm0
mov qword [rbp + 0x90], rbx
movups xmmword [rbp + 0xb0], xmm0
mov byte [rbp + 0xb8], r9b
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xc0], rax
je 0x180063119
mov rcx, rbx
call fcn.180052a80
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x180063129
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x90]
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.1800598d0
cmp dword [rbp + 0xb4], 0
jle 0x180063181
mov rcx, rbx
call fcn.180059e60
mov r8, rax
lea rdx, [0x180170cd8]
mov rcx, r12
call fcn.180053d90
mov r13d, dword [rbp + 0xb4]
mov dword [rsp + 0x54], r13d
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.180051da0
test r13d, r13d
jne 0x18006009b
jmp 0x18005f43c
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 0x1800637b0
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.1800598d0
test r13d, r13d
jne 0x18006009b
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x180062099
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 0x18006209e
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.180051da0
mov r13d, eax
test eax, eax
jne 0x18006009b
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 0x180063277
and qword [r15 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r12
call fcn.1800598d0
and dword [r12 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x18006009b
jmp 0x18005f43c
cmp byte [r15 + 0x67], 0
mov qword [rbp - 0x58], rdx
jne 0x180063dc8
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180063bac
mov r10, qword [rbx]
test r10, r10
je 0x180063bac
cmp qword [r10 + 0x68], 0
mov r14, qword [rsp + 0x48]
movsxd rdx, dword [r14 + 8]
je 0x18005d958
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 0x180063310
nop dword [rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x180063300
movzx eax, byte [r14 + 2]
lea r9, [rbp - 0x58]
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.1800598d0
test r13d, r13d
jne 0x180063370
cmp dword [r14 + 4], r13d
je 0x18006334d
mov rax, qword [rbp - 0x58]
mov qword [r15 + 0x38], rax
inc qword [r12 + 0x38]
test r13d, r13d
jne 0x1800600a0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x18005d953
cmp r13b, 0x13
jne 0x18006334d
mov rax, qword [r14 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x18006334d
movzx ecx, word [r14 + 2]
cmp ecx, 4
jne 0x180063bd7
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x54], edx
jmp 0x18005dc9d
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18005d230
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.180043d60
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov ecx, eax
mov qword [rbx], rcx
jmp 0x18005d94d
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.18005d230
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 0x18006341e
mov rcx, rbx
call fcn.180043d60
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0xc]
cmp eax, ecx
cmovb eax, ecx
mov edx, eax
mov rcx, rbx
call fcn.180044d20
mov eax, eax
mov qword [rdi], rax
jmp 0x18005f43c
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 0x1800634a6
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 0x1800634a6
mov r15, qword [rsp + 0x48]
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
nop word [rax + rax]
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 0x180063480
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 0x180063527
jle 0x1800634f2
mov rcx, rdi
call fcn.180059e60
mov r8, rax
lea rdx, [0x180170cd8]
mov rcx, r12
call fcn.180053d90
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.180057a40
xor edx, edx
mov dword [rbx + 0x24], edx
test r13d, r13d
jne 0x1800600a0
jmp 0x18005dc98
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.0x18005d788.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.0x18005d788.89
mov r14, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp case.0x18005d788.89
xor edx, edx
jmp 0x18005dc9d
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.0x18005d788.89
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.18005d260
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
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 0x18005d94d
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.18005d260
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 0x180063655
inc dword [r12 + 0xf4]
jmp 0x18005f049
inc dword [r12 + 0xf0]
mov r11, qword [rsp + 0x60]
jmp 0x18005d94d
movzx eax, byte [r15 + 0x6e]
test al, 0x41
je 0x1800636c7
cmp byte [r12 + 0xc5], 0xfe
je 0x1800636c7
mov rcx, qword [rsp + 0x48]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x180063696
mov r9, qword [r12 + 0xf8]
test r9, r9
je 0x1800636c7
test al, 0x40
je 0x18006373a
mov rdx, r9
mov rcx, r12
call fcn.18005c890
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.18002a420
xor edx, edx
mov ebx, 1
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x180191f18]
jl 0x180063727
cmp byte [r14], 0xb6
je 0x18005d9bb
cmp dword [r12 + 0x90], 1
mov edx, ebx
jle 0x180063723
mov eax, 0x18
xor r10d, r10d
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x180063713
mov dword [rax + rcx + 4], r10d
inc edx
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x180063700
xor edx, edx
mov eax, edx
inc eax
mov dword [r14 + 4], eax
inc dword [r12 + 0xec]
jmp 0x18005f04b
cmp dword [r15 + 0xe4], 1
jle 0x180063782
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.18002d1d0
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.18002a560
jmp 0x1800636c5
mov rdx, qword [r15 + 0x100]
mov ebx, 1
mov ecx, ebx
mov r8, r12
call qword [r15 + 0xf8]
xor edx, edx
jmp 0x1800636cc
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x48]
jmp 0x18005d94d
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp case.0x18005d788.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 0x18006388d
movzx eax, word [r13 + 2]
mov rcx, r12
test ax, ax
je 0x180063837
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x180000000]
mov r8, qword [rax + r8*8 + 0x165ec0]
call fcn.180053d90
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x180063847
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.18002d1d0
mov qword [r12 + 0xa8], rax
jmp 0x180063847
mov r8, qword [r13 + 0x10]
lea rdx, [0x180170cd8]
call fcn.180053d90
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.18002d3c0
mov rcx, r12
call fcn.180057320
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 0x1800638c1
mov dword [r12 + 0x34], eax
jmp 0x180063f66
cmp dword [r12 + 0x34], 0
mov r13d, 0x65
cmovne r13d, r15d
jmp 0x180063f66
lea rax, [0x18016efc4]
mov r13d, 0xb
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x174a4
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18002d3c0
jmp 0x18006009b
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 + 0x16d2b0]
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 + 0x16bf48]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x194420]
call fcn.180053d90
mov r13d, 0xc13
jmp 0x18006009b
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.180053d90
mov r13d, 5
jmp 0x1800600a0
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.180053d90
mov r13d, 5
jmp 0x18006009b
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 0x1800600aa
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 0x180063f5b
mov r13d, 0xb
bt rax, 0x14
mov rdi, rcx
cmovae r10d, r13d
mov r13d, r10d
jmp 0x1800600a5
mov rdi, qword [rsp + 0x48]
mov r15d, 1
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x70]
cmp r13b, 5
jne 0x18005dff2
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 0x180063f66
mov r13d, 0x204
jmp 0x1800600a0
mov rcx, qword [rbx + 0x10]
call fcn.180044890
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
jmp 0x1800600b0
mov r12, qword [rbp - 0x60]
mov rsi, qword [rsp + 0x78]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.180053d90
mov r13d, 0x12
jmp 0x1800600a0
lea r8, str.index_corruption
mov edx, 0x181a6
mov ecx, 0x30b
call fcn.1800ec220
mov r13d, eax
mov rdi, r14
jmp 0x1800600a5
mov ecx, 0x18273
call fcn.1800ec250
mov r13d, eax
jmp 0x1800600a0
mov r13d, 6
mov byte [r12 + 0xc4], 2
jmp 0x1800600a0
call fcn.180083460
jmp 0x180063dc8
mov rcx, qword [rbp + 0x40]
call fcn.18002a420
jmp 0x1800600a0
mov r15d, 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r13d, r15d
call fcn.180053d90
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
jmp 0x1800600b0
call fcn.180059e60
mov r8, rax
lea rdx, [0x180170cd8]
mov rcx, r12
call fcn.180053d90
jmp 0x1800600a0
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.180053d90
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x1800600b0
call qword [rdi + 0x38]
jmp 0x180063dc8
mov r13d, 6
jmp 0x1800600a0
mov rcx, qword [rbp - 0x78]
call fcn.18002a420
jmp 0x18006009b
mov rbx, 0xffffffffffffffff
mov r13d, 9
jmp 0x180061e03
movzx eax, cl
cmp ecx, 5
mov ecx, 2
mov rdi, r14
cmove eax, ecx
mov byte [r12 + 0xc4], al
jmp 0x1800600a5
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 0x180063dc8
test byte [r15 + 0x6e], 4
je 0x180063c47
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 0x180063f4c
mov r13, qword [rsp + 0x48]
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x180063d7d
test ecx, ecx
je 0x180063caf
mov edx, 0x204
mov rcx, r15
call fcn.1800e90d0
mov al, 1
mov r14d, 1
jmp 0x180063cfb
test ebx, ebx
je 0x180063cd7
cmp dword [r15 + 0xe0], 0
jle 0x180063cd7
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.180053d90
mov r13d, 5
jmp 0x1800600a0
mov r14d, 1
mov rcx, r12
mov edx, r14d
call fcn.1800572b0
mov r13d, eax
test eax, eax
jne 0x180063f4c
mov r13, qword [rsp + 0x48]
movzx eax, bl
mov rcx, r12
mov byte [r15 + 0x65], al
call fcn.180057320
cmp eax, 5
jne 0x180063d4b
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 0x180063f4c
mov rcx, r15
call fcn.1800e8670
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 0x180063f61
test ebx, ebx
jne 0x180063d8a
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x180063d9e
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.180053d90
mov rax, qword [rsp + 0x68]
mov r15d, 1
mov rdi, qword [rsp + 0x48]
mov r13d, r15d
jmp 0x1800600b0
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rcx, r15
call fcn.18002ae80
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.180053d90
mov r13d, 7
jmp 0x180061e03
mov r15, qword [rsp + 0x68]
mov r12, qword [rbp - 0x60]
jmp 0x180063dc3
mov r15, qword [rsp + 0x68]
jmp 0x180063dc8
mov r13d, dword [rsp + 0x54]
jmp 0x18006009b
mov r13d, dword [rsp + 0x54]
mov r12, qword [rbp - 0x60]
jmp 0x18006009b
mov rsi, qword [rsp + 0x78]
mov rdi, rbx
jmp 0x1800600a5
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov r12, qword [rbp - 0x60]
jmp 0x1800600b0
mov rdi, rbx
jmp 0x1800600a5
cmp r13d, 0x210a
jne 0x180063e57
mov ecx, 0x18b50
call fcn.1800ec250
mov r13d, eax
cmp qword [r12 + 0xa8], 0
jne 0x180063e85
cmp r13d, 0xc0a
je 0x180063e85
mov ecx, r13d
call fcn.1800e9230
mov r8, rax
lea rdx, [0x180170cd8]
mov rcx, r12
call fcn.180053d90
mov rcx, qword [rsp + 0x68]
mov edx, r13d
mov dword [r12 + 0x34], r13d
call fcn.18002e0b0
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.18002d3c0
cmp byte [r12 + 0xc7], 2
jne 0x180063eef
mov rcx, r12
call fcn.180057320
cmp r13d, 0xc0a
jne 0x180063f21
mov rcx, qword [rsp + 0x68]
call fcn.18002ae80
mov rcx, qword [rsp + 0x68]
movzx eax, byte [rbp - 0x70]
mov r13d, r15d
test al, al
je 0x180063f66
lea edx, [rax - 1]
call fcn.1800833e0
mov rcx, qword [rsp + 0x68]
jmp 0x180063f66
cmp r13d, 0xb
jne 0x180063f02
mov rcx, qword [rsp + 0x68]
cmp byte [rcx + 0x65], 0
jne 0x180063f07
movabs rax, 0x200000000
or qword [rcx + 0x30], rax
jmp 0x180063f07
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 0x180063fa5
mov rdx, qword [rcx + 0x210]
test rdx, rdx
je 0x180063fa5
mov eax, dword [rcx + 0x220]
mov rcx, qword [rcx + 0x218]
add rbx, rax
call rdx
mov rcx, qword [rsp + 0x68]
test eax, eax
je 0x180063f66
mov rbx, 0xffffffffffffffff
mov rax, rcx
lea r13d, [rbx + 0xa]
jmp 0x1800600ba
add dword [r12 + 0xe4], esi
cmp dword [r12 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x290]
movaps xmm6, xmmword [rsp + 0x2a0]
mov r15, qword [rsp + 0x2b0]
mov r14, qword [rsp + 0x2b8]
mov rdi, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x2f0]
mov rbx, qword [rsp + 0x2e8]
je 0x180063ff8
mov rcx, r12
call fcn.180055720
mov eax, r13d
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.18013b850
add rsp, 0x2c0
pop r13
pop r12
pop rbp
ret