Function at 0x1400524bc
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x320
mov rax, qword [0x1400b9fb8]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov rdx, qword [rcx]
xor r8d, r8d
mov r13, qword [rcx + 8]
mov r12, rcx
mov qword [rbp - 0x80], rcx
mov sil, r8b
mov dword [rsp + 0x40], r8d
mov r15d, r8d
mov rax, qword [rdx + 0x20]
mov edi, r8d
mov rbx, qword [r12 + 0x10]
mov r14, qword [rdx + 0x30]
mov qword [rbp - 0x78], r13
mov rcx, qword [rax + 0x18]
mov dword [rsp + 0x44], r8d
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x48], r8b
mov al, byte [rcx + 0x71]
mov rcx, r12
mov byte [rsp + 0x60], al
mov dword [rbp - 0x30], r8d
mov dword [rsp + 0x64], r8d
mov dword [rbp - 0x58], r8d
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x68], r8
mov qword [rbp + 0x38], r8
mov qword [rsp + 0x58], r14
call fcn.140052448
cmp dword [r12 + 0x84], 7
mov r11, qword [rsp + 0x50]
je 0x1400574a9
xor r10d, r10d
mov dword [r12 + 0x84], r10d
mov qword [r12 + 0xc0], r10
mov qword [r12 + 0x28], r10
mov eax, dword [r11 + 0x140]
mov dword [r11 + 0x2b0], r10d
test eax, eax
jne 0x140057457
cmp qword [r11 + 0x188], r10
je 0x1400525cd
mov eax, dword [r12 + 0xb0]
mov esi, dword [r11 + 0x198]
mov dword [rbp - 0x58], esi
test eax, eax
je 0x1400525cd
xor edx, edx
div esi
mov dword [rbp - 0x58], edx
mov r10d, dword [r12 + 0x80]
mov r15d, dword [rsp + 0x44]
mov dword [rsp + 0x40], r10d
mov r8d, 4
mov eax, dword [rsp + 0x40]
mov r10d, 1
xor r9d, r9d
mov edx, 2
cmp byte [r11 + 0x50], r9b
jne 0x14005749f
mov ecx, dword [rsp + 0x64]
add ecx, r10d
movsxd rbx, eax
mov dword [rsp + 0x64], ecx
lea rsi, [rbx + rbx*2]
mov qword [rbp - 0x50], rsi
test byte [r13 + rsi*8 + 2], dl
je 0x140052664
movsxd rax, dword [r13 + rsi*8 + 8]
imul rdi, rax, 0x38
mov eax, 0x2460
add rdi, qword [rsp + 0x78]
mov qword [rsp + 0x68], rdi
test word [rdi + 8], ax
je 0x14005265b
mov rcx, rdi
call fcn.140058e80
mov r11, qword [rsp + 0x50]
mov r10d, 1
mov ecx, dword [rsp + 0x64]
lea edx, [r10 + 1]
lea r8d, [r10 + 3]
mov eax, dword [rsp + 0x40]
mov word [rdi + 8], r8w
movzx r9d, byte [r13 + rsi*8]
cmp r9d, 0x4d
ja 0x140054fd7
je 0x140054fbf
cmp r9d, 0x27
ja 0x1400539d0
je 0x1400539ae
cmp r9d, 0x14
ja 0x14005349e
je 0x140053460
cmp r9d, 0xa
ja 0x140052f8a
je 0x140052e82
sub r9d, 1
je 0x140052d29
sub r9d, 1
je 0x1400529e6
sub r9d, 1
je 0x14005295b
sub r9d, 1
je 0x140052795
sub r9d, 1
je 0x140052730
sub r9d, 1
je 0x1400526f5
sub r9d, 1
je 0x1400526f5
sub r9d, 1
je 0x14005270c
cmp r9d, 1
je 0x14005270c
jmp 0x14005406a
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r14d, r14d
mov rax, qword [r12 + 0x60]
cmp qword [rax + rcx*8], r14
je 0x14005406a
movsxd rcx, dword [r13 + rsi*8 + 4]
lea rdx, [rbp - 0x40]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
mov eax, dword [r13 + rsi*8 + 0xc]
mov dword [rbp - 0x40], eax
mov rcx, qword [rbx]
call qword [r13 + rsi*8 + 0x10]
jmp 0x140052752
movsxd rcx, dword [r13 + rsi*8 + 4]
lea r8, [rbp - 0x40]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rdx, rbx
mov dword [rbp - 0x40], eax
mov rcx, r11
call fcn.14005a0a8
mov dword [rsp + 0x44], eax
mov r11, qword [rsp + 0x50]
xor eax, eax
mov dword [rbx + 0x50], eax
cmp dword [rbp - 0x40], eax
jne 0x14005278c
mov byte [rbx + 0x25], al
lea r9d, [rax + 1]
mov r14d, dword [r13 + rsi*8 + 8]
movzx eax, byte [r13 + rsi*8 + 3]
sub r14d, r9d
mov dword [rsp + 0x40], r14d
add dword [r12 + rax*4 + 0xa0], r9d
jmp 0x140056ef2
mov byte [rbx + 0x25], 1
jmp 0x140056ef2
mov edx, dword [r13 + rsi*8 + 8]
xor r14d, r14d
test edx, edx
je 0x1400527af
test dword [r11 + 0x2c], 0x2000000
jne 0x140057106
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r11 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1400528c1
mov rcx, rbx
call fcn.1400345c8
mov ecx, 5
mov dword [rsp + 0x44], eax
cmp eax, ecx
je 0x140057111
test eax, eax
jne 0x140057392
cmp dword [r13 + rsi*8 + 8], r14d
je 0x14005288b
lea eax, [rcx + 0x7b]
test byte [r12 + 0x8c], al
je 0x14005288b
mov rdi, qword [rsp + 0x50]
cmp byte [rdi + 0x4e], r14b
je 0x14005281b
cmp dword [rdi + 0xa8], 1
jle 0x14005288b
mov r8d, dword [r12 + 0x9c]
test r8d, r8d
jne 0x140052844
inc dword [rdi + 0x308]
mov r8d, dword [rdi + 0x304]
add r8d, dword [rdi + 0x308]
mov dword [r12 + 0x9c], r8d
dec r8d
xor edx, edx
mov rcx, rdi
call fcn.14005b12c
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005286d
mov edx, dword [r12 + 0x9c]
mov rcx, rbx
call fcn.140034584
mov dword [rsp + 0x44], eax
mov rax, qword [rdi + 0x310]
mov qword [r12 + 0xd0], rax
mov rax, qword [rdi + 0x318]
mov qword [r12 + 0xd8], rax
lea r8, [rbp + 0x1c]
mov edx, 1
mov rcx, rbx
call fcn.140035390
mov r11, qword [rsp + 0x50]
mov r8d, 4
movsxd rcx, dword [r13 + rsi*8 + 4]
mov ebx, dword [rbp + 0x1c]
shl rcx, 5
mov rax, qword [r11 + 0x20]
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
jmp 0x1400528ca
mov ebx, r14d
mov eax, r14d
mov dword [rbp + 0x1c], ebx
cmp byte [r13 + rsi*8 + 3], r14b
je 0x14005405a
cmp ebx, dword [r13 + rsi*8 + 0xc]
jne 0x1400528e7
cmp eax, dword [r13 + rsi*8 + 0x10]
je 0x14005405a
mov rdx, qword [r12 + 0x48]
mov rcx, r11
call fcn.14003917c
mov rdi, qword [rsp + 0x50]
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.14003943c
mov qword [r12 + 0x48], rax
movsxd rdx, dword [r13 + rsi*8 + 4]
mov rax, qword [rdi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x14005292e
mov rcx, rdi
call fcn.14004b1fc
or dword [r12 + 0x8c], 0x20
mov r15d, 0x11
mov dword [rsp + 0x44], r15d
mov r11, rdi
mov r10d, 1
mov rdi, qword [rsp + 0x68]
mov r8d, 4
jmp 0x14005406a
mov edi, dword [r13 + rsi*8 + 4]
xor r14d, r14d
mov ecx, dword [r13 + rsi*8 + 8]
test edi, edi
je 0x140052992
mov al, byte [r11 + 0x4e]
test al, al
jne 0x140052992
test ecx, ecx
jne 0x140052996
cmp dword [r11 + 0xac], r14d
jle 0x140052996
mov dword [rsp + 0x44], 5
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1400529ca
mov al, byte [r11 + 0x4e]
movzx eax, al
cmp edi, eax
jne 0x14005712c
test ecx, ecx
mov dword [rsp + 0x44], 1
lea rax, str.cannot_rollback___no_transaction_is_active
lea r8, str.cannot_commit___no_transaction_is_active
cmovne r8, rax
test edi, edi
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove r8, rax
lea rcx, [r12 + 0x48]
mov rdx, r11
call fcn.14004ddf4
mov r15d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
jmp 0x140052945
mov rax, qword [rbp - 0x78]
xor r14d, r14d
mov r13d, dword [r13 + rsi*8 + 4]
mov rdi, qword [rax + rsi*8 + 0x10]
test r13d, r13d
jne 0x140052ac1
cmp dword [r11 + 0xac], r14d
jg 0x1400571c5
mov rcx, rdi
call fcn.14004eda0
mov r8d, dword [r11 + 0x308]
xor edx, edx
add r8d, dword [r11 + 0x304]
mov rcx, r11
movsxd rsi, eax
call fcn.14005b12c
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x140057397
mov rcx, qword [rsp + 0x50]
lea rdx, [rsi + 0x21]
call fcn.1400391d0
mov rbx, rax
test rax, rax
je 0x1400570d4
lea rcx, [rax + 0x20]
mov rdx, rdi
mov qword [rax], rcx
lea eax, [rsi + 1]
movsxd r8, eax
call fcn.14006e420
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x4e], r14b
je 0x140052a84
mov byte [r11 + 0x4e], r14b
mov byte [r11 + 0x55], 1
jmp 0x140052a8b
inc dword [r11 + 0x304]
mov rax, qword [r11 + 0x2f8]
mov qword [rbx + 0x18], rax
mov rax, qword [r11 + 0x310]
mov qword [r11 + 0x2f8], rbx
mov qword [rbx + 8], rax
mov rax, qword [r11 + 0x318]
mov qword [rbx + 0x10], rax
mov r13, qword [rbp - 0x78]
mov r15d, dword [rsp + 0x44]
jmp 0x140052945
mov rsi, qword [r11 + 0x2f8]
test rsi, rsi
je 0x140052aef
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.140017114
xor edx, edx
test eax, eax
je 0x140052b11
mov rsi, qword [rsi + 0x18]
inc r14d
test rsi, rsi
jne 0x140052acd
mov r11, qword [rsp + 0x50]
lea rcx, [r12 + 0x48]
mov r9, rdi
lea r8, str.no_such_savepoint:__s
mov rdx, r11
call fcn.14004ddf4
mov r13d, 1
jmp 0x1400571df
mov r11, qword [rsp + 0x50]
mov ecx, 1
cmp dword [r11 + 0xac], edx
jle 0x140052b2d
cmp r13d, ecx
je 0x1400571ed
lea rdi, [rsi + 0x18]
mov qword [rbp - 0x70], rdi
cmp qword [rdi], rdx
jne 0x140052b98
cmp byte [r11 + 0x55], dl
je 0x140052b98
mov r12d, ecx
cmp r13d, ecx
jne 0x140052b9b
mov r15, qword [rbp - 0x80]
mov edx, ecx
mov rcx, r15
call fcn.140051ff4
mov ebx, eax
test eax, eax
jne 0x1400574d2
mov r10, qword [rsp + 0x50]
mov rcx, r15
mov byte [r10 + 0x4e], 1
call fcn.140057a80
mov r11, qword [rsp + 0x50]
lea ecx, [rbx + 5]
cmp eax, ecx
je 0x1400571f6
xor eax, eax
mov byte [r11 + 0x55], al
mov eax, dword [r15 + 0x84]
mov dword [rsp + 0x44], eax
jmp 0x140052ca1
mov r12d, edx
mov eax, dword [r11 + 0x304]
mov r10d, 2
sub eax, r14d
mov r14d, eax
mov eax, dword [r11 + 0x28]
sub r14d, ecx
mov dword [rsp + 0x70], r14d
cmp r13d, r10d
jne 0x140052c18
mov r15d, dword [r11 + 0x2c]
mov r14d, edx
shr r15d, 1
and r15d, ecx
test eax, eax
jle 0x140052c11
mov edi, r15d
mov rbx, rdx
xor edi, ecx
mov rcx, qword [r11 + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.140036c60
mov r11, qword [rsp + 0x50]
xor edx, edx
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140057384
mov eax, dword [r11 + 0x28]
inc r14d
add rbx, 0x20
cmp r14d, eax
jl 0x140052bd8
mov r14d, dword [rsp + 0x70]
jmp 0x140052c1b
mov r15d, edx
mov edi, edx
test eax, eax
jle 0x140052c55
mov rbx, rdx
mov rcx, qword [r11 + 0x20]
mov r8d, r14d
mov edx, r13d
mov rcx, qword [rbx + rcx + 8]
call fcn.1400367e8
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140057384
inc edi
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x140052c24
test r15d, r15d
je 0x140052c75
mov rcx, r11
call fcn.14003ad84
call fcn.14004b190
mov r11, qword [rsp + 0x50]
mov eax, 2
or dword [r11 + 0x2c], eax
mov rdi, qword [rbp - 0x70]
jmp 0x140052ca1
mov rdx, qword [r11 + 0x2f8]
mov rcx, r11
mov rax, qword [rdx + 0x18]
mov qword [r11 + 0x2f8], rax
call fcn.14003917c
mov r11, qword [rsp + 0x50]
dec dword [r11 + 0x304]
cmp qword [r11 + 0x2f8], rsi
jne 0x140052c7b
cmp r13d, 1
jne 0x140052cdc
mov rax, qword [rdi]
mov rdx, rsi
mov rcx, r11
mov qword [r11 + 0x2f8], rax
call fcn.14003917c
mov r11, qword [rsp + 0x50]
test r12d, r12d
jne 0x1400570cb
dec dword [r11 + 0x304]
jmp 0x140052cfb
mov rax, qword [rsi + 8]
mov qword [r11 + 0x310], rax
mov rax, qword [rsi + 0x10]
mov qword [r11 + 0x318], rax
test r12d, r12d
jne 0x1400570cb
mov r8d, r14d
mov edx, r13d
mov rcx, r11
call fcn.14005b12c
mov r12, qword [rbp - 0x80]
xor r14d, r14d
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x44], eax
test eax, eax
je 0x140052ab3
mov r13d, eax
jmp 0x14005739c
movsxd rax, dword [r13 + rsi*8 + 0xc]
mov r15, qword [rbp - 0x80]
movzx r12d, byte [r13 + rsi*8 + 3]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
add rcx, qword [rsp + 0x78]
mov r15, qword [r15 + 0x18]
imul rbx, rax, 0x38
xor eax, eax
mov qword [rbp - 0x28], rcx
add rbx, qword [rsp + 0x78]
mov edi, eax
test r12d, r12d
je 0x140052d94
mov eax, 0x1000
mov qword [r15 + rdi*8], rbx
test word [rbx + 8], ax
je 0x140052d84
mov rcx, rbx
call fcn.140058c90
test eax, eax
jne 0x140057496
mov eax, 0x1000
inc rdi
add rbx, 0x38
cmp rdi, r12
jl 0x140052d65
mov rcx, qword [rbp - 0x28]
mov rax, qword [r13 + rsi*8 + 0x10]
mov edx, 0xbe01
mov rbx, qword [rsp + 0x50]
xor edi, edi
mov qword [rbp - 0x20], rax
mov r8, r15
mov eax, dword [rsp + 0x40]
mov dword [rbp - 8], eax
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x10], rax
movzx eax, word [rcx + 8]
and ax, dx
mov edx, r12d
or ax, 1
mov word [rcx + 8], ax
lea rcx, [rbp - 0x28]
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x30], rax
mov rax, qword [rbp - 0x20]
mov byte [rbp + 1], dil
call qword [rax + 0x18]
mov r14, qword [rbx + 0x30]
mov qword [rsp + 0x58], r14
cmp byte [rbp + 1], dil
je 0x140052e3d
cmp dword [rbp - 4], edi
je 0x140052e26
mov rcx, qword [rbp - 0x28]
call fcn.140014d88
mov r12, qword [rbp - 0x80]
lea r8, [0x14009c07c]
mov r9, rax
mov rdx, rbx
lea rcx, [r12 + 0x48]
call fcn.14004ddf4
mov eax, dword [rbp - 4]
mov dword [rsp + 0x44], eax
jmp 0x140052e2a
mov r12, qword [rbp - 0x80]
mov r8d, dword [r13 + rsi*8 + 4]
mov rcx, r12
mov edx, dword [rsp + 0x40]
call fcn.140052380
jmp 0x140052e41
mov r12, qword [rbp - 0x80]
movzx edx, byte [rsp + 0x60]
mov rcx, qword [rbp - 0x28]
call fcn.140051e10
mov rcx, qword [rbp - 0x28]
call fcn.140059218
mov r11, rbx
test eax, eax
jne 0x140057428
mov r15d, dword [rsp + 0x44]
mov r10d, 1
mov eax, dword [rsp + 0x40]
mov r8d, 4
mov rdi, qword [rsp + 0x68]
jmp 0x140054073
movsxd rax, dword [r13 + rsi*8 + 8]
xor ebx, ebx
mov r14, qword [rsp + 0x78]
movzx r10d, byte [r13 + rsi*8 + 3]
mov r9, qword [r12 + 0x18]
imul rcx, rax, 0x38
mov eax, ebx
lea r15d, [rbx + 1]
add rcx, r14
test r10d, r10d
je 0x140052ebb
mov qword [r9 + rax*8], rcx
add rcx, 0x38
add rax, r15
cmp rax, r10
jl 0x140052eab
mov rax, qword [r13 + rsi*8 + 0x10]
mov r8d, r15d
mov qword [rbp - 0x20], rax
mov rdx, r11
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp - 0x18], rcx
add dword [rcx + 0xc], r15d
lea rcx, [rbp + 0xb0]
call fcn.140058c58
lea rax, [rbp + 0xb0]
mov dword [rbp - 4], ebx
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
mov eax, dword [rsp + 0x40]
mov r8, r9
mov dword [rbp - 8], eax
mov edx, r10d
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x10], r12
mov byte [rbp], bl
call qword [rax + 0x20]
xor ecx, ecx
cmp dword [rbp - 4], ecx
je 0x140052f4c
lea rcx, [rbp + 0xb0]
call fcn.140014d88
mov rdx, qword [rsp + 0x50]
lea rcx, [r12 + 0x48]
mov r9, rax
lea r8, [0x14009c07c]
call fcn.14004ddf4
mov eax, dword [rbp - 4]
xor ecx, ecx
mov dword [rsp + 0x44], eax
cmp byte [rbp], cl
je 0x140052f69
movsxd rax, dword [r13 + rsi*8 - 0x14]
test eax, eax
je 0x140052f69
imul rcx, rax, 0x38
mov rdx, r15
add rcx, r14
call fcn.140058e64
lea rcx, [rbp + 0xb0]
call fcn.140058e08
mov r15d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
mov r10d, 1
jmp 0x140052950
sub r9d, 0xb
je 0x1400533de
sub r9d, 1
je 0x1400532b6
sub r9d, 1
je 0x14005329d
sub r9d, 1
je 0x1400531b7
sub r9d, 1
je 0x14005308b
sub r9d, 1
je 0x140053079
sub r9d, 1
je 0x140053056
sub r9d, 1
je 0x140053038
cmp r9d, 1
jne 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
add rbx, qword [rsp + 0x78]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x78]
mov rcx, rdi
mov qword [rsp + 0x68], rdi
call fcn.140058e80
test byte [rbx + 8], 1
jne 0x140052f7a
mov edx, 4
mov rcx, rbx
mov word [rdi + 8], dx
call fcn.140057f54
xor r10d, r10d
test rax, rax
mov ecx, r10d
sete cl
mov qword [rdi], rcx
jmp 0x140052f7a
movsxd rax, dword [r13 + rsi*8 + 4]
mov edx, 0x80
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
mov word [rcx + 8], dx
jmp 0x14005406e
movsxd rax, dword [r13 + rsi*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov word [rcx + 8], r8w
mov qword [rcx], rbx
mov eax, dword [r13 + rsi*8 + 8]
sub eax, r10d
jmp 0x14005406e
mov r15d, dword [r13 + rsi*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
jmp 0x140056ef2
mov rax, qword [r13 + rsi*8 + 0x10]
movsxd rdx, dword [r13 + rsi*8 + 8]
mov rbx, qword [rax + 0x10]
xor eax, eax
mov r10, qword [rbx]
cmp qword [r10 + 0x68], rax
je 0x140053752
movsxd rax, dword [r13 + rsi*8 + 0xc]
xor r15d, r15d
mov dil, byte [r11 + 0x54]
mov r8, qword [r12 + 0x18]
imul rcx, rax, 0x38
mov eax, r15d
add rcx, qword [rsp + 0x78]
test edx, edx
jle 0x1400530d9
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1400530c9
mov al, byte [r13 + rsi*8 + 3]
lea r9, [rbp + 0x58]
mov rcx, rbx
mov byte [r11 + 0x54], al
call qword [r10 + 0x68]
mov r10, qword [rsp + 0x50]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x44], eax
mov byte [r10 + 0x54], dil
call fcn.14005aec0
mov r15d, dword [rsp + 0x44]
xor r10d, r10d
test r15d, r15d
jne 0x14005312d
mov r11, qword [rsp + 0x50]
cmp dword [r13 + rsi*8 + 4], r10d
je 0x140053198
mov r14, qword [rbp + 0x58]
mov qword [rsp + 0x58], r14
mov qword [r11 + 0x30], r14
jmp 0x1400531a4
mov qword [rsp + 0x58], r14
cmp r15b, 0x13
jne 0x14005319f
mov rax, qword [r13 + rsi*8 + 0x10]
mov qword [rsp + 0x58], r14
cmp byte [rax + 0x1c], r10b
je 0x14005319f
movzx ecx, byte [r13 + rsi*8 + 3]
mov r8d, 4
cmp cl, r8b
jne 0x140053163
mov r15d, r10d
mov dword [rsp + 0x44], r10d
jmp 0x14005317a
cmp cl, 5
mov eax, ecx
mov r10d, 2
cmove eax, r10d
mov byte [r12 + 0x8a], al
mov r11, qword [rsp + 0x50]
mov r10d, 1
mov eax, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x58], r14
jmp 0x140054073
mov r14, qword [rsp + 0x58]
jmp 0x1400531a4
mov r11, qword [rsp + 0x50]
mov r10d, 1
add dword [r12 + 0x90], r10d
jmp 0x140052e6e
movsxd rax, dword [r13 + rsi*8 + 0xc]
movsxd rcx, dword [r13 + rsi*8 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x60]
add rdx, qword [rsp + 0x78]
mov r13, qword [rax + rcx*8]
xor ecx, ecx
mov rax, qword [rbp - 0x80]
lea r10, [rdx + 0x38]
movsxd r9, dword [r10]
mov r12d, dword [rdx]
mov edx, ecx
mov rbx, qword [r13 + 0x30]
mov rdi, qword [rax + 0x18]
mov qword [rbp - 0x60], r13
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x14005322a
lea r13d, [rcx + 1]
mov r8d, r13d
movsxd rax, r8d
add r8d, r13d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rdi + rdx*8], rcx
add rdx, r13
cmp rdx, r9
jl 0x140053203
mov r13, qword [rbp - 0x60]
mov r8d, 4
mov rax, qword [rbp - 0x80]
and dword [rax + 0x8c], 0xfffffff7
mov edx, r12d
or dword [rax + 0x8c], r8d
mov rcx, rbx
mov qword [rsp + 0x20], rdi
mov rdi, qword [rbp - 0x78]
mov r8, qword [rdi + rsi*8 + 0x10]
call qword [r14 + 0x40]
mov r12, qword [rbp - 0x80]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x44], eax
and dword [r12 + 0x8c], 0xfffffff3
call fcn.14005aec0
mov r15d, dword [rsp + 0x44]
test r15d, r15d
jne 0x14005328e
mov rcx, rbx
call qword [r14 + 0x50]
test eax, eax
je 0x14005328e
mov r10d, dword [rdi + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
xor edi, edi
mov byte [r13 + 0x25], dil
mov r13, qword [rbp - 0x78]
jmp 0x1400529dc
lea rcx, [r12 + 0x48]
mov rdx, r11
call fcn.14004be84
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x140052f7a
mov rax, qword [r11 + 0x20]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov ebx, dword [r13 + rsi*8 + 0xc]
shl rcx, 5
mov r15, qword [rcx + rax + 8]
mov rcx, r15
call fcn.140036628
mov rcx, rax
mov r14, rax
call fcn.14004580c
cmp ebx, 0xffffffff
mov edi, eax
cmove ebx, eax
call fcn.140045a80
xor r9d, r9d
test eax, eax
cmove ebx, edi
lea edx, [r9 + 1]
call fcn.1400457e0
cmp ebx, 5
jne 0x14005331b
mov rcx, rax
call fcn.14004eda0
test eax, eax
je 0x14005338a
mov rcx, r14
call fcn.1400469a0
test eax, eax
je 0x14005338a
cmp ebx, edi
je 0x14005338c
cmp edi, 5
je 0x140053329
cmp ebx, 5
jne 0x14005338c
cmp byte [r11 + 0x4e], r9b
je 0x140057218
cmp dword [r11 + 0xa8], 1
jg 0x140057218
cmp edi, 5
jne 0x14005335a
mov rcx, r14
call fcn.14004550c
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005338a
mov edx, ebx
jmp 0x140053364
cmp edi, r8d
jne 0x14005336f
mov edx, 2
mov rcx, r14
call fcn.14004643c
xor r9d, r9d
mov edx, r9d
cmp ebx, 5
mov rcx, r15
sete dl
inc edx
call fcn.140036b74
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14005338c
mov ebx, edi
mov edx, ebx
mov rcx, r14
call fcn.14004643c
mov ecx, eax
movsxd rax, dword [r13 + rsi*8 + 8]
imul rdi, rax, 0x38
mov eax, 0xa02
add rdi, qword [rsp + 0x78]
mov qword [rsp + 0x68], rdi
mov word [rdi + 8], ax
call fcn.140043338
mov rcx, rax
mov qword [rdi + 0x10], rax
call fcn.14004eda0
movzx edx, byte [rsp + 0x60]
mov rcx, rdi
mov dword [rdi + 0xc], eax
mov byte [rdi + 0xa], 1
call fcn.140051e10
jmp 0x140052f75
mov r8d, dword [r13 + rsi*8 + 8]
lea rax, [rbp + 0xf0]
mov edx, dword [r13 + rsi*8 + 4]
lea r9, [rbp + 0xec]
or dword [rbp + 0xf0], 0xffffffff
xor edi, edi
or dword [rbp + 0xec], 0xffffffff
mov rcx, r11
mov dword [rbp + 0xe8], edi
mov qword [rsp + 0x20], rax
call fcn.140036f18
mov dword [rsp + 0x44], eax
cmp eax, 5
jne 0x140053430
mov dword [rsp + 0x44], edi
mov dword [rbp + 0xe8], 1
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
movsxd rdx, dword [rbp + rdi*4 + 0xe8]
mov rcx, rbx
call fcn.140058e64
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14005343e
jmp 0x1400529d7
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x58]
imul rdi, rax, 0x38
mov eax, dword [r13 + rsi*8 + 0xc]
add rdi, qword [rsp + 0x78]
sub eax, r10d
cdqe
mov qword [rsp + 0x68], rdi
mov qword [rdi], rax
mov word [rdi + 8], r8w
mov eax, dword [r13 + rsi*8 + 8]
test eax, eax
je 0x140053526
dec eax
jmp 0x140054073
cmp r9d, 0x1e
ja 0x1400536b3
je 0x14005368b
sub r9d, 0x15
je 0x140053660
sub r9d, 1
je 0x140053643
sub r9d, 1
je 0x1400535a1
sub r9d, 1
je 0x1400535ba
sub r9d, 1
je 0x140053594
sub r9d, 1
je 0x140056551
sub r9d, 1
je 0x140055abc
sub r9d, 1
je 0x14005352f
mov r14, qword [rsp + 0x58]
cmp r9d, 1
jne 0x140053526
movsxd rax, dword [r13 + rsi*8 + 4]
imul rdi, rax, 0x38
mov eax, 0xff7f
add rdi, qword [rsp + 0x78]
mov qword [rsp + 0x68], rdi
and word [rdi + 8], ax
or word [rdi + 8], r10w
mov eax, dword [rsp + 0x40]
jmp 0x140054073
mov eax, dword [r13 + rsi*8 + 4]
mov ebx, dword [r13 + rsi*8 + 0xc]
neg eax
mov ecx, dword [r13 + rsi*8 + 8]
mov eax, 0x100
mov rsi, qword [rsp + 0x68]
sbb di, di
and di, ax
sub ebx, ecx
add di, r10w
mov word [rsi + 8], di
test ebx, ebx
jle 0x1400570eb
add rsi, 0x38
mov rcx, rsi
call fcn.140058e80
dec ebx
mov word [rsi + 8], di
test ebx, ebx
jg 0x140053562
mov r12, qword [rbp - 0x80]
mov r10d, 1
mov r11, qword [rsp + 0x50]
mov rdi, rsi
mov qword [rsp + 0x68], rsi
jmp 0x140052950
movsxd rax, dword [r13 + rsi*8 + 4]
mov qword [rdi], rax
jmp 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x78]
test byte [rcx + rax + 8], r10b
je 0x14005406a
mov ecx, dword [r13 + rsi*8 + 4]
xor r14d, r14d
test ecx, ecx
jne 0x140057252
mov r8, qword [r12 + 0xf0]
test r8, r8
je 0x140057252
mov rax, qword [r8 + 8]
mov rcx, r11
dec dword [r12 + 0x100]
mov edx, dword [r12 + 0x90]
mov qword [r12 + 0xf0], rax
call fcn.140059cb8
mov rcx, r8
call fcn.140057914
mov r14, qword [r11 + 0x30]
mov r8d, 4
cmp dword [r13 + rsi*8 + 8], r8d
mov r13, qword [r12 + 8]
mov qword [rbp - 0x78], r13
mov qword [rsp + 0x58], r14
jne 0x140053634
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r13 + rcx*8 + 8]
sub eax, r10d
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x78], rcx
jmp 0x140054073
movsxd rax, dword [r13 + rsi*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
mov qword [rcx], rbx
mov word [rcx + 8], r8w
jmp 0x14005406e
movsxd rax, dword [r13 + rsi*8 + 4]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x78]
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r13 + rcx*8 + 8]
mov ecx, 0x80
mov word [rdx + 8], cx
sub eax, r10d
jmp 0x14005406e
mov r8d, dword [r13 + rsi*8 + 4]
xor eax, eax
mov rdx, qword [r13 + rsi*8 + 0x10]
xor r9d, r9d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140058f08
mov al, byte [rsp + 0x60]
mov byte [rdi + 0xa], al
jmp 0x140052f7a
sub r9d, 0x1f
je 0x14005397e
sub r9d, 1
je 0x140053940
sub r9d, 1
je 0x1400538d8
sub r9d, 1
je 0x1400538a4
sub r9d, 1
je 0x1400537b9
sub r9d, 1
je 0x140053797
sub r9d, 1
je 0x140053774
cmp r9d, 1
jne 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
movzx eax, word [rbx + 8]
test r8b, al
jne 0x14005375d
mov r8b, byte [rsp + 0x60]
mov dl, 0x43
mov rcx, rbx
call fcn.14001914c
movzx eax, word [rbx + 8]
mov r8d, 4
test r8b, al
jne 0x14005375d
mov eax, dword [r13 + rsi*8 + 8]
xor r14d, r14d
mov r11, qword [rsp + 0x50]
test eax, eax
je 0x140057355
lea r10d, [rax - 1]
mov dword [rsp + 0x40], r10d
mov r10d, 1
jmp 0x14005406a
mov ecx, 0xbe04
and ax, cx
or ax, r8w
mov word [rbx + 8], ax
mov r11, qword [rsp + 0x50]
jmp 0x140053752
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140058c68
movsxd rax, dword [r13 + rsi*8 + 8]
add qword [rbx], rax
jmp 0x140052f7a
movsxd rax, dword [r13 + rsi*8 + 4]
test eax, eax
je 0x14005406a
imul rcx, rax, 0x38
xor edx, edx
add rcx, qword [rsp + 0x78]
call fcn.140058e64
jmp 0x140052f7a
mov rax, qword [r11 + 0x188]
test rax, rax
je 0x1400537db
cmp ecx, dword [rbp - 0x58]
jb 0x1400537db
mov rcx, qword [r11 + 0x190]
call rax
test eax, eax
jne 0x140056f44
xor edx, edx
mov rcx, r12
call fcn.140051ff4
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x140052f7a
lea edx, [rax + 1]
mov rcx, r12
call fcn.140052130
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140057249
mov eax, dword [r12 + 0x7c]
add eax, 2
or eax, 1
mov dword [r12 + 0x7c], eax
movsxd rax, dword [r13 + rsi*8 + 4]
imul r14, rax, 0x38
xor eax, eax
add r14, qword [rsp + 0x78]
mov edi, eax
mov qword [r12 + 0x28], r14
cmp dword [r13 + rsi*8 + 8], eax
jle 0x140053876
lea r15, [r14 + 8]
movsxd rax, edi
imul rbx, rax, 0x38
mov eax, 0x1000
test word [r15], ax
je 0x140053860
lea rcx, [rbx + r14]
call fcn.140058c90
test eax, eax
jne 0x14005749a
lea rcx, [rbx + r14]
call fcn.140058d4c
inc edi
add r15, 0x38
cmp edi, dword [r13 + rsi*8 + 8]
jl 0x14005383d
mov r11, qword [rsp + 0x50]
xor r14d, r14d
mov r15d, dword [rsp + 0x64]
cmp byte [r11 + 0x50], r14b
jne 0x1400574a4
mov eax, dword [rsp + 0x40]
lea ebx, [r14 + 0x64]
inc eax
mov dword [r12 + 0x80], eax
jmp 0x1400574df
movsxd rax, dword [r13 + rsi*8 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 4]
add rdi, qword [rsp + 0x78]
imul rdx, rax, 0x38
mov qword [rsp + 0x68], rdi
add rdx, qword [rsp + 0x78]
mov r8d, 0x1000
mov rcx, rdi
call fcn.1400590f8
jmp 0x140052f7a
movsxd rax, dword [r13 + rsi*8 + 4]
mov edi, dword [r13 + rsi*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
add rbx, qword [rsp + 0x78]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x78]
mov r8d, 0x1000
mov qword [rsp + 0x68], rsi
mov rdx, rbx
mov rcx, rsi
call fcn.1400590f8
mov eax, 0x1000
test word [rsi + 8], ax
je 0x14005392a
mov rcx, rsi
call fcn.140058c90
test eax, eax
jne 0x14005749a
mov eax, edi
dec edi
test eax, eax
je 0x1400529dc
add rsi, 0x38
add rbx, 0x38
jmp 0x1400538f9
movsxd rax, dword [r13 + rsi*8 + 4]
mov edi, dword [r13 + rsi*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
add rbx, qword [rsp + 0x78]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x78]
mov rdx, rbx
mov rcx, rsi
call fcn.140058d0c
add rbx, 0x38
add rsi, 0x38
sub edi, 1
jne 0x140053961
jmp 0x140053578
mov eax, dword [r13 + rsi*8 + 4]
dec eax
cdqe
imul r9, rax, 0x38
add r9, qword [r12 + 0x68]
mov rcx, r9
call fcn.140059218
test eax, eax
jne 0x140057428
mov r8d, 0x800
mov rdx, r9
jmp 0x1400538cb
movsxd rax, dword [r13 + rsi*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
test byte [rcx + 8], r8b
je 0x14005406a
call fcn.140058de0
jmp 0x140052f7a
cmp r9d, 0x3a
ja 0x140054767
je 0x140054720
cmp r9d, 0x31
ja 0x140054359
je 0x140054154
sub r9d, 0x28
je 0x140054114
sub r9d, 1
je 0x140054106
sub r9d, 1
je 0x140053f92
sub r9d, 1
je 0x140053f6f
sub r9d, 1
je 0x140053f3e
sub r9d, 1
je 0x140053ec4
sub r9d, 1
je 0x140053ec4
sub r9d, 1
je 0x140053a8f
cmp r9d, 1
jne 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
mov rdi, qword [r13 + rsi*8 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, qword [rsp + 0x78]
test al, al
je 0x140054065
mov r13b, byte [rsp + 0x60]
mov r8b, r13b
mov dl, al
mov rcx, rbx
inc rdi
call fcn.14001914c
mov al, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140053a68
mov r13, qword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
jmp 0x1400529dc
movsxd rax, dword [r13 + rsi*8 + 0xc]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov edi, dword [r13 + rsi*8 + 8]
mov r14, qword [rsp + 0x78]
imul r15, rax, 0x38
mov rax, qword [r12 + 0x60]
add r15, r14
mov dword [rsp + 0x70], edi
mov qword [rbp + 0x48], r15
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
mov r12, qword [rbx + 0x68]
mov r13, qword [rbx]
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r13
call fcn.1400522b0
xor ecx, ecx
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005736b
mov rax, qword [rbp - 0x80]
mov eax, dword [rax + 0x7c]
cmp dword [rbx + 0x50], eax
je 0x140053c0f
cmp byte [rbx + 0x25], cl
je 0x140053b2c
test r13, r13
jne 0x140053b1f
movsxd rax, dword [rbx + 0x1c]
imul rax, rax, 0x38
add rax, r14
lea r14, [rbx + 0x54]
mov edi, dword [rax + 0xc]
mov dword [rbx + 0x58], edi
mov dword [r14], edi
mov rax, qword [rax + 0x10]
mov qword [rbx + 0x60], rax
mov dword [rbp - 0x3c], edi
jmp 0x140053b95
mov rcx, r15
call fcn.140058e80
jmp 0x140053e53
mov edx, 4
lea r14, [rbx + 0x54]
mov rcx, r13
test byte [rbx + 0x28], dl
jne 0x140053b5e
lea rdx, [rbp + 0x50]
call fcn.140035a64
lea rdx, [rbp - 0x3c]
mov rcx, r13
call fcn.140034fac
mov qword [rbx + 0x60], rax
mov eax, dword [rbp + 0x50]
mov dword [r14], eax
jmp 0x140053b76
mov rdx, r14
call fcn.140034fb4
lea rdx, [rbp - 0x3c]
mov rcx, r13
call fcn.140034fac
mov qword [rbx + 0x60], rax
mov ecx, dword [r14]
mov edi, dword [rbp - 0x3c]
mov eax, edi
mov r11, qword [rsp + 0x50]
cmp ecx, edi
cmovbe eax, ecx
mov dword [rbx + 0x58], eax
cmp ecx, dword [r11 + 0x68]
ja 0x14005741d
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbx + 0x60]
mov eax, dword [rax + 0x7c]
mov dword [rbx + 0x50], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x140053bb6
movzx ecx, byte [rcx]
mov al, 1
mov dword [rbp - 0x38], ecx
jmp 0x140053bc2
lea rdx, [rbp - 0x38]
call fcn.140041300
mov ecx, dword [rbp - 0x38]
movzx eax, al
mov dword [rbx + 0x5c], eax
xor eax, eax
mov word [rbx + 0x22], ax
mov dword [r12], ecx
cmp ecx, 0x18003
ja 0x140053bf4
cmp ecx, dword [r14]
ja 0x140053bf4
xor r14d, r14d
cmp edi, ecx
mov edi, dword [rsp + 0x70]
jae 0x140053c1e
mov qword [rbx + 0x60], r14
mov dword [rbx + 0x58], r14d
jmp 0x140053c1e
mov ecx, 0x116df
call fcn.140037dd4
mov dword [rsp + 0x44], eax
mov r13, qword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
jmp 0x1400529d7
movzx eax, word [rbx + 0x22]
xor r14d, r14d
cmp eax, edi
jg 0x140053d95
mov eax, dword [rbx + 0x5c]
mov ecx, dword [r12]
cmp eax, ecx
jae 0x140053d5f
mov rdx, qword [rbx + 0x60]
mov qword [rbp - 0x70], rdx
test rdx, rdx
jne 0x140053c86
mov r8d, 0x38
lea rcx, [rbp - 0x28]
call fcn.14006f8b0
mov r9d, dword [rbx + 0x28]
lea rax, [rbp - 0x28]
mov r8d, dword [r12]
xor edx, edx
shr r9d, 2
mov rcx, r13
not r9d
mov qword [rsp + 0x20], rax
and r9d, 1
call fcn.1400589e8
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140053c02
mov rdx, qword [rbp - 0x18]
mov eax, dword [rbx + 0x5c]
mov ecx, dword [r12]
mov qword [rbp - 0x70], rdx
movzx r15d, word [rbx + 0x22]
mov r8d, eax
mov r14d, r15d
add r8, rdx
mov r13d, ecx
add r13, rdx
mov rdi, r8
mov r12d, dword [r12 + r15*4]
movzx eax, byte [r8]
mov ecx, 0x80
cmp al, cl
jae 0x140053cb9
mov ecx, eax
mov dword [rbp - 0x34], eax
lea r8, [rdi + 1]
jmp 0x140053ccf
lea rdx, [rbp - 0x34]
mov rcx, r8
call fcn.140041300
mov ecx, dword [rbp - 0x34]
movzx r8d, al
add r8, rdi
mov rdi, r8
mov dword [rbx + r14*4 + 0x70], ecx
call fcn.140059c9c
add r12d, eax
mov dword [rbp - 0x38], r12d
cmp r12d, eax
jb 0x140053d04
mov rax, qword [rbp - 0x60]
inc r15d
movsxd r14, r15d
mov dword [rax + r14*4], r12d
cmp r15d, dword [rsp + 0x70]
jg 0x140053d0b
cmp r8, r13
jb 0x140053ca1
jmp 0x140053d0b
lea r8, [r13 + 1]
mov rdi, r8
sub r8d, dword [rbp - 0x70]
xor r14d, r14d
mov word [rbx + 0x22], r15w
mov dword [rbx + 0x5c], r8d
cmp qword [rbx + 0x60], r14
jne 0x140053d32
lea rcx, [rbp - 0x28]
call fcn.140058e08
lea eax, [r14 + 1]
mov word [rbp - 0x20], ax
cmp rdi, r13
jb 0x140053d3f
ja 0x140053d45
cmp r12d, dword [rbx + 0x54]
jne 0x140053d45
cmp r12d, dword [rbx + 0x54]
jbe 0x140053d4f
mov ecx, 0x11733
jmp 0x140053bf9
mov r15, qword [rbp + 0x48]
mov r12, qword [rbp - 0x60]
mov edi, dword [rsp + 0x70]
mov r13, qword [rbp - 0x50]
movzx eax, word [rbx + 0x22]
cmp eax, edi
jg 0x140053d95
mov r13, qword [rbp - 0x78]
mov rcx, r15
cmp byte [r13 + rsi*8 + 1], 0xf8
jne 0x140053d8b
mov rdx, qword [r13 + rsi*8 + 0x10]
mov r8d, 0x800
call fcn.1400590f8
jmp 0x140053e57
call fcn.140058e80
jmp 0x140053e57
mov eax, 0x2460
test word [r15 + 8], ax
je 0x140053da9
mov rcx, r15
call fcn.140058e80
movsxd rdx, edi
mov eax, dword [r12 + rdx*4 + 4]
mov edi, dword [rbx + rdx*4 + 0x70]
mov dword [rbp - 0x34], edi
cmp dword [rbx + 0x58], eax
jb 0x140053dc7
mov ecx, dword [r12 + rdx*4]
add rcx, qword [rbx + 0x60]
jmp 0x140053df8
mov rax, qword [rbp - 0x78]
mov al, byte [rax + rsi*8 + 3]
test al, 0xc0
je 0x140053de2
cmp edi, 0xc
jb 0x140053dde
test dil, 1
je 0x140053ded
test al, al
js 0x140053ded
mov ecx, edi
call fcn.140059c9c
test eax, eax
jne 0x140053e04
cmp edi, 0xd
lea rcx, [rbp + 0x50]
cmova rcx, r14
mov r8, r15
mov edx, edi
call fcn.1400599e0
jmp 0x140053e4b
mov r9d, dword [rbx + 0x28]
mov r8d, eax
mov edx, dword [r12 + rdx*4]
mov rcx, r13
shr r9d, 2
not r9d
mov qword [rsp + 0x20], r15
and r9d, 1
call fcn.1400589e8
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140053c02
mov rcx, qword [r15 + 0x10]
mov r8, r15
mov edx, edi
call fcn.1400599e0
mov eax, 0xefff
and word [r15 + 8], ax
mov al, byte [rsp + 0x60]
mov byte [r15 + 0xa], al
mov r13, qword [rbp - 0x78]
movzx edi, word [r15 + 8]
bt di, 0xc
jae 0x140053c06
mov r14, qword [r15 + 0x10]
xor r12d, r12d
test r14, r14
je 0x140053c06
movsxd rsi, dword [r15 + 0xc]
mov rcx, r15
lea edx, [rsi + 2]
call fcn.140058830
test eax, eax
jne 0x140057496
mov rcx, qword [r15 + 0x10]
mov r8, rsi
mov rdx, r14
call fcn.14006e420
mov rax, qword [r15 + 0x10]
and di, 0x12
mov byte [rsi + rax], r12b
mov rax, qword [r15 + 0x10]
mov byte [rsi + rax + 1], r12b
mov eax, 0x200
or di, ax
mov word [r15 + 8], di
jmp 0x140053c06
movsxd rax, dword [r13 + rsi*8 + 4]
mov r11d, 1
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
test byte [rcx + 8], r11b
je 0x140053ee5
mov eax, dword [r13 + rsi*8 + 0xc]
jmp 0x140053f18
call fcn.14005977c
ucomisd xmm0, qword [0x1400a0f20]
jp 0x140053efe
jne 0x140053efe
xor eax, eax
lea r11d, [rax + 1]
jmp 0x140053f07
mov r11d, 1
mov eax, r11d
cmp byte [r13 + rsi*8], 0x2e
mov r8d, 4
jne 0x140053f18
xor eax, r11d
mov r14, qword [rsp + 0x58]
test eax, eax
je 0x140053f2e
mov r10d, dword [r13 + rsi*8 + 8]
sub r10d, r11d
mov dword [rsp + 0x40], r10d
mov r11, qword [rsp + 0x50]
mov r10d, 1
jmp 0x140053526
movsxd rax, dword [r13 + rsi*8 + 4]
xor r14d, r14d
mov rcx, qword [r12 + 0x118]
cmp byte [rax + rcx], r14b
mov r14, qword [rsp + 0x58]
je 0x140053f66
mov eax, dword [r13 + rsi*8 + 8]
sub eax, r10d
jmp 0x140054073
mov byte [rax + rcx], r10b
jmp 0x140053526
mov ecx, dword [rbp - 0x30]
test ecx, ecx
jns 0x140053f7d
mov eax, dword [r13 + rsi*8 + 4]
jmp 0x140053f8b
jne 0x140053f86
mov eax, dword [r13 + rsi*8 + 8]
jmp 0x140053f8b
mov eax, dword [r13 + rsi*8 + 0xc]
dec eax
jmp 0x14005406e
mov al, byte [r13 + rsi*8 + 3]
mov r13, qword [r13 + rsi*8 + 0x10]
and al, 1
neg al
mov rax, qword [rbp - 0x78]
sbb rdi, rdi
xor r10d, r10d
and rdi, qword [rbp + 0x38]
mov r15d, r10d
mov ebx, r10d
movsxd r12, dword [rax + rsi*8 + 0xc]
mov r9d, dword [rax + rsi*8 + 4]
mov ecx, dword [rax + rsi*8 + 8]
mov dword [rsp + 0x70], r9d
mov dword [rbp - 0x70], ecx
test r12, r12
jle 0x140054049
lea r14, [r13 + 0x20]
test rdi, rdi
je 0x140053fde
mov r8d, dword [rdi + rbx*4]
jmp 0x140053fe1
mov r8d, r15d
mov rax, qword [r13 + 0x18]
mov sil, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [r14]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x78]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x78]
call fcn.140044444
xor r10d, r10d
mov dword [rbp - 0x30], eax
mov ecx, eax
test eax, eax
jne 0x140054039
mov r9d, dword [rsp + 0x70]
lea ecx, [rax + 1]
add r15d, ecx
add rbx, rcx
mov ecx, dword [rbp - 0x70]
add r14, 8
cmp rbx, r12
jl 0x140053fd3
jmp 0x140054043
test sil, sil
je 0x140054043
neg ecx
mov dword [rbp - 0x30], ecx
mov r8d, 4
mov r13, qword [rbp - 0x78]
mov qword [rbp + 0x38], r10
mov r12, qword [rbp - 0x80]
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x44]
mov r10d, 1
mov rdi, qword [rsp + 0x68]
mov eax, dword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
xor r9d, r9d
add eax, r10d
mov dword [rsp + 0x40], eax
test r15d, r15d
je 0x1400525f2
mov r13d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x64]
mov sil, byte [rsp + 0x48]
mov rax, qword [r12 + 0x48]
lea rdx, str.statement_aborts_at__d:___s___s
mov r9, qword [r12 + 0xe0]
mov r8d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0x20], rax
mov dword [r12 + 0x84], r13d
call fcn.1400171dc
mov rcx, r12
call fcn.140057a80
cmp dword [rsp + 0x44], 0xc0a
mov r11, qword [rsp + 0x50]
jne 0x1400540e0
mov byte [r11 + 0x50], 1
mov ebx, 1
test sil, sil
je 0x1400574df
movzx edx, sil
mov rcx, r11
dec edx
call fcn.14004b1fc
mov r11, qword [rsp + 0x50]
jmp 0x1400574df
mov rax, qword [r13 + rsi*8 + 0x10]
mov qword [rbp + 0x38], rax
jmp 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, qword [rsp + 0x78]
test word [rbx + 8], ax
je 0x140054137
mov rcx, rbx
call fcn.1400588d4
jmp 0x140054139
xor eax, eax
mov r8b, byte [rsp + 0x60]
mov rcx, rbx
mov dl, byte [r13 + rsi*8 + 8]
mov dword [rsp + 0x44], eax
call fcn.140058774
jmp 0x140052f75
movsxd rax, dword [r13 + rsi*8 + 4]
xor r11d, r11d
mov rdi, qword [r13 + rsi*8 + 0x10]
mov r15d, r11d
mov rcx, qword [rbp - 0x78]
mov ebx, r11d
movzx r12d, byte [r12 + 0x8b]
mov r10d, r11d
imul r13, rax, 0x38
mov eax, dword [rcx + rsi*8 + 8]
add r13, qword [rsp + 0x78]
dec eax
cdqe
imul r14, rax, 0x38
movsxd rax, dword [rcx + rsi*8 + 0xc]
imul rax, rax, 0x38
add r14, r13
mov dword [rsp + 0x70], r11d
add rax, qword [rsp + 0x78]
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], r14
mov dword [rbp - 0x70], r12d
mov qword [rsp + 0x68], rax
test rdi, rdi
je 0x1400541e7
mov al, byte [rdi]
mov rsi, r13
mov r12b, byte [rsp + 0x60]
mov r8b, r12b
mov dl, al
mov rcx, rsi
call fcn.14001914c
inc rdi
add rsi, 0x38
mov al, byte [rdi]
test al, al
jne 0x1400541c2
mov r12d, dword [rbp - 0x70]
mov r10d, ebx
mov r13, qword [rbp - 0x50]
mov rdi, r14
mov edx, r12d
mov rcx, rdi
call fcn.140059bd4
mov r14d, eax
mov ecx, eax
mov dword [rdi + 0x24], r14d
call fcn.140059c9c
mov esi, eax
mov eax, 0x4000
test word [rdi + 8], ax
je 0x140054229
test r15, r15
je 0x14005421f
mov rcx, rdi
call fcn.1400588d4
jmp 0x140054229
add r10d, dword [rdi]
sub esi, dword [rdi]
mov dword [rsp + 0x70], r10d
movsxd rax, esi
add r15, rax
cmp r14d, 0x7f
ja 0x14005423c
mov eax, 1
jmp 0x140054244
mov rcx, r14
call fcn.140051b00
mov r10d, dword [rsp + 0x70]
add ebx, eax
sub rdi, 0x38
cmp rdi, r13
jae 0x1400541ea
cmp ebx, 0x7e
jg 0x140054261
mov r12d, 1
jmp 0x14005427f
movsxd rcx, ebx
call fcn.140051b00
add ebx, eax
mov edx, eax
movsxd rcx, ebx
call fcn.140051b00
mov r12d, 1
cmp edx, eax
jge 0x140054282
add ebx, r12d
mov r11, qword [rsp + 0x50]
movsxd rsi, ebx
movsxd rax, dword [r11 + 0x68]
lea r14, [r15 + rsi]
mov qword [rbp - 0x50], r14
cmp r14, rax
jg 0x14005741d
mov r15, qword [rsp + 0x68]
mov edx, r14d
mov rcx, r15
call fcn.140058830
test eax, eax
jne 0x140057496
mov rdi, qword [r15 + 0x10]
mov r14d, 0x80
cmp ebx, r14d
jae 0x1400542cd
mov byte [rdi], bl
mov eax, r12d
jmp 0x1400542d8
mov rdx, rsi
mov rcx, rdi
call fcn.14004a874
mov r15, qword [rbp - 0x60]
movzx esi, al
mov r11d, dword [r13 + 0x24]
movsxd rcx, esi
add rcx, rdi
cmp r11d, r14d
jae 0x1400542f6
mov byte [rcx], r11b
mov eax, r12d
jmp 0x1400542fe
mov rdx, r11
call fcn.14004a874
movzx eax, al
mov r8d, r11d
movsxd rcx, ebx
mov rdx, r13
add rcx, rdi
add esi, eax
call fcn.140059b5c
add ebx, eax
add r13, 0x38
cmp r13, r15
jbe 0x1400542df
mov rdi, qword [rsp + 0x68]
mov eax, 0x10
mov r14, qword [rbp - 0x50]
mov word [rdi + 8], ax
mov eax, dword [rsp + 0x70]
mov dword [rdi + 0xc], r14d
test eax, eax
je 0x140054348
mov dword [rdi], eax
mov eax, 0x4010
mov word [rdi + 8], ax
mov r13, qword [rbp - 0x78]
mov byte [rdi + 0xa], r12b
mov r12, qword [rbp - 0x80]
jmp 0x140052f75
mov ecx, r9d
sub ecx, 0x32
je 0x1400546f0
sub ecx, 1
je 0x1400546c4
sub ecx, 1
je 0x14005462d
sub ecx, 1
je 0x1400544be
sub ecx, 1
je 0x1400544e4
sub ecx, 1
je 0x1400544e4
sub ecx, 1
je 0x1400543a0
cmp ecx, 1
jne 0x14005406a
mov r8d, dword [r13 + rsi*8 + 8]
or r9d, 0xffffffff
mov edx, dword [r13 + rsi*8 + 4]
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.1400180b4
mov rbx, rax
test rax, rax
je 0x14005749a
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 0x28], eax
lea rdi, [rbx + 8]
mov byte [rbx + 0x25], al
mov r9, rdi
movzx ecx, byte [r13 + rsi*8 + 3]
xor edx, edx
mov rax, qword [rsp + 0x50]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
mov rcx, qword [rax]
call fcn.14003609c
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005446f
mov rcx, qword [rdi]
lea r15d, [rax + 1]
mov edx, r15d
call fcn.1400345c8
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005446f
mov r14, qword [r13 + rsi*8 + 0x10]
mov rcx, qword [rdi]
test r14, r14
je 0x140054498
movzx r8d, byte [r13 + rsi*8 + 3]
lea rdx, [rbp + 0x2c]
or r8d, 2
call fcn.140034e28
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005446b
mov rax, qword [rbx]
mov r9, r14
mov edx, dword [rbp + 0x2c]
mov r8d, r15d
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
mov qword [rbx + 0x10], r14
call fcn.140034e70
mov dword [rsp + 0x44], eax
and dword [rbx + 0x28], 0xfffffffb
mov r8d, 4
mov al, byte [r13 + rsi*8 + 3]
mov esi, 8
sub al, sil
neg al
mov eax, dword [rbx + 0x28]
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, esi
or ecx, eax
mov dword [rbx + 0x28], ecx
jmp 0x140054055
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, r15d
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.140034e70
mov r8d, 4
mov dword [rsp + 0x44], eax
or dword [rbx + 0x28], r8d
jmp 0x140054475
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r14d, r14d
mov rax, qword [r12 + 0x60]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x1400544e7
mov eax, dword [r13 + rsi*8 + 8]
cmp dword [rdx + 0x2c], eax
je 0x14005406a
jmp 0x1400544e7
xor r14d, r14d
test byte [r12 + 0x8c], 0x20
jne 0x140057379
movsxd r15, dword [r13 + rsi*8 + 8]
mov edi, r14d
movsxd r13, dword [r13 + rsi*8 + 0xc]
mov rax, r13
shl rax, 5
add rax, qword [r11 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x50], rcx
cmp r9b, 0x37
jne 0x14005453d
mov rax, qword [rax + 0x18]
mov r12d, 1
mov cl, byte [rax + 0x70]
mov rax, qword [rbp - 0x80]
cmp cl, byte [rax + 0x8b]
jae 0x140054542
mov byte [rax + 0x8b], cl
jmp 0x140054542
xor eax, eax
mov r12d, eax
mov rcx, qword [rbp - 0x78]
mov eax, 2
test byte [rcx + rsi*8 + 3], al
je 0x140054577
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140058c68
mov r15d, dword [rbx]
mov eax, 2
cmp r15d, eax
jl 0x14005735d
mov rcx, qword [rbp - 0x78]
mov al, byte [rcx + rsi*8 + 1]
cmp al, 0xfa
jne 0x140054592
mov r14, qword [rcx + rsi*8 + 0x10]
movzx edi, word [r14 + 8]
movzx eax, word [r14 + 6]
add edi, eax
jmp 0x14005459a
cmp al, 0xf2
jne 0x14005459a
mov edi, dword [rcx + rsi*8 + 0x10]
mov rcx, qword [rbp - 0x80]
mov r9d, r13d
mov r13, qword [rbp - 0x78]
mov r8d, edi
mov dword [rsp + 0x20], 1
mov edx, dword [r13 + rsi*8 + 4]
call fcn.1400180b4
mov rbx, rax
test rax, rax
je 0x140057496
mov rcx, qword [rbx]
mov r9, r14
mov byte [rax + 0x25], 1
mov r8d, r12d
mov qword [rsp + 0x20], rcx
mov eax, 8
mov rcx, qword [rbp - 0x50]
mov edx, r15d
or dword [rbx + 0x28], eax
mov dword [rbx + 0x2c], r15d
call fcn.140034e70
mov rcx, qword [rbx]
mov qword [rbx + 0x10], r14
movzx edx, byte [r13 + rsi*8 + 3]
and edx, 1
mov dword [rsp + 0x44], eax
call fcn.140034edc
mov al, byte [r13 + rsi*8 + 1]
mov r8d, 4
sub al, 0xfa
neg al
mov eax, dword [rbx + 0x28]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r8d
or ecx, eax
mov dword [rbx + 0x28], ecx
jmp 0x140054051
movsxd rax, dword [r13 + rsi*8 + 0xc]
movsxd rbx, dword [r13 + rsi*8 + 4]
imul rdi, rax, 0x38
shl rbx, 5
add rdi, qword [rsp + 0x78]
add rbx, qword [r11 + 0x20]
mov rcx, rdi
call fcn.140058c68
mov r8d, dword [rdi]
mov edx, dword [r13 + rsi*8 + 8]
mov rcx, qword [rbx + 8]
call fcn.140036d38
cmp dword [r13 + rsi*8 + 8], 1
mov r15d, eax
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x44], eax
jne 0x140054688
mov eax, dword [rdi]
mov rcx, qword [rbx + 0x18]
mov dword [rcx], eax
mov eax, 2
or dword [r11 + 0x2c], eax
jmp 0x14005469d
mov eax, 2
cmp dword [r13 + rsi*8 + 8], eax
jne 0x14005469d
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi]
mov byte [rcx + 0x70], al
mov r10d, 1
cmp dword [r13 + rsi*8 + 4], r10d
jne 0x14005294b
mov rcx, r11
call fcn.14003ad84
and dword [r12 + 0x8c], 0xffffffdf
jmp 0x14005294b
movsxd rax, dword [r13 + rsi*8 + 4]
lea r8, [rbp + 0x30]
mov rcx, qword [r11 + 0x20]
mov edx, dword [r13 + rsi*8 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140035390
movsxd rax, dword [rbp + 0x30]
mov qword [rdi], rax
jmp 0x140052f7a
mov rax, qword [r12 + 0x60]
lea rdx, [rbp - 0x60]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov qword [rbp - 0x60], rax
mov rcx, qword [rcx]
call fcn.140034d1c
mov dword [rsp + 0x44], eax
mov rax, qword [rbp - 0x60]
mov qword [rdi], rax
jmp 0x140052f75
mov r8d, dword [r13 + rsi*8 + 8]
or r9d, 0xffffffff
mov edx, dword [r13 + rsi*8 + 4]
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.1400180b4
test rax, rax
je 0x14005749a
mov rcx, qword [r13 + rsi*8 + 0x10]
mov r8, rax
mov qword [rax + 0x10], rcx
mov edx, dword [r13 + rsi*8 + 0xc]
mov rcx, qword [rsp + 0x50]
call fcn.140059f44
jmp 0x1400532aa
cmp r9d, 0x44
ja 0x140054b33
je 0x1400547cd
sub r9d, 0x3b
je 0x140054b06
sub r9d, 1
je 0x140054ac1
sub r9d, 1
je 0x140054a95
sub r9d, 1
je 0x14005489b
sub r9d, 1
je 0x14005489b
sub r9d, 1
je 0x14005489b
sub r9d, 1
je 0x14005489b
sub r9d, 1
je 0x140054868
cmp r9d, 1
jne 0x14005406a
mov rax, qword [r12 + 0x60]
xor r14d, r14d
movsxd rcx, dword [r13 + rsi*8 + 4]
mov r12d, r14d
mov qword [rbp - 0x60], r14
mov r15, qword [rax + rcx*8]
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rbx, rax, 0x38
mov rcx, qword [r15 + 0x10]
add rbx, qword [rsp + 0x78]
cmp dword [r13 + rsi*8 + 0x10], r14d
jle 0x140054e9d
mov qword [rbp + 0x70], rcx
mov edi, r14d
movzx ecx, word [r13 + rsi*8 + 0x10]
mov word [rbp + 0x78], cx
mov qword [rbp + 0x80], rbx
cmp r14w, cx
jae 0x14005485f
mov esi, 0x4000
test word [r14 + rbx + 8], si
je 0x140054847
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rbx
call fcn.1400588d4
movzx ecx, word [rbp + 0x78]
mov rbx, qword [rbp + 0x80]
inc edi
movzx eax, cx
add r14, 0x38
cmp edi, eax
jl 0x140054825
mov rsi, qword [rbp - 0x50]
xor r14d, r14d
mov r13, qword [rbp - 0x78]
lea rdi, [rbp + 0x70]
jmp 0x140054ed6
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov byte [rbx + 0x25], al
movsxd rax, dword [r13 + rsi*8 + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
call fcn.140057f54
mov qword [rbx + 0x40], rax
mov byte [rbx + 0x26], 1
jmp 0x140052f7a
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r15d, r15d
mov rax, qword [r12 + 0x60]
movzx edi, byte [r13 + rsi*8]
mov r14, qword [rax + rcx*8]
mov byte [r14 + 0x25], r15b
test byte [r14 + 0x28], r8b
je 0x140054967
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
mov al, byte [rbx + 8]
and al, 0xe
cmp al, dl
jne 0x1400548e1
xor edx, edx
mov rcx, rbx
call fcn.1400191a4
mov rcx, rbx
call fcn.140057f54
mov r8d, 4
mov r15, rax
test byte [rbx + 8], r8b
jne 0x140054945
lea eax, [r8 + 4]
test byte [rbx + 8], al
jne 0x140054913
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
jmp 0x140054055
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
comisd xmm0, xmm1
jbe 0x140054933
mov eax, 1
test al, dil
je 0x140054945
sub edi, eax
jmp 0x140054945
comisd xmm1, xmm0
jbe 0x140054945
mov eax, 1
test al, dil
jne 0x140054945
add edi, eax
mov rcx, qword [r14]
lea rax, [rbp - 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
call fcn.140035c14
mov qword [r14 + 0x40], r15
xor r15d, r15d
jmp 0x1400549dc
mov rax, qword [r14 + 0x10]
mov r9d, 1
mov ecx, dword [r13 + rsi*8 + 0x10]
mov word [rbp + 0x98], cx
mov qword [rbp + 0x90], rax
mov eax, edi
and al, r9b
neg al
sbb cl, cl
and cl, 0xfe
add cl, r9b
mov byte [rbp + 0x9a], cl
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x4000
add rcx, qword [rsp + 0x78]
mov qword [rbp + 0xa0], rcx
test word [rcx + 8], ax
je 0x1400549be
call fcn.1400588d4
mov rcx, qword [r14]
lea rax, [rbp - 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x90]
call fcn.140035c14
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005736f
mov eax, 0x40
mov byte [r14 + 0x26], r15b
cmp edi, eax
mov dword [r14 + 0x50], r15d
mov eax, dword [rbp - 0x68]
jl 0x140054a22
test eax, eax
js 0x140054a10
jne 0x140054a07
cmp edi, 0x41
je 0x140054a10
mov dword [rbp - 0x68], r15d
jmp 0x1400529d7
mov dword [rbp - 0x68], r15d
lea rdx, [rbp - 0x68]
mov rcx, qword [r14]
call fcn.140036040
jmp 0x140054a52
test eax, eax
jg 0x140054a42
jne 0x140054a2d
cmp edi, 0x3e
je 0x140054a42
mov rcx, qword [r14]
call fcn.140034ed0
mov r15d, dword [rsp + 0x44]
xor r14d, r14d
mov dword [rbp - 0x68], eax
jmp 0x140054a64
mov dword [rbp - 0x68], r15d
lea rdx, [rbp - 0x68]
mov rcx, qword [r14]
call fcn.140036630
xor r14d, r14d
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x140057392
mov rdi, qword [rsp + 0x68]
cmp dword [rbp - 0x68], r14d
mov r11, qword [rsp + 0x50]
mov r8d, 4
mov r14, qword [rsp + 0x58]
je 0x140053f33
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
jmp 0x140053f33
movsxd rax, dword [r13 + rsi*8 + 4]
mov rcx, r12
mov rdx, qword [r12 + 0x60]
mov rdx, qword [rdx + rax*8]
call fcn.140057974
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r10d, r10d
mov rax, qword [r12 + 0x60]
mov qword [rax + rcx*8], r10
jmp 0x140052f7a
mov r8d, dword [r13 + rsi*8 + 0xc]
xor r14d, r14d
mov edx, dword [r13 + rsi*8 + 4]
or r9d, 0xffffffff
mov rcx, r12
mov dword [rsp + 0x20], r14d
call fcn.1400180b4
mov r11, qword [rsp + 0x50]
test rax, rax
je 0x14005749f
mov byte [rax + 0x25], 1
lea r8d, [r14 + 4]
mov ecx, dword [r13 + rsi*8 + 8]
or dword [rax + 0x28], r8d
mov dword [rax + 0x1c], ecx
jmp 0x140053752
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
test rcx, rcx
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
mov r14, qword [rsp + 0x58]
jne 0x140053526
jmp 0x140053f59
mov ecx, r9d
sub ecx, 0x45
je 0x1400547cd
sub ecx, 1
je 0x140054e2d
sub ecx, 1
je 0x140054d57
sub ecx, 1
je 0x140054d57
sub ecx, 1
je 0x140054d2b
sub ecx, 1
je 0x140054b9d
sub ecx, 1
je 0x1400550b7
cmp ecx, 1
jne 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x58]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x78]
test byte [rcx + rax + 8], r10b
je 0x140053526
jmp 0x140053f59
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r15d, r15d
mov rax, qword [r12 + 0x60]
mov ebx, r15d
mov qword [rbp - 0x70], rbx
mov dword [rsp + 0x70], r15d
mov r14, qword [rax + rcx*8]
mov rcx, qword [r14]
test rcx, rcx
je 0x140054d1e
test byte [r14 + 0x28], dl
jne 0x140054bf0
lea rdx, [rsp + 0x70]
call fcn.140035a90
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005736f
cmp dword [rsp + 0x70], r15d
je 0x140054c15
lea ebx, [rax + 1]
mov qword [rbp - 0x70], rbx
mov ecx, 2
movsxd rdx, dword [r13 + rsi*8 + 0xc]
test edx, edx
je 0x140054ca1
mov rcx, qword [r12 + 0xf0]
test rcx, rcx
je 0x140054c62
mov rax, qword [rcx + 8]
jmp 0x140054c53
mov rcx, qword [r14]
lea rdx, [rbp - 0x70]
call fcn.140035a64
mov rbx, qword [rbp - 0x70]
mov ecx, 2
mov dword [rsp + 0x44], eax
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jl 0x140054c43
or dword [r14 + 0x28], ecx
jmp 0x140054bf5
inc rbx
mov qword [rbp - 0x70], rbx
jmp 0x140054bf5
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140054c4c
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140054c6b
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x78]
mov rcx, rdi
call fcn.140058c68
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140054d00
mov ecx, 2
test byte [r14 + 0x28], cl
jne 0x140054d00
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x70], rbx
mov qword [rdi], rbx
test byte [r14 + 0x28], cl
je 0x140054d0b
mov edi, r15d
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.140013b40
mov rbx, qword [rbp - 0x70]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [r14]
and rbx, rax
inc rbx
lea rax, [rsp + 0x70]
mov r8, rbx
mov qword [rbp - 0x70], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.140035c14
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140054d0b
cmp dword [rsp + 0x70], r15d
jne 0x140054d0b
inc edi
cmp edi, 0x64
jl 0x140054caa
mov r13d, 0xd
jmp 0x140057374
mov rdi, qword [rsp + 0x68]
mov r8d, 4
mov byte [r14 + 0x26], r15b
mov dword [r14 + 0x50], r15d
mov qword [rdi], rbx
mov r15d, dword [rsp + 0x44]
jmp 0x14005376d
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [rdi], rax
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x38], r10
jmp 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
mov r11d, 1
mov r14, qword [rsp + 0x78]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], r11b
je 0x140054d7b
mov rbx, rdx
xor edi, edi
jmp 0x140054d91
call fcn.140057f54
xor edi, edi
test rax, rax
mov ebx, edi
setne bl
lea edx, [rdi + 2]
lea r11d, [rdi + 1]
movsxd rax, dword [r13 + rsi*8 + 8]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], r11b
je 0x140054da8
mov rcx, rdx
jmp 0x140054dbc
call fcn.140057f54
test rax, rax
mov rcx, rdi
mov r11d, 1
setne cl
lea rcx, [rcx + rbx*2]
add rcx, rbx
lea rax, [0x140000000]
cmp byte [r13 + rsi*8], 0x48
jne 0x140054ddb
mov dl, byte [rcx + rax + 0x99670]
jmp 0x140054de2
mov dl, byte [rcx + rax + 0x99688]
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rdi, rax, 0x38
mov eax, 2
add rdi, r14
mov qword [rsp + 0x68], rdi
lea r8d, [rax + 2]
movzx ecx, word [rdi + 8]
cmp dl, al
jne 0x140054e12
mov eax, 0xbe01
and cx, ax
or cx, r11w
jmp 0x140054e24
movzx eax, dl
mov qword [rdi], rax
mov eax, 0xbe04
and cx, ax
or cx, r8w
mov word [rdi + 8], cx
jmp 0x14005376d
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r14d, r14d
mov rax, qword [r12 + 0x60]
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x70], r14d
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x78]
mov rbx, qword [rcx + rax]
lea rax, [rsp + 0x70]
mov rcx, qword [rdi]
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.140035c14
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x70]
mov qword [rdi + 0x40], rbx
mov word [rdi + 0x25], r14w
mov dword [rdi + 0x50], r14d
test eax, eax
je 0x140054e95
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
mov dword [rdi + 0x18], eax
jmp 0x1400529d7
lea r9, [rbp - 0x60]
mov r8d, 0x107
lea rdx, [rbp + 0x100]
call fcn.140051da0
mov rdi, rax
test rax, rax
je 0x140057496
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r15 + 0x10]
call fcn.1400597d4
mov r12, qword [rbp - 0x60]
mov byte [rdi + 0xa], r14b
cmp byte [r13 + rsi*8], 0x43
jne 0x140054f1e
movzx edx, word [rbp + 0x78]
mov rcx, r14
test rdx, rdx
je 0x140054f1e
mov rax, qword [rbp + 0x80]
mov r8d, 1
add rax, 8
test byte [rax], r8b
jne 0x140054f12
add rcx, r8
add rax, 0x38
cmp rcx, rdx
jl 0x140054eff
jmp 0x140054f1e
mov eax, dword [r13 + rsi*8 + 8]
sub eax, r8d
mov dword [rsp + 0x40], eax
mov rcx, qword [r15]
lea rax, [rbp + 0x28]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.140035c14
mov dword [rsp + 0x44], eax
cmp dword [r13 + rsi*8 + 0x10], r14d
jne 0x140054f50
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.14003917c
cmp dword [rsp + 0x44], r14d
jne 0x140053c06
mov eax, dword [rbp + 0x28]
mov ecx, r14d
test eax, eax
mov dword [r15 + 0x18], eax
mov byte [r15 + 0x26], r14b
sete cl
mov dword [r15 + 0x50], r14d
test eax, eax
setne al
mov byte [r15 + 0x25], al
cmp byte [r13 + rsi*8], 0x45
jne 0x140054f91
test ecx, ecx
je 0x140054f95
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
jmp 0x140054f9a
test ecx, ecx
je 0x140054f87
mov r10d, dword [rsp + 0x40]
mov r12, qword [rbp - 0x80]
inc r10d
mov r15d, dword [rsp + 0x44]
mov dword [rsp + 0x40], r10d
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
jmp 0x1400525df
movsxd rax, dword [r13 + rsi*8 + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x78]
test byte [rcx + rax + 8], r10b
jmp 0x140054b23
cmp r9d, 0x74
ja 0x140056145
je 0x140055e5c
cmp r9d, 0x61
ja 0x140055ae7
je 0x140055a0c
cmp r9d, 0x57
ja 0x140055464
je 0x14005504f
mov ecx, r9d
sub ecx, 0x4e
je 0x1400551fd
sub ecx, 1
je 0x1400551fd
sub ecx, 1
je 0x1400551fd
sub ecx, 1
je 0x1400551fd
sub ecx, 1
je 0x1400551fd
sub ecx, 1
je 0x1400551fd
sub ecx, 1
je 0x1400550b7
sub ecx, 1
je 0x14005504f
cmp ecx, 1
jne 0x14005406a
mov r14, qword [rsp + 0x78]
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 0xc]
add rbx, r14
imul rdi, rax, 0x38
add rcx, r14
add rdi, r14
mov qword [rsp + 0x68], rdi
mov al, byte [rcx + 8]
or al, byte [rbx + 8]
test al, 1
jne 0x1400555e7
call fcn.140057f54
mov rcx, rbx
mov qword [rbp - 0x48], rax
call fcn.140057f54
mov dil, byte [r13 + rsi*8]
mov rbx, rax
cmp dil, 0x55
jne 0x14005592b
and qword [rbp - 0x48], rax
jmp 0x1400559e7
movsxd rax, dword [r13 + rsi*8 + 8]
mov r14, qword [rsp + 0x78]
movsxd rcx, dword [r13 + rsi*8 + 4]
movsxd rbx, dword [r13 + rsi*8 + 0xc]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x60]
add rdx, r14
mov rdi, qword [rax + rcx*8]
cmp r9b, 0x4b
jne 0x1400550e9
imul rax, rbx, 0x38
mov rbx, qword [rax + r14]
mov al, byte [r13 + rsi*8 + 3]
mov r9d, 1
test r9b, al
je 0x140055106
add dword [r12 + 0x90], r9d
mov al, byte [r13 + rsi*8 + 3]
mov r10d, 2
test r10b, al
je 0x14005511f
mov r14, rbx
mov qword [rsp + 0x58], rbx
mov qword [r11 + 0x30], rbx
jmp 0x140055124
mov r14, qword [rsp + 0x58]
xor ecx, ecx
test byte [rdx + 8], r9b
je 0x140055133
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0xc], ecx
movzx eax, byte [r13 + rsi*8 + 3]
mov r8d, 0x10
test r8b, al
je 0x14005514a
mov r8d, dword [rdi + 0x18]
jmp 0x14005514d
mov r8d, ecx
mov r10d, 0x4000
test word [rdx + 8], r10w
je 0x14005515c
mov ecx, dword [rdx]
mov dword [rsp + 0x38], r8d
mov r8, rbx
shr eax, 3
and eax, r9d
mov r9, qword [rdx + 0x10]
mov dword [rsp + 0x30], eax
mov eax, dword [rdx + 0xc]
xor edx, edx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rdi]
mov dword [rsp + 0x20], eax
call fcn.140035524
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov byte [rdi + 0x26], al
mov dword [rdi + 0x50], eax
test r15d, r15d
jne 0x140052e68
mov r10, qword [r11 + 0x108]
test r10, r10
je 0x140052e68
mov r9, qword [r13 + rsi*8 + 0x10]
test r9, r9
je 0x140052e68
movsx rcx, byte [rdi + 0x24]
mov al, byte [r13 + rsi*8 + 3]
mov r8, qword [r11 + 0x20]
and al, 4
shl rcx, 5
neg al
mov qword [rsp + 0x20], rbx
sbb edx, edx
mov r8, qword [rcx + r8]
and edx, 5
mov rcx, qword [r11 + 0x100]
add edx, 0x12
call r10
mov r11, qword [rsp + 0x50]
jmp 0x140052e68
movsxd rax, dword [r13 + rsi*8 + 4]
mov r8, qword [rsp + 0x78]
imul r14, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rbx, rax, 0x38
add r14, r8
add rbx, r8
movzx r15d, word [r14 + 8]
movzx edi, word [rbx + 8]
mov al, dil
or al, r15b
test r10b, al
mov al, byte [r13 + rsi*8 + 3]
je 0x1400552e1
xor r9d, r9d
test al, al
jns 0x140055268
movzx eax, di
xor r10d, r10d
and ax, r15w
bt ax, r10w
jae 0x14005525e
bt di, 8
jb 0x14005525e
mov edx, r10d
jmp 0x1400553bd
mov edx, 1
jmp 0x1400553bd
mov r14, qword [rsp + 0x58]
test al, 0x20
je 0x1400552ae
movsxd rax, dword [r13 + rsi*8 + 8]
mov r15d, 1
imul rdi, rax, 0x38
mov eax, 0xbe01
mov r10d, 1
add rdi, r8
mov qword [rsp + 0x68], rdi
lea r8d, [r10 + 3]
and word [rdi + 8], ax
or word [rdi + 8], r15w
mov r15d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x40]
jmp 0x140054076
mov r15d, dword [rsp + 0x44]
mov ecx, 0x10
mov rdi, qword [rsp + 0x68]
lea r8d, [rcx - 0xc]
test cl, al
je 0x1400552d8
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
mov r10d, 1
mov eax, dword [rsp + 0x40]
jmp 0x140054076
and al, 0x47
cmp al, 0x43
jb 0x140055319
mov al, r15b
movzx ecx, di
and al, 0xe
cmp al, dl
jne 0x140055306
xor edx, edx
mov rcx, r14
call fcn.1400191a4
movzx ecx, word [rbx + 8]
mov edx, 2
and cl, 0xe
cmp cl, dl
jne 0x14005535a
xor edx, edx
mov rcx, rbx
call fcn.1400191a4
jmp 0x14005535a
cmp al, 0x42
jne 0x14005535a
movzx eax, di
test dl, r15b
jne 0x140055343
test r15b, 0xc
je 0x140055343
mov dl, byte [rsp + 0x60]
mov r8b, 1
mov rcx, r14
call fcn.14005915c
movzx eax, word [rbx + 8]
mov edx, 2
test dl, al
jne 0x14005535a
test al, 0xc
je 0x14005535a
mov dl, byte [rsp + 0x60]
mov r8b, 1
mov rcx, rbx
call fcn.14005915c
mov eax, 0x4000
test word [r14 + 8], ax
je 0x14005537c
mov rcx, r14
call fcn.1400588d4
mov eax, 0xbfff
and r15w, ax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140055392
mov rcx, rbx
call fcn.1400588d4
mov eax, 0xbfff
and di, ax
mov r11, qword [rsp + 0x50]
xor eax, eax
cmp byte [r11 + 0x50], al
jne 0x14005749f
mov r8, qword [r13 + rsi*8 + 0x10]
mov rdx, r14
mov rcx, rbx
call fcn.140044444
mov r8, qword [rsp + 0x78]
mov edx, eax
xor r10d, r10d
movzx eax, byte [r13 + rsi*8]
sub eax, 0x4e
je 0x140055401
sub eax, 1
je 0x1400553f7
sub eax, 1
je 0x1400553ed
sub eax, 1
je 0x1400553e3
cmp eax, 1
je 0x1400553de
not edx
shr edx, 0x1f
jmp 0x14005540b
test edx, edx
mov eax, r10d
setle al
jmp 0x140055409
test edx, edx
mov eax, r10d
setg al
jmp 0x140055409
test edx, edx
mov eax, r10d
sete al
jmp 0x140055409
test edx, edx
mov eax, r10d
setne al
mov edx, eax
test byte [r13 + rsi*8 + 3], 0x20
je 0x14005543f
movsxd rax, dword [r13 + rsi*8 + 8]
imul rcx, rax, 0x38
mov eax, 0xbe04
add rcx, r8
mov r8d, 4
mov qword [rsp + 0x68], rcx
and word [rcx + 8], ax
or word [rcx + 8], r8w
mov eax, edx
mov qword [rcx], rax
jmp 0x140055456
mov r8d, 4
test edx, edx
je 0x140055456
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
mov word [r14 + 8], r15w
mov word [rbx + 8], di
jmp 0x140054055
sub r9d, 0x58
je 0x14005504f
sub r9d, 1
je 0x14005571b
sub r9d, 1
je 0x14005571b
sub r9d, 1
je 0x14005571b
sub r9d, 1
je 0x14005571b
sub r9d, 1
je 0x14005571b
sub r9d, 1
je 0x1400555aa
sub r9d, 1
je 0x140055506
cmp r9d, 1
jne 0x14005406a
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
add rbx, qword [rsp + 0x78]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x78]
mov rcx, rdi
mov qword [rsp + 0x68], rdi
call fcn.140058e80
test byte [rbx + 8], 1
jne 0x140052f7a
mov edx, 4
mov rcx, rbx
mov word [rdi + 8], dx
call fcn.140057f54
not rax
jmp 0x1400546e8
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.140034fdc
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov dword [rbx + 0x50], eax
lea r8d, [rax + 4]
test r15d, r15d
jne 0x140055583
mov r10, qword [r11 + 0x108]
test r10, r10
je 0x140055583
mov r9, qword [r13 + rsi*8 + 0x10]
test r9, r9
je 0x140055583
test byte [rbx + 0x28], r8b
je 0x140055583
movsx rcx, byte [rbx + 0x24]
lea edx, [r15 + 9]
mov r8, qword [r11 + 0x20]
mov rax, qword [rbx + 0x40]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [r11 + 0x100]
call r10
mov r11, qword [rsp + 0x50]
lea r8d, [r15 + 4]
mov eax, dword [rsp + 0x40]
mov r10d, 1
mov r14, qword [rsp + 0x58]
test byte [r13 + rsi*8 + 8], r10b
je 0x140054073
add dword [r12 + 0x90], r10d
jmp 0x140054073
mov r14, qword [rsp + 0x78]
movsxd rax, dword [r13 + rsi*8 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 0xc]
add rdi, r14
imul rax, rax, 0x38
add rbx, r14
add rax, r14
mov qword [rsp + 0x68], rax
mov al, byte [rdi + 8]
or al, byte [rbx + 8]
test al, 1
je 0x1400555f4
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.140058e80
jmp 0x140052f7a
mov esi, 0x4000
test word [rdi + 8], si
je 0x14005560f
mov rcx, rdi
call fcn.1400588d4
test eax, eax
jne 0x14005749a
test word [rbx + 8], si
je 0x140055625
mov rcx, rbx
call fcn.1400588d4
test eax, eax
jne 0x14005749a
mov sil, byte [rsp + 0x60]
mov eax, 0x12
test byte [rdi + 8], al
jne 0x14005564f
xor r8d, r8d
mov dl, sil
mov rcx, rdi
call fcn.14005915c
test eax, eax
jne 0x14005749a
mov eax, 0x12
test byte [rbx + 8], al
jne 0x14005566a
xor r8d, r8d
mov dl, sil
mov rcx, rbx
call fcn.14005915c
test eax, eax
jne 0x14005749a
mov r11, qword [rsp + 0x50]
mov esi, dword [rdi + 0xc]
add esi, dword [rbx + 0xc]
movsxd r14, esi
movsxd rax, dword [r11 + 0x68]
cmp r14, rax
jg 0x140057428
mov rcx, qword [rsp + 0x68]
lea edx, [rsi + 2]
xor eax, eax
cmp qword [rsp + 0x68], rbx
mov r8d, eax
sete r8b
call fcn.140058acc
test eax, eax
jne 0x14005749a
mov rax, qword [rsp + 0x68]
mov ecx, 0xbe02
mov r10d, 2
and word [rax + 8], cx
or word [rax + 8], r10w
cmp rax, rbx
je 0x1400556dc
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rax + 0x10]
call fcn.14006e420
mov rax, qword [rsp + 0x68]
movsxd rcx, dword [rbx + 0xc]
add rcx, qword [rax + 0x10]
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
call fcn.14006e420
mov rdi, qword [rsp + 0x68]
xor r10d, r10d
mov rax, qword [rdi + 0x10]
mov byte [r14 + rax], r10b
mov rax, qword [rdi + 0x10]
mov byte [rax + r14 + 1], r10b
mov eax, 0x200
or word [rdi + 8], ax
mov dword [rdi + 0xc], esi
jmp 0x1400536a7
movsxd rax, dword [r13 + rsi*8 + 4]
mov r15, qword [rsp + 0x78]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.140029d18
movsxd rcx, dword [r13 + rsi*8 + 8]
movzx r12d, ax
imul rdi, rcx, 0x38
add rdi, r15
mov rcx, rdi
call fcn.140029d18
movsxd rcx, dword [r13 + rsi*8 + 0xc]
movzx r14d, ax
imul rax, rcx, 0x38
mov cl, byte [rdi + 8]
mov r11d, 1
or cl, byte [rbx + 8]
add rax, r15
mov qword [rsp + 0x68], rax
test r11b, cl
jne 0x140055919
mov cl, r14b
lea edx, [r11 + 3]
and cl, r12b
test dl, cl
je 0x14005584a
movzx ecx, byte [r13 + rsi*8]
mov r15b, r11b
mov rdx, qword [rdi]
mov r8, qword [rbx]
mov qword [rbp - 0x70], rdx
sub ecx, 0x59
je 0x140055811
sub ecx, r11d
je 0x140055803
sub ecx, r11d
je 0x1400557f5
cmp ecx, r11d
je 0x1400557cd
test r8, r8
je 0x140055919
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r11
idiv r8
mov rax, rdx
jmp 0x140055825
test r8, r8
je 0x140055919
cmp r8, 0xffffffffffffffff
jne 0x1400557eb
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14005584f
mov rax, rdx
cqo
idiv r8
jmp 0x140055825
mov rdx, r8
lea rcx, [rbp - 0x70]
call fcn.1400446d4
jmp 0x14005581d
mov rdx, r8
lea rcx, [rbp - 0x70]
call fcn.14004edc0
jmp 0x14005581d
mov rdx, r8
lea rcx, [rbp - 0x70]
call fcn.140031c08
test eax, eax
jne 0x14005584f
mov rax, qword [rbp - 0x70]
mov rdi, qword [rsp + 0x68]
mov r8d, 4
mov r12, qword [rbp - 0x80]
mov qword [rdi], rax
mov eax, 0xbe04
and word [rdi + 8], ax
or word [rdi + 8], r8w
jmp 0x140054d21
xor eax, eax
mov r15b, al
mov rcx, rbx
call fcn.14005977c
mov rcx, rdi
movaps xmm2, xmm0
call fcn.14005977c
movzx ecx, byte [r13 + rsi*8]
movaps xmm3, xmm0
sub ecx, 0x59
je 0x1400558cc
sub ecx, 1
je 0x1400558c6
sub ecx, 1
je 0x1400558c0
cmp ecx, 1
je 0x1400558ae
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm0
test rcx, rcx
je 0x140055919
cmp rcx, 0xffffffffffffffff
mov edx, 1
xorps xmm3, xmm3
cmove rcx, rdx
cqo
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x1400558d0
ucomisd xmm2, qword [0x1400a0f20]
jp 0x1400558ba
je 0x140055919
divsd xmm3, xmm2
jmp 0x1400558d0
mulsd xmm3, xmm2
jmp 0x1400558d0
subsd xmm3, xmm2
jmp 0x1400558d0
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.1400430e0
test eax, eax
jne 0x140055919
mov rdi, qword [rsp + 0x68]
mov ecx, 8
mov eax, 0xbe08
or r14b, r12b
and word [rdi + 8], ax
or word [rdi + 8], cx
movsd qword [rdi], xmm3
test cl, r14b
jne 0x140054350
test r15b, r15b
jne 0x140054350
mov rcx, rdi
call fcn.140057fa4
jmp 0x140054350
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.140058e80
jmp 0x140054350
cmp dil, 0x56
jne 0x14005593a
or qword [rbp - 0x48], rbx
jmp 0x1400559e7
xor r14d, r14d
test rbx, rbx
je 0x1400559e7
jns 0x140055968
mov rcx, rbx
mov eax, 0xaf
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r14 + 0x40]
cmovg rbx, rcx
mov eax, 0x40
cmp rbx, rax
jl 0x14005598d
cmp qword [rbp - 0x48], r14
jge 0x140055984
cmp dil, 0x57
je 0x140055984
or rax, 0xffffffffffffffff
jmp 0x140055987
mov rax, r14
mov qword [rbp - 0x48], rax
jmp 0x1400559e7
mov esi, 8
lea rdx, [rbp - 0x48]
mov r8d, esi
lea rcx, [rbp + 0x10]
call fcn.14006e420
mov rcx, rbx
cmp dil, 0x57
jne 0x1400559b1
shl qword [rbp + 0x10], cl
jmp 0x1400559d7
mov r8, qword [rbp + 0x10]
shr r8, cl
mov qword [rbp + 0x10], r8
cmp qword [rbp - 0x48], r14
jge 0x1400559d7
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp + 0x10], rdx
mov r8, rsi
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x48]
call fcn.14006e420
mov rax, qword [rbp - 0x48]
mov r8d, 4
mov rdi, qword [rsp + 0x68]
mov qword [rdi], rax
mov eax, 0xbe04
and word [rdi + 8], ax
or word [rdi + 8], r8w
jmp 0x14005376d
mov rcx, qword [r13 + rsi*8 + 0x10]
mov byte [r13 + rsi*8], 0x1b
call fcn.14004eda0
movzx ebx, byte [rsp + 0x60]
mov r9d, 1
mov dword [r13 + rsi*8 + 4], eax
cmp bl, r9b
je 0x140055ab0
mov rdx, rcx
xor r14d, r14d
mov rcx, rdi
mov qword [rsp + 0x20], r14
or r8d, 0xffffffff
call fcn.140058f08
lea ecx, [r14 + 0x12]
mov dword [rsp + 0x44], eax
cmp eax, ecx
je 0x140057423
mov edx, ebx
mov rcx, rdi
call fcn.140051e10
test eax, eax
jne 0x14005749a
mov eax, 0x800
mov dword [rdi + 0x20], r14d
or word [rdi + 8], ax
cmp byte [r13 + rsi*8 + 1], 0xff
jne 0x140055a8e
mov rdx, qword [r13 + rsi*8 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.14003917c
mov r11, qword [rsp + 0x50]
mov r8d, 4
mov byte [r13 + rsi*8 + 1], 0xff
mov rax, qword [rdi + 0x10]
mov qword [r13 + rsi*8 + 0x10], rax
mov eax, dword [rdi + 0xc]
mov dword [r13 + rsi*8 + 4], eax
cmp eax, dword [r11 + 0x68]
jg 0x140057428
jmp 0x140055ac0
mov bl, byte [rsp + 0x60]
mov r15d, dword [rsp + 0x44]
mov eax, 0xa02
mov word [rdi + 8], ax
mov rax, qword [r13 + rsi*8 + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [r13 + rsi*8 + 4]
mov dword [rdi + 0xc], eax
mov byte [rdi + 0xa], bl
jmp 0x140053752
cmp r9d, 0x6b
ja 0x140055e19
je 0x140055b49
sub r9d, 0x62
je 0x140055dfa
sub r9d, 1
je 0x140055db6
sub r9d, 1
je 0x140055d71
sub r9d, 1
je 0x140055c9d
sub r9d, 1
je 0x140055c9d
sub r9d, 1
je 0x140055bf3
sub r9d, 1
je 0x140055bc6
sub r9d, 1
je 0x140055b5c
cmp r9d, 1
jne 0x14005406a
mov r15d, 1
add dword [r12 + 0xa8], r15d
jmp 0x1400560b5
movsxd rcx, dword [r13 + rsi*8 + 4]
lea rdx, [rsp + 0x70]
mov rax, qword [r12 + 0x60]
xor r14d, r14d
mov dword [rsp + 0x70], r14d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.140035a90
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x70]
mov byte [rbx + 0x25], al
mov byte [rbx + 0x26], r14b
mov dword [rbx + 0x50], r14d
mov ecx, dword [r13 + rsi*8 + 8]
test ecx, ecx
jle 0x140052f75
mov r15d, dword [rsp + 0x44]
xor r9d, r9d
mov r11, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
lea r8d, [r9 + 4]
test eax, eax
je 0x1400552d2
lea r10d, [rcx - 1]
jmp 0x1400552cd
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rdx]
mov byte [rdx + 0x25], 1
mov dword [rdx + 0x50], eax
test rcx, rcx
je 0x140053752
call fcn.14003486c
jmp 0x140052f7a
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rbx, qword [rax + rcx*8]
xor eax, eax
cmp byte [rbx + 0x25], al
je 0x140055c12
mov word [rdi + 8], r10w
jmp 0x14005406a
xor r15d, r15d
cmp byte [rbx + 0x26], r15b
je 0x140055c25
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x40], rax
jmp 0x140055c91
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140055c4c
mov rbx, qword [rcx]
lea rdx, [rbp + 0x40]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.14005aec0
jmp 0x140055c8b
mov rcx, rbx
call fcn.1400522ec
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14005736f
cmp byte [rbx + 0x25], r15b
je 0x140055c7b
inc dword [rsp + 0x40]
lea r11d, [rax + 1]
mov word [rdi + 8], r11w
mov r15d, eax
jmp 0x140054fb0
mov rcx, qword [rbx]
lea rdx, [rbp + 0x40]
call fcn.140035a64
mov dword [rsp + 0x44], eax
mov r8d, 4
mov rax, qword [rbp + 0x40]
mov qword [rdi], rax
jmp 0x140054d21
movsxd rax, dword [r13 + rsi*8 + 8]
movsxd rcx, dword [r13 + rsi*8 + 4]
imul r14, rax, 0x38
mov rax, qword [r12 + 0x60]
add r14, qword [rsp + 0x78]
mov qword [rsp + 0x68], r14
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi]
mov rcx, rdi
test byte [rsi + 0x28], r8b
jne 0x140055cee
lea rdx, [rbp + 0x60]
call fcn.140035a64
mov r11, qword [rsp + 0x50]
mov rbx, qword [rbp + 0x60]
movsxd rax, dword [r11 + 0x68]
cmp rbx, rax
jg 0x140057428
mov dword [rbp + 0x18], ebx
jmp 0x140055d09
lea rdx, [rbp + 0x18]
call fcn.140034fb4
mov r11, qword [rsp + 0x50]
mov ebx, dword [rbp + 0x18]
cmp ebx, dword [r11 + 0x68]
ja 0x140057428
mov edx, 0x20
mov rcx, r14
cmp ebx, edx
cmova edx, ebx
call fcn.140058830
test eax, eax
jne 0x14005749a
mov r9, qword [r14 + 0x10]
mov eax, 0xbe10
and word [r14 + 8], ax
mov r8d, ebx
mov eax, 0x10
mov dword [r14 + 0xc], ebx
or word [r14 + 8], ax
mov rcx, rdi
lea edx, [rax - 0xc]
test byte [rsi + 0x28], dl
jne 0x140055d56
xor edx, edx
call fcn.140035a50
jmp 0x140055d5d
xor edx, edx
call fcn.140034f48
mov dword [rsp + 0x44], eax
mov r15d, eax
mov rdi, r14
mov byte [r14 + 0xa], 1
jmp 0x140052f7a
movsxd rax, dword [r13 + rsi*8 + 8]
movsxd rcx, dword [r13 + rsi*8 + 4]
imul rdi, rax, 0x38
mov rax, qword [r12 + 0x60]
add rdi, qword [rsp + 0x78]
mov rdx, rdi
mov qword [rsp + 0x68], rdi
mov rcx, qword [rax + rcx*8]
call fcn.14005a258
movsxd rcx, dword [r13 + rsi*8 + 0xc]
mov dword [rsp + 0x44], eax
mov rax, qword [r12 + 0x60]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov dword [rcx + 0x50], eax
jmp 0x140052f75
mov rax, qword [r12 + 0x60]
lea r9, [rsp + 0x70]
movsxd rcx, dword [r13 + rsi*8 + 4]
xor r14d, r14d
mov r8d, dword [r13 + rsi*8 + 0x10]
mov dword [rsp + 0x70], r14d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x78]
call fcn.140059e7c
cmp dword [rsp + 0x70], r14d
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x140054a6d
mov edx, dword [r12 + 0x90]
mov rcx, r11
call fcn.140059cb8
xor eax, eax
mov dword [r12 + 0x90], eax
jmp 0x14005406a
mov ecx, r9d
sub ecx, 0x6c
je 0x1400560af
sub ecx, 1
je 0x140055fe2
sub ecx, 1
je 0x140055fe2
sub ecx, 1
je 0x140055f62
sub ecx, 1
je 0x140055ece
sub ecx, 1
je 0x140055e5c
sub ecx, 1
je 0x140055e5c
cmp ecx, 1
jne 0x14005406a
movsxd rcx, dword [r13 + rsi*8 + 4]
lea r8, [rbp - 0x28]
mov rax, qword [r12 + 0x60]
cmp r9b, 0x73
lea r9, [rsp + 0x70]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x28], rax
movzx eax, word [r13 + rsi*8 + 0x10]
mov word [rbp - 0x20], ax
sbb al, al
mov byte [rbp - 0x1e], al
xor r14d, r14d
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul rcx, rax, 0x38
mov dword [rsp + 0x70], r14d
add rcx, qword [rsp + 0x78]
mov qword [rbp - 0x18], rcx
mov rcx, r11
call fcn.140057d84
lea r11d, [r14 + 1]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x70]
test byte [r13 + rsi*8], r11b
je 0x140056126
neg eax
jmp 0x140056128
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov r15, qword [rsp + 0x68]
mov rbx, qword [rax + rcx*8]
mov eax, 1
mov rcx, rbx
mov rdi, qword [rbx]
mov word [r15 + 8], ax
call fcn.1400522ec
mov dword [rsp + 0x44], eax
mov r14d, eax
test eax, eax
jne 0x14005736f
xor r14d, r14d
cmp byte [rbx + 0x25], r14b
jne 0x140055f41
mov rcx, qword [rsp + 0x50]
lea r8, [rbp - 0x60]
mov rdx, rdi
mov qword [rbp - 0x60], r14
call fcn.140057e3c
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140057392
mov rax, qword [rbp - 0x60]
lea r8d, [r14 + 4]
mov qword [r15], rax
mov word [r15 + 8], r8w
jmp 0x140055f47
mov r8d, 4
inc dword [rsp + 0x40]
mov rdi, r15
mov r15d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
jmp 0x1400525e5
movsxd rcx, dword [r13 + rsi*8 + 4]
lea rdx, [rbp - 0x28]
mov rax, qword [r12 + 0x60]
xor r14d, r14d
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x10]
mov rdi, qword [rbx]
mov qword [rbp - 0x28], rax
movzx eax, word [r13 + rsi*8 + 0xc]
mov word [rbp - 0x20], ax
movsxd rax, dword [r13 + rsi*8 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x24]
mov byte [rbp - 0x1e], r14b
add rcx, qword [rsp + 0x78]
mov qword [rbp - 0x18], rcx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140035c14
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x140055fd9
cmp dword [rbp + 0x24], r14d
jne 0x140055fd9
mov rcx, rdi
call fcn.140034fdc
mov r15d, eax
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x50], r14d
jmp 0x1400529dc
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + rsi*8 + 8]
imul rbx, rax, 0x38
mov r14, qword [rdi]
mov eax, 1
add rbx, qword [rsp + 0x78]
test byte [r13 + rsi*8 + 3], al
je 0x140056015
add dword [r12 + 0x90], eax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14005603c
mov rcx, rbx
call fcn.1400588d4
xor r10d, r10d
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x1400529dc
jmp 0x14005603f
xor r10d, r10d
cmp qword [rdi + 0x48], r10
je 0x14005605c
mov rdx, rbx
mov rcx, rdi
call fcn.14005a2c8
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x1400529dc
mov eax, 0x10
test byte [r13 + rsi*8 + 3], al
je 0x14005606d
mov eax, dword [rdi + 0x18]
jmp 0x140056070
mov eax, r10d
movsxd r8, dword [rbx + 0xc]
lea r9, [0x1400967c1]
mov rdx, qword [rbx + 0x10]
mov rcx, r14
mov dword [rsp + 0x38], eax
mov eax, dword [r13 + rsi*8 + 0xc]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r10d
call fcn.140035524
mov r15d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov dword [rdi + 0x50], eax
jmp 0x1400529dc
mov r15d, 1
movsxd rcx, dword [r13 + rsi*8 + 4]
lea rdx, [rsp + 0x70]
mov rax, qword [r12 + 0x60]
xor r14d, r14d
mov dword [rsp + 0x70], r15d
mov rbx, qword [rax + rcx*8]
cmp qword [rbx + 0x48], r14
je 0x1400560e0
mov rcx, rbx
call fcn.14005a1e8
jmp 0x1400560f0
mov rcx, qword [rbx]
call fcn.1400352f4
mov byte [rbx + 0x26], r14b
mov dword [rbx + 0x50], r14d
mov r11, qword [rsp + 0x50]
mov r8d, 4
mov r14, qword [rsp + 0x58]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x70]
mov byte [rbx + 0x25], al
test eax, eax
je 0x14005611c
mov r10d, dword [r13 + rsi*8 + 8]
sub r10d, r15d
mov dword [rsp + 0x40], r10d
mov r15d, dword [rsp + 0x44]
jmp 0x140053f33
inc eax
mov r15d, dword [rsp + 0x44]
mov r8d, 4
mov r14, qword [rsp + 0x58]
test eax, eax
jle 0x140053f2e
jmp 0x140053f21
cmp r9d, 0x87
ja 0x1400569ea
je 0x14005699c
cmp r9d, 0x7e
ja 0x1400564b9
je 0x1400564a2
mov ecx, r9d
sub ecx, 0x75
je 0x1400563c8
sub ecx, 1
je 0x140056342
sub ecx, 1
je 0x140056311
sub ecx, 1
je 0x1400562d4
sub ecx, 1
je 0x1400562d4
sub ecx, 1
je 0x1400561f0
sub ecx, 1
je 0x1400561de
sub ecx, 1
je 0x1400561c7
cmp ecx, 1
jne 0x14005406a
mov r8, qword [r13 + rsi*8 + 0x10]
mov rcx, r11
mov edx, dword [r13 + rsi*8 + 4]
call fcn.14004f6b4
jmp 0x140052f7a
mov r8, qword [r13 + rsi*8 + 0x10]
mov rcx, r11
mov edx, dword [r13 + rsi*8 + 4]
call fcn.14004f734
jmp 0x140052f7a
mov edx, dword [r13 + rsi*8 + 4]
mov rcx, r11
call fcn.14003290c
jmp 0x1400532aa
movsxd rcx, dword [r13 + rsi*8 + 4]
lea rax, [r12 + 0x48]
mov r8, qword [r11 + 0x20]
lea r9, str.sqlite_temp_master
mov qword [rbp - 0x20], rax
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp - 0x18], ecx
lea rax, str.sqlite_master
mov qword [rbp - 0x28], r11
mov r15d, 1
cmp ecx, r15d
cmovne r9, rax
mov rax, qword [r13 + rsi*8 + 0x10]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, r11
call fcn.140043ff4
xor r14d, r14d
mov rbx, rax
test rax, rax
jne 0x140056264
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x44], 7
mov r15d, dword [rsp + 0x44]
jmp 0x1400562b8
mov rdi, qword [rsp + 0x50]
lea r9, [rbp - 0x28]
lea r8, [fcn.140041b30]
mov dword [rbp - 0x14], r14d
mov rdx, rbx
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov byte [rdi + 0xa1], r15b
call fcn.140012f08
test eax, eax
mov rdx, rbx
mov rcx, rdi
cmove eax, dword [rbp - 0x14]
mov dword [rsp + 0x44], eax
call fcn.14003917c
mov r15d, dword [rsp + 0x44]
mov r11, rdi
mov byte [rdi + 0xa1], r14b
test r15d, r15d
je 0x1400562c5
mov rcx, r11
call fcn.14004b190
mov r11, qword [rsp + 0x50]
cmp r15d, 7
je 0x14005749f
jmp 0x140052945
movsxd rcx, dword [r13 + rsi*8 + 4]
lea rdx, [rsp + 0x70]
shl rcx, 5
xor eax, eax
add rcx, qword [r11 + 0x20]
mov r8d, eax
cmp r9b, 0x79
mov dword [rsp + 0x70], eax
setne r8b
mov rcx, qword [rcx + 8]
inc r8d
call fcn.140034e28
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x70]
jmp 0x140054718
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x48]
test rdx, rdx
je 0x140056335
mov rcx, r11
call fcn.14005a128
jmp 0x140052f7a
mov rcx, qword [rcx]
call fcn.140034914
jmp 0x1400532aa
mov eax, dword [r13 + rsi*8 + 0xc]
xor r14d, r14d
mov rcx, qword [r11 + 0x20]
neg eax
mov edx, dword [r13 + rsi*8 + 4]
lea rax, [rsp + 0x70]
sbb r8, r8
mov dword [rsp + 0x70], r14d
and r8, rax
movsxd rax, dword [r13 + rsi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140034890
mov r15d, eax
mov dword [rsp + 0x44], eax
cmp dword [r13 + rsi*8 + 0xc], r14d
je 0x140052f7a
movsxd rdx, dword [rsp + 0x70]
lea r10d, [r14 + 1]
add dword [r12 + 0x90], edx
lea r8d, [r10 + 3]
movsxd rax, dword [r13 + rsi*8 + 0xc]
mov r11, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
test eax, eax
jle 0x140053526
mov rbx, qword [rsp + 0x78]
imul rcx, rax, 0x38
add qword [rcx + rbx], rdx
jmp 0x140053526
mov rax, qword [r11 + 8]
xor r14d, r14d
mov edx, r14d
test rax, rax
je 0x140056419
lea edi, [r14 + 8]
cmp dword [rax + 0x44], 0xbdf20da3
jne 0x140056403
mov ecx, dword [rax + 0x8c]
bt ecx, 9
jae 0x140056403
and cl, 0xc
cmp cl, dil
jae 0x140056403
cmp dword [rax + 0x80], r14d
jl 0x140056403
inc edx
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x1400563db
mov r13, qword [rbp - 0x78]
mov r12, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x68]
mov eax, 1
mov word [rdi + 8], ax
cmp edx, eax
jg 0x1400573e5
movsxd rbx, dword [r13 + rsi*8 + 0xc]
lea r8, [rsp + 0x70]
mov rcx, qword [r11 + 0x20]
mov rax, rbx
mov edx, dword [r13 + rsi*8 + 4]
shl rax, 5
mov dword [rsp + 0x70], r14d
mov rcx, qword [rax + rcx + 8]
call fcn.140035238
movsxd r8, dword [rsp + 0x70]
mov edx, 4
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov word [rdi + 8], dx
mov qword [rdi], r8
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1400570dd
test r8d, r8d
je 0x1400570dd
mov r9d, dword [r13 + rsi*8 + 4]
mov edx, ebx
mov rcx, r11
call fcn.14004b7ac
lea r10d, [r15 + 1]
lea esi, [r10 + rbx]
mov byte [rsp + 0x48], sil
jmp 0x140052950
mov r8, qword [r13 + rsi*8 + 0x10]
mov rcx, r11
mov edx, dword [r13 + rsi*8 + 4]
call fcn.14004f774
jmp 0x140052f7a
sub r9d, 0x7f
je 0x140056884
sub r9d, 1
je 0x140056849
sub r9d, 1
je 0x1400567fb
sub r9d, 1
je 0x140056783
sub r9d, 1
je 0x14005658d
sub r9d, 1
je 0x140056561
sub r9d, 1
je 0x140056548
cmp r9d, 1
jne 0x14005406a
test dword [r11 + 0x2c], 0x1000000
je 0x14005651c
movsxd rax, dword [r13 + rsi*8 + 8]
add qword [r11 + 0x318], rax
jmp 0x14005406a
mov r14, qword [rsp + 0x58]
xor eax, eax
cmp dword [r13 + rsi*8 + 4], eax
movsxd rax, dword [r13 + rsi*8 + 8]
je 0x14005653b
add qword [r11 + 0x310], rax
jmp 0x140053526
add qword [r12 + 0xc8], rax
jmp 0x140053526
mov eax, 8
mov word [rdi + 8], ax
mov rax, qword [r13 + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [rdi], rcx
jmp 0x14005406a
mov r8, qword [r12 + 0xf0]
movsxd rax, dword [r8 + 0x44]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
add eax, dword [r13 + rsi*8 + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x1400538c5
movsxd rax, dword [r13 + rsi*8 + 0xc]
mov r14, qword [r13 + rsi*8 + 0x10]
imul rdi, rax, 0x38
xor eax, eax
add rdi, qword [rsp + 0x78]
cmp byte [r13 + rsi*8 + 3], al
je 0x1400565cd
mov rcx, qword [r14 + 0x18]
xor r9d, r9d
mov rax, qword [r12 + 0xf0]
jmp 0x1400565c8
cmp qword [rax + 0x30], rcx
je 0x1400570f3
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400565ba
mov eax, dword [r12 + 0x100]
cmp eax, dword [r11 + 0x90]
jge 0x1400573fc
mov r13d, 0x40
test byte [rdi + 8], r13b
jne 0x1400566d3
mov esi, dword [r14 + 0xc]
add esi, dword [r14 + 0x10]
mov eax, dword [r14 + 0x14]
imul ecx, esi, 7
add eax, 0x60
add ecx, dword [r14 + 0x10]
lea ecx, [rax + rcx*8]
movsxd rdx, ecx
mov rcx, r11
call fcn.1400392a0
mov rbx, rax
test rax, rax
je 0x14005749a
mov rcx, rdi
call fcn.140058e08
mov eax, dword [rsp + 0x40]
lea rdx, [rbx + 0x60]
mov word [rdi + 8], r13w
mov qword [rdi], rbx
mov qword [rbx], r12
mov dword [rbx + 0x54], esi
mov ecx, dword [r14 + 0x10]
mov dword [rbx + 0x44], eax
mov dword [rbx + 0x58], ecx
mov rcx, qword [r12 + 0x10]
mov qword [rbx + 0x18], rcx
mov eax, dword [r12 + 0x38]
mov dword [rbx + 0x4c], eax
mov rax, qword [r12 + 0x60]
mov qword [rbx + 0x28], rax
mov eax, dword [r12 + 0x40]
mov dword [rbx + 0x40], eax
mov rax, qword [r12 + 8]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + 0x3c]
mov dword [rbx + 0x48], eax
mov rax, qword [r14 + 0x18]
mov qword [rbx + 0x30], rax
mov rax, qword [r12 + 0x118]
mov qword [rbx + 0x20], rax
mov eax, dword [r12 + 0x110]
mov dword [rbx + 0x50], eax
movsxd rax, esi
imul rcx, rax, 0x38
lea rax, [rbx + 0x60]
add rdx, rcx
cmp rax, rdx
je 0x1400566c9
mov r10, qword [rsp + 0x50]
lea ecx, [r13 + 0x40]
mov word [rax + 8], cx
mov qword [rax + 0x28], r10
add rax, 0x38
cmp rax, rdx
jne 0x1400566b8
mov eax, dword [r12 + 0x100]
jmp 0x1400566d6
mov rbx, qword [rdi]
or dword [rsp + 0x40], 0xffffffff
lea rsi, [rbx + 0x28]
inc eax
mov qword [rsp + 0x78], rsi
mov dword [r12 + 0x100], eax
mov rax, qword [r12 + 0xf0]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x38], rax
mov eax, dword [r12 + 0x90]
mov dword [rbx + 0x5c], eax
xor eax, eax
mov dword [r12 + 0x90], eax
mov qword [r12 + 0xf0], rbx
mov qword [r12 + 0x10], rsi
mov eax, dword [rbx + 0x54]
mov dword [r12 + 0x38], eax
inc eax
movzx edx, word [rbx + 0x58]
mov dword [r12 + 0x40], edx
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, rsi
mov qword [r12 + 0x60], rcx
mov r13, qword [r14]
mov qword [r12 + 8], r13
mov eax, dword [r14 + 8]
lea rcx, [rcx + rdx*8]
mov dword [r12 + 0x3c], eax
xor edx, edx
mov qword [r12 + 0x118], rcx
movsxd rax, dword [r14 + 0x14]
mov r8, rax
mov qword [rbp - 0x78], r13
mov dword [r12 + 0x110], eax
call fcn.14006f8b0
jmp 0x1400529dc
movsxd rax, dword [r13 + rsi*8 + 4]
mov edi, dword [r13 + rsi*8 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 0xc]
add rbx, qword [rsp + 0x78]
imul r14, rax, 0x38
add r14, qword [rsp + 0x78]
test byte [rbx + 8], 0x20
jne 0x1400567bc
mov rcx, rbx
call fcn.140058e9c
test byte [rbx + 8], 0x20
je 0x14005749a
test edi, edi
je 0x1400567eb
mov r8, qword [r14]
mov edx, edi
mov rcx, qword [rbx]
call fcn.14004b95c
test eax, eax
je 0x1400567e3
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
mov dword [rsp + 0x40], r10d
jmp 0x1400529dc
test edi, edi
js 0x1400529dc
mov rdx, qword [r14]
mov rcx, qword [rbx]
call fcn.14004b8a8
jmp 0x1400529dc
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x78]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 0x20
je 0x14005683c
mov rcx, qword [rbx]
lea rdx, [rbp + 0x68]
call fcn.14004b908
test eax, eax
je 0x14005683c
movsxd rax, dword [r13 + rsi*8 + 0xc]
mov rdx, qword [rbp + 0x68]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140058e64
jmp 0x140056eed
mov rcx, rbx
call fcn.140058e80
jmp 0x140056ee0
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x78]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x14005687b
mov rcx, rbx
call fcn.140058e9c
test byte [rbx + 8], 0x20
je 0x14005749a
mov rdx, qword [rdi + r14]
jmp 0x1400567ee
mov r14d, dword [r13 + rsi*8 + 8]
mov rcx, r11
movsxd rdx, r14d
lea rdx, [rdx*4 + 4]
call fcn.1400391d0
xor r8d, r8d
mov r13, rax
test rax, rax
je 0x14005749a
mov rax, qword [rbp - 0x78]
mov r15d, r8d
movsxd rcx, dword [rax + rsi*8 + 0xc]
imul r12, rcx, 0x38
movsxd rcx, dword [rax + rsi*8 + 4]
add r12, qword [rsp + 0x78]
imul rdi, rcx, 0x38
mov qword [rbp + 0x48], r12
add rdi, qword [rsp + 0x78]
mov qword [rbp - 0x50], rdi
test r14d, r14d
jle 0x14005690d
mov rbx, rdi
mov r12d, r14d
lea edi, [r8 + 1]
mov rcx, rbx
call fcn.140057f54
mov dword [r13 + r15*4], eax
add rbx, 0x38
add r15, rdi
sub r12, rdi
jne 0x1400568e5
mov rdi, qword [rbp - 0x50]
xor r8d, r8d
mov r12, qword [rbp + 0x48]
mov rax, qword [rbp - 0x78]
mov rbx, qword [rsp + 0x50]
lea rdx, [rbp + 0x20]
mov dword [r13 + r15*4], r8d
mov r8d, r14d
movzx eax, byte [rax + rsi*8 + 3]
mov r9d, dword [r12]
mov rcx, qword [rbx + 0x20]
shl rax, 5
mov qword [rsp + 0x20], rdx
mov rdx, r13
mov rcx, qword [rax + rcx + 8]
call fcn.140035750
mov rdx, r13
mov rcx, rbx
mov rsi, rax
call fcn.14003917c
movsxd rbx, dword [rbp + 0x20]
mov rcx, rdi
sub qword [r12], rbx
call fcn.140058e80
test ebx, ebx
je 0x14005698a
test rsi, rsi
je 0x140057496
lea rax, [fcn.140013a80]
mov r9b, 1
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rdi
call fcn.140058f08
movzx edx, byte [rsp + 0x60]
mov rcx, rdi
call fcn.140051e10
jmp 0x140053c02
xor r14d, r14d
cmp dword [r13 + rsi*8 + 4], r14d
je 0x1400569c5
cmp qword [r11 + 0x310], r14
jne 0x14005406e
cmp qword [r11 + 0x318], r14
jne 0x14005406e
jmp 0x14005306c
cmp qword [r12 + 0xc8], r14
jne 0x14005406e
cmp qword [r11 + 0x318], r14
mov r14, qword [rsp + 0x58]
jne 0x140054073
jmp 0x140053f59
cmp r9d, 0x91
ja 0x140056ce3
je 0x140056cc7
sub r9d, 0x88
je 0x140056c37
sub r9d, 1
je 0x140056c12
sub r9d, 1
je 0x140056bec
sub r9d, 1
je 0x140056bd1
sub r9d, 1
je 0x140056b61
sub r9d, 1
je 0x140056b0f
sub r9d, 1
je 0x140056aeb
sub r9d, 1
je 0x140056a87
cmp r9d, 1
jne 0x14005406a
mov rbx, qword [r13 + rsi*8 + 0x10]
mov rcx, r11
mov rdx, rbx
call fcn.14005a880
mov dword [rsp + 0x44], eax
mov r15d, eax
test rbx, rbx
je 0x140052f7a
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14005aec0
jmp 0x140052f7a
mov r8b, byte [r13 + rsi*8 + 0xc]
test r8b, r8b
jne 0x140056aa0
mov eax, 0x4000
test dword [r11 + 0x2c], eax
jne 0x140052950
movsxd rax, dword [r13 + rsi*8 + 4]
mov rcx, qword [r11 + 0x20]
mov edx, dword [r13 + rsi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140035b70
mov dword [rsp + 0x44], eax
mov r15d, eax
cmp al, 6
jne 0x140052f7a
mov r9, qword [r13 + rsi*8 + 0x10]
lea rcx, [r12 + 0x48]
mov rdx, qword [rsp + 0x50]
lea r8, str.database_table_is_locked:__s
call fcn.14004ddf4
jmp 0x140052f7a
xor eax, eax
cmp dword [r13 + rsi*8 + 4], eax
jne 0x140056b01
mov rcx, r11
call fcn.14003ad84
jmp 0x14005406a
or dword [r12 + 0x8c], 0x20
jmp 0x14005406a
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rax, qword [r11 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14003542c
mov r11, qword [rsp + 0x50]
mov r15d, eax
mov r14, qword [rsp + 0x58]
mov r8d, 4
mov dword [rsp + 0x44], eax
cmp eax, 0x65
jne 0x140053f33
mov r10d, dword [r13 + rsi*8 + 8]
dec r10d
xor eax, eax
mov dword [rsp + 0x40], r10d
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x140053f33
movsxd rax, dword [r13 + rsi*8 + 4]
mov rdx, qword [r13 + rsi*8 + 0x10]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140058934
mov dword [rsp + 0x44], eax
test eax, eax
je 0x140056ba5
mov rcx, rbx
call fcn.140014d88
mov rdx, qword [rsp + 0x50]
lea rcx, [r12 + 0x48]
mov r9, rax
lea r8, [0x14009c07c]
call fcn.14004ddf4
movzx edx, byte [rsp + 0x60]
mov rcx, rbx
call fcn.140051e10
mov rcx, rbx
call fcn.140059218
mov r11, qword [rsp + 0x50]
test eax, eax
jne 0x140057428
mov r15d, dword [rsp + 0x44]
jmp 0x140052f7f
movsxd rax, dword [r13 + rsi*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 0xc]
add rcx, qword [rsp + 0x78]
add qword [rcx], rax
jmp 0x140054b23
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x58]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + rsi*8 + 0xc]
add rcx, qword [rsp + 0x78]
add qword [rcx], rax
jns 0x140053526
jmp 0x140053f59
movsxd rax, dword [r13 + rsi*8 + 4]
xor r14d, r14d
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x78]
cmp qword [rcx + rax], r14
mov r14, qword [rsp + 0x58]
jle 0x140053526
jmp 0x140053f59
mov rcx, qword [r12 + 0xf0]
test rcx, rcx
je 0x140056c6a
mov rax, qword [rcx + 8]
jmp 0x140056c51
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140056c4a
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x78]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140056c7b
movsxd rax, dword [r13 + rsi*8 + 4]
mov r14, qword [rsp + 0x78]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.140058c68
movsxd rax, dword [r13 + rsi*8 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140058c68
mov rax, qword [rbx]
mov r10d, 1
mov r11, qword [rsp + 0x50]
xor r9d, r9d
mov r14, qword [rsp + 0x58]
lea r8d, [r10 + 3]
cmp qword [rdi], rax
jge 0x140056cb9
mov qword [rdi], rax
mov eax, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
jmp 0x140054076
mov r8, qword [r13 + rsi*8 + 0x10]
lea r9, [r12 + 0x48]
mov edx, dword [r13 + rsi*8 + 4]
mov rcx, r11
call fcn.14005aafc
jmp 0x1400532aa
sub r9d, 0x92
je 0x14005708e
sub r9d, 1
je 0x14005700c
sub r9d, 1
je 0x140056f54
sub r9d, 1
je 0x140056e78
sub r9d, 1
je 0x140056e18
sub r9d, 1
je 0x140056df7
sub r9d, 1
je 0x140056db9
cmp r9d, 1
jne 0x14005406a
mov eax, dword [r13 + rsi*8 + 8]
xor r14d, r14d
test eax, eax
je 0x140056d4a
dec eax
mov dword [rsp + 0x40], eax
jmp 0x140056d4e
mov eax, dword [rsp + 0x40]
cmp qword [r11 + 0xc0], r14
je 0x14005406e
mov ecx, 0x800
test dword [r12 + 0x8c], ecx
jne 0x14005406e
mov rdx, qword [r13 + rsi*8 + 0x10]
test rdx, rdx
jne 0x140056d89
mov rdx, qword [r12 + 0xe0]
test rdx, rdx
je 0x14005406e
mov rcx, r12
call fcn.14005752c
mov rdi, qword [rsp + 0x50]
mov rdx, rax
mov rbx, rax
mov rcx, qword [rdi + 0xc8]
call qword [rdi + 0xc0]
mov rdx, rbx
mov rcx, rdi
call fcn.14003917c
jmp 0x140052942
mov rax, qword [r11 + 0x20]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov edx, dword [r13 + rsi*8 + 0xc]
shl rcx, 5
mov r8, qword [rcx + rax + 8]
xor ecx, ecx
mov eax, ecx
test edx, edx
je 0x140056de5
mov rcx, r8
call fcn.140035af4
cmp eax, edx
cmovb eax, edx
mov edx, eax
mov rcx, r8
call fcn.140035bd8
movsxd rcx, eax
jmp 0x140053030
movsxd rax, dword [r13 + rsi*8 + 4]
mov rcx, qword [r11 + 0x20]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140035af4
mov edx, eax
mov qword [rdi], rdx
jmp 0x14005406a
mov rax, qword [r13 + rsi*8 + 0x10]
mov edx, 1
mov rdi, qword [rax + 0x10]
movsxd rax, dword [r13 + rsi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140051e10
mov dword [rsp + 0x44], eax
mov r15d, eax
test eax, eax
jne 0x1400529dc
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.14005aec0
and dword [r12 + 0x8c], 0xffffffdf
jmp 0x1400529d7
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov rdi, qword [rax + rcx*8]
xor eax, eax
cmp byte [rdi + 0x25], al
jne 0x140054065
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax]
mov r14, qword [rbx]
and dword [r12 + 0x8c], 0xfffffff7
or dword [r12 + 0x8c], r8d
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x48]
and dword [r12 + 0x8c], 0xfffffff3
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.14005aec0
xor ebx, ebx
cmp dword [rsp + 0x44], ebx
jne 0x140056ee0
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x50]
test eax, eax
jne 0x140056eed
mov r15d, dword [r13 + rsi*8 + 8]
dec r15d
mov dword [rsp + 0x40], r15d
mov r11, qword [rsp + 0x50]
mov eax, dword [r11 + 0x140]
test eax, eax
jne 0x14005744d
mov r8, qword [r11 + 0x188]
test r8, r8
je 0x140052ab7
mov ecx, dword [rsp + 0x64]
cmp ecx, dword [rbp - 0x58]
jb 0x140052ab7
mov esi, dword [r11 + 0x198]
mov eax, ecx
xor edx, edx
div esi
sub esi, edx
add esi, ecx
mov rcx, qword [r11 + 0x190]
mov dword [rbp - 0x58], esi
call r8
test eax, eax
je 0x1400529d7
mov r13d, 9
mov dword [rsp + 0x44], r13d
jmp 0x14005408b
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r13 + rsi*8 + 4]
mov r15, qword [rax + rcx*8]
movsxd rax, dword [r13 + rsi*8 + 0xc]
imul r14, rax, 0x38
xor eax, eax
add r14, qword [rsp + 0x78]
cmp byte [r15 + 0x25], al
je 0x140056f85
mov rcx, r14
call fcn.140058e80
jmp 0x140052f75
mov rax, qword [r15 + 0x30]
lea rcx, [rbp - 0x28]
xor edx, edx
mov rdi, qword [rax]
lea r8d, [rdx + 0x30]
mov rbx, qword [rdi]
call fcn.14006f8b0
mov qword [rbp - 0x28], r14
lea rdx, [rbp - 0x28]
mov eax, 0xbe01
and word [r14 + 8], ax
mov eax, 1
or word [r14 + 8], ax
mov r8d, dword [r13 + rsi*8 + 8]
mov rcx, qword [r15 + 0x30]
call qword [rbx + 0x58]
mov rdx, rdi
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.14005aec0
mov eax, dword [rbp - 4]
test eax, eax
mov ecx, dword [rsp + 0x44]
movzx edx, byte [rsp + 0x60]
cmovne ecx, eax
mov dword [rsp + 0x44], ecx
mov rcx, r14
call fcn.140051e10
mov rcx, r14
call fcn.140059218
mov r11, qword [rsp + 0x50]
test eax, eax
jne 0x140057428
jmp 0x140052ab7
mov rax, qword [r13 + rsi*8 + 0x10]
lea rdx, [rbp - 0x70]
xor r14d, r14d
mov qword [rbp - 0x70], r14
mov rbx, qword [rax + 0x10]
mov rcx, rbx
mov rdi, qword [rbx]
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.14005aec0
mov r15d, dword [rsp + 0x44]
test r15d, r15d
jne 0x1400529dc
mov rax, qword [rbp - 0x70]
or r9d, 0xffffffff
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + rsi*8 + 4]
call fcn.1400180b4
mov rcx, qword [rbp - 0x70]
test rax, rax
je 0x14005707c
inc dword [rsp + 0x40]
mov qword [rax + 0x30], rcx
jmp 0x140054fab
mov r10, qword [rsp + 0x50]
mov byte [r10 + 0x50], 1
call qword [rdi + 0x38]
jmp 0x1400529dc
and dword [r12 + 0x8c], 0xfffffffb
mov eax, 8
or dword [r12 + 0x8c], eax
mov rcx, r11
mov r8, qword [r13 + rsi*8 + 0x10]
mov edx, dword [r13 + rsi*8 + 4]
call fcn.14005abd0
and dword [r12 + 0x8c], 0xfffffff3
mov r15d, eax
mov dword [rsp + 0x44], eax
jmp 0x140052f7a
mov r12, qword [rbp - 0x80]
jmp 0x140052ab3
mov r13, qword [rbp - 0x78]
jmp 0x1400529d7
mov r10d, 1
mov r8d, edx
jmp 0x14005406a
mov rdi, rsi
jmp 0x14005406a
mov eax, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
jmp 0x140054076
mov r13d, 8
jmp 0x14005739c
mov eax, dword [rsp + 0x40]
mov ebx, ecx
mov dword [r12 + 0x80], eax
mov dword [r12 + 0x84], ecx
jmp 0x1400574d5
test ecx, ecx
je 0x140057149
mov edx, 0x204
mov rcx, r11
call fcn.14004b650
mov r10, qword [rsp + 0x50]
mov byte [r10 + 0x4e], 1
jmp 0x1400571a6
mov esi, 1
mov rcx, r12
mov edx, esi
call fcn.140051ff4
mov ebx, eax
test eax, eax
jne 0x1400574d5
mov rax, qword [rsp + 0x50]
mov rcx, r12
mov byte [rax + 0x4e], dil
call fcn.140057a80
lea ecx, [rsi + 4]
cmp eax, ecx
jne 0x1400571a1
mov r11, qword [rsp + 0x50]
sub sil, dil
mov eax, dword [rsp + 0x40]
mov ebx, ecx
mov dword [r12 + 0x80], eax
mov byte [r11 + 0x4e], sil
mov dword [r12 + 0x84], ecx
jmp 0x1400574da
mov r10, qword [rsp + 0x50]
mov rcx, r10
call fcn.140037174
mov eax, dword [r12 + 0x84]
neg eax
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x1400574d5
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
lea rcx, [r12 + 0x48]
mov rdx, r11
call fcn.14004ddf4
mov r13d, 5
inc dword [rsp + 0x40]
mov dword [rsp + 0x44], r13d
jmp 0x14005408b
lea r8, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1400571cc
mov eax, dword [rsp + 0x40]
mov r12, r15
mov dword [r15 + 0x80], eax
mov ebx, ecx
xor eax, eax
mov byte [r11 + 0x4e], al
mov dword [r15 + 0x84], ecx
jmp 0x1400574da
cmp ebx, 5
mov dword [rsp + 0x44], 1
lea rax, str.into
mov rdx, r11
lea r9, str.out_of
cmove r9, rax
lea rcx, [r12 + 0x48]
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.14004ddf4
inc dword [rsp + 0x40]
jmp 0x140054086
mov ebx, dword [rsp + 0x40]
mov dword [r12 + 0x84], ecx
mov al, byte [r13 + rsi*8 + 8]
mov byte [r12 + 0x8a], al
mov dword [r12 + 0x80], ebx
test ecx, ecx
je 0x140057314
movzx eax, byte [r13 + rsi*8 + 3]
test al, al
je 0x1400572c1
lea r9, [0x140000000]
mov r9, qword [r9 + rax*8 + 0x99648]
mov rax, r9
test r9, r9
je 0x1400572c4
mov rdx, qword [r13 + rsi*8 + 0x10]
test rdx, rdx
je 0x1400572c4
mov qword [rsp + 0x20], rdx
lea rcx, [r12 + 0x48]
mov rdx, r11
lea r8, str._s_constraint_failed:__s
call fcn.14004ddf4
jmp 0x1400572ee
mov rax, r14
mov r9, qword [r13 + rsi*8 + 0x10]
lea rcx, [r12 + 0x48]
mov rdx, r11
test r9, r9
je 0x1400572df
lea r8, [0x14009c07c]
jmp 0x1400572e9
mov r9, rax
lea r8, str._s_constraint_failed
call fcn.14004ddf4
mov rax, qword [r12 + 0x48]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r12 + 0xe0]
mov r8d, ebx
mov ecx, dword [r13 + rsi*8 + 4]
mov qword [rsp + 0x20], rax
call fcn.1400171dc
mov rcx, r12
call fcn.140057a80
mov r11, qword [rsp + 0x50]
mov ecx, 5
mov r15d, dword [rsp + 0x64]
cmp eax, ecx
jne 0x14005733e
mov ebx, ecx
mov dword [r12 + 0x84], ecx
jmp 0x1400574df
mov eax, dword [r12 + 0x84]
neg eax
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x1400574df
mov r13d, 0x14
jmp 0x14005739c
mov ecx, 0x11a80
call fcn.140037dd4
mov dword [rsp + 0x44], eax
mov r12, qword [rbp - 0x80]
mov r13d, dword [rsp + 0x44]
xor r14d, r14d
jmp 0x140057397
mov r13d, 0x204
jmp 0x1400571df
mov r12, qword [rbp - 0x80]
xor r14d, r14d
mov r13d, dword [rsp + 0x44]
jmp 0x14005739c
mov r13d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x44], r13d
cmp byte [r11 + 0x50], r14b
je 0x1400573b4
mov r13d, 7
mov dword [rsp + 0x44], r13d
jmp 0x1400573c1
cmp r13d, 0xc0a
je 0x14005408b
mov ecx, r13d
call fcn.14003ac50
mov r9, rax
lea rcx, [r12 + 0x48]
mov rdx, r11
lea r8, [0x14009c07c]
call fcn.14004ddf4
jmp 0x14005408b
mov r13d, 6
lea eax, [r13 - 4]
mov byte [r12 + 0x8a], al
jmp 0x1400571df
lea rcx, [r12 + 0x48]
mov dword [rsp + 0x44], 1
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, r11
call fcn.14004ddf4
jmp 0x140057249
mov r12, qword [rbp - 0x80]
jmp 0x140057428
mov r11, qword [rsp + 0x50]
lea rcx, [r12 + 0x48]
mov rdx, r11
lea r8, str.string_or_blob_too_big
call fcn.14004ddf4
mov eax, 0x12
mov r13d, eax
mov dword [rsp + 0x44], eax
jmp 0x14005408b
mov sil, byte [rsp + 0x48]
mov r15d, dword [rsp + 0x64]
mov ecx, 9
mov dword [rsp + 0x44], 9
mov dword [r12 + 0x84], 9
call fcn.14003ac50
mov r9, rax
lea rcx, [r12 + 0x48]
mov rdx, r11
lea r8, [0x14009c07c]
call fcn.14004ddf4
mov r13d, dword [rsp + 0x44]
jmp 0x140054095
mov r12, qword [rbp - 0x80]
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x64]
mov sil, byte [rsp + 0x48]
lea rcx, [r12 + 0x48]
mov byte [r11 + 0x50], 1
lea r8, str.out_of_memory
mov rdx, r11
call fcn.14004ddf4
mov r13d, 7
mov dword [rsp + 0x44], r13d
jmp 0x140054095
mov r12, r15
mov r11, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x64]
mov rax, qword [rsp + 0x58]
mov rcx, r12
mov qword [r11 + 0x30], rax
add dword [r12 + 0xb0], r15d
call fcn.140058010
mov eax, ebx
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.14006d6b0
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret