Function at 0x140052d98
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
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400b7f40]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rsi, qword [rcx]
xor edx, edx
mov r12, qword [rcx + 8]
mov r13, rcx
mov qword [rbp - 0x80], rcx
mov r15b, dl
mov dword [rsp + 0x44], edx
mov ebx, edx
mov rax, qword [rsi + 0x20]
mov rdi, qword [r13 + 0x10]
mov r14, qword [rsi + 0x30]
mov qword [rbp - 0x38], r12
mov rcx, qword [rax + 0x18]
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x58], rsi
mov byte [rsp + 0x48], dl
mov al, byte [rcx + 0x71]
mov rcx, r13
mov byte [rsp + 0x60], al
mov dword [rbp - 0x40], edx
mov dword [rbp - 0x64], edx
mov dword [rbp - 0x68], edx
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rdx
mov qword [rbp + 0x30], rdx
mov qword [rsp + 0x50], r14
call fcn.140052d24
cmp dword [r13 + 0x84], 7
je 0x140057bfe
xor eax, eax
xor edx, edx
mov dword [r13 + 0x84], eax
mov qword [r13 + 0xc0], rax
mov qword [r13 + 0x28], rax
mov dword [rsi + 0x2b0], eax
mov eax, dword [rsi + 0x140]
test eax, eax
jne 0x140057ba8
xor eax, eax
cmp qword [rsi + 0x188], rax
je 0x140052e96
mov eax, dword [r13 + 0xb0]
mov edi, dword [rsi + 0x198]
mov dword [rbp - 0x68], edi
test eax, eax
je 0x140052e94
div edi
mov dword [rbp - 0x68], edx
xor eax, eax
mov r15d, dword [r13 + 0x80]
xorps xmm6, xmm6
mov r10d, 4
mov dword [rsp + 0x44], r15d
mov r8d, 8
mov r9d, 0x2460
mov r11d, 2
mov edx, 0x4000
cmp byte [rsi + 0x50], al
jne 0x140057bf9
mov ecx, dword [rbp - 0x64]
movsxd rax, r15d
inc ecx
mov dword [rbp - 0x64], ecx
lea rdi, [rax + rax*2]
lea r15, [r12 + rdi*8]
test byte [r12 + rdi*8 + 2], r11b
je 0x140052f21
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov qword [rsp + 0x68], rbx
test word [rbx + 8], r9w
je 0x140052f1c
mov rcx, rbx
call fcn.140059648
mov ecx, dword [rbp - 0x64]
mov r10d, 4
mov edx, 0x4000
lea r11d, [r10 - 2]
lea r8d, [r10 + 4]
mov word [rbx + 8], r10w
movzx r9d, byte [r12 + rdi*8]
cmp r9d, 0x4d
ja 0x1400557d8
je 0x1400557b1
cmp r9d, 0x27
ja 0x1400542b4
je 0x140054292
cmp r9d, 0x14
ja 0x140053d68
je 0x140053d23
cmp r9d, 0xa
ja 0x140053812
je 0x14005371a
sub r9d, 1
je 0x1400535d6
sub r9d, 1
je 0x1400532a0
sub r9d, 1
je 0x140053210
sub r9d, 1
je 0x14005304d
sub r9d, 1
je 0x140052fea
sub r9d, 1
je 0x140052fb6
sub r9d, 1
je 0x140052fb6
sub r9d, 1
je 0x140052fc7
cmp r9d, 1
je 0x140052fc7
mov r15d, dword [rsp + 0x40]
jmp 0x1400531ec
movsxd rcx, dword [r12 + rdi*8 + 4]
xor edx, edx
mov rax, qword [r13 + 0x60]
cmp qword [rax + rcx*8], rdx
je 0x140052fac
movsxd rcx, dword [r12 + rdi*8 + 4]
lea rdx, [rbp - 0x50]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov eax, dword [r12 + rdi*8 + 0xc]
mov dword [rbp - 0x50], eax
mov rcx, qword [rbx]
call qword [r12 + rdi*8 + 0x10]
jmp 0x14005300b
movsxd rcx, dword [r12 + rdi*8 + 4]
lea r8, [rbp - 0x50]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rdx, rbx
mov dword [rbp - 0x50], eax
mov rcx, rsi
call fcn.14005a88c
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rbx + 0x50], eax
lea r10d, [rax + 4]
cmp dword [rbp - 0x50], eax
jne 0x140053044
mov byte [rbx + 0x25], al
lea r9d, [rax + 1]
mov r15d, dword [r12 + rdi*8 + 8]
movzx eax, byte [r12 + rdi*8 + 3]
sub r15d, r9d
mov dword [rsp + 0x44], r15d
add dword [r13 + rax*4 + 0xa0], r9d
jmp 0x140057626
mov byte [rbx + 0x25], 1
jmp 0x140057626
mov edx, dword [r12 + rdi*8 + 8]
xor r14d, r14d
test edx, edx
je 0x140053066
test dword [rsi + 0x2c], 0x2000000
jne 0x14005782e
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140053162
mov rcx, rbx
call fcn.140034f98
mov dword [rsp + 0x40], eax
cmp eax, 5
je 0x140057836
test eax, eax
jne 0x140057acd
cmp dword [r12 + rdi*8 + 8], r14d
je 0x140053131
mov eax, 0x80
test byte [r13 + 0x8c], al
je 0x140053131
cmp byte [rsi + 0x4e], r14b
je 0x1400530c6
cmp dword [rsi + 0xa8], 1
jle 0x140053131
mov r8d, dword [r13 + 0x9c]
test r8d, r8d
jne 0x1400530ed
inc dword [rsi + 0x308]
mov r8d, dword [rsi + 0x308]
add r8d, dword [rsi + 0x304]
mov dword [r13 + 0x9c], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.14005b928
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140053115
mov edx, dword [r13 + 0x9c]
mov rcx, rbx
call fcn.140034f54
mov dword [rsp + 0x40], eax
mov rax, qword [rsi + 0x310]
mov qword [r13 + 0xd0], rax
mov rax, qword [rsi + 0x318]
mov qword [r13 + 0xd8], rax
lea r8, [rbp + 0x18]
mov edx, 1
mov rcx, rbx
call fcn.140035d68
mov rax, qword [rsi + 0x20]
mov r10d, 4
movsxd rcx, dword [r12 + rdi*8 + 4]
mov ebx, dword [rbp + 0x18]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rcx + 4]
jmp 0x14005316b
mov ebx, r14d
mov eax, r14d
mov dword [rbp + 0x18], ebx
cmp byte [r12 + rdi*8 + 3], r14b
je 0x140054038
cmp ebx, dword [r12 + rdi*8 + 0xc]
jne 0x140053188
cmp eax, dword [r12 + rdi*8 + 0x10]
je 0x140054038
mov rdx, qword [r13 + 0x48]
mov rcx, rsi
call fcn.140039b7c
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.140039e3c
mov qword [r13 + 0x48], rax
movsxd rdx, dword [r12 + rdi*8 + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x1400531c8
mov rcx, rsi
call fcn.14004ba90
or dword [r13 + 0x8c], 0x20
mov r15d, 0x11
mov dword [rsp + 0x40], r15d
mov rbx, qword [rsp + 0x68]
mov r10d, 4
mov r8d, 8
mov r14, qword [rsp + 0x50]
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
xor eax, eax
test r15d, r15d
jne 0x140057956
mov r15d, dword [rsp + 0x44]
jmp 0x140052eb1
mov esi, dword [r12 + rdi*8 + 4]
xor r15d, r15d
mov ecx, dword [r12 + rdi*8 + 8]
mov rdi, qword [rsp + 0x58]
test esi, esi
je 0x14005324d
cmp byte [rdi + 0x4e], r15b
jne 0x14005324d
test ecx, ecx
jne 0x14005324d
cmp dword [rdi + 0xac], r15d
jle 0x14005324d
mov dword [rsp + 0x40], 5
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
mov rsi, rdi
jmp 0x140053287
movzx eax, byte [rdi + 0x4e]
cmp esi, eax
jne 0x140057843
test ecx, ecx
mov dword [rsp + 0x40], 1
lea rax, str.cannot_rollback___no_transaction_is_active
lea r8, str.cannot_commit___no_transaction_is_active
cmovne r8, rax
test esi, esi
mov rsi, qword [rsp + 0x58]
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove r8, rax
mov rcx, r13
mov rdx, rdi
add rcx, 0x48
call fcn.14004e698
mov r15d, dword [rsp + 0x40]
jmp 0x1400531e0
mov r15d, dword [r12 + rdi*8 + 4]
xor r14d, r14d
mov rdi, qword [r12 + rdi*8 + 0x10]
mov dword [rsp + 0x78], r15d
test r15d, r15d
jne 0x140053385
cmp dword [rsi + 0xac], r14d
jg 0x1400578c5
mov rcx, rdi
call fcn.14004f640
mov rbx, qword [rsp + 0x58]
xor edx, edx
mov rcx, rbx
movsxd rsi, eax
mov r8d, dword [rbx + 0x308]
add r8d, dword [rbx + 0x304]
call fcn.14005b928
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057afc
lea rdx, [rsi + 0x21]
mov rcx, rbx
call fcn.140039bd0
mov rbx, rax
test rax, rax
je 0x14005436a
lea rcx, [rax + 0x20]
mov rdx, rdi
mov qword [rax], rcx
lea eax, [rsi + 1]
movsxd r8, eax
call fcn.140094c70
mov rsi, qword [rsp + 0x58]
cmp byte [rsi + 0x4e], r14b
je 0x14005333e
mov byte [rsi + 0x4e], r14b
mov byte [rsi + 0x55], 1
jmp 0x140053344
inc dword [rsi + 0x304]
mov rax, qword [rsi + 0x2f8]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi + 0x310]
mov qword [rsi + 0x2f8], rbx
mov qword [rbx + 8], rax
mov rax, qword [rsi + 0x318]
mov qword [rbx + 0x10], rax
mov r15d, dword [rsp + 0x44]
inc r15d
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x50]
xor eax, eax
jmp 0x140052ea0
mov rsi, qword [rsi + 0x2f8]
mov r13d, r14d
jmp 0x1400533a7
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1400108b8
test eax, eax
je 0x1400533d6
mov rsi, qword [rsi + 0x18]
inc r13d
test rsi, rsi
jne 0x140053391
mov r13, qword [rbp - 0x80]
lea r8, str.no_such_savepoint:__s
mov rsi, qword [rsp + 0x58]
mov r9, rdi
mov rdx, rsi
lea rcx, [r13 + 0x48]
call fcn.14004e698
mov r12d, 1
jmp 0x1400578de
mov r14, qword [rsp + 0x58]
xor edx, edx
lea ecx, [rdx + 1]
cmp dword [r14 + 0xac], edx
jle 0x1400533f2
cmp r15d, ecx
je 0x1400578e9
cmp qword [rsi + 0x18], rdx
jne 0x14005344b
cmp byte [r14 + 0x55], dl
je 0x14005344b
mov dword [rbp - 0x78], ecx
cmp r15d, ecx
jne 0x14005344e
mov rdi, qword [rbp - 0x80]
mov edx, ecx
mov rcx, rdi
call fcn.1400528d8
mov ebx, eax
test eax, eax
jne 0x140057c25
lea ebx, [rax + 1]
mov rcx, rdi
mov byte [r14 + 0x4e], bl
call fcn.1400581f4
cmp eax, 5
je 0x1400578fc
xor eax, eax
mov byte [r14 + 0x55], al
mov ecx, dword [rdi + 0x84]
mov dword [rsp + 0x40], ecx
jmp 0x14005354d
mov dword [rbp - 0x78], edx
mov eax, dword [r14 + 0x304]
mov r8d, 2
sub eax, r13d
mov r13d, eax
sub r13d, ecx
cmp r15d, r8d
jne 0x1400534c0
mov edi, dword [r14 + 0x2c]
mov r15d, edx
shr edi, 1
and edi, ecx
cmp dword [r14 + 0x28], edx
jle 0x1400534c7
mov rax, qword [rsp + 0x58]
mov r14d, edi
xor r14d, ecx
mov rbx, rdx
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.1400375e8
xor edx, edx
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057ac1
mov rax, qword [rsp + 0x58]
inc r15d
add rbx, 0x20
cmp r15d, dword [rax + 0x28]
jl 0x140053488
jmp 0x1400534ca
mov edi, edx
mov rax, r14
jmp 0x1400534cf
mov rax, r14
mov r15d, dword [rsp + 0x78]
mov r14d, edx
cmp dword [rax + 0x28], edx
jle 0x14005350c
mov rbx, rdx
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, r15d
mov rcx, qword [rbx + rcx + 8]
call fcn.140037170
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057ac1
mov rax, qword [rsp + 0x58]
inc r14d
add rbx, 0x20
cmp r14d, dword [rax + 0x28]
jl 0x1400534da
mov r14, qword [rsp + 0x58]
test edi, edi
je 0x14005352b
mov rcx, r14
call fcn.14003b758
call fcn.14004ba24
mov eax, 2
or dword [r14 + 0x2c], eax
mov ebx, dword [rbp - 0x78]
jmp 0x14005354d
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r14
mov qword [r14 + 0x2f8], rax
call fcn.140039b7c
dec dword [r14 + 0x304]
mov rcx, qword [r14 + 0x2f8]
cmp rcx, rsi
jne 0x140053530
cmp r15d, 1
jne 0x14005358d
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov qword [r14 + 0x2f8], rax
call fcn.140039b7c
xor r14d, r14d
test ebx, ebx
jne 0x140057809
dec dword [rsi + 0x304]
jmp 0x1400535b3
mov rax, qword [rsi + 8]
mov qword [r14 + 0x310], rax
xor r14d, r14d
mov rax, qword [rsi + 0x10]
mov rsi, qword [rsp + 0x58]
mov qword [rsi + 0x318], rax
test ebx, ebx
jne 0x140057809
mov r8d, r13d
mov edx, r15d
mov rcx, rsi
call fcn.14005b928
mov r13, qword [rbp - 0x80]
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057acd
jmp 0x14005336c
movsxd rax, dword [r12 + rdi*8 + 0xc]
xor r9d, r9d
mov r15, qword [rbp - 0x80]
mov esi, r9d
movzx r13d, byte [r12 + rdi*8 + 3]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
add rcx, qword [rsp + 0x70]
mov r15, qword [r15 + 0x18]
imul rbx, rax, 0x38
mov qword [rbp - 0x30], rcx
add rbx, qword [rsp + 0x70]
test r13d, r13d
je 0x140053646
mov eax, 0x1000
mov qword [r15 + rsi*8], rbx
test word [rbx + 8], ax
je 0x140053636
mov rcx, rbx
call fcn.14005945c
xor r9d, r9d
test eax, eax
jne 0x140057be5
mov eax, 0x1000
inc rsi
add rbx, 0x38
cmp rsi, r13
jl 0x140053614
mov rcx, qword [rbp - 0x30]
mov rax, qword [r12 + rdi*8 + 0x10]
mov edx, 0xbe01
mov rsi, qword [rsp + 0x58]
mov r8, r15
mov qword [rbp - 0x28], rax
mov eax, dword [rsp + 0x44]
mov dword [rbp - 0x10], eax
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x18], rax
movzx eax, word [rcx + 8]
and ax, dx
mov edx, r13d
or ax, 1
mov word [rcx + 8], ax
lea rcx, [rbp - 0x30]
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x30], rax
mov rax, qword [rbp - 0x28]
mov byte [rbp - 7], r9b
call qword [rax + 0x18]
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0x50], rax
xor eax, eax
cmp byte [rbp - 7], al
je 0x1400536ed
cmp dword [rbp - 0xc], eax
je 0x1400536d6
mov rcx, qword [rbp - 0x30]
call fcn.14001710c
mov r13, qword [rbp - 0x80]
lea r8, [0x14009cfb0]
mov r9, rax
mov rdx, rsi
lea rcx, [r13 + 0x48]
call fcn.14004e698
mov eax, dword [rbp - 0xc]
mov dword [rsp + 0x40], eax
jmp 0x1400536da
mov r13, qword [rbp - 0x80]
mov r8d, dword [r12 + rdi*8 + 4]
mov rcx, r13
mov edx, dword [rsp + 0x44]
call fcn.140052c5c
jmp 0x1400536f1
mov r13, qword [rbp - 0x80]
movzx edx, byte [rsp + 0x60]
mov rcx, qword [rbp - 0x30]
call fcn.1400526f4
mov rcx, qword [rbp - 0x30]
call fcn.1400599e4
test eax, eax
jne 0x140057b71
mov r15d, dword [rsp + 0x40]
jmp 0x1400531db
movsxd rax, dword [r12 + rdi*8 + 8]
xor r11d, r11d
mov r14, qword [rsp + 0x70]
movzx r10d, byte [r12 + rdi*8 + 3]
mov r9, qword [r13 + 0x18]
imul rcx, rax, 0x38
mov eax, r11d
lea r15d, [r11 + 1]
add rcx, r14
test r10d, r10d
je 0x140053754
mov qword [r9 + rax*8], rcx
add rcx, 0x38
add rax, r15
cmp rax, r10
jl 0x140053744
mov rax, qword [r12 + rdi*8 + 0x10]
mov r8d, r15d
mov qword [rbp - 0x28], rax
mov rdx, rsi
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp - 0x20], rcx
add dword [rcx + 0xc], r15d
lea rcx, [rbp + 0xa8]
call fcn.14005941c
lea rax, [rbp + 0xa8]
mov dword [rbp - 0xc], r11d
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x30]
mov eax, dword [rsp + 0x44]
mov r8, r9
mov dword [rbp - 0x10], eax
mov edx, r10d
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x18], r13
mov byte [rbp - 8], r11b
call qword [rax + 0x20]
xor ecx, ecx
cmp dword [rbp - 0xc], ecx
je 0x1400537e4
lea rcx, [rbp + 0xa8]
call fcn.14001710c
mov r9, rax
lea rcx, [r13 + 0x48]
lea r8, [0x14009cfb0]
mov rdx, rsi
call fcn.14004e698
mov eax, dword [rbp - 0xc]
xor ecx, ecx
mov dword [rsp + 0x40], eax
cmp byte [rbp - 8], cl
je 0x140053801
movsxd rax, dword [r12 + rdi*8 - 0x14]
test eax, eax
je 0x140053801
imul rcx, rax, 0x38
mov rdx, r15
add rcx, r14
call fcn.14005962c
lea rcx, [rbp + 0xa8]
call fcn.1400595d4
jmp 0x140053296
sub r9d, 0xb
je 0x140053c90
sub r9d, 1
je 0x140053b30
sub r9d, 1
je 0x140053b18
sub r9d, 1
je 0x140053a36
sub r9d, 1
je 0x140053920
sub r9d, 1
je 0x14005390e
sub r9d, 1
je 0x1400538e1
sub r9d, 1
je 0x1400538c0
cmp r9d, 1
jne 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
add rbx, qword [rsp + 0x70]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
mov rcx, r14
mov qword [rsp + 0x68], r14
call fcn.140059648
test byte [rbx + 8], 1
jne 0x1400538b3
mov rcx, rbx
mov word [r14 + 8], 4
call fcn.1400586d4
xor edx, edx
mov ecx, edx
test rax, rax
sete cl
mov qword [r14], rcx
mov r15d, dword [rsp + 0x40]
mov rbx, r14
jmp 0x1400531e0
movsxd rax, dword [r12 + rdi*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
mov r15d, dword [rcx]
mov dword [rsp + 0x44], r15d
mov word [rcx + 8], 0x80
jmp 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rsp + 0x44]
add rcx, qword [rsp + 0x70]
mov word [rcx + 8], r10w
mov qword [rcx], rax
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
mov dword [rsp + 0x44], r15d
jmp 0x140052fac
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
mov dword [rsp + 0x44], r15d
jmp 0x140057626
mov rax, qword [r12 + rdi*8 + 0x10]
xor r15d, r15d
movsxd rdx, dword [r12 + rdi*8 + 8]
mov rbx, qword [rax + 0x10]
mov r11, qword [rbx]
cmp qword [r11 + 0x68], r15
je 0x140054ca9
movsxd rax, dword [r12 + rdi*8 + 0xc]
mov sil, byte [rsi + 0x54]
mov r10, qword [r13 + 0x18]
imul rcx, rax, 0x38
mov eax, r15d
add rcx, qword [rsp + 0x70]
test edx, edx
jle 0x14005396b
mov qword [r10 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14005395b
mov al, byte [r12 + rdi*8 + 3]
lea r9, [rbp + 0x50]
mov r15, qword [rsp + 0x58]
mov r8, r10
mov rcx, rbx
mov byte [r15 + 0x54], al
call qword [r11 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x54], sil
mov rcx, r13
mov dword [rsp + 0x40], eax
call fcn.14005b6b4
mov r15d, dword [rsp + 0x40]
xor ebx, ebx
test r15d, r15d
jne 0x1400539c1
mov rsi, qword [rsp + 0x58]
cmp dword [r12 + rdi*8 + 4], ebx
je 0x140053a2a
mov rcx, qword [rbp + 0x50]
mov qword [rsp + 0x50], rcx
mov qword [rsi + 0x30], rcx
jmp 0x140053a2a
mov qword [rsp + 0x50], r14
cmp r15b, 0x13
jne 0x140053a25
mov rax, qword [r12 + rdi*8 + 0x10]
mov qword [rsp + 0x50], r14
cmp byte [rax + 0x1c], bl
je 0x140053a25
movzx ecx, byte [r12 + rdi*8 + 3]
mov r10d, 4
cmp cl, r10b
jne 0x1400539f5
mov r15d, ebx
mov dword [rsp + 0x40], ebx
jmp 0x140053a0b
cmp cl, 5
mov eax, ecx
mov r8d, 2
cmove eax, r8d
mov byte [r13 + 0x8a], al
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x50], r14
mov r8d, 8
jmp 0x1400531f1
mov rsi, qword [rsp + 0x58]
inc dword [r13 + 0x90]
jmp 0x1400531db
movsxd rax, dword [r12 + rdi*8 + 0xc]
movsxd rcx, dword [r12 + rdi*8 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x60]
add rdx, qword [rsp + 0x70]
mov r13, qword [rax + rcx*8]
mov eax, dword [rdx]
lea r10, [rdx + 0x38]
mov rcx, qword [rbp - 0x80]
movsxd r9, dword [r10]
mov rbx, qword [r13 + 0x30]
mov dword [rsp + 0x78], eax
xor eax, eax
mov rsi, qword [rcx + 0x18]
mov edx, eax
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x140053aa1
lea r12d, [rax + 1]
mov r8d, r12d
movsxd rax, r8d
add r8d, r12d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rsi + rdx*8], rcx
add rdx, r12
cmp rdx, r9
jl 0x140053a80
mov r12, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx + 0x8c]
mov edx, dword [rsp + 0x78]
and eax, 0xfffffff7
or eax, 4
mov qword [rsp + 0x20], rsi
mov dword [rcx + 0x8c], eax
mov rcx, rbx
mov r8, qword [r12 + rdi*8 + 0x10]
call qword [r14 + 0x40]
mov dword [rsp + 0x40], eax
mov rdx, r15
mov rax, qword [rbp - 0x80]
mov rcx, rax
and dword [rax + 0x8c], 0xfffffff3
call fcn.14005b6b4
mov r15d, dword [rsp + 0x40]
xor esi, esi
test r15d, r15d
jne 0x140053b06
mov rcx, rbx
call qword [r14 + 0x50]
test eax, eax
je 0x140053b06
mov esi, dword [r12 + rdi*8 + 8]
dec esi
mov dword [rsp + 0x44], esi
xor esi, esi
mov byte [r13 + 0x25], sil
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x58]
jmp 0x1400531db
lea rcx, [r13 + 0x48]
mov rdx, rsi
call fcn.14004c70c
mov r15d, eax
mov dword [rsp + 0x40], eax
jmp 0x1400531e0
mov rax, qword [rsi + 0x20]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov ebx, dword [r12 + rdi*8 + 0xc]
shl rcx, 5
mov r15, qword [rcx + rax + 8]
mov rcx, r15
call fcn.140036fa8
mov rcx, rax
mov r14, rax
call fcn.1400460f0
cmp ebx, 0xffffffff
mov esi, eax
cmove ebx, eax
call fcn.140046358
xor r8d, r8d
test eax, eax
cmove ebx, esi
lea r9d, [r8 + 1]
mov edx, r9d
call fcn.1400460c4
cmp ebx, 5
jne 0x140053c04
mov rcx, rax
call fcn.14004f640
test eax, eax
je 0x140053b9c
mov rcx, r14
call fcn.140047298
test eax, eax
jne 0x140053c04
mov ebx, esi
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140053ba8
mov ebx, esi
mov edx, ebx
mov rcx, r14
call fcn.140046d24
mov ecx, eax
movsxd rax, dword [r12 + rdi*8 + 8]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
mov qword [rsp + 0x68], r14
mov word [r14 + 8], 0xa02
call fcn.140043c1c
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.14004f640
movzx edx, byte [rsp + 0x60]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov byte [r14 + 0xa], 1
call fcn.1400526f4
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
jmp 0x1400538b8
cmp ebx, esi
je 0x140053b9e
cmp esi, 5
je 0x140053c12
cmp ebx, 5
jne 0x140053b9e
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x4e], r8b
je 0x140057920
cmp dword [rax + 0xa8], r9d
jg 0x140057920
cmp esi, 5
jne 0x140053c56
mov rcx, r14
call fcn.140045df0
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140053ba6
mov edx, ebx
mov rcx, r14
call fcn.140046d24
xor r8d, r8d
jmp 0x140053c74
cmp esi, r10d
jne 0x140053c69
mov edx, r11d
mov rcx, r14
call fcn.140046d24
xor r8d, r8d
cmp dword [rsp + 0x40], r8d
jne 0x140053ba6
mov edx, r8d
cmp ebx, 5
mov rcx, r15
sete dl
inc edx
call fcn.1400374f8
mov dword [rsp + 0x40], eax
jmp 0x140053ba2
mov r8d, dword [r12 + rdi*8 + 8]
lea rax, [rbp + 0xe8]
mov edx, dword [r12 + rdi*8 + 4]
lea r9, [rbp + 0xe4]
or dword [rbp + 0xe8], 0xffffffff
xor r14d, r14d
or dword [rbp + 0xe4], 0xffffffff
mov rcx, rsi
mov dword [rbp + 0xe0], r14d
mov qword [rsp + 0x20], rax
call fcn.1400378ac
mov ecx, eax
lea r15d, [r14 + 1]
mov eax, dword [rbp + 0xe0]
cmp ecx, 5
cmove eax, r15d
mov dword [rbp + 0xe0], eax
mov eax, r14d
cmovne eax, ecx
mov dword [rsp + 0x40], eax
movsxd rax, dword [r12 + rdi*8 + 0xc]
mov edi, r14d
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
movsxd rdx, dword [rbp + rdi*4 + 0xe0]
mov rcx, rbx
call fcn.14005962c
add rdi, r15
add rbx, 0x38
cmp rdi, 3
jl 0x140053d01
jmp 0x140053710
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x50]
imul rbx, rax, 0x38
mov eax, dword [r12 + rdi*8 + 0xc]
add rbx, qword [rsp + 0x70]
dec eax
cdqe
mov qword [rsp + 0x68], rbx
mov qword [rbx], rax
mov word [rbx + 8], r10w
mov eax, dword [r12 + rdi*8 + 8]
test eax, eax
je 0x140053d5e
lea r15d, [rax - 1]
mov dword [rsp + 0x44], r15d
mov r15d, dword [rsp + 0x40]
jmp 0x1400531f1
cmp r9d, 0x1e
ja 0x140053f9e
je 0x140053f76
sub r9d, 0x15
je 0x140053f49
sub r9d, 1
je 0x140053f1b
sub r9d, 1
je 0x140053e71
sub r9d, 1
je 0x140053e8a
sub r9d, 1
je 0x140053e64
sub r9d, 1
je 0x140056cea
sub r9d, 1
je 0x14005628c
sub r9d, 1
je 0x140053e04
mov r15d, dword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
cmp r9d, 1
jne 0x1400531f1
movsxd rax, dword [r12 + rdi*8 + 4]
mov ecx, 0xff7f
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov qword [rsp + 0x68], rbx
movzx eax, word [rbx + 8]
and ax, cx
or ax, r9w
mov word [rbx + 8], ax
jmp 0x1400531f1
mov eax, dword [r12 + rdi*8 + 4]
mov r15d, 1
mov ebx, dword [r12 + rdi*8 + 0xc]
neg eax
mov ecx, dword [r12 + rdi*8 + 8]
mov eax, 0x100
mov r14, qword [rsp + 0x68]
sbb di, di
and di, ax
sub ebx, ecx
add di, r15w
mov word [r14 + 8], di
test ebx, ebx
jle 0x140057812
add r14, 0x38
mov rcx, r14
call fcn.140059648
sub ebx, r15d
mov word [r14 + 8], di
test ebx, ebx
jg 0x140053e3e
mov r13, qword [rbp - 0x80]
mov qword [rsp + 0x68], r14
jmp 0x1400538b3
movsxd rax, dword [r12 + rdi*8 + 4]
mov qword [rbx], rax
jmp 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
test byte [rcx + rax + 8], 1
je 0x140052fac
mov ecx, dword [r12 + rdi*8 + 4]
xor r15d, r15d
test ecx, ecx
jne 0x1400579c3
mov r8, qword [r13 + 0xf0]
test r8, r8
je 0x1400579c3
mov rax, qword [r8 + 8]
mov rcx, rsi
dec dword [r13 + 0x100]
mov edx, dword [r13 + 0x90]
mov qword [r13 + 0xf0], rax
call fcn.14005a4a0
mov rcx, r8
call fcn.140058084
mov r14, qword [rsi + 0x30]
movsxd r15, eax
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x50], r14
cmp dword [r12 + rdi*8 + 8], r10d
jne 0x140053f00
mov rax, qword [r13 + 8]
lea rcx, [r15 + r15*2]
mov r15d, dword [rax + rcx*8 + 8]
dec r15d
mov dword [rsp + 0x44], r15d
mov r12, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov r15d, dword [rsp + 0x40]
mov qword [rbp - 0x38], r12
mov qword [rsp + 0x70], rax
jmp 0x140053a1a
movsxd rax, dword [r12 + rdi*8 + 4]
mov r15d, dword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
imul rdx, rax, 0x38
movsxd rax, dword [rsp + 0x44]
add rdx, qword [rsp + 0x70]
mov ecx, dword [rdx]
mov qword [rdx], rax
mov eax, ecx
mov word [rdx + 8], r10w
jmp 0x1400531f5
movsxd rax, dword [r12 + rdi*8 + 4]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x70]
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov r15d, dword [r12 + rcx*8 + 8]
dec r15d
mov word [rdx + 8], 0x80
mov dword [rsp + 0x44], r15d
jmp 0x140052fac
mov r8d, dword [r12 + rdi*8 + 4]
xor eax, eax
mov rdx, qword [r12 + rdi*8 + 0x10]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400596cc
mov al, byte [rsp + 0x60]
mov byte [rbx + 0xa], al
jmp 0x140053296
sub r9d, 0x1f
je 0x140054263
sub r9d, 1
je 0x140054220
sub r9d, 1
je 0x1400541ba
sub r9d, 1
je 0x140054186
sub r9d, 1
je 0x14005409e
sub r9d, 1
je 0x14005407c
sub r9d, 1
je 0x140054059
cmp r9d, 1
jne 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
movzx eax, word [rbx + 8]
test r10b, al
jne 0x140054047
mov r8b, byte [rsp + 0x60]
mov dl, 0x43
mov rcx, rbx
call fcn.1400198a8
movzx eax, word [rbx + 8]
mov r10d, 4
test r10b, al
jne 0x140054047
mov eax, dword [r12 + rdi*8 + 8]
xor r14d, r14d
test eax, eax
je 0x140057aab
lea r15d, [rax - 1]
mov dword [rsp + 0x44], r15d
mov r15d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
jmp 0x1400531e6
mov ecx, 0xbe04
and ax, cx
or ax, r10w
mov word [rbx + 8], ax
jmp 0x140054038
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.14005942c
movsxd rax, dword [r12 + rdi*8 + 8]
add qword [rbx], rax
jmp 0x140053710
movsxd rax, dword [r12 + rdi*8 + 4]
xor edx, edx
test eax, eax
je 0x140052fac
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
call fcn.14005962c
jmp 0x140053296
mov rax, qword [rsi + 0x188]
test rax, rax
je 0x1400540c0
cmp ecx, dword [rbp - 0x68]
jb 0x1400540c0
mov rcx, qword [rsi + 0x190]
call rax
test eax, eax
jne 0x140057675
xor edx, edx
mov rcx, r13
call fcn.1400528d8
mov dword [rsp + 0x40], eax
mov r15d, eax
test eax, eax
jne 0x1400531e0
lea r14d, [rax + 1]
mov rcx, r13
mov edx, r14d
call fcn.140052a14
xor edx, edx
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057952
mov eax, dword [r13 + 0x7c]
mov esi, edx
add eax, 2
or eax, r14d
mov dword [r13 + 0x7c], eax
movsxd rax, dword [r12 + rdi*8 + 4]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
mov qword [r13 + 0x28], r14
cmp dword [r12 + rdi*8 + 8], edx
jle 0x14005415e
lea r15, [r14 + 8]
mov eax, 0x1000
movsxd rbx, esi
test word [r15], ax
je 0x140054145
imul rcx, rbx, 0x38
add rcx, r14
call fcn.14005945c
test eax, eax
jne 0x140057be9
imul rcx, rbx, 0x38
add rcx, r14
call fcn.140059510
inc esi
add r15, 0x38
cmp esi, dword [r12 + rdi*8 + 8]
jl 0x140054123
mov rsi, qword [rsp + 0x58]
xor r14d, r14d
cmp byte [rsi + 0x50], r14b
jne 0x140057bf9
mov eax, dword [rsp + 0x44]
lea ebx, [r14 + 0x64]
inc eax
mov dword [r13 + 0x80], eax
jmp 0x140057c32
movsxd rax, dword [r12 + rdi*8 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 4]
add rbx, qword [rsp + 0x70]
imul rdx, rax, 0x38
mov qword [rsp + 0x68], rbx
add rdx, qword [rsp + 0x70]
mov r8d, 0x1000
mov rcx, rbx
call fcn.1400598c4
jmp 0x140053296
movsxd rax, dword [r12 + rdi*8 + 4]
mov esi, dword [r12 + rdi*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
mov edi, 0x1000
add rbx, qword [rsp + 0x70]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
mov r8d, edi
mov qword [rsp + 0x68], r14
mov rdx, rbx
mov rcx, r14
call fcn.1400598c4
test word [r14 + 8], di
je 0x14005420a
mov rcx, r14
call fcn.14005945c
test eax, eax
jne 0x140057be9
mov eax, esi
dec esi
test eax, eax
je 0x14005436a
add r14, 0x38
add rbx, 0x38
jmp 0x1400541e0
movsxd rax, dword [r12 + rdi*8 + 4]
mov esi, dword [r12 + rdi*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
add rbx, qword [rsp + 0x70]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, r14
call fcn.1400594d4
add rbx, 0x38
add r14, 0x38
sub esi, 1
jne 0x140054241
mov qword [rsp + 0x68], r14
jmp 0x140053bf5
mov eax, dword [r12 + rdi*8 + 4]
dec eax
cdqe
imul r9, rax, 0x38
add r9, qword [r13 + 0x68]
mov rcx, r9
call fcn.1400599e4
test eax, eax
jne 0x140057b71
mov r8d, 0x800
mov rdx, r9
jmp 0x1400541ad
movsxd rax, dword [r12 + rdi*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
test byte [rcx + 8], r10b
je 0x140052fac
call fcn.1400595a4
jmp 0x140053296
cmp r9d, 0x3a
ja 0x140054f77
je 0x140054f32
cmp r9d, 0x31
ja 0x140054b68
je 0x14005496a
sub r9d, 0x28
je 0x14005492f
sub r9d, 1
je 0x140054921
sub r9d, 1
je 0x140054859
sub r9d, 1
je 0x140054834
sub r9d, 1
je 0x140054806
sub r9d, 1
je 0x14005479c
sub r9d, 1
je 0x14005479c
sub r9d, 1
je 0x140054374
cmp r9d, 1
jne 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
mov rsi, qword [r12 + rdi*8 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rsi]
add rbx, qword [rsp + 0x70]
test al, al
je 0x140054ca4
mov r14b, byte [rsp + 0x60]
mov r8b, r14b
mov dl, al
mov rcx, rbx
inc rsi
call fcn.1400198a8
mov al, byte [rsi]
add rbx, 0x38
test al, al
jne 0x14005434c
mov r13, qword [rbp - 0x80]
mov r15d, dword [rsp + 0x40]
jmp 0x140053b0e
movsxd rax, dword [r12 + rdi*8 + 0xc]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov esi, dword [r12 + rdi*8 + 8]
imul r14, rax, 0x38
mov rax, qword [r13 + 0x60]
add r14, qword [rsp + 0x70]
mov dword [rbp - 0x78], esi
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
mov r13, qword [rbx + 0x68]
mov r15, qword [rbx]
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x60], r15
call fcn.140052b8c
xor ecx, ecx
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057ac1
mov rax, qword [rbp - 0x80]
mov eax, dword [rax + 0x7c]
cmp dword [rbx + 0x50], eax
je 0x1400544e3
cmp byte [rbx + 0x25], cl
je 0x140054406
test r15, r15
jne 0x1400543f9
movsxd rax, dword [rbx + 0x1c]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
mov esi, dword [rcx + 0xc]
mov dword [rbx + 0x58], esi
mov dword [rbx + 0x54], esi
mov r8, qword [rcx + 0x10]
mov qword [rbx + 0x60], r8
mov dword [rbp - 0x4c], esi
jmp 0x140054472
mov rcx, r14
call fcn.140059648
jmp 0x140054713
mov edx, 4
lea rsi, [rbx + 0x54]
mov rcx, r15
test byte [rbx + 0x28], dl
jne 0x14005443a
lea rdx, [rbp + 0x48]
call fcn.14003642c
lea rdx, [rbp - 0x4c]
mov rcx, r15
call fcn.140035980
mov r8, rax
mov qword [rbx + 0x60], rax
mov eax, dword [rbp + 0x48]
mov dword [rsi], eax
jmp 0x140054455
mov rdx, rsi
call fcn.140035988
lea rdx, [rbp - 0x4c]
mov rcx, r15
call fcn.140035980
mov r8, rax
mov qword [rbx + 0x60], rax
mov ecx, dword [rsi]
mov esi, dword [rbp - 0x4c]
cmp ecx, esi
mov eax, esi
cmovbe eax, ecx
mov dword [rbx + 0x58], eax
mov rax, qword [rsp + 0x58]
cmp ecx, dword [rax + 0x68]
ja 0x140057b95
mov rax, qword [rbp - 0x80]
mov ecx, 0x80
mov eax, dword [rax + 0x7c]
mov dword [rbx + 0x50], eax
movzx eax, byte [r8]
cmp al, cl
jae 0x140054492
mov ecx, eax
mov dword [rbp - 0x48], eax
mov al, 1
jmp 0x1400544a1
lea rdx, [rbp - 0x48]
mov rcx, r8
call fcn.140041c00
mov ecx, dword [rbp - 0x48]
movzx eax, al
mov dword [rbx + 0x5c], eax
xor eax, eax
mov word [rbx + 0x22], ax
mov dword [r13], ecx
cmp ecx, 0x18003
ja 0x1400544d0
cmp ecx, dword [rbx + 0x54]
ja 0x1400544d0
cmp esi, ecx
mov esi, dword [rbp - 0x78]
jae 0x1400544ef
xor ecx, ecx
mov qword [rbx + 0x60], rcx
mov dword [rbx + 0x58], ecx
jmp 0x1400544ef
mov ecx, 0x116df
call fcn.140038778
mov dword [rsp + 0x40], eax
jmp 0x140054366
movzx eax, word [rbx + 0x22]
cmp eax, esi
jg 0x140054658
mov eax, dword [r13]
cmp dword [rbx + 0x5c], eax
jae 0x14005462c
mov rdx, qword [rbx + 0x60]
mov qword [rbp + 0x40], rdx
test rdx, rdx
jne 0x140054555
mov r8d, 0x38
lea rcx, [rbp - 0x30]
call fcn.1400953b0
mov r9d, dword [rbx + 0x28]
lea rax, [rbp - 0x30]
mov r8d, dword [r13]
xor edx, edx
shr r9d, 2
mov rcx, r15
not r9d
mov qword [rsp + 0x20], rax
and r9d, 1
call fcn.140059180
mov dword [rsp + 0x40], eax
mov r15d, eax
test eax, eax
jne 0x140053b0a
mov rdx, qword [rbp - 0x20]
mov qword [rbp + 0x40], rdx
movzx r15d, word [rbx + 0x22]
mov esi, dword [rbx + 0x5c]
mov eax, r15d
add rsi, rdx
mov ecx, dword [r13 + r15*4]
mov r13d, dword [r13]
add r13, rdx
mov dword [rsp + 0x78], ecx
mov ecx, 0x80
cmp byte [rsi], cl
jae 0x140054587
movzx ecx, byte [rsi]
inc rsi
mov dword [rbp - 0x44], ecx
jmp 0x14005459f
lea rdx, [rbp - 0x44]
mov rcx, rsi
call fcn.140041c00
mov ecx, dword [rbp - 0x44]
movzx eax, al
add rsi, rax
movsxd rax, r15d
mov rdx, rsi
mov dword [rbx + rax*4 + 0x70], ecx
call fcn.14005a484
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x48], ecx
cmp ecx, eax
jb 0x1400545d7
mov r8, qword [rbp - 0x70]
inc r15d
movsxd rax, r15d
mov dword [r8 + rax*4], ecx
cmp r15d, dword [rbp - 0x78]
jg 0x1400545db
cmp rdx, r13
jb 0x140054573
jmp 0x1400545db
lea rsi, [r13 + 1]
mov eax, esi
mov word [rbx + 0x22], r15w
sub eax, dword [rbp + 0x40]
mov dword [rbx + 0x5c], eax
xor eax, eax
cmp qword [rbx + 0x60], rax
jne 0x140054606
lea rcx, [rbp - 0x30]
call fcn.1400595d4
mov ecx, dword [rsp + 0x78]
mov eax, 1
mov word [rbp - 0x28], ax
cmp rsi, r13
jb 0x140054612
ja 0x140054617
cmp ecx, dword [rbx + 0x54]
jne 0x140054617
cmp ecx, dword [rbx + 0x54]
jbe 0x140054621
mov ecx, 0x11733
jmp 0x1400544d5
mov r13, qword [rbp - 0x70]
mov esi, dword [rbp - 0x78]
mov r15, qword [rbp - 0x60]
movzx eax, word [rbx + 0x22]
cmp eax, esi
jg 0x140054658
cmp byte [r12 + rdi*8 + 1], 0xf8
mov rcx, r14
jne 0x1400543fc
mov rdx, qword [r12 + rdi*8 + 0x10]
mov r8d, 0x800
call fcn.1400598c4
jmp 0x140054713
mov eax, 0x2460
test word [r14 + 8], ax
je 0x14005466c
mov rcx, r14
call fcn.140059648
movsxd rdx, esi
mov eax, dword [r13 + rdx*4 + 4]
mov esi, dword [rbx + rdx*4 + 0x70]
mov dword [rbp - 0x44], esi
cmp dword [rbx + 0x58], eax
jb 0x14005468e
mov ecx, dword [r13 + rdx*4]
add rcx, qword [rbx + 0x60]
jmp 0x14005478d
mov al, byte [r12 + rdi*8 + 3]
test al, 0xc0
je 0x1400546b2
cmp esi, 0xc
jb 0x1400546a6
test sil, 1
je 0x140054780
xor edi, edi
test al, al
js 0x140054782
jmp 0x1400546b4
xor edi, edi
mov ecx, esi
call fcn.14005a484
test eax, eax
je 0x140054782
mov r9d, dword [rbx + 0x28]
mov r8d, eax
mov edx, dword [r13 + rdx*4]
mov rcx, r15
shr r9d, 2
not r9d
mov qword [rsp + 0x20], r14
and r9d, 1
call fcn.140059180
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140054366
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, esi
call fcn.14005a1cc
mov ecx, 0xefff
and word [r14 + 8], cx
mov al, byte [rsp + 0x60]
mov byte [r14 + 0xa], al
movzx edi, word [r14 + 8]
bt di, 0xc
jae 0x140054366
mov rsi, qword [r14 + 0x10]
xor r15d, r15d
test rsi, rsi
je 0x140054366
movsxd rbx, dword [r14 + 0xc]
mov rcx, r14
lea edx, [rbx + 2]
call fcn.140058fc8
test eax, eax
jne 0x140057be5
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, rsi
call fcn.140094c70
mov rax, qword [r14 + 0x10]
and di, 0x12
mov byte [rbx + rax], r15b
mov rax, qword [r14 + 0x10]
mov byte [rbx + rax + 1], r15b
mov eax, 0x200
or di, ax
mov word [r14 + 8], di
jmp 0x140054366
xor edi, edi
cmp esi, 0xd
lea rcx, [rbp + 0x48]
cmova rcx, rdi
mov r8, r14
mov edx, esi
call fcn.14005a1cc
jmp 0x14005470b
movsxd rax, dword [r12 + rdi*8 + 4]
mov r15d, 1
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
test byte [rcx + 8], r15b
je 0x1400547bd
mov eax, dword [r12 + rdi*8 + 0xc]
jmp 0x1400547e1
call fcn.140059f4c
ucomisd xmm0, xmm6
jp 0x1400547ce
jne 0x1400547ce
xor eax, eax
jmp 0x1400547d1
mov eax, r15d
cmp byte [r12 + rdi*8], 0x2e
mov r10d, 4
jne 0x1400547e1
xor eax, r15d
mov r8d, 8
test eax, eax
mov r14, qword [rsp + 0x50]
je 0x140053d5e
mov eax, dword [r12 + rdi*8 + 8]
sub eax, r15d
mov r15d, dword [rsp + 0x40]
jmp 0x1400531f5
movsxd rax, dword [r12 + rdi*8 + 4]
xor edx, edx
mov rcx, qword [r13 + 0x118]
mov r14, qword [rsp + 0x50]
cmp byte [rax + rcx], dl
je 0x14005482b
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
jmp 0x140053d59
mov byte [rax + rcx], 1
jmp 0x140053d5e
mov ecx, dword [rbp - 0x40]
test ecx, ecx
jns 0x140054842
mov eax, dword [r12 + rdi*8 + 4]
jmp 0x140054850
jne 0x14005484b
mov eax, dword [r12 + rdi*8 + 8]
jmp 0x140054850
mov eax, dword [r12 + rdi*8 + 0xc]
lea r15d, [rax - 1]
jmp 0x140053904
mov al, byte [r12 + rdi*8 + 3]
mov r9d, dword [r12 + rdi*8 + 4]
and al, 1
mov ecx, dword [r12 + rdi*8 + 8]
neg al
movsxd rax, dword [r12 + rdi*8 + 0xc]
mov r13, qword [r12 + rdi*8 + 0x10]
sbb rsi, rsi
and rsi, qword [rbp + 0x30]
xor edx, edx
mov dword [rsp + 0x78], r9d
mov r15d, edx
mov dword [rbp - 0x78], ecx
mov ebx, edx
mov qword [rbp - 0x60], rax
test rax, rax
jle 0x14005490f
lea r14, [r13 + 0x20]
test rsi, rsi
je 0x1400548a4
mov r8d, dword [rsi + rbx*4]
jmp 0x1400548a7
mov r8d, r15d
mov rax, qword [r13 + 0x18]
mov dil, 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 + 0x70]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x70]
call fcn.140044d38
xor edx, edx
mov dword [rbp - 0x40], eax
mov ecx, eax
test eax, eax
jne 0x1400548ff
mov r9d, dword [rsp + 0x78]
lea ecx, [rax + 1]
add r15d, ecx
add rbx, rcx
mov ecx, dword [rbp - 0x78]
add r14, 8
cmp rbx, qword [rbp - 0x60]
jl 0x140054899
jmp 0x140054909
test dil, dil
je 0x140054909
neg ecx
mov dword [rbp - 0x40], ecx
mov r10d, 4
mov qword [rbp + 0x30], rdx
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x58]
jmp 0x140054038
mov rax, qword [r12 + rdi*8 + 0x10]
mov qword [rbp + 0x30], rax
jmp 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
test word [rbx + 8], dx
je 0x14005494d
mov rcx, rbx
call fcn.14005906c
jmp 0x14005494f
xor eax, eax
mov r8b, byte [rsp + 0x60]
mov rcx, rbx
mov dl, byte [r12 + rdi*8 + 8]
mov dword [rsp + 0x40], eax
call fcn.140058f10
jmp 0x140053710
movsxd rax, dword [r12 + rdi*8 + 4]
xor r9d, r9d
mov rsi, qword [r12 + rdi*8 + 0x10]
mov r15d, r9d
imul r13, rax, 0x38
mov eax, dword [r12 + rdi*8 + 8]
mov ebx, r9d
add r13, qword [rsp + 0x70]
dec eax
cdqe
mov r10d, r9d
imul r14, rax, 0x38
mov rax, qword [rbp - 0x80]
add r14, r13
mov dword [rbp - 0x78], r9d
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x70], r14
movzx eax, byte [rax + 0x8b]
mov dword [rsp + 0x78], eax
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rax, rax, 0x38
add rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
test rsi, rsi
je 0x1400549f7
mov al, byte [rsi]
mov rdi, r13
mov r12b, byte [rsp + 0x60]
mov r8b, r12b
mov dl, al
mov rcx, rdi
call fcn.1400198a8
inc rsi
add rdi, 0x38
mov al, byte [rsi]
test al, al
jne 0x1400549d6
mov r13, qword [rbp - 0x60]
mov r10d, ebx
mov r12d, dword [rsp + 0x78]
mov rdi, r14
mov edx, r12d
mov rcx, rdi
call fcn.14005a3bc
mov r14d, eax
mov ecx, eax
mov dword [rdi + 0x24], r14d
call fcn.14005a484
mov esi, eax
mov eax, 0x4000
test word [rdi + 8], ax
je 0x140054a3d
test r15, r15
je 0x140054a34
mov rcx, rdi
call fcn.14005906c
jmp 0x140054a3d
add r10d, dword [rdi]
sub esi, dword [rdi]
mov dword [rbp - 0x78], r10d
movsxd rax, esi
add r15, rax
cmp r14d, 0x7f
ja 0x140054a54
mov r8d, 1
mov eax, r8d
jmp 0x140054a62
mov rcx, r14
call fcn.1400523f0
mov r8d, 1
mov r10d, dword [rbp - 0x78]
add ebx, eax
sub rdi, 0x38
cmp rdi, r13
jae 0x1400549ff
cmp ebx, 0x7e
jle 0x140054a8e
movsxd rcx, ebx
call fcn.1400523f0
add ebx, eax
mov edx, eax
movsxd rcx, ebx
call fcn.1400523f0
cmp edx, eax
jge 0x140054a91
add ebx, r8d
mov rax, qword [rsp + 0x58]
movsxd rsi, ebx
movsxd rax, dword [rax + 0x68]
lea r14, [r15 + rsi]
mov qword [rbp - 0x60], r14
cmp r14, rax
jg 0x140057b68
mov rdi, qword [rsp + 0x68]
mov edx, r14d
mov rcx, rdi
call fcn.140058fc8
test eax, eax
jne 0x140057be5
mov rdi, qword [rdi + 0x10]
mov r14d, 0x80
cmp ebx, r14d
jae 0x140054add
mov byte [rdi], bl
lea eax, [r14 - 0x7f]
jmp 0x140054ae8
mov rdx, rsi
mov rcx, rdi
call fcn.14004b108
mov r15, qword [rbp - 0x70]
movzx esi, al
mov r11d, dword [r13 + 0x24]
movsxd rcx, esi
add rcx, rdi
cmp r11d, r14d
jae 0x140054b08
mov byte [rcx], r11b
mov eax, 1
jmp 0x140054b10
mov rdx, r11
call fcn.14004b108
movzx eax, al
mov r8d, r11d
movsxd rcx, ebx
mov rdx, r13
add rcx, rdi
add esi, eax
call fcn.14005a344
add ebx, eax
add r13, 0x38
cmp r13, r15
jbe 0x140054aef
mov rcx, qword [rsp + 0x68]
mov r14, qword [rbp - 0x60]
mov eax, dword [rbp - 0x78]
mov r12, qword [rbp - 0x38]
mov dword [rcx + 0xc], r14d
mov r14, rcx
mov word [rcx + 8], 0x10
test eax, eax
je 0x140054b5a
mov dword [rcx], eax
mov word [rcx + 8], 0x4010
mov r13, qword [rbp - 0x80]
mov byte [r14 + 0xa], 1
jmp 0x140053bf5
mov ecx, r9d
sub ecx, 0x32
je 0x140054f09
sub ecx, 1
je 0x140054edd
sub ecx, 1
je 0x140054e48
sub ecx, 1
je 0x140054cde
sub ecx, 1
je 0x140054d03
sub ecx, 1
je 0x140054d03
sub ecx, 1
je 0x140054baf
cmp ecx, 1
jne 0x140052fac
mov r8d, dword [r12 + rdi*8 + 8]
or r9d, 0xffffffff
mov edx, dword [r12 + rdi*8 + 4]
mov rcx, r13
mov dword [rsp + 0x20], 1
call fcn.14001882c
mov rbx, rax
test rax, rax
je 0x140057bf9
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 0x28], eax
lea rsi, [rbx + 8]
mov byte [rbx + 0x25], al
mov r9, rsi
movzx ecx, byte [r12 + rdi*8 + 3]
xor edx, edx
mov rax, qword [rsp + 0x58]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
mov rcx, qword [rax]
call fcn.140036a20
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140054c7e
mov rcx, qword [rsi]
lea r15d, [rax + 1]
mov edx, r15d
call fcn.140034f98
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140054c7e
mov r14, qword [r12 + rdi*8 + 0x10]
mov rcx, qword [rsi]
test r14, r14
je 0x140054cb8
movzx r8d, byte [r12 + rdi*8 + 3]
lea rdx, [rbp + 0x24]
or r8d, 2
call fcn.1400357fc
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140054c7a
mov rax, qword [rbx]
mov r9, r14
mov edx, dword [rbp + 0x24]
mov r8d, r15d
mov rcx, qword [rsi]
mov qword [rsp + 0x20], rax
mov qword [rbx + 0x10], r14
call fcn.140035844
mov dword [rsp + 0x40], eax
and dword [rbx + 0x28], 0xfffffffb
mov r10d, 4
mov al, byte [r12 + rdi*8 + 3]
mov r8d, 8
sub al, r8b
neg al
mov eax, dword [rbx + 0x28]
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, r8d
or ecx, eax
mov dword [rbx + 0x28], ecx
mov rsi, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
jmp 0x1400531ec
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, r15d
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.140035844
mov r10d, 4
mov dword [rsp + 0x40], eax
or dword [rbx + 0x28], r10d
jmp 0x140054c84
movsxd rcx, dword [r12 + rdi*8 + 4]
xor r14d, r14d
mov rax, qword [r13 + 0x60]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140054d06
mov eax, dword [r12 + rdi*8 + 8]
cmp dword [rdx + 0x2c], eax
je 0x140052fac
jmp 0x140054d06
xor r14d, r14d
test byte [r13 + 0x8c], 0x20
jne 0x140057aea
movsxd rdx, dword [r12 + rdi*8 + 0xc]
mov esi, r14d
mov rcx, qword [rsp + 0x58]
mov rax, rdx
movsxd r15, dword [r12 + rdi*8 + 8]
shl rax, 5
mov dword [rsp + 0x78], edx
add rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x60], rcx
cmp r9b, 0x37
jne 0x140054d64
mov rax, qword [rax + 0x18]
mov r13d, 1
mov cl, byte [rax + 0x70]
mov rax, qword [rbp - 0x80]
cmp cl, byte [rax + 0x8b]
jae 0x140054d69
mov byte [rax + 0x8b], cl
jmp 0x140054d69
xor eax, eax
mov r13d, eax
test byte [r12 + rdi*8 + 3], r11b
je 0x140054d96
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.14005942c
mov r15d, dword [rbx]
mov eax, 2
cmp r15d, eax
jl 0x140057ab3
mov edx, dword [rsp + 0x78]
mov al, byte [r12 + rdi*8 + 1]
cmp al, 0xfa
jne 0x140054db2
mov r14, qword [r12 + rdi*8 + 0x10]
movzx esi, word [r14 + 8]
movzx eax, word [r14 + 6]
add esi, eax
jmp 0x140054dbb
cmp al, 0xf2
jne 0x140054dbb
mov esi, dword [r12 + rdi*8 + 0x10]
mov rcx, qword [rbp - 0x80]
mov r9d, edx
mov edx, dword [r12 + rdi*8 + 4]
mov r8d, esi
mov dword [rsp + 0x20], 1
call fcn.14001882c
mov rbx, rax
test rax, rax
je 0x140057be5
mov rcx, qword [rax]
mov esi, 1
or dword [rax + 0x28], 8
mov r9, r14
mov qword [rsp + 0x20], rcx
mov r8d, r13d
mov rcx, qword [rbp - 0x60]
mov edx, r15d
mov byte [rax + 0x25], sil
mov dword [rax + 0x2c], r15d
call fcn.140035844
mov rcx, qword [rbx]
mov qword [rbx + 0x10], r14
movzx edx, byte [r12 + rdi*8 + 3]
and edx, esi
mov dword [rsp + 0x40], eax
call fcn.1400358b0
mov al, byte [r12 + rdi*8 + 1]
lea r10d, [rsi + 3]
sub al, 0xfa
neg al
mov eax, dword [rbx + 0x28]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r10d
or ecx, eax
mov dword [rbx + 0x28], ecx
jmp 0x140054913
movsxd rbx, dword [r12 + rdi*8 + 4]
movsxd rax, dword [r12 + rdi*8 + 0xc]
shl rbx, 5
add rbx, qword [rsi + 0x20]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x70]
mov rcx, rsi
call fcn.14005942c
mov r8d, dword [rsi]
mov edx, dword [r12 + rdi*8 + 8]
mov rcx, qword [rbx + 8]
call fcn.1400376c8
cmp dword [r12 + rdi*8 + 8], 1
mov r15d, eax
mov dword [rsp + 0x40], eax
jne 0x140054ea2
mov eax, dword [rsi]
mov rcx, qword [rbx + 0x18]
mov rsi, qword [rsp + 0x58]
mov dword [rcx], eax
mov eax, 2
or dword [rsi + 0x2c], eax
jmp 0x140054ebc
mov eax, 2
cmp dword [r12 + rdi*8 + 8], eax
jne 0x140054eb7
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi]
mov byte [rcx + 0x70], al
mov rsi, qword [rsp + 0x58]
cmp dword [r12 + rdi*8 + 4], 1
jne 0x1400531db
mov rcx, rsi
call fcn.14003b758
and dword [r13 + 0x8c], 0xffffffdf
jmp 0x1400531db
movsxd rax, dword [r12 + rdi*8 + 4]
lea r8, [rbp + 0x28]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r12 + rdi*8 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140035d68
movsxd rax, dword [rbp + 0x28]
mov qword [rbx], rax
jmp 0x140053296
mov rax, qword [r13 + 0x60]
lea rdx, [rbp - 0x70]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov qword [rbp - 0x70], rax
mov rcx, qword [rcx]
call fcn.1400356ec
mov dword [rsp + 0x40], eax
mov rax, qword [rbp - 0x70]
jmp 0x140054f01
mov r8d, dword [r12 + rdi*8 + 8]
or r9d, 0xffffffff
mov edx, dword [r12 + rdi*8 + 4]
mov rcx, r13
mov dword [rsp + 0x20], 1
call fcn.14001882c
test rax, rax
je 0x140057bf9
mov rcx, qword [r12 + rdi*8 + 0x10]
mov r8, rax
mov qword [rax + 0x10], rcx
mov rcx, rsi
mov edx, dword [r12 + rdi*8 + 0xc]
call fcn.14005a72c
jmp 0x140053b24
cmp r9d, 0x44
ja 0x14005531f
je 0x140054fd7
mov ecx, r9d
sub ecx, 0x3b
je 0x1400552f3
sub ecx, 1
je 0x1400552ae
sub ecx, 1
je 0x140055285
sub ecx, 1
je 0x140055099
sub ecx, 1
je 0x140055099
sub ecx, 1
je 0x140055099
sub ecx, 1
je 0x140055099
sub ecx, 1
je 0x140055067
cmp ecx, 1
jne 0x140052fac
mov rax, qword [r13 + 0x60]
xor r14d, r14d
movsxd rcx, dword [r12 + rdi*8 + 4]
mov r13d, r14d
mov qword [rbp - 0x70], r14
mov r15, qword [rax + rcx*8]
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rbx, rax, 0x38
mov rcx, qword [r15 + 0x10]
add rbx, qword [rsp + 0x70]
cmp dword [r12 + rdi*8 + 0x10], r14d
jle 0x1400556aa
mov qword [rbp + 0x68], rcx
mov esi, r14d
movzx ecx, word [r12 + rdi*8 + 0x10]
mov word [rbp + 0x70], cx
mov qword [rbp + 0x78], rbx
cmp r14w, cx
jae 0x14005505e
test word [rbx + r14 + 8], dx
je 0x14005504a
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, rbx
call fcn.14005906c
movzx ecx, word [rbp + 0x70]
mov edx, 0x4000
mov rbx, qword [rbp + 0x78]
inc esi
movzx eax, cx
add r14, 0x38
cmp esi, eax
jl 0x140055026
mov r12, qword [rbp - 0x38]
xor r14d, r14d
lea rsi, [rbp + 0x68]
jmp 0x1400556e3
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov byte [rbx + 0x25], al
movsxd rax, dword [r12 + rdi*8 + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
call fcn.1400586d4
mov qword [rbx + 0x40], rax
mov byte [rbx + 0x26], 1
jmp 0x140053710
movsxd rcx, dword [r12 + rdi*8 + 4]
xor ebx, ebx
mov rax, qword [r13 + 0x60]
mov esi, r9d
mov r14, qword [rax + rcx*8]
mov byte [r14 + 0x25], bl
test byte [r14 + 0x28], r10b
je 0x14005515f
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov al, byte [rbx + 8]
and al, 0xe
cmp al, r11b
jne 0x1400550db
xor edx, edx
mov rcx, rbx
call fcn.140019900
mov rcx, rbx
call fcn.1400586d4
mov r10d, 4
mov r15, rax
test byte [rbx + 8], r10b
jne 0x14005513e
lea r8d, [r10 + 4]
test byte [rbx + 8], r8b
jne 0x14005510c
mov esi, dword [r12 + rdi*8 + 8]
dec esi
mov dword [rsp + 0x44], esi
jmp 0x140054ca4
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
comisd xmm0, xmm1
jbe 0x14005512c
mov eax, 1
test al, sil
je 0x14005513e
sub esi, eax
jmp 0x14005513e
comisd xmm1, xmm0
jbe 0x14005513e
mov eax, 1
test al, sil
jne 0x14005513e
add esi, eax
mov rcx, qword [r14]
lea rax, [rbp - 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
call fcn.1400365e8
xor ebx, ebx
mov qword [r14 + 0x40], r15
jmp 0x1400551cf
mov rax, qword [r14 + 0x10]
mov r9d, 1
mov ecx, dword [r12 + rdi*8 + 0x10]
mov word [rbp + 0x90], cx
mov qword [rbp + 0x88], rax
mov eax, esi
and al, r9b
neg al
sbb cl, cl
and cl, 0xfe
add cl, r9b
mov byte [rbp + 0x92], cl
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
mov qword [rbp + 0x98], rcx
test word [rcx + 8], dx
je 0x1400551b1
call fcn.14005906c
mov rcx, qword [r14]
lea rax, [rbp - 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x88]
call fcn.1400365e8
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057ac5
mov eax, 0x40
mov byte [r14 + 0x26], bl
cmp esi, eax
mov dword [r14 + 0x50], ebx
mov eax, dword [rbp - 0x74]
jl 0x140055213
test eax, eax
js 0x140055202
jne 0x1400551fa
cmp esi, 0x41
je 0x140055202
mov dword [rbp - 0x74], ebx
jmp 0x14005436a
mov dword [rbp - 0x74], ebx
lea rdx, [rbp - 0x74]
mov rcx, qword [r14]
call fcn.1400369c4
jmp 0x140055242
test eax, eax
jg 0x140055233
jne 0x14005521e
cmp esi, 0x3e
je 0x140055233
mov rcx, qword [r14]
call fcn.1400358a4
mov r15d, dword [rsp + 0x40]
xor r14d, r14d
mov dword [rbp - 0x74], eax
jmp 0x140055254
mov dword [rbp - 0x74], ebx
lea rdx, [rbp - 0x74]
mov rcx, qword [r14]
call fcn.140036fb0
xor r14d, r14d
mov dword [rsp + 0x40], eax
mov r15d, eax
test eax, eax
jne 0x140057af5
cmp dword [rbp - 0x74], r14d
mov r10d, 4
mov r14, qword [rsp + 0x50]
mov r8d, 8
mov rbx, qword [rsp + 0x68]
je 0x14005527b
mov esi, dword [r12 + rdi*8 + 8]
dec esi
mov dword [rsp + 0x44], esi
mov rsi, qword [rsp + 0x58]
jmp 0x1400531f1
movsxd rax, dword [r12 + rdi*8 + 4]
mov rcx, r13
mov rdx, qword [r13 + 0x60]
mov rdx, qword [rdx + rax*8]
call fcn.1400580e4
movsxd rcx, dword [r12 + rdi*8 + 4]
xor edx, edx
mov rax, qword [r13 + 0x60]
mov qword [rax + rcx*8], rdx
jmp 0x140053296
mov r8d, dword [r12 + rdi*8 + 0xc]
xor r14d, r14d
mov edx, dword [r12 + rdi*8 + 4]
or r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], r14d
call fcn.14001882c
test rax, rax
je 0x140057bf9
mov byte [rax + 0x25], 1
lea r10d, [r14 + 4]
mov ecx, dword [r12 + rdi*8 + 8]
or dword [rax + 0x28], r10d
mov dword [rax + 0x1c], ecx
mov r15d, dword [rsp + 0x40]
jmp 0x1400531e6
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 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 + 0x50]
jne 0x140053d5e
jmp 0x14005481e
mov ecx, r9d
sub ecx, 0x45
je 0x140054fd7
sub ecx, 1
je 0x14005563b
sub ecx, 1
je 0x140055551
sub ecx, 1
je 0x140055551
sub ecx, 1
je 0x140055527
sub ecx, 1
je 0x140055384
sub ecx, 1
je 0x140055899
cmp ecx, 1
jne 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
mov r15d, 1
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
test byte [rcx + rax + 8], r15b
jmp 0x1400547e9
movsxd rcx, dword [r12 + rdi*8 + 4]
xor r14d, r14d
mov rax, qword [r13 + 0x60]
mov ebx, r14d
mov qword [rsp + 0x78], rbx
mov dword [rbp - 0x78], r14d
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi]
test rcx, rcx
je 0x14005550d
test byte [rsi + 0x28], r11b
jne 0x1400553d9
lea rdx, [rbp - 0x78]
call fcn.140036458
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057af5
cmp dword [rbp - 0x78], r14d
je 0x140055402
lea ebx, [rax + 1]
mov qword [rsp + 0x78], rbx
lea r11d, [r14 + 2]
movabs r15, 0x7fffffffffffffff
movsxd rax, dword [r12 + rdi*8 + 0xc]
test eax, eax
je 0x14005548f
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x140055458
mov rax, qword [rcx + 8]
jmp 0x140055444
mov rcx, qword [rsi]
lea rdx, [rsp + 0x78]
call fcn.14003642c
mov rbx, qword [rsp + 0x78]
movabs r15, 0x7fffffffffffffff
mov dword [rsp + 0x40], eax
mov r11d, 2
cmp rbx, r15
jl 0x140055433
or dword [rsi + 0x28], r11d
jmp 0x1400553e3
inc rbx
mov qword [rsp + 0x78], rbx
jmp 0x1400553e3
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14005543d
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x140055461
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14005942c
mov rax, qword [rdi]
cmp rax, r15
je 0x1400554ef
mov r11d, 2
test byte [rsi + 0x28], r11b
jne 0x1400554ef
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rsp + 0x78], rbx
mov qword [rdi], rbx
test byte [rsi + 0x28], r11b
je 0x1400554ff
mov edi, r14d
lea rdx, [rsp + 0x78]
mov ecx, 8
call fcn.140015c8c
mov rbx, qword [rsp + 0x78]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi]
and rbx, rax
inc rbx
lea rax, [rbp - 0x78]
mov r8, rbx
mov qword [rsp + 0x78], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.1400365e8
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x1400554ff
cmp dword [rbp - 0x78], r14d
jne 0x1400554ff
inc edi
cmp edi, 0x64
jl 0x140055498
mov rsi, qword [rsp + 0x58]
mov r12d, 0xd
jmp 0x140057ad2
mov byte [rsi + 0x26], r14b
mov r10d, 4
mov dword [rsi + 0x50], r14d
mov rcx, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov qword [rcx], rbx
mov rbx, rcx
jmp 0x1400531e6
mov rax, qword [r13 + 0x60]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [rbx], rax
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 0x60]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x38]
jmp 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
mov r15d, 1
mov r9, qword [rsp + 0x70]
imul rcx, rax, 0x38
add rcx, r9
test byte [rcx + 8], r15b
je 0x140055576
mov rbx, r11
xor r14d, r14d
jmp 0x140055590
call fcn.1400586d4
mov r9, qword [rsp + 0x70]
xor r14d, r14d
test rax, rax
mov ebx, r14d
setne bl
lea r11d, [r14 + 2]
movsxd rax, dword [r12 + rdi*8 + 8]
imul rcx, rax, 0x38
add rcx, r9
test byte [rcx + 8], r15b
je 0x1400555a7
mov rcx, r11
jmp 0x1400555c0
call fcn.1400586d4
mov r9, qword [rsp + 0x70]
test rax, rax
mov rcx, r14
mov r11d, 2
setne cl
lea r8, [rcx + rbx*2]
add r8, rbx
lea rax, [0x140000000]
cmp byte [r12 + rdi*8], 0x48
jne 0x1400555df
mov r8b, byte [r8 + rax + 0x9a730]
jmp 0x1400555e7
mov r8b, byte [r8 + rax + 0x9a740]
movsxd rax, dword [r12 + rdi*8 + 0xc]
mov r10d, 4
imul r14, rax, 0x38
add r14, r9
mov qword [rsp + 0x68], r14
movzx ecx, word [r14 + 8]
cmp r8b, r11b
jne 0x140055616
mov eax, 0xbe01
and cx, ax
or cx, r15w
jmp 0x140055629
movzx eax, r8b
mov qword [r14], rax
mov eax, 0xbe04
and cx, ax
or cx, r10w
mov word [r14 + 8], cx
mov r15d, dword [rsp + 0x40]
mov rbx, r14
jmp 0x1400531e6
movsxd rcx, dword [r12 + rdi*8 + 4]
xor r14d, r14d
mov rax, qword [r13 + 0x60]
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x78], r14d
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
mov rbx, qword [rcx + rax]
lea rax, [rsp + 0x78]
mov rcx, qword [rsi]
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.1400365e8
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x78]
mov qword [rsi + 0x40], rbx
mov word [rsi + 0x25], r14w
mov dword [rsi + 0x50], r14d
test eax, eax
je 0x1400556a2
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
mov dword [rsp + 0x44], r15d
mov dword [rsi + 0x18], eax
jmp 0x14005436a
lea r9, [rbp - 0x70]
mov r8d, 0x107
lea rdx, [rbp + 0xf0]
call fcn.140052684
mov rsi, rax
test rax, rax
je 0x140057be5
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r15 + 0x10]
call fcn.140059fa4
mov r13, qword [rbp - 0x70]
mov byte [rsi + 0xa], r14b
cmp byte [r12 + rdi*8], 0x43
jne 0x140055727
movzx edx, word [rbp + 0x70]
mov rcx, r14
test rdx, rdx
je 0x140055727
mov rax, qword [rbp + 0x78]
mov r8d, 1
add rax, 8
test byte [rax], r8b
jne 0x14005571b
add rcx, r8
add rax, 0x38
cmp rcx, rdx
jl 0x140055708
jmp 0x140055727
mov eax, dword [r12 + rdi*8 + 8]
sub eax, r8d
mov dword [rsp + 0x44], eax
mov rcx, qword [r15]
lea rax, [rbp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.1400365e8
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x40], eax
cmp dword [r12 + rdi*8 + 0x10], r14d
jne 0x14005575c
mov rdx, r13
mov rcx, rsi
call fcn.140039b7c
cmp dword [rsp + 0x40], r14d
jne 0x140057809
mov eax, dword [rbp + 0x20]
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 [r12 + rdi*8], 0x45
jne 0x14005579c
test ecx, ecx
je 0x1400557a0
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
jmp 0x1400557a5
test ecx, ecx
je 0x140055792
mov r15d, dword [rsp + 0x44]
mov r13, qword [rbp - 0x80]
inc r15d
jmp 0x140053374
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x50]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
test byte [rcx + rax + 8], 1
jne 0x140053d5e
mov r15d, dword [r15 + 8]
jmp 0x140054823
cmp r9d, 0x74
ja 0x1400568f8
je 0x140056641
cmp r9d, 0x61
ja 0x1400562b1
je 0x1400561e3
cmp r9d, 0x57
ja 0x140055c0c
je 0x140055850
mov ecx, r9d
sub ecx, 0x4e
je 0x1400559c7
sub ecx, 1
je 0x1400559c7
sub ecx, 1
je 0x1400559c7
sub ecx, 1
je 0x1400559c7
sub ecx, 1
je 0x1400559c7
sub ecx, 1
je 0x1400559c7
sub ecx, 1
je 0x140055899
sub ecx, 1
je 0x140055850
cmp ecx, 1
jne 0x140052fac
mov rdx, qword [rsp + 0x70]
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 0xc]
add rbx, rdx
imul r14, rax, 0x38
add rcx, rdx
add r14, rdx
mov qword [rsp + 0x68], r14
mov al, byte [rcx + 8]
or al, byte [rbx + 8]
test al, 1
je 0x1400560d7
mov rcx, r14
call fcn.140059648
jmp 0x1400538b3
movsxd rax, dword [r12 + rdi*8 + 8]
mov r8, qword [rsp + 0x70]
movsxd rcx, dword [r12 + rdi*8 + 4]
movsxd rbx, dword [r12 + rdi*8 + 0xc]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x60]
add rdx, r8
mov rsi, qword [rax + rcx*8]
cmp r9b, 0x4b
jne 0x1400558ca
imul rax, rbx, 0x38
mov rbx, qword [rax + r8]
mov r9d, 1
test byte [r12 + rdi*8 + 3], r9b
je 0x1400558de
add dword [r13 + 0x90], r9d
mov r14, qword [rsp + 0x58]
test byte [r12 + rdi*8 + 3], r11b
je 0x1400558f3
mov qword [rsp + 0x50], rbx
mov qword [r14 + 0x30], rbx
xor ecx, ecx
test byte [rdx + 8], r9b
je 0x140055902
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0xc], ecx
movzx eax, byte [r12 + rdi*8 + 3]
mov r8d, 0x10
test r8b, al
je 0x140055919
mov r8d, dword [rsi + 0x18]
jmp 0x14005591c
mov r8d, ecx
mov r10d, 0x4000
test word [rdx + 8], r10w
je 0x14005592b
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 [rsi]
mov dword [rsp + 0x20], eax
call fcn.140035efc
mov r15d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov byte [rsi + 0x26], al
mov dword [rsi + 0x50], eax
test r15d, r15d
jne 0x140053b0e
mov r10, qword [r14 + 0x108]
test r10, r10
je 0x140053b0e
mov r9, qword [r12 + rdi*8 + 0x10]
test r9, r9
je 0x140053b0e
movsx rcx, byte [rsi + 0x24]
mov rsi, qword [rsp + 0x58]
mov al, byte [r12 + rdi*8 + 3]
shl rcx, 5
and al, 4
neg al
mov qword [rsp + 0x20], rbx
mov r8, qword [rsi + 0x20]
sbb edx, edx
and edx, 5
add edx, 0x12
mov r8, qword [rcx + r8]
mov rcx, qword [rsi + 0x100]
call r10
jmp 0x14005336c
movsxd rax, dword [r12 + rdi*8 + 4]
mov r9, qword [rsp + 0x70]
imul rsi, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rbx, rax, 0x38
add rsi, r9
add rbx, r9
movzx r14d, word [rsi + 8]
movzx r15d, word [rbx + 8]
mov al, r15b
or al, r14b
test al, 1
mov al, byte [r12 + rdi*8 + 3]
je 0x140055a76
xor r8d, r8d
test al, al
jns 0x140055a2d
movzx eax, r15w
and ax, r14w
bt ax, r8w
jae 0x140055a23
bt r15w, 8
jb 0x140055a23
mov edx, r8d
jmp 0x140055b51
mov edx, 1
jmp 0x140055b51
test al, 0x20
je 0x140055a65
movsxd rax, dword [r12 + rdi*8 + 8]
mov ecx, 0xbe01
imul rbx, rax, 0x38
add rbx, r9
mov qword [rsp + 0x68], rbx
movzx eax, word [rbx + 8]
and ax, cx
or ax, 1
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov word [rbx + 8], ax
jmp 0x1400531e6
mov r15d, dword [rsp + 0x40]
mov ecx, 0x10
test cl, al
jmp 0x14005525e
and al, 0x47
cmp al, 0x43
jb 0x140055aac
mov al, r14b
and al, 0xe
cmp al, r11b
jne 0x140055a96
xor edx, edx
mov rcx, rsi
call fcn.140019900
mov r11d, 2
mov al, byte [rbx + 8]
and al, 0xe
cmp al, r11b
jne 0x140055aeb
xor edx, edx
mov rcx, rbx
call fcn.140019900
jmp 0x140055aeb
cmp al, 0x42
jne 0x140055aeb
test r11b, r14b
jne 0x140055ad0
test r14b, 0xc
je 0x140055ad0
mov dl, byte [rsp + 0x60]
mov r8b, 1
mov rcx, rsi
call fcn.140059928
mov r11d, 2
test byte [rbx + 8], r11b
jne 0x140055aeb
test byte [rbx + 8], 0xc
je 0x140055aeb
mov dl, byte [rsp + 0x60]
mov r8b, 1
mov rcx, rbx
call fcn.140059928
mov eax, 0x4000
test word [rsi + 8], ax
je 0x140055b0c
mov rcx, rsi
call fcn.14005906c
mov eax, 0xbfff
and r14w, ax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140055b23
mov rcx, rbx
call fcn.14005906c
mov eax, 0xbfff
and r15w, ax
mov rax, qword [rsp + 0x58]
xor ecx, ecx
cmp byte [rax + 0x50], cl
jne 0x140057bf6
mov r8, qword [r12 + rdi*8 + 0x10]
mov rdx, rsi
mov rcx, rbx
call fcn.140044d38
mov r9, qword [rsp + 0x70]
xor r8d, r8d
mov edx, eax
lea r10d, [r8 + 4]
movzx eax, byte [r12 + rdi*8]
sub eax, 0x4e
je 0x140055b94
sub eax, 1
je 0x140055b8a
sub eax, 1
je 0x140055b80
sub eax, 1
je 0x140055b76
cmp eax, 1
je 0x140055b71
not edx
shr edx, 0x1f
jmp 0x140055b9e
test edx, edx
mov eax, r8d
setle al
jmp 0x140055b9c
test edx, edx
mov eax, r8d
setg al
jmp 0x140055b9c
test edx, edx
mov eax, r8d
sete al
jmp 0x140055b9c
test edx, edx
mov eax, r8d
setne al
mov edx, eax
test byte [r12 + rdi*8 + 3], 0x20
je 0x140055bff
movsxd rax, dword [r12 + rdi*8 + 8]
mov r8d, 0xbe04
imul rcx, rax, 0x38
add rcx, r9
mov qword [rsp + 0x68], rcx
movzx eax, word [rcx + 8]
and ax, r8w
or ax, r10w
mov word [rcx + 8], ax
mov eax, edx
mov qword [rcx], rax
mov eax, dword [rsp + 0x44]
mov word [rsi + 8], r14w
mov r8d, 8
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov word [rbx + 8], r15w
mov r15d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
jmp 0x1400531f5
test edx, edx
je 0x140055bd2
mov eax, dword [r12 + rdi*8 + 8]
dec eax
jmp 0x140055bd6
sub r9d, 0x58
je 0x140055850
sub r9d, 1
je 0x140055ebf
sub r9d, 1
je 0x140055ebf
sub r9d, 1
je 0x140055ebf
sub r9d, 1
je 0x140055ebf
sub r9d, 1
je 0x140055ebf
sub r9d, 1
je 0x140055d4b
sub r9d, 1
je 0x140055caf
cmp r9d, 1
jne 0x140052fac
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
add rbx, qword [rsp + 0x70]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
mov rcx, r14
mov qword [rsp + 0x68], r14
call fcn.140059648
test byte [rbx + 8], 1
jne 0x1400538b3
mov rcx, rbx
mov word [r14 + 8], 4
call fcn.1400586d4
not rax
mov qword [r14], rax
jmp 0x1400538b3
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.1400359b0
mov r15d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rbx + 0x50], eax
test r15d, r15d
jne 0x140055d1b
mov r10, qword [rsi + 0x108]
test r10, r10
je 0x140055d1b
mov r9, qword [r12 + rdi*8 + 0x10]
test r9, r9
je 0x140055d1b
lea edx, [rax + 4]
test byte [rbx + 0x28], dl
je 0x140055d1b
movsx rcx, byte [rbx + 0x24]
lea edx, [r15 + 9]
mov r8, qword [rsi + 0x20]
mov rax, qword [rbx + 0x40]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [rsi + 0x100]
call r10
test byte [r12 + rdi*8 + 8], 1
mov r10d, 4
mov eax, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x50]
lea r8d, [r10 + 4]
je 0x1400531f5
inc dword [r13 + 0x90]
jmp 0x1400531f5
mov rcx, qword [rsp + 0x70]
movsxd rax, dword [r12 + rdi*8 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 0xc]
add rsi, rcx
imul r14, rax, 0x38
mov al, byte [rsi + 8]
add rbx, rcx
add r14, rcx
mov qword [rsp + 0x68], r14
or al, byte [rbx + 8]
test al, 1
je 0x140055d90
mov rcx, r14
call fcn.140059648
jmp 0x140053bf5
test word [rsi + 8], dx
je 0x140055dab
mov rcx, rsi
call fcn.14005906c
test eax, eax
jne 0x140057be9
mov edx, 0x4000
test word [rbx + 8], dx
je 0x140055dc1
mov rcx, rbx
call fcn.14005906c
test eax, eax
jne 0x140057be9
mov dil, byte [rsp + 0x60]
mov r15d, 0x12
test byte [rsi + 8], r15b
jne 0x140055de8
xor r8d, r8d
mov dl, dil
mov rcx, rsi
call fcn.140059928
test eax, eax
jne 0x140057be9
test byte [rbx + 8], r15b
jne 0x140055e04
xor r8d, r8d
mov dl, dil
mov rcx, rbx
call fcn.140059928
test eax, eax
jne 0x140057be9
mov rax, qword [rsp + 0x58]
mov edi, dword [rsi + 0xc]
add edi, dword [rbx + 0xc]
movsxd r14, edi
movsxd rax, dword [rax + 0x68]
cmp r14, rax
jg 0x140057b6c
mov r15, qword [rsp + 0x68]
lea edx, [rdi + 2]
xor eax, eax
mov rcx, r15
mov r8d, eax
cmp r15, rbx
sete r8b
call fcn.140059260
test eax, eax
jne 0x140057be9
movzx eax, word [r15 + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [r15 + 8], ax
cmp r15, rbx
je 0x140055e6f
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [r15 + 0x10]
call fcn.140094c70
movsxd rcx, dword [rbx + 0xc]
mov rbx, r15
add rcx, qword [r15 + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.140094c70
mov rax, qword [r15 + 0x10]
xor ecx, ecx
mov byte [r14 + rax], cl
mov rax, qword [r15 + 0x10]
mov byte [rax + r14 + 1], cl
mov eax, 0x200
or word [r15 + 8], ax
mov al, byte [rsp + 0x60]
mov byte [r15 + 0xa], al
mov dword [r15 + 0xc], edi
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
jmp 0x1400531e0
movsxd rax, dword [r12 + rdi*8 + 4]
mov r15, qword [rsp + 0x70]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.14002a644
movsxd rcx, dword [r12 + rdi*8 + 8]
movzx r13d, ax
imul rsi, rcx, 0x38
add rsi, r15
mov rcx, rsi
call fcn.14002a644
movsxd rcx, dword [r12 + rdi*8 + 0xc]
movzx r14d, ax
imul rax, rcx, 0x38
mov cl, byte [rsi + 8]
or cl, byte [rbx + 8]
add rax, r15
mov qword [rsp + 0x68], rax
mov eax, 1
test al, cl
jne 0x1400560c8
mov cl, r14b
lea r10d, [rax + 3]
and cl, r13b
test r10b, cl
je 0x140055ff2
movzx edx, byte [r12 + rdi*8]
mov r15b, al
mov r8, qword [rsi]
mov rcx, qword [rbx]
mov qword [rsp + 0x78], r8
sub edx, 0x59
je 0x140055fbb
sub edx, eax
je 0x140055fac
sub edx, eax
je 0x140055f95
cmp edx, eax
je 0x140055f6d
test rcx, rcx
je 0x1400560c8
cmp rcx, 0xffffffffffffffff
cmove rcx, rax
mov rax, r8
cqo
idiv rcx
mov rax, rdx
jmp 0x140055fd1
test rcx, rcx
je 0x1400560c8
cmp rcx, 0xffffffffffffffff
jne 0x140055f8b
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140055ff7
mov rax, r8
cqo
idiv rcx
jmp 0x140055fd1
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.140044fc8
test eax, eax
jne 0x140055ff7
lea r10d, [rax + 4]
jmp 0x140055fcc
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.14004f660
jmp 0x140055fc8
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.1400325b0
test eax, eax
jne 0x140055ff7
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x68]
mov ecx, 0xbe04
mov r13, qword [rbp - 0x80]
mov qword [rbx], rax
movzx eax, word [rbx + 8]
and ax, cx
or ax, r10w
jmp 0x140055a52
xor eax, eax
mov r15b, al
mov rcx, rbx
call fcn.140059f4c
mov rcx, rsi
movaps xmm2, xmm0
call fcn.140059f4c
movzx ecx, byte [r12 + rdi*8]
movaps xmm3, xmm0
sub ecx, 0x59
je 0x14005606f
sub ecx, 1
je 0x140056069
sub ecx, 1
je 0x140056063
cmp ecx, 1
je 0x140056055
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm0
test rcx, rcx
je 0x1400560c8
cmp rcx, 0xffffffffffffffff
mov edx, 1
xorps xmm3, xmm3
cmove rcx, rdx
cqo
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x140056073
ucomisd xmm2, xmm6
jp 0x14005605d
je 0x1400560c8
divsd xmm3, xmm2
jmp 0x140056073
mulsd xmm3, xmm2
jmp 0x140056073
subsd xmm3, xmm2
jmp 0x140056073
addsd xmm3, xmm2
movaps xmm0, xmm3
call fcn.1400439b8
test eax, eax
jne 0x1400560c8
mov rbx, qword [rsp + 0x68]
mov r8d, 8
mov ecx, 0xbe08
or r14b, r13b
movzx eax, word [rbx + 8]
and ax, cx
movsd qword [rbx], xmm3
or ax, r8w
mov word [rbx + 8], ax
test r8b, r14b
jne 0x1400577f0
test r15b, r15b
jne 0x1400577f0
mov rcx, rbx
call fcn.140058724
mov r13, qword [rbp - 0x80]
jmp 0x140055eb0
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.140059648
jmp 0x1400560bf
call fcn.1400586d4
mov rcx, rbx
mov qword [rbp - 0x58], rax
call fcn.1400586d4
mov dil, byte [r12 + rdi*8]
mov rbx, rax
cmp dil, 0x55
jne 0x1400560fe
and qword [rbp - 0x58], rax
jmp 0x1400561bb
cmp dil, 0x56
jne 0x14005610d
or qword [rbp - 0x58], rbx
jmp 0x1400561bb
xor r15d, r15d
test rbx, rbx
je 0x1400561bb
jns 0x14005613b
mov rcx, rbx
mov eax, 0xaf
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r15 + 0x40]
cmovg rbx, rcx
mov eax, 0x40
cmp rbx, rax
jl 0x140056160
cmp qword [rbp - 0x58], r15
jge 0x140056157
cmp dil, 0x57
je 0x140056157
or rax, 0xffffffffffffffff
jmp 0x14005615a
mov rax, r15
mov qword [rbp - 0x58], rax
jmp 0x1400561bb
mov r8d, 8
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 8]
call fcn.140094c70
mov rcx, rbx
cmp dil, 0x57
jne 0x140056182
shl qword [rbp + 8], cl
jmp 0x1400561a8
mov rdx, qword [rbp + 8]
shr rdx, cl
mov qword [rbp + 8], rdx
cmp qword [rbp - 0x58], r15
jge 0x1400561a8
or rax, 0xffffffffffffffff
mov ecx, 0x40
sub cl, bl
shl rax, cl
or rax, rdx
mov qword [rbp + 8], rax
mov r8d, 8
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x58]
call fcn.140094c70
mov rax, qword [rbp - 0x58]
mov ecx, 0xbe04
mov qword [r14], rax
mov r10d, 4
movzx eax, word [r14 + 8]
and ax, cx
or ax, r10w
mov word [r14 + 8], ax
jmp 0x14005562e
mov rcx, qword [r12 + rdi*8 + 0x10]
mov byte [r12 + rdi*8], 0x1b
call fcn.14004f640
movzx r14d, byte [rsp + 0x60]
mov r9d, 1
mov dword [r12 + rdi*8 + 4], eax
cmp r14b, r9b
je 0x140056281
mov rdx, rcx
xor r15d, r15d
mov rcx, rbx
mov qword [rsp + 0x20], r15
or r8d, 0xffffffff
call fcn.1400596cc
lea ecx, [r15 + 0x12]
mov dword [rsp + 0x40], eax
cmp eax, ecx
je 0x140057b71
mov edx, r14d
mov rcx, rbx
call fcn.1400526f4
test eax, eax
jne 0x140057bf9
mov eax, 0x800
mov dword [rbx + 0x20], r15d
or word [rbx + 8], ax
cmp byte [r12 + rdi*8 + 1], 0xff
jne 0x140056264
mov rdx, qword [r12 + rdi*8 + 0x10]
mov rcx, rsi
call fcn.140039b7c
mov byte [r12 + rdi*8 + 1], 0xff
mov r10d, 4
mov rax, qword [rbx + 0x10]
mov qword [r12 + rdi*8 + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [r12 + rdi*8 + 4], eax
cmp eax, dword [rsi + 0x68]
jg 0x140057b71
jmp 0x140056291
mov r14b, byte [rsp + 0x60]
mov word [rbx + 8], 0xa02
mov rax, qword [r12 + rdi*8 + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + rdi*8 + 4]
mov dword [rbx + 0xc], eax
mov byte [rbx + 0xa], r14b
jmp 0x1400552e9
cmp r9d, 0x6b
ja 0x1400565fe
je 0x140056313
sub r9d, 0x62
je 0x1400565e1
sub r9d, 1
je 0x140056584
sub r9d, 1
je 0x140056541
sub r9d, 1
je 0x14005646e
sub r9d, 1
je 0x14005646e
sub r9d, 1
je 0x1400563b8
sub r9d, 1
je 0x14005638c
sub r9d, 1
je 0x140056325
cmp r9d, 1
jne 0x140052fac
mov r15d, 1
add dword [r13 + 0xa8], r15d
jmp 0x140056885
movsxd rcx, dword [r12 + rdi*8 + 4]
lea rdx, [rsp + 0x78]
mov rax, qword [r13 + 0x60]
xor r14d, r14d
mov dword [rsp + 0x78], r14d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.140036458
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x78]
mov byte [rbx + 0x25], al
mov byte [rbx + 0x26], r14b
mov dword [rbx + 0x50], r14d
mov ecx, dword [r12 + rdi*8 + 8]
test ecx, ecx
jle 0x140053710
mov rbx, qword [rsp + 0x68]
mov r10d, 4
mov r14, qword [rsp + 0x50]
lea r8d, [r10 + 4]
test eax, eax
je 0x140053d5e
lea r15d, [rcx - 1]
jmp 0x140053d59
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 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 0x140052fac
call fcn.14003523c
jmp 0x140053296
movsxd rcx, dword [r12 + rdi*8 + 4]
xor r15d, r15d
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 0x25], r15b
je 0x1400563de
mov rbx, qword [rsp + 0x68]
mov word [rbx + 8], 1
jmp 0x140052fac
cmp byte [rbx + 0x26], r15b
je 0x1400563ee
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x38], rax
jmp 0x14005645d
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140056415
mov rbx, qword [rcx]
lea rdx, [rbp + 0x38]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x40], eax
call fcn.14005b6b4
jmp 0x140056457
mov rcx, rbx
call fcn.140052bc8
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057aca
cmp byte [rbx + 0x25], r15b
je 0x140056447
mov rbx, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x44]
inc r15d
mov word [rbx + 8], 1
jmp 0x140053379
mov rcx, qword [rbx]
lea rdx, [rbp + 0x38]
call fcn.14003642c
mov dword [rsp + 0x40], eax
mov r10d, 4
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbp + 0x38]
mov qword [rbx], rax
jmp 0x1400552e9
movsxd rax, dword [r12 + rdi*8 + 8]
movsxd rcx, dword [r12 + rdi*8 + 4]
imul r14, rax, 0x38
mov rax, qword [r13 + 0x60]
add r14, qword [rsp + 0x70]
mov qword [rsp + 0x68], r14
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi]
mov rcx, rdi
test byte [rsi + 0x28], r10b
jne 0x1400564be
lea rdx, [rbp + 0x58]
call fcn.14003642c
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rbp + 0x58]
movsxd rax, dword [rcx + 0x68]
cmp rbx, rax
jg 0x140057b9e
mov dword [rbp + 0x14], ebx
jmp 0x1400564d8
lea rdx, [rbp + 0x14]
call fcn.140035988
mov rax, qword [rsp + 0x58]
mov ebx, dword [rbp + 0x14]
cmp ebx, dword [rax + 0x68]
ja 0x140057b99
mov edx, 0x20
mov rcx, r14
cmp ebx, edx
cmova edx, ebx
call fcn.140058fc8
test eax, eax
jne 0x140057be9
movzx eax, word [r14 + 8]
mov ecx, 0xbe10
mov r9, qword [r14 + 0x10]
and ax, cx
or ax, 0x10
mov dword [r14 + 0xc], ebx
mov edx, 4
mov word [r14 + 8], ax
mov r8d, ebx
mov rcx, rdi
test byte [rsi + 0x28], dl
jne 0x140056529
xor edx, edx
call fcn.140036418
jmp 0x140056530
xor edx, edx
call fcn.14003591c
mov dword [rsp + 0x40], eax
mov r15d, eax
mov byte [r14 + 0xa], 1
jmp 0x140053bfa
movsxd rax, dword [r12 + rdi*8 + 8]
movsxd rcx, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
mov rax, qword [r13 + 0x60]
add rbx, qword [rsp + 0x70]
mov rdx, rbx
mov qword [rsp + 0x68], rbx
mov rcx, qword [rax + rcx*8]
call fcn.14005aa3c
movsxd rcx, dword [r12 + rdi*8 + 0xc]
mov dword [rsp + 0x40], eax
mov rax, qword [r13 + 0x60]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov dword [rcx + 0x50], eax
jmp 0x140053296
mov rax, qword [r13 + 0x60]
lea r9, [rsp + 0x78]
movsxd rcx, dword [r12 + rdi*8 + 4]
xor r14d, r14d
mov r8d, dword [r12 + rdi*8 + 0x10]
mov dword [rsp + 0x78], r14d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x70]
call fcn.14005a668
cmp dword [rsp + 0x78], r14d
lea r10d, [r14 + 4]
lea r8d, [r14 + 8]
mov dword [rsp + 0x40], eax
mov r14, qword [rsp + 0x50]
mov r15d, eax
je 0x1400531f1
mov eax, dword [r12 + rdi*8 + 8]
dec eax
jmp 0x1400531f5
mov edx, dword [r13 + 0x90]
mov rcx, rsi
call fcn.14005a4a0
xor eax, eax
mov dword [r13 + 0x90], eax
jmp 0x140052fac
mov ecx, r9d
sub ecx, 0x6c
je 0x14005687f
sub ecx, 1
je 0x1400567bf
sub ecx, 1
je 0x1400567bf
sub ecx, 1
je 0x140056741
sub ecx, 1
je 0x1400566b1
sub ecx, 1
je 0x140056641
sub ecx, 1
je 0x140056641
cmp ecx, 1
jne 0x140052fac
movsxd rcx, dword [r12 + rdi*8 + 4]
lea r8, [rbp - 0x30]
mov rax, qword [r13 + 0x60]
cmp r9b, 0x73
lea r9, [rsp + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x30], rax
movzx eax, word [r12 + rdi*8 + 0x10]
mov word [rbp - 0x28], ax
sbb al, al
mov byte [rbp - 0x26], al
xor r14d, r14d
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rcx, rax, 0x38
mov dword [rsp + 0x78], r14d
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x20], rcx
mov rcx, rsi
call fcn.140058504
lea r15d, [r14 + 1]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x78]
test byte [r12 + rdi*8], r15b
je 0x1400568da
neg eax
jmp 0x1400568dc
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rbx]
mov word [rcx + 8], 1
mov rcx, rbx
call fcn.140052bc8
mov dword [rsp + 0x40], eax
mov r14d, eax
test eax, eax
jne 0x140057aca
xor r14d, r14d
cmp byte [rbx + 0x25], r14b
jne 0x140056722
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], r14
mov rdx, rdi
mov rcx, rsi
call fcn.1400585bc
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140057acd
mov rbx, qword [rsp + 0x68]
lea r10d, [r14 + 4]
mov rax, qword [rbp - 0x70]
mov qword [rbx], rax
mov word [rbx + 8], r10w
jmp 0x14005672d
mov rbx, qword [rsp + 0x68]
mov r10d, 4
mov r15d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x50]
inc r15d
xor eax, eax
jmp 0x140052ea6
movsxd rcx, dword [r12 + rdi*8 + 4]
lea rdx, [rbp - 0x30]
mov rax, qword [r13 + 0x60]
xor r14d, r14d
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x10]
mov rsi, qword [rbx]
mov qword [rbp - 0x30], rax
movzx eax, word [r12 + rdi*8 + 0xc]
mov word [rbp - 0x28], ax
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x1c]
mov byte [rbp - 0x26], r14b
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x20], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400365e8
mov dword [rsp + 0x40], eax
mov r15d, eax
test eax, eax
jne 0x1400567b6
cmp dword [rbp + 0x1c], r14d
jne 0x1400567b6
mov rcx, rsi
call fcn.1400359b0
mov r15d, eax
mov dword [rsp + 0x40], eax
mov dword [rbx + 0x50], r14d
jmp 0x140053b0e
mov rax, qword [r13 + 0x60]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
mov r14, qword [rsi]
mov eax, 1
add rbx, qword [rsp + 0x70]
test byte [r12 + rdi*8 + 3], al
je 0x1400567ef
add dword [r13 + 0x90], eax
test word [rbx + 8], dx
je 0x14005680c
mov rcx, rbx
call fcn.14005906c
mov dword [rsp + 0x40], eax
mov r15d, eax
test eax, eax
jne 0x140053b0e
xor r15d, r15d
cmp qword [rsi + 0x48], r15
je 0x14005682c
mov rdx, rbx
mov rcx, rsi
call fcn.14005aab4
mov r15d, eax
mov dword [rsp + 0x40], eax
jmp 0x140053b0e
mov eax, 0x10
test byte [r12 + rdi*8 + 3], al
je 0x14005683d
mov eax, dword [rsi + 0x18]
jmp 0x140056840
mov eax, r15d
movsxd r8, dword [rbx + 0xc]
lea r9, [0x140097801]
mov rdx, qword [rbx + 0x10]
mov rcx, r14
mov dword [rsp + 0x38], eax
mov eax, dword [r12 + rdi*8 + 0xc]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call fcn.140035efc
mov r15d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rsi + 0x50], eax
jmp 0x140053b0e
mov r15d, 1
movsxd rcx, dword [r12 + rdi*8 + 4]
lea rdx, [rsp + 0x78]
mov rax, qword [r13 + 0x60]
xor r14d, r14d
mov dword [rsp + 0x78], r15d
mov rbx, qword [rax + rcx*8]
cmp qword [rbx + 0x48], r14
je 0x1400568af
mov rcx, rbx
call fcn.14005a9cc
jmp 0x1400568bf
mov rcx, qword [rbx]
call fcn.140035ccc
mov byte [rbx + 0x26], r14b
mov dword [rbx + 0x50], r14d
mov dword [rsp + 0x40], eax
mov r10d, 4
mov eax, dword [rsp + 0x78]
mov byte [rbx + 0x25], al
mov rbx, qword [rsp + 0x68]
jmp 0x1400547e1
inc eax
mov r14, qword [rsp + 0x50]
mov r10d, 4
lea r8d, [r10 + 4]
test eax, eax
jle 0x140053d5e
jmp 0x1400547f4
cmp r9d, 0x87
ja 0x14005714a
je 0x14005711f
cmp r9d, 0x7e
ja 0x140056c53
je 0x140056c3c
mov ecx, r9d
sub ecx, 0x75
je 0x140056b63
sub ecx, 1
je 0x140056ae1
sub ecx, 1
je 0x140056ab1
sub ecx, 1
je 0x140056a74
sub ecx, 1
je 0x140056a74
sub ecx, 1
je 0x1400569a3
sub ecx, 1
je 0x140056991
sub ecx, 1
je 0x14005697a
cmp ecx, 1
jne 0x140052fac
mov r8, qword [r12 + rdi*8 + 0x10]
mov rcx, rsi
mov edx, dword [r12 + rdi*8 + 4]
call fcn.14004ff88
jmp 0x140053296
mov r8, qword [r12 + rdi*8 + 0x10]
mov rcx, rsi
mov edx, dword [r12 + rdi*8 + 4]
call fcn.140050000
jmp 0x140053296
mov edx, dword [r12 + rdi*8 + 4]
mov rcx, rsi
call fcn.1400332c0
jmp 0x140053b24
movsxd rcx, dword [r12 + rdi*8 + 4]
lea rax, [r13 + 0x48]
mov r8, qword [rsi + 0x20]
lea r9, str.sqlite_temp_master
mov qword [rbp - 0x28], rax
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp - 0x20], ecx
lea rax, str.sqlite_master
mov qword [rbp - 0x30], rsi
mov r15d, 1
cmp ecx, r15d
cmovne r9, rax
mov rax, qword [r12 + rdi*8 + 0x10]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, rsi
call fcn.1400448e8
xor r14d, r14d
mov rbx, rax
test rax, rax
jne 0x140056a11
mov dword [rsp + 0x40], 7
mov r15d, dword [rsp + 0x40]
jmp 0x140056a5d
lea r9, [rbp - 0x30]
mov byte [rsi + 0xa1], r15b
lea r8, [fcn.140042444]
mov dword [rbp - 0x1c], r14d
mov rdx, rbx
mov qword [rsp + 0x20], r14
mov rcx, rsi
call fcn.14001505c
test eax, eax
mov rdx, rbx
mov rcx, rsi
cmove eax, dword [rbp - 0x1c]
mov dword [rsp + 0x40], eax
call fcn.140039b7c
mov r15d, dword [rsp + 0x40]
mov byte [rsi + 0xa1], r14b
test r15d, r15d
je 0x140056a65
mov rcx, rsi
call fcn.14004ba24
cmp r15d, 7
je 0x140057bf9
jmp 0x1400531db
movsxd rcx, dword [r12 + rdi*8 + 4]
lea rdx, [rsp + 0x78]
shl rcx, 5
xor eax, eax
add rcx, qword [rsi + 0x20]
mov r8d, eax
cmp r9b, 0x79
mov dword [rsp + 0x78], eax
setne r8b
mov rcx, qword [rcx + 8]
inc r8d
call fcn.1400357fc
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x78]
jmp 0x140054f01
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [r13 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x48]
test rdx, rdx
je 0x140056ad4
mov rcx, rsi
call fcn.14005a90c
jmp 0x140053296
mov rcx, qword [rcx]
call fcn.1400352e4
jmp 0x140053b24
mov eax, dword [r12 + rdi*8 + 0xc]
xor r14d, r14d
mov rcx, qword [rsi + 0x20]
neg eax
mov edx, dword [r12 + rdi*8 + 4]
lea rax, [rsp + 0x78]
sbb r8, r8
mov dword [rsp + 0x78], r14d
and r8, rax
movsxd rax, dword [r12 + rdi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140035260
mov r15d, eax
mov dword [rsp + 0x40], eax
cmp dword [r12 + rdi*8 + 0xc], r14d
je 0x1400531e0
movsxd rdx, dword [rsp + 0x78]
mov r10d, 4
add dword [r13 + 0x90], edx
movsxd rax, dword [r12 + rdi*8 + 0xc]
mov r14, qword [rsp + 0x50]
lea r8d, [r10 + 4]
test eax, eax
jle 0x1400531f1
mov rdi, qword [rsp + 0x70]
imul rcx, rax, 0x38
add qword [rcx + rdi], rdx
jmp 0x1400531f1
mov rax, qword [rsi + 8]
xor r9d, r9d
mov edx, r9d
test rax, rax
je 0x140056bab
cmp dword [rax + 0x44], 0xbdf20da3
jne 0x140056b9a
mov ecx, dword [rax + 0x8c]
bt ecx, 9
jae 0x140056b9a
and cl, 0xc
cmp cl, r8b
jae 0x140056b9a
cmp dword [rax + 0x80], r9d
jl 0x140056b9a
inc edx
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x140056b72
mov r13, qword [rbp - 0x80]
lea r11d, [rax + 2]
mov r14, qword [rsp + 0x68]
mov eax, 1
mov word [r14 + 8], ax
cmp edx, eax
jg 0x140057b31
movsxd rbx, dword [r12 + rdi*8 + 0xc]
lea r8, [rsp + 0x78]
mov rcx, qword [rsi + 0x20]
mov rax, rbx
mov edx, dword [r12 + rdi*8 + 4]
shl rax, 5
mov dword [rsp + 0x78], r9d
mov rcx, qword [rax + rcx + 8]
call fcn.140035c10
movsxd r8, dword [rsp + 0x78]
mov r10d, 4
mov word [r14 + 8], r10w
mov r15d, eax
mov qword [r14], r8
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x140055633
test r8d, r8d
je 0x140055633
mov r9d, dword [r12 + rdi*8 + 4]
mov edx, ebx
mov rcx, rsi
call fcn.14004c040
mov r15d, dword [rsp + 0x44]
lea eax, [rbx + 1]
mov byte [rsp + 0x48], al
inc r15d
mov rbx, r14
jmp 0x140053379
mov r8, qword [r12 + rdi*8 + 0x10]
mov rcx, rsi
mov edx, dword [r12 + rdi*8 + 4]
call fcn.140050040
jmp 0x140053296
sub r9d, 0x7f
je 0x14005700d
sub r9d, 1
je 0x140056fcb
sub r9d, 1
je 0x140056f70
sub r9d, 1
je 0x140056efa
sub r9d, 1
je 0x140056d25
sub r9d, 1
je 0x140056cfa
sub r9d, 1
je 0x140056ce5
cmp r9d, 1
jne 0x140052fac
test dword [rsi + 0x2c], 0x1000000
je 0x140056cb5
movsxd rax, dword [r12 + rdi*8 + 8]
add qword [rsi + 0x318], rax
jmp 0x140052fac
mov r15d, dword [rsp + 0x40]
xor eax, eax
cmp dword [r12 + rdi*8 + 4], eax
movsxd rax, dword [r12 + rdi*8 + 8]
mov r14, qword [rsp + 0x50]
je 0x140056cd9
add qword [rsi + 0x310], rax
jmp 0x1400531f1
add qword [r13 + 0xc8], rax
jmp 0x1400531f1
mov word [rbx + 8], r8w
mov rax, qword [r12 + rdi*8 + 0x10]
mov rcx, qword [rax]
mov qword [rbx], rcx
jmp 0x140052fac
mov r8, qword [r13 + 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 [r12 + rdi*8 + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x1400541a7
movsxd rax, dword [r12 + rdi*8 + 0xc]
xor r15d, r15d
mov r14, qword [r12 + rdi*8 + 0x10]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x70]
cmp byte [r12 + rdi*8 + 3], r15b
je 0x140056d62
mov rcx, qword [r14 + 0x18]
mov rax, qword [r13 + 0xf0]
jmp 0x140056d5d
cmp qword [rax + 0x30], rcx
je 0x14005781f
mov rax, qword [rax + 8]
test rax, rax
jne 0x140056d4f
mov r8, qword [rsp + 0x58]
mov eax, dword [r8 + 0x90]
cmp dword [r13 + 0x100], eax
jge 0x140057b43
mov r12d, 0x40
test byte [rsi + 8], r12b
jne 0x140056e57
mov edi, dword [r14 + 0xc]
add edi, dword [r14 + 0x10]
mov eax, dword [r14 + 0x14]
imul ecx, edi, 7
add eax, 0x60
add ecx, dword [r14 + 0x10]
lea ecx, [rax + rcx*8]
movsxd rdx, ecx
mov rcx, r8
call fcn.140039ca0
mov rbx, rax
test rax, rax
je 0x140057be9
mov rcx, rsi
call fcn.1400595d4
mov eax, dword [rsp + 0x44]
mov word [rsi + 8], r12w
mov qword [rsi], rbx
mov rsi, qword [rsp + 0x58]
mov qword [rbx], r13
mov dword [rbx + 0x54], edi
mov ecx, dword [r14 + 0x10]
mov dword [rbx + 0x44], eax
mov dword [rbx + 0x58], ecx
mov rcx, qword [r13 + 0x10]
mov qword [rbx + 0x18], rcx
mov eax, dword [r13 + 0x38]
mov dword [rbx + 0x4c], eax
mov rax, qword [r13 + 0x60]
mov qword [rbx + 0x28], rax
mov eax, dword [r13 + 0x40]
mov dword [rbx + 0x40], eax
mov rax, qword [r13 + 8]
mov qword [rbx + 0x10], rax
mov eax, dword [r13 + 0x3c]
mov dword [rbx + 0x48], eax
mov rax, qword [r14 + 0x18]
mov qword [rbx + 0x30], rax
mov rax, qword [r13 + 0x118]
mov qword [rbx + 0x20], rax
mov eax, dword [r13 + 0x110]
mov dword [rbx + 0x50], eax
movsxd rax, edi
imul rdx, rax, 0x38
lea rax, [rbx + 0x60]
add rdx, 0x60
add rdx, rbx
jmp 0x140056e50
mov word [rax + 8], 0x80
mov qword [rax + 0x28], rsi
add rax, 0x38
cmp rax, rdx
jne 0x140056e42
jmp 0x140056e5d
mov rbx, qword [rsi]
mov rsi, r8
inc dword [r13 + 0x100]
lea rdi, [rbx + 0x28]
mov rax, qword [r13 + 0xf0]
or dword [rsp + 0x44], 0xffffffff
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x38], rax
mov eax, dword [r13 + 0x90]
mov dword [rbx + 0x5c], eax
mov dword [r13 + 0x90], r15d
mov qword [r13 + 0xf0], rbx
mov qword [r13 + 0x10], rdi
mov eax, dword [rbx + 0x54]
mov dword [r13 + 0x38], eax
inc eax
movzx r8d, word [rbx + 0x58]
movsxd rcx, eax
mov dword [r13 + 0x40], r8d
imul rdx, rcx, 0x38
mov qword [rsp + 0x70], rdi
add rdx, rdi
mov qword [r13 + 0x60], rdx
mov r12, qword [r14]
mov qword [r13 + 8], r12
mov eax, dword [r14 + 8]
lea rcx, [rdx + r8*8]
mov dword [r13 + 0x3c], eax
xor edx, edx
mov qword [r13 + 0x118], rcx
movsxd rax, dword [r14 + 0x14]
mov r8, rax
mov qword [rbp - 0x38], r12
mov dword [r13 + 0x110], eax
call fcn.1400953b0
jmp 0x140053710
movsxd rax, dword [r12 + rdi*8 + 4]
mov esi, dword [r12 + rdi*8 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 0xc]
add rbx, qword [rsp + 0x70]
imul r14, rax, 0x38
add r14, qword [rsp + 0x70]
test byte [rbx + 8], 0x20
jne 0x140056f33
mov rcx, rbx
call fcn.140059660
test byte [rbx + 8], 0x20
je 0x140057be9
test esi, esi
je 0x140056f60
mov r8, qword [r14]
mov edx, esi
mov rcx, qword [rbx]
call fcn.14004c1e8
test eax, eax
je 0x140056f58
mov esi, dword [r12 + rdi*8 + 8]
dec esi
mov dword [rsp + 0x44], esi
jmp 0x14005436a
test esi, esi
js 0x14005436a
mov rdx, qword [r14]
mov rcx, qword [rbx]
call fcn.14004c134
jmp 0x14005436a
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x70]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 0x20
je 0x140056fb1
mov rcx, qword [rbx]
lea rdx, [rbp + 0x60]
call fcn.14004c194
test eax, eax
je 0x140056fb1
movsxd rax, dword [r12 + rdi*8 + 0xc]
mov rdx, qword [rbp + 0x60]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14005962c
jmp 0x140057620
mov rcx, rbx
call fcn.140059648
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
mov dword [rsp + 0x44], r15d
jmp 0x140057620
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x70]
imul rbx, rax, 0x38
movsxd rax, dword [r15 + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 8], 0x20
jne 0x140056ffc
mov rcx, rbx
call fcn.140059660
test byte [rbx + 8], 0x20
je 0x140057bf9
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx]
call fcn.14004c134
jmp 0x140053710
mov r14d, dword [r15 + 8]
mov rcx, rsi
movsxd rdx, r14d
lea rdx, [rdx*4 + 4]
call fcn.140039bd0
xor r8d, r8d
mov r13, rax
test rax, rax
je 0x140057bf0
movsxd rcx, dword [r12 + rdi*8 + 0xc]
mov r15d, r8d
imul rax, rcx, 0x38
movsxd rcx, dword [r12 + rdi*8 + 4]
add rax, qword [rsp + 0x70]
imul rsi, rcx, 0x38
mov qword [rbp - 0x70], rax
add rsi, qword [rsp + 0x70]
mov qword [rbp - 0x60], rsi
test r14d, r14d
jle 0x14005708d
mov rbx, rsi
lea r12d, [r8 + 1]
mov esi, r14d
mov rcx, rbx
call fcn.1400586d4
mov dword [r13 + r15*4], eax
add rbx, 0x38
add r15, r12
sub rsi, r12
jne 0x140057069
mov r12, qword [rbp - 0x38]
xor r8d, r8d
mov rsi, qword [rbp - 0x60]
mov rbx, qword [rsp + 0x58]
lea rdx, [rbp + 0x10]
mov dword [r13 + r15*4], r8d
mov r8d, r14d
movzx eax, byte [r12 + rdi*8 + 3]
mov r15, qword [rbp - 0x70]
mov rcx, qword [rbx + 0x20]
shl rax, 5
mov qword [rsp + 0x20], rdx
mov rdx, r13
mov r9d, dword [r15]
mov rcx, qword [rax + rcx + 8]
call fcn.14003611c
mov rdx, r13
mov rcx, rbx
mov rdi, rax
call fcn.140039b7c
movsxd rbx, dword [rbp + 0x10]
mov rcx, rsi
sub qword [r15], rbx
call fcn.140059648
test ebx, ebx
je 0x14005710d
test rdi, rdi
je 0x140057be5
lea rax, [fcn.140015bcc]
mov r9b, 1
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rsi
call fcn.1400596cc
movzx edx, byte [rsp + 0x60]
mov rcx, rsi
call fcn.1400526f4
jmp 0x140054366
xor eax, eax
cmp dword [r12 + rdi*8 + 4], eax
je 0x140057141
cmp qword [rsi + 0x310], rax
jne 0x140052fac
cmp qword [rsi + 0x318], rax
jmp 0x14005530f
cmp qword [r13 + 0xc8], rax
jmp 0x14005712f
cmp r9d, 0x91
ja 0x140057418
je 0x1400573fd
sub r9d, 0x88
je 0x140057371
sub r9d, 1
je 0x14005734d
sub r9d, 1
je 0x140057327
sub r9d, 1
je 0x14005730c
sub r9d, 1
je 0x1400572b6
sub r9d, 1
je 0x140057265
sub r9d, 1
je 0x140057242
sub r9d, 1
je 0x1400571e7
cmp r9d, 1
jne 0x140052fac
mov rbx, qword [r12 + rdi*8 + 0x10]
mov rcx, rsi
mov rdx, rbx
call fcn.14005b078
mov dword [rsp + 0x40], eax
mov r15d, eax
test rbx, rbx
je 0x1400531db
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.14005b6b4
jmp 0x1400531db
mov r8b, byte [r12 + rdi*8 + 0xc]
test r8b, r8b
jne 0x1400571fa
test dword [rsi + 0x2c], edx
jne 0x1400552e9
movsxd rax, dword [r12 + rdi*8 + 4]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r12 + rdi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140036544
mov dword [rsp + 0x40], eax
mov r15d, eax
cmp al, 6
jne 0x1400531e0
mov r9, qword [r12 + rdi*8 + 0x10]
lea rcx, [r13 + 0x48]
lea r8, str.database_table_is_locked:__s
mov rdx, rsi
call fcn.14004e698
jmp 0x1400531e0
xor eax, eax
cmp dword [r12 + rdi*8 + 4], eax
jne 0x140057258
mov rcx, rsi
call fcn.14003b758
jmp 0x140052fac
or dword [r13 + 0x8c], 0x20
jmp 0x140052fac
movsxd rcx, dword [r12 + rdi*8 + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140035e04
mov r14, qword [rsp + 0x50]
mov r10d, 4
mov dword [rsp + 0x40], eax
mov r15d, eax
lea r8d, [r10 + 4]
cmp eax, 0x65
jne 0x1400531f1
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
xor eax, eax
mov dword [rsp + 0x44], r15d
mov r15d, eax
mov dword [rsp + 0x40], eax
jmp 0x1400531f1
movsxd rax, dword [r12 + rdi*8 + 4]
mov rdx, qword [r12 + rdi*8 + 0x10]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1400590cc
mov dword [rsp + 0x40], eax
test eax, eax
je 0x1400572f7
mov rcx, rbx
call fcn.14001710c
mov r9, rax
lea rcx, [r13 + 0x48]
lea r8, [0x14009cfb0]
mov rdx, rsi
call fcn.14004e698
movzx edx, byte [rsp + 0x60]
mov rcx, rbx
call fcn.1400526f4
mov rcx, rbx
jmp 0x140053703
movsxd rax, dword [r12 + rdi*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 0xc]
add rcx, qword [rsp + 0x70]
add qword [rcx], rax
jmp 0x14005530f
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x50]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + rdi*8 + 0xc]
add rcx, qword [rsp + 0x70]
add qword [rcx], rax
jns 0x140053d5e
jmp 0x14005481e
movsxd rax, dword [r12 + rdi*8 + 4]
xor edx, edx
mov r14, qword [rsp + 0x50]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
cmp qword [rcx + rax], rdx
jle 0x140053d5e
jmp 0x14005481e
mov rcx, qword [r13 + 0xf0]
test rcx, rcx
je 0x1400573a3
mov rax, qword [rcx + 8]
jmp 0x14005738a
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140057383
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x70]
imul rsi, rax, 0x38
add rsi, qword [rcx + 0x18]
jmp 0x1400573b4
movsxd rax, dword [r12 + rdi*8 + 4]
mov r14, qword [rsp + 0x70]
imul rsi, rax, 0x38
add rsi, r14
mov rcx, rsi
call fcn.14005942c
movsxd rax, dword [r12 + rdi*8 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14005942c
mov rax, qword [rbx]
mov r10d, 4
mov r15d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x50]
lea r8d, [r10 + 4]
cmp qword [rsi], rax
jge 0x14005527b
mov qword [rsi], rax
jmp 0x14005527b
mov r8, qword [r12 + rdi*8 + 0x10]
lea r9, [r13 + 0x48]
mov edx, dword [r12 + rdi*8 + 4]
mov rcx, rsi
call fcn.14005b2f4
jmp 0x140053b24
sub r9d, 0x92
je 0x1400577b6
sub r9d, 1
je 0x140057733
sub r9d, 1
je 0x140057685
sub r9d, 1
je 0x1400575a4
sub r9d, 1
je 0x140057545
sub r9d, 1
je 0x140057524
sub r9d, 1
je 0x1400574e3
cmp r9d, 1
jne 0x140052fac
mov eax, dword [r15 + 8]
xor r14d, r14d
test eax, eax
je 0x14005747f
lea r15d, [rax - 1]
mov dword [rsp + 0x44], r15d
cmp qword [rsi + 0xc0], r14
je 0x140052fac
mov eax, 0x800
test dword [r13 + 0x8c], eax
jne 0x140052fac
mov rdx, qword [r12 + rdi*8 + 0x10]
test rdx, rdx
jne 0x1400574b8
mov rdx, qword [r13 + 0xe0]
test rdx, rdx
je 0x140052fac
mov rcx, r13
call fcn.140057c84
mov rcx, qword [rsi + 0xc8]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xc0]
mov rdx, rbx
mov rcx, rsi
call fcn.140039b7c
jmp 0x140053710
mov rax, qword [rsi + 0x20]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov edx, dword [r12 + rdi*8 + 0xc]
shl rcx, 5
mov r8, qword [rcx + rax + 8]
xor ecx, ecx
mov eax, ecx
test edx, edx
je 0x14005750f
mov rcx, r8
call fcn.1400364c8
cmp eax, edx
cmovb eax, edx
mov edx, eax
mov rcx, r8
call fcn.1400365ac
movsxd rcx, eax
mov qword [rbx], rcx
jmp 0x140053296
movsxd rax, dword [r12 + rdi*8 + 4]
mov rcx, qword [rsi + 0x20]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400364c8
mov edx, eax
mov qword [rbx], rdx
jmp 0x140052fac
mov rax, qword [r12 + rdi*8 + 0x10]
mov edx, 1
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r12 + rdi*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1400526f4
mov dword [rsp + 0x40], eax
mov r15d, eax
test eax, eax
jne 0x140053b0e
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x40], eax
call fcn.14005b6b4
and dword [r13 + 0x8c], 0xffffffdf
jmp 0x14005436a
movsxd rcx, dword [r12 + rdi*8 + 4]
xor r15d, r15d
mov rax, qword [r13 + 0x60]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 0x25], r15b
jne 0x14005781f
mov rax, qword [rsi + 0x30]
mov rbx, qword [rax]
mov eax, dword [r13 + 0x8c]
and eax, 0xfffffff7
or eax, r10d
mov r14, qword [rbx]
mov dword [r13 + 0x8c], eax
mov rcx, qword [rsi + 0x30]
call qword [r14 + 0x48]
and dword [r13 + 0x8c], 0xfffffff3
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x40], eax
call fcn.14005b6b4
cmp dword [rsp + 0x40], r15d
jne 0x14005760e
mov rcx, qword [rsi + 0x30]
call qword [r14 + 0x50]
test eax, eax
jne 0x14005761b
mov r15d, dword [r12 + rdi*8 + 8]
dec r15d
mov dword [rsp + 0x44], r15d
mov rsi, qword [rsp + 0x58]
mov r10d, 4
mov eax, dword [rsi + 0x140]
test eax, eax
jne 0x140057ba3
mov r8, qword [rsi + 0x188]
test r8, r8
je 0x140054038
mov ecx, dword [rbp - 0x64]
cmp ecx, dword [rbp - 0x68]
jb 0x140054038
mov edi, dword [rsi + 0x198]
mov eax, ecx
xor edx, edx
div edi
sub edi, edx
add edi, ecx
mov rcx, qword [rsi + 0x190]
mov dword [rbp - 0x68], edi
call r8
test eax, eax
je 0x140053710
mov r12d, 9
mov dword [rsp + 0x40], r12d
jmp 0x14005795b
mov rax, qword [r13 + 0x60]
movsxd rcx, dword [r12 + rdi*8 + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [r12 + rdi*8 + 0xc]
imul rsi, rax, 0x38
xor eax, eax
add rsi, qword [rsp + 0x70]
cmp byte [r14 + 0x25], al
je 0x1400576b5
mov rcx, rsi
call fcn.140059648
jmp 0x140055eb0
mov rax, qword [r14 + 0x30]
lea rcx, [rbp - 0x30]
xor edx, edx
mov rdi, qword [rax]
lea r8d, [rdx + 0x30]
mov rbx, qword [rdi]
call fcn.1400953b0
mov qword [rbp - 0x30], rsi
lea rdx, [rbp - 0x30]
movzx eax, word [rsi + 8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [rsi + 8], ax
mov r8d, dword [r15 + 8]
mov rcx, qword [r14 + 0x30]
call qword [rbx + 0x58]
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x40], eax
call fcn.14005b6b4
mov eax, dword [rbp - 0xc]
test eax, eax
mov ecx, dword [rsp + 0x40]
movzx edx, byte [rsp + 0x60]
cmovne ecx, eax
mov dword [rsp + 0x40], ecx
mov rcx, rsi
call fcn.1400526f4
mov rcx, rsi
call fcn.1400599e4
mov rsi, qword [rsp + 0x58]
jmp 0x140053708
mov rax, qword [r12 + rdi*8 + 0x10]
lea rdx, [rsp + 0x78]
xor r14d, r14d
mov qword [rsp + 0x78], r14
mov rbx, qword [rax + 0x10]
mov rcx, rbx
mov rsi, qword [rbx]
call qword [rsi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x40], eax
call fcn.14005b6b4
mov r15d, dword [rsp + 0x40]
test r15d, r15d
jne 0x140053b0e
mov rax, qword [rsp + 0x78]
or r9d, 0xffffffff
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov rcx, r13
mov qword [rax], rbx
mov edx, dword [r12 + rdi*8 + 4]
call fcn.14001882c
mov rcx, qword [rsp + 0x78]
test rax, rax
je 0x1400577a8
mov qword [rax + 0x30], rcx
mov rsi, qword [rsp + 0x58]
jmp 0x14005336c
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x50], 1
call qword [rsi + 0x38]
jmp 0x14005779e
mov eax, dword [r13 + 0x8c]
mov rcx, rsi
and eax, 0xfffffffb
or eax, r8d
mov dword [r13 + 0x8c], eax
mov r8, qword [r12 + rdi*8 + 0x10]
mov edx, dword [r12 + rdi*8 + 4]
call fcn.14005b3c8
and dword [r13 + 0x8c], 0xfffffff3
mov r15d, eax
mov dword [rsp + 0x40], eax
jmp 0x1400531e0
mov r13, qword [rbp - 0x80]
mov r10d, 4
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
jmp 0x1400531ec
mov r13, qword [rbp - 0x80]
jmp 0x140053710
mov r15d, dword [rsp + 0x40]
mov rbx, r14
jmp 0x1400531ec
mov r15d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
jmp 0x1400531ec
mov r12d, r8d
jmp 0x140057ad2
mov eax, dword [rsp + 0x44]
mov dword [r13 + 0x80], eax
jmp 0x1400578a2
test ecx, ecx
je 0x14005785f
mov rsi, qword [rsp + 0x58]
mov edx, 0x204
mov rcx, rsi
call fcn.14004bed4
mov byte [rsi + 0x4e], 1
jmp 0x1400578b8
mov r14d, 1
mov rcx, r13
mov edx, r14d
call fcn.1400528d8
mov ebx, eax
test eax, eax
jne 0x140057c2d
mov rcx, r13
mov byte [rdi + 0x4e], sil
call fcn.1400581f4
cmp eax, 5
jne 0x1400578b3
mov eax, dword [rsp + 0x44]
sub r14b, sil
mov rsi, qword [rsp + 0x58]
mov dword [r13 + 0x80], eax
mov byte [rsi + 0x4e], r14b
mov ebx, 5
mov dword [r13 + 0x84], ebx
jmp 0x140057c32
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call fcn.140037b10
jmp 0x140057a95
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
mov rdx, rsi
lea rcx, [r13 + 0x48]
call fcn.14004e698
mov r12d, 5
inc dword [rsp + 0x44]
mov dword [rsp + 0x40], r12d
jmp 0x14005795b
mov r13, qword [rbp - 0x80]
lea r8, str.cannot_release_savepoint___SQL_statements_in_progress
mov rsi, r14
mov rdx, r14
jmp 0x1400578cf
mov eax, dword [rsp + 0x44]
mov r13, rdi
mov dword [rdi + 0x80], eax
mov rsi, r14
xor eax, eax
mov byte [r14 + 0x4e], al
lea ebx, [rax + 5]
mov dword [rdi + 0x84], ebx
jmp 0x140057c32
mov rsi, qword [rsp + 0x58]
lea rax, str.into
mov dword [rsp + 0x40], r9d
lea rcx, [r13 + 0x48]
cmp ebx, 5
lea r9, str.out_of
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rdx, rsi
cmove r9, rax
call fcn.14004e698
inc dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
mov r15b, byte [rsp + 0x48]
mov rax, qword [r13 + 0x48]
lea rdx, str.statement_aborts_at__d:___s___s
mov r9, qword [r13 + 0xe0]
mov r8d, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov dword [r13 + 0x84], r12d
call fcn.140010980
mov rcx, r13
call fcn.1400581f4
cmp dword [rsp + 0x40], 0xc0a
jne 0x1400579a2
mov byte [rsi + 0x50], 1
mov ebx, 1
test r15b, r15b
je 0x140057c32
movzx edx, r15b
mov rcx, rsi
dec edx
call fcn.14004ba90
jmp 0x140057c32
mov r14d, dword [rsp + 0x44]
mov dword [r13 + 0x84], ecx
mov al, byte [r12 + rdi*8 + 8]
mov byte [r13 + 0x8a], al
mov dword [r13 + 0x80], r14d
test ecx, ecx
je 0x140057a84
movzx eax, byte [r12 + rdi*8 + 3]
test al, al
je 0x140057a32
lea r9, [0x140000000]
mov r9, qword [r9 + rax*8 + 0x9a708]
mov rax, r9
test r9, r9
je 0x140057a35
mov rcx, qword [r12 + rdi*8 + 0x10]
test rcx, rcx
je 0x140057a35
mov qword [rsp + 0x20], rcx
lea rbx, [r13 + 0x48]
mov rcx, rbx
lea r8, str._s_constraint_failed:__s
mov rdx, rsi
call fcn.14004e698
jmp 0x140057a61
mov rax, r15
mov r9, qword [r12 + rdi*8 + 0x10]
lea rbx, [r13 + 0x48]
mov rdx, rsi
mov rcx, rbx
test r9, r9
je 0x140057a52
lea r8, [0x14009cfb0]
jmp 0x140057a5c
mov r9, rax
lea r8, str._s_constraint_failed
call fcn.14004e698
mov rax, qword [rbx]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xe0]
mov r8d, r14d
mov ecx, dword [r12 + rdi*8 + 4]
mov qword [rsp + 0x20], rax
call fcn.140010980
mov rcx, r13
call fcn.1400581f4
cmp eax, 5
je 0x1400578a2
mov eax, dword [r13 + 0x84]
neg eax
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x140057c32
mov r12d, 0x14
jmp 0x140057ad2
mov ecx, 0x11a80
call fcn.140038778
mov dword [rsp + 0x40], eax
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x58]
xor r14d, r14d
mov r12d, dword [rsp + 0x40]
mov dword [rsp + 0x40], r12d
cmp byte [rsi + 0x50], r14b
je 0x140057b01
mov r12d, 7
mov dword [rsp + 0x40], r12d
jmp 0x140057b0e
mov r12d, 0x204
jmp 0x1400578de
mov rsi, qword [rsp + 0x58]
jmp 0x140057acd
mov rsi, rbx
jmp 0x140057acd
cmp r12d, 0xc0a
je 0x14005795b
mov ecx, r12d
call fcn.14003b624
mov r9, rax
lea rcx, [r13 + 0x48]
mov rdx, rsi
lea r8, [0x14009cfb0]
call fcn.14004e698
jmp 0x14005795b
mov r12d, 6
mov byte [r13 + 0x8a], r11b
jmp 0x1400578de
mov rsi, qword [rsp + 0x58]
lea rcx, [r13 + 0x48]
mov rdx, rsi
mov dword [rsp + 0x40], 1
lea r8, str.too_many_levels_of_trigger_recursion
call fcn.14004e698
jmp 0x140057952
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x58]
lea rcx, [r13 + 0x48]
mov rdx, rsi
lea r8, str.string_or_blob_too_big
call fcn.14004e698
mov eax, 0x12
mov r12d, eax
mov dword [rsp + 0x40], eax
jmp 0x14005795b
mov r13, qword [rbp - 0x80]
mov rsi, rax
jmp 0x140057b71
mov rsi, rcx
jmp 0x140057b71
mov r15b, byte [rsp + 0x48]
mov ecx, 9
mov dword [rsp + 0x40], 9
mov dword [r13 + 0x84], 9
call fcn.14003b624
mov r9, rax
lea rcx, [r13 + 0x48]
mov rdx, rsi
lea r8, [0x14009cfb0]
call fcn.14004e698
mov r12d, dword [rsp + 0x40]
jmp 0x140057960
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x58]
jmp 0x140057bf9
mov r13, qword [rbp - 0x80]
jmp 0x140057bf9
mov rsi, rax
mov r15b, byte [rsp + 0x48]
lea rcx, [r13 + 0x48]
mov byte [rsi + 0x50], 1
lea r8, str.out_of_memory
mov rdx, rsi
call fcn.14004e698
mov r12d, 7
mov dword [rsp + 0x40], r12d
jmp 0x140057960
mov r13, rdi
mov rsi, r14
jmp 0x140057c32
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, r13
mov qword [rsi + 0x30], rax
mov eax, dword [rbp - 0x64]
add dword [r13 + 0xb0], eax
call fcn.14005879c
mov eax, ebx
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14006e190
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret