Function at 0x1401c1000
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

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 - 0xf8]
sub rsp, 0x1d0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1402d9850]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r15, qword [rcx]
xor r14d, r14d
mov rdi, qword [rcx + 0x20]
xor sil, sil
mov rbx, qword [rcx + 0x80]
mov r12d, r14d
mov qword [rsp + 0x48], rcx
mov r13d, r14d
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x60], r14d
mov rdx, qword [rax + 0x18]
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x40], sil
mov dword [rbp - 0x80], r14d
movzx eax, byte [rdx + 0x71]
mov byte [rsp + 0x64], al
mov qword [rsp + 0x70], rbx
mov dword [rbp - 0x7c], r14d
mov qword [rbp - 0x70], r14
call fcn.1401ca190
mov r10, qword [rsp + 0x48]
cmp dword [r10 + 0x90], 7
je 0x1401c70fa
mov dword [r10 + 0x90], r14d
mov qword [r10 + 0x48], r14
mov eax, dword [r15 + 0x148]
mov dword [r15 + 0x2b8], r14d
test eax, eax
jne 0x1401c709c
cmp qword [r15 + 0x188], r14
lea r8d, [r14 + 4]
mov esi, dword [r10 + 0x8c]
mov eax, r14d
setne al
xorps xmm6, xmm6
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], esi
cmp byte [r15 + 0x2a], 0
jne 0x1401c70f5
movsxd rbx, esi
lea r15, [rbx + rbx*2]
mov qword [rbp - 0x68], r15
test rax, rax
je 0x1401c1143
mov rax, qword [rsp + 0x58]
mov ecx, dword [rbp - 0x80]
cmp dword [rax + 0x198], ecx
jne 0x1401c113c
mov rcx, qword [rax + 0x190]
call qword [rax + 0x188]
test eax, eax
jne 0x1401c69b9
mov eax, r14d
mov r8d, 4
jmp 0x1401c113e
mov eax, ecx
inc eax
mov dword [rbp - 0x80], eax
test byte [rdi + r15*8 + 2], 2
je 0x1401c116c
movsxd rax, dword [rdi + r15*8 + 8]
imul r13, rax, 0x38
add r13, qword [rsp + 0x70]
mov rcx, r13
call fcn.1401c95e0
mov r8d, 4
mov word [r13 + 0x24], r8w
movzx eax, byte [rdi + r15*8]
dec eax
cmp eax, 0x90
ja case.0x1401c1191.17
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x1c712c]
add rcx, rdx
jmp rcx
mov rbx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov eax, dword [rbx + 0x148]
test eax, eax
jne 0x1401c7088
mov esi, dword [rdi + r15*8 + 8]
mov r15, rbx
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x68]
add rcx, qword [rsp + 0x70]
mov word [rcx + 0x24], r8w
mov qword [rcx], rbx
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
mov esi, dword [rcx + rax]
mov r15, qword [rsp + 0x58]
inc esi
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
mov word [rcx + 0x24], r8w
mov dword [rbp - 0x60], eax
mov rax, qword [rsp + 0x68]
mov qword [rcx], rbx
mov esi, dword [rbp - 0x60]
inc esi
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
test byte [rcx + rax + 0x24], 1
je case.0x1401c1191.17
cmp dword [rdi + r15*8 + 4], 0
mov r10, qword [rsp + 0x48]
jne 0x1401c69c4
mov r8, qword [r10 + 0x158]
test r8, r8
je 0x1401c69c4
mov rax, qword [r8 + 0x60]
dec dword [r10 + 0x160]
mov rcx, qword [rsp + 0x58]
mov qword [r10 + 0x158], rax
mov eax, dword [r10 + 0xac]
add dword [rcx + 0x50], eax
mov dword [rcx + 0x4c], eax
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8]
mov rcx, qword [rdx]
mov qword [rdx + 0x20], rax
mov eax, dword [r8 + 0x18]
mov dword [rdx + 0x18], eax
mov rax, qword [r8 + 0x20]
mov qword [rdx + 0x80], rax
mov eax, dword [r8 + 0x28]
mov dword [rdx + 0x7c], eax
mov rax, qword [r8 + 0x30]
mov qword [rdx + 0x58], rax
movzx eax, word [r8 + 0x38]
mov word [rdx + 0x52], ax
mov rax, qword [r8 + 0x50]
mov qword [rcx + 0x40], rax
mov eax, dword [r8 + 0x58]
mov dword [rdx + 0xac], eax
cmp dword [rdi + r15*8 + 8], 4
movsxd rsi, dword [r8 + 8]
jne 0x1401c1309
mov rax, qword [r10 + 0x20]
lea rcx, [rsi + rsi*2]
mov esi, dword [rax + rcx*8 + 8]
dec esi
mov rdi, qword [r10 + 0x20]
mov rax, qword [r10 + 0x80]
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], rax
mov r15, qword [rsp + 0x58]
inc esi
mov rax, qword [rsp + 0x68]
mov r8d, 4
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
movsxd rax, dword [rdi + r15*8 + 4]
inc esi
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov qword [r13], rax
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov rax, qword [rdi + r15*8 + 0x10]
inc esi
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x68]
mov qword [r13], rcx
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
mov eax, 8
mov word [r13 + 0x24], ax
inc esi
mov rax, qword [rdi + r15*8 + 0x10]
mov r15, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x68]
mov qword [r13 + 8], rcx
jmp 0x1401c10ed
mov byte [rdi + r15*8], 9
mov rdi, qword [rdi + r15*8 + 0x10]
mov rax, rdi
test rdi, rdi
jne 0x1401c13bd
mov eax, r14d
jmp 0x1401c13d1
cmp byte [rdi], 0
je 0x1401c13ca
inc rax
cmp byte [rax], 0
jne 0x1401c13c2
sub eax, edi
and eax, 0x3fffffff
cmp byte [rsp + 0x64], 1
mov rcx, qword [rsp + 0x78]
mov dword [rcx + r15*8 + 4], eax
je 0x1401c1559
test rdi, rdi
jne 0x1401c1428
test byte [r13 + 0x24], 0x40
je 0x1401c13fb
mov rcx, qword [r13]
call fcn.1401c7a40
test byte [r13 + 0x24], 0x20
je 0x1401c140b
mov rcx, qword [r13]
call fcn.1401b8870
mov eax, 0xbf01
mov byte [r13 + 0x26], 5
and word [r13 + 0x24], ax
mov r12d, r14d
or word [r13 + 0x24], 1
jmp 0x1401c14cf
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1401c1437
mov r14d, dword [rax + 0x60]
jmp 0x1401c143d
mov r14d, 0x3b9aca00
xor r12d, r12d
movsxd rcx, r14d
mov ebx, r12d
mov eax, r12d
test r14d, r14d
js 0x1401c1460
nop
cmp byte [rdi + rax], r12b
je 0x1401c1460
inc ebx
inc rax
cmp rax, rcx
jle 0x1401c1450
lea rax, [fcn.1401a2260]
mov esi, 0x202
mov rcx, r13
test rax, rax
jne 0x1401c148c
call fcn.1401c95e0
mov rdx, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x10]
call fcn.1401a2260
mov qword [r13 + 0x30], rdi
jmp 0x1401c14a7
call fcn.1401c95e0
mov rdx, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x10]
call fcn.1401a2260
mov qword [r13 + 0x30], r12
mov esi, 0xa02
mov qword [r13 + 0x28], r12
mov qword [r13 + 0x18], rdi
mov dword [r13 + 0x20], ebx
mov word [r13 + 0x24], si
mov word [r13 + 0x26], 0x103
cmp ebx, r14d
jg 0x1401c6ee0
mov esi, dword [rsp + 0x50]
xor r14d, r14d
test byte [r13 + 0x24], 2
movzx ecx, byte [rsp + 0x64]
mov dword [rsp + 0x60], r14d
je 0x1401c14fc
movzx eax, byte [r13 + 0x27]
cmp eax, ecx
je 0x1401c14fc
movzx edx, cl
mov rcx, r13
call fcn.1401c9c40
test eax, eax
jne 0x1401c1719
movzx eax, word [r13 + 0x24]
mov ecx, 0xfbff
mov rdi, qword [rsp + 0x78]
and ax, cx
mov rbx, qword [rsp + 0x58]
mov ecx, 0x800
or ax, cx
mov qword [r13 + 0x30], r14
mov word [r13 + 0x24], ax
cmp byte [rdi + r15*8 + 1], 0xff
jne 0x1401c1539
mov rdx, qword [rdi + r15*8 + 0x10]
mov rcx, rbx
call fcn.1401a2260
mov byte [rdi + r15*8 + 1], 0xff
mov r8d, 4
mov rax, qword [r13 + 0x18]
mov qword [rdi + r15*8 + 0x10], rax
mov eax, dword [r13 + 0x20]
mov dword [rdi + r15*8 + 4], eax
jmp 0x1401c1561
mov rbx, qword [rsp + 0x58]
mov rdi, rcx
mov eax, dword [rbx + 0x60]
cmp dword [rdi + r15*8 + 4], eax
jg 0x1401c6ee0
mov r10, qword [rsp + 0x48]
mov eax, 0xa02
mov word [r13 + 0x24], ax
inc esi
mov rax, qword [rdi + r15*8 + 0x10]
mov qword [r13 + 0x18], rax
mov eax, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov dword [r13 + 0x20], eax
movzx eax, byte [rsp + 0x64]
mov byte [r13 + 0x27], al
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov r15, qword [rsp + 0x58]
mov eax, 1
mov r10, qword [rsp + 0x48]
inc esi
mov word [r13 + 0x24], ax
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov r8d, dword [rdi + r15*8 + 4]
xor r9d, r9d
mov rdx, qword [rdi + r15*8 + 0x10]
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.1401c9890
movzx eax, byte [rsp + 0x64]
mov byte [r13 + 0x27], al
jmp 0x1401c27bb
mov eax, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
dec eax
cdqe
imul rdx, rax, 0x38
add rdx, qword [r10 + 0x68]
mov qword [rbp - 0x60], rdx
movzx eax, word [rdx + 0x24]
test al, 0x12
je 0x1401c163b
mov r8d, dword [rdx + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x1401c1625
add r8d, dword [rdx]
mov rax, qword [rdx + 0x10]
mov ecx, r14d
cmp r8d, dword [rax + 0x60]
setg cl
test ecx, ecx
jne 0x1401c6f10
mov r8d, 0x800
mov rcx, r13
call fcn.1401c9aa0
jmp 0x1401c27bb
mov edx, dword [rdi + r15*8 + 0xc]
mov dword [rbp - 0x58], edx
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
mov dword [rbp - 0x54], eax
movsxd rcx, dword [rdi + r15*8 + 8]
add rbx, qword [rsp + 0x70]
imul r13, rcx, 0x38
mov dword [rbp - 0x50], ecx
add r13, qword [rsp + 0x70]
test edx, edx
je 0x1401c16b7
nop dword [rax]
dec edx
mov rcx, r13
mov dword [rbp - 0x58], edx
mov rdx, rbx
mov rax, qword [r13 + 0x30]
mov qword [rbp - 0x60], rax
mov qword [r13 + 0x30], r14
call fcn.1401c9440
mov rax, qword [rbp - 0x60]
add r13, 0x38
mov qword [rbx + 0x30], rax
add rbx, 0x38
mov edx, dword [rbp - 0x58]
test edx, edx
jne 0x1401c1680
lea r8d, [rdx + 4]
mov r15, qword [rsp + 0x58]
dec edx
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov dword [rbp - 0x58], edx
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 8]
mov ebx, 0x1000
imul r13, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 4]
mov r8d, ebx
add r13, qword [rsp + 0x70]
imul rdx, rax, 0x38
mov rcx, r13
add rdx, qword [rsp + 0x70]
call fcn.1401c9aa0
test word [r13 + 0x24], bx
je 0x1401c27bb
mov rcx, r13
call fcn.1401c93c0
test eax, eax
je 0x1401c27bb
mov r15, qword [rsp + 0x58]
jmp 0x1401c70f0
movsxd rax, dword [rdi + r15*8 + 8]
mov r8d, 0x1000
imul r13, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 4]
add r13, qword [rsp + 0x70]
imul rdx, rax, 0x38
mov rcx, r13
add rdx, qword [rsp + 0x70]
call fcn.1401c9aa0
jmp 0x1401c27bb
mov r10, qword [rsp + 0x48]
cmp qword [r10 + 0x140], 0
jg 0x1401c6b24
mov rsi, qword [r10]
mov r12d, r14d
mov dword [rsp + 0x60], r14d
cmp dword [rsi + 0x314], 0
je 0x1401c17f4
mov eax, dword [r10 + 0x150]
test eax, eax
je 0x1401c17f4
xor ebx, ebx
lea r14d, [rax - 1]
mov edi, ebx
cmp dword [rsi + 8], ebx
jle 0x1401c17df
lea r15d, [rbx + 1]
nop word [rax + rax]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rbx + rax + 8]
test rcx, rcx
je 0x1401c17c0
mov r8d, r14d
mov edx, r15d
call fcn.14019f120
test r12d, r12d
cmove r12d, eax
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 8]
jl 0x1401c17a0
mov r15, qword [rbp - 0x68]
mov r8d, 4
mov r10, qword [rsp + 0x48]
mov dword [rsp + 0x60], r12d
dec dword [rsi + 0x314]
mov rdi, qword [rsp + 0x78]
xor r14d, r14d
mov dword [r10 + 0x150], r14d
test r12d, r12d
je 0x1401c6a87
mov esi, dword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x1401c3db8
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rdi + r15*8 + 4]
mov rdx, qword [rsp + 0x70]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + r15*8 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + r15*8 + 0xc]
add rdi, rdx
imul r13, rax, 0x38
movzx ecx, word [rdi + 0x24]
add rbx, rdx
movzx eax, cl
add r13, rdx
or al, byte [rbx + 0x24]
test al, 1
je 0x1401c1859
mov rcx, r13
call fcn.1401c9770
mov rdi, qword [rsp + 0x78]
jmp 0x1401c27bb
mov r15d, 0x4000
test r15w, cx
je 0x1401c1875
mov rcx, rdi
call fcn.1401c8e20
test eax, eax
jne 0x1401c1719
test word [rbx + 0x24], r15w
je 0x1401c188c
mov rcx, rbx
call fcn.1401c8e20
test eax, eax
jne 0x1401c1719
test byte [rdi + 0x24], 0x12
jne 0x1401c18ad
movzx r15d, byte [rsp + 0x64]
mov rcx, rdi
mov edx, r15d
call fcn.1401c9b40
test eax, eax
jne 0x1401c1719
jmp 0x1401c18b3
movzx r15d, byte [rsp + 0x64]
test byte [rbx + 0x24], 0x12
jne 0x1401c18cd
movzx edx, r15b
mov rcx, rbx
call fcn.1401c9b40
test eax, eax
jne 0x1401c1719
mov eax, dword [rbx + 0x20]
add eax, dword [rdi + 0x20]
mov r15, qword [rsp + 0x58]
movsxd rcx, eax
mov qword [rbp - 0x60], rcx
movsxd rax, dword [r15 + 0x60]
cmp rcx, rax
jg 0x1401c6ee5
mov eax, 0xbf02
mov r8d, r14d
and word [r13 + 0x24], ax
mov rcx, r13
or word [r13 + 0x24], 2
mov edx, dword [rbp - 0x60]
cmp r13, rbx
sete r8b
add edx, 2
call fcn.1401c9170
test eax, eax
jne 0x1401c70f0
cmp r13, rbx
je 0x1401c1932
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [r13 + 0x18]
call fcn.14012c7d0
movsxd rcx, dword [rbx + 0x20]
add rcx, qword [r13 + 0x18]
movsxd r8, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
call fcn.14012c7d0
mov rax, qword [rbp - 0x60]
mov r8d, 4
mov rcx, qword [r13 + 0x18]
mov rdi, qword [rsp + 0x78]
mov r10, qword [rsp + 0x48]
mov byte [rax + rcx], 0
mov rax, qword [rbp - 0x60]
mov rcx, qword [r13 + 0x18]
mov byte [rcx + rax + 1], 0
mov eax, 0x200
or word [r13 + 0x24], ax
mov eax, dword [rbp - 0x60]
inc esi
mov dword [r13 + 0x20], eax
movzx eax, byte [rsp + 0x64]
mov byte [r13 + 0x27], al
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140177c60
movsxd rax, dword [rdi + r15*8 + 8]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.140177c60
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + r15*8 + 0xc]
movzx ecx, word [rbx + 0x24]
imul r13, rax, 0x38
movzx eax, word [rdi + 0x24]
add r13, qword [rsp + 0x70]
or ecx, eax
mov dword [rbp - 0x60], ecx
test cl, 1
jne 0x1401c1b91
movzx eax, byte [rbx + 0x24]
and al, byte [rdi + 0x24]
test al, 4
je 0x1401c1ab7
mov rcx, qword [rbx]
mov qword [rbp - 0x58], rcx
mov rdx, qword [rdi]
mov rdi, qword [rsp + 0x78]
mov qword [rbp - 0x50], rdx
movzx r8d, byte [rdi + r15*8]
sub r8d, 0x56
je 0x1401c1a97
sub r8d, 1
je 0x1401c1a92
sub r8d, 1
je 0x1401c1a8c
cmp r8d, 1
je 0x1401c1a52
test rcx, rcx
je 0x1401c1b96
cmp rcx, 0xffffffffffffffff
mov eax, 1
cmove rcx, rax
mov rax, rdx
cqo
mov qword [rbp - 0x58], rcx
idiv rcx
jmp 0x1401c1a9a
test rcx, rcx
je 0x1401c1b96
cmp rcx, 0xffffffffffffffff
jne 0x1401c1a7b
movabs rax, 0x8000000000000000
cmp rdx, rax
mov eax, 1
cmove rcx, rax
mov qword [rbp - 0x58], rcx
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
mov qword [rbp - 0x50], rax
jmp 0x1401c1a9e
imul rdx, rcx
jmp 0x1401c1a9a
sub rdx, rcx
jmp 0x1401c1a9a
add rdx, rcx
mov qword [rbp - 0x50], rdx
mov qword [r13], rdx
mov eax, 0xbf04
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
jmp 0x1401c27bb
mov rcx, rbx
call fcn.1401ca2e0
mov rcx, rdi
movsd qword [rbp - 0x48], xmm0
call fcn.1401ca2e0
mov rdi, qword [rsp + 0x78]
movsd qword [rbp - 0x40], xmm0
movzx ecx, byte [rdi + r15*8]
sub ecx, 0x56
je 0x1401c1b4c
sub ecx, 1
je 0x1401c1b45
sub ecx, 1
je 0x1401c1b3e
cmp ecx, 1
je 0x1401c1b2b
cvttsd2si rcx, qword [rbp - 0x48]
cvttsd2si rax, xmm0
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
test rcx, rcx
je 0x1401c1b96
cmp rcx, 0xffffffffffffffff
mov edx, 1
xorps xmm0, xmm0
cmove rcx, rdx
cqo
idiv rcx
mov qword [rbp - 0x58], rcx
cvtsi2sd xmm0, rdx
jmp 0x1401c1b51
movsd xmm1, qword [rbp - 0x48]
ucomisd xmm1, xmm6
jp 0x1401c1b38
je 0x1401c1b96
divsd xmm0, xmm1
jmp 0x1401c1b51
mulsd xmm0, qword [rbp - 0x48]
jmp 0x1401c1b51
subsd xmm0, qword [rbp - 0x48]
jmp 0x1401c1b51
addsd xmm0, qword [rbp - 0x48]
movsd qword [rbp - 0x40], xmm0
call fcn.1401afb40
test eax, eax
jne 0x1401c1b96
movsd xmm0, qword [rbp - 0x40]
mov eax, 0xbf08
and word [r13 + 0x24], ax
or word [r13 + 0x24], 8
movsd qword [r13 + 8], xmm0
test byte [rbp - 0x60], 8
jne 0x1401c27bb
mov rcx, r13
call fcn.1401c84c0
jmp 0x1401c27bb
mov rdi, qword [rsp + 0x78]
mov rcx, r13
call fcn.1401c9770
jmp 0x1401c27bb
movzx ecx, byte [rdi + r15*8 + 3]
mov rax, qword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov dword [rbp + 0x18], ecx
mov r8, qword [rax + 0x38]
mov qword [rbp + 0x10], r8
movsxd rax, dword [rdi + r15*8 + 8]
imul rdx, rax, 0x38
mov eax, r14d
add rdx, r9
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x58], rdx
test ecx, ecx
jle 0x1401c1c0e
nop dword [rax + rax]
cdqe
mov qword [r8 + rax*8], rdx
mov rcx, qword [rbp - 0x58]
call fcn.1401c9b10
mov eax, dword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
inc eax
add rdx, 0x38
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x58], rdx
cmp eax, dword [rbp + 0x18]
jge 0x1401c1c0e
mov r8, qword [rbp + 0x10]
jmp 0x1401c1be0
cmp byte [rdi + r15*8 + 1], 0xfb
mov rax, qword [rdi + r15*8 + 0x10]
jne 0x1401c1c21
mov qword [rbp - 0x48], r14
jmp 0x1401c1c28
mov qword [rbp - 0x48], rax
mov rax, qword [rax]
mov rbx, qword [rsp + 0x58]
xor edx, edx
mov qword [rbp - 0x50], rax
mov rcx, rbx
movsxd rax, dword [rdi + r15*8 + 0xc]
imul r13, rax, 0x38
mov eax, 1
mov qword [rbp - 0x30], rbx
add r13, r9
mov word [rbp - 0x1c], ax
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
call fcn.1401a2260
mov qword [rbp - 0x28], r14
mov eax, 1
mov qword [rbp - 0x10], r14
mov ecx, 0xbf01
mov qword [rbp - 0x18], r14
movups xmm0, xmmword [r13]
movaps xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [r13 + 0x10]
movaps xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [r13 + 0x20]
movaps xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [r13 + 0x30]
movsd qword [rbp - 0x10], xmm1
mov word [r13 + 0x24], ax
mov qword [r13 + 0x28], r14
mov qword [r13 + 0x30], r14
movzx eax, word [rbp - 0x1c]
mov r9, qword [rbp - 0x50]
and ax, cx
or ax, 1
mov dword [rbp], r14d
mov word [rbp - 0x1c], ax
test byte [r9 + 3], 8
je 0x1401c1ccc
mov rax, qword [rdi + r15*8 - 8]
mov qword [rbp + 8], rax
mov r8, qword [rbp + 0x10]
lea rcx, [rbp - 0x50]
mov edx, dword [rbp + 0x18]
call qword [r9 + 0x18]
cmp byte [rbx + 0x2a], 0
jne 0x1401c6b60
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1401c1d07
mov edx, dword [rdi + r15*8 + 4]
call fcn.1401c0d60
mov rax, qword [rbp - 0x48]
mov qword [rdi + r15*8 + 0x10], rax
mov byte [rdi + r15*8 + 1], 0xf9
cmp dword [rbp], 0
je 0x1401c1daa
test byte [rbp - 0x1c], 1
je 0x1401c1d1c
mov r9, r14
jmp 0x1401c1d81
movzx ecx, word [rbp - 0x1c]
movzx eax, cx
shr ax, 3
and ax, 2
or cx, ax
mov eax, 0x4000
mov word [rbp - 0x1c], cx
test ax, cx
je 0x1401c1d45
lea rcx, [rbp - 0x40]
call fcn.1401c8e20
test byte [rbp - 0x1c], 2
je 0x1401c1d67
cmp byte [rbp - 0x19], 1
je 0x1401c1d5c
mov dl, 1
lea rcx, [rbp - 0x40]
call fcn.1401c9c40
lea rcx, [rbp - 0x40]
call fcn.1401c94b0
jmp 0x1401c1d75
mov edx, 1
lea rcx, [rbp - 0x40]
call fcn.1401c9b40
cmp byte [rbp - 0x19], 1
mov r9, r14
cmove r9, qword [rbp - 0x28]
mov rcx, qword [rsp + 0x48]
lea r8, [0x140239fd0]
add rcx, 0x98
mov rdx, rbx
mov r15, rbx
call fcn.1401bb710
mov r12d, dword [rbp]
mov dword [rsp + 0x60], r12d
jmp 0x1401c1dad
mov r15, rbx
test byte [rbp - 0x1c], 2
movzx ecx, byte [rsp + 0x64]
je 0x1401c1dcc
movzx eax, byte [rbp - 0x19]
cmp eax, ecx
je 0x1401c1dcc
movzx edx, cl
lea rcx, [rbp - 0x40]
call fcn.1401c9c40
mov rcx, r13
call fcn.1401c95e0
mov rdx, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x10]
call fcn.1401a2260
mov qword [r13 + 0x18], r14
mov eax, 1
mov qword [r13 + 0x30], r14
mov qword [r13 + 0x28], r14
movaps xmm0, xmmword [rbp - 0x40]
movups xmmword [r13], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [r13 + 0x10], xmm1
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [r13 + 0x20], xmm0
movsd xmm1, qword [rbp - 0x10]
movsd qword [r13 + 0x30], xmm1
mov word [rbp - 0x1c], ax
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
movzx eax, word [r13 + 0x24]
test al, 0x12
je 0x1401c69a9
mov edx, dword [r13 + 0x20]
mov ecx, 0x4000
test cx, ax
je 0x1401c1e43
add edx, dword [r13]
mov rax, qword [r13 + 0x10]
mov ecx, r14d
mov r10, qword [rsp + 0x48]
cmp edx, dword [rax + 0x60]
setg cl
test ecx, ecx
jne 0x1401c6eea
jmp 0x1401c3db2
mov rdx, qword [rsp + 0x70]
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 0xc]
add rbx, rdx
imul r13, rax, 0x38
add rcx, rdx
add r13, rdx
movzx eax, byte [rcx + 0x24]
or al, byte [rbx + 0x24]
test al, 1
je 0x1401c1ea3
mov rcx, r13
call fcn.1401c9770
jmp 0x1401c27bb
call fcn.1401c8410
mov rcx, rbx
mov qword [rbp - 0x60], rax
call fcn.1401c8410
mov qword [rbp - 0x58], rax
mov rdx, rax
movzx ecx, byte [rdi + r15*8]
sub ecx, 0x52
je 0x1401c1f0a
sub ecx, 1
je 0x1401c1ef6
cmp ecx, 1
mov rcx, rax
mov rax, qword [rbp - 0x60]
je 0x1401c1ee6
sar rax, cl
mov qword [rbp - 0x60], rax
mov qword [r13], rax
jmp 0x1401c1aa2
shl rax, cl
mov qword [rbp - 0x60], rax
mov qword [r13], rax
jmp 0x1401c1aa2
mov rax, qword [rbp - 0x60]
or rax, rdx
mov qword [rbp - 0x60], rax
mov qword [r13], rax
jmp 0x1401c1aa2
mov rax, qword [rbp - 0x60]
and rax, rdx
mov qword [rbp - 0x60], rax
mov qword [r13], rax
jmp 0x1401c1aa2
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1401c8410
mov ecx, 0xbf04
mov qword [rbx], rax
and word [rbx + 0x24], cx
or word [rbx + 0x24], 4
movsxd rcx, dword [rdi + r15*8 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x1401c27bb
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140177c60
test byte [rbx + 0x24], 8
je 0x1401c1f79
mov rcx, rbx
call fcn.1401c84c0
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x1401c1f99
mov eax, dword [rdi + r15*8 + 8]
test eax, eax
je 0x1401c6c1b
mov esi, eax
mov dword [rsp + 0x50], eax
jmp 0x1401c27c1
mov ecx, 0xbf04
and ax, cx
or ax, 4
mov word [rbx + 0x24], ax
jmp 0x1401c27bb
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
test byte [rbx + 0x24], 4
je 0x1401c11fd
mov rcx, rbx
call fcn.1401ca2e0
mov r15, qword [rsp + 0x58]
mov eax, 0xbf08
mov r10, qword [rsp + 0x48]
mov r8d, 4
movsd qword [rbx + 8], xmm0
and word [rbx + 0x24], ax
or word [rbx + 0x24], 8
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
movzx eax, word [rbx + 0x24]
test al, 1
jne case.0x1401c1191.17
shr ax, 3
and ax, 2
or word [rbx + 0x24], ax
movzx eax, word [rbx + 0x24]
test al, 2
jne 0x1401c203c
test al, 0xc
je 0x1401c203c
movzx edx, byte [rsp + 0x64]
mov rcx, rbx
call fcn.1401c9b40
mov eax, 0xfff3
and word [rbx + 0x24], ax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401c206d
mov rcx, rbx
call fcn.1401c8e20
mov r12d, eax
mov dword [rsp + 0x60], eax
mov eax, 0xbfe3
and word [rbx + 0x24], ax
jmp 0x1401c3da8
mov eax, 0xbfe3
mov dword [rsp + 0x60], r14d
and word [rbx + 0x24], ax
mov r12d, r14d
jmp 0x1401c3da8
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
movzx eax, word [rbx + 0x24]
test al, 1
jne case.0x1401c1191.17
test al, 0x10
jne 0x1401c20e0
test al, 2
jne 0x1401c20bc
test al, 0xc
je 0x1401c20bc
movzx edx, byte [rsp + 0x64]
mov rcx, rbx
call fcn.1401c9b40
mov r8d, 4
mov r15, qword [rsp + 0x58]
mov eax, 0xbf10
and word [rbx + 0x24], ax
or word [rbx + 0x24], 0x10
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov r15, qword [rsp + 0x58]
mov ecx, 0xff10
mov r10, qword [rsp + 0x48]
and ax, cx
mov word [rbx + 0x24], ax
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
test byte [rcx + 0x24], 0xd
jne 0x1401c11fd
call fcn.1401c9530
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov rax, qword [rsp + 0x68]
inc esi
mov r15, qword [rsp + 0x58]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
test byte [rbx + 0x24], 1
jne 0x1401c11fd
mov rcx, rbx
call fcn.1401c8410
mov r15, qword [rsp + 0x58]
mov r8d, 4
mov r10, qword [rsp + 0x48]
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
test byte [rbx + 0x24], 1
jne 0x1401c11fd
jmp 0x1401c1fc6
movsxd rax, dword [rdi + r15*8 + 4]
mov r11, qword [rsp + 0x70]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
movzx eax, word [rbx + 0x24]
mov word [rbp - 0x5a], ax
movzx eax, word [rdi + 0x24]
mov word [rbp - 0x58], ax
movzx ecx, word [rdi + 0x24]
movzx edx, word [rbx + 0x24]
movzx eax, cl
or al, dl
test al, 1
je 0x1401c226c
mov r9, qword [rsp + 0x78]
movzx eax, byte [r9 + r15*8 + 3]
test al, al
jns 0x1401c220e
and cx, dx
movzx r8d, cx
not r8w
and r8d, 1
mov dword [rbp - 0x60], r8d
jmp 0x1401c22f9
mov rdi, r9
test al, 0x10
je 0x1401c2247
movsxd rax, dword [r9 + r15*8 + 8]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
imul r13, rax, 0x38
mov eax, 0xbf01
add r13, r11
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
test al, 8
je 0x1401c11fd
mov esi, dword [r9 + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov rcx, qword [rsp + 0x78]
movzx edx, byte [rcx + r15*8 + 3]
and dl, 0x67
mov byte [rbp - 0x5c], dl
je 0x1401c22ae
movzx r8d, byte [rsp + 0x64]
mov rcx, rbx
call fcn.1401c0000
movzx r8d, byte [rsp + 0x64]
mov rcx, rdi
movzx edx, byte [rbp - 0x5c]
call fcn.1401c0000
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x2a], 0
jne 0x1401c70ed
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401c22c6
mov rcx, rbx
call fcn.1401c8e20
mov eax, 0x4000
test word [rdi + 0x24], ax
je 0x1401c22d4
mov rcx, rdi
call fcn.1401c8e20
mov rax, qword [rsp + 0x78]
mov rdx, rbx
mov rcx, rdi
mov r8, qword [rax + r15*8 + 0x10]
call fcn.1401b0a30
mov r9, qword [rsp + 0x78]
mov r8d, eax
mov r11, qword [rsp + 0x70]
mov dword [rbp - 0x60], eax
movzx edx, byte [r9 + r15*8]
mov eax, r14d
sub edx, 0x4b
je 0x1401c2342
sub edx, 1
je 0x1401c233a
sub edx, 1
je 0x1401c2332
sub edx, 1
je 0x1401c232a
cmp edx, 1
je 0x1401c2322
test r8d, r8d
setns al
jmp 0x1401c2348
test r8d, r8d
sets al
jmp 0x1401c2348
test r8d, r8d
setle al
jmp 0x1401c2348
test r8d, r8d
setg al
jmp 0x1401c2348
test r8d, r8d
sete al
jmp 0x1401c2348
test r8d, r8d
setne al
mov dword [rbp - 0x60], eax
test byte [r9 + r15*8 + 3], 0x10
je 0x1401c2379
movsxd rax, dword [r9 + r15*8 + 8]
imul r13, rax, 0x38
mov eax, 0xbf04
add r13, r11
and word [r13 + 0x24], ax
or word [r13 + 0x24], 4
movsxd rax, dword [rbp - 0x60]
mov qword [r13], rax
jmp 0x1401c2384
test eax, eax
je 0x1401c2384
mov esi, dword [r9 + r15*8 + 8]
dec esi
movzx eax, byte [rbp - 0x5a]
mov byte [rbx + 0x24], al
movzx eax, byte [rbp - 0x58]
mov byte [rdi + 0x24], al
mov rdi, qword [rsp + 0x78]
jmp 0x1401c27bb
mov rax, qword [rdi + r15*8 + 0x10]
inc esi
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov qword [rbp - 0x70], rax
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov eax, dword [rdi + r15*8 + 0xc]
mov ecx, r14d
mov dword [rbp - 0x60], eax
mov rdx, qword [rdi + r15*8 + 0x10]
mov qword [rbp - 0x50], rdx
mov r10d, dword [rdi + r15*8 + 4]
mov dword [rbp - 0x58], r10d
mov r11d, dword [rdi + r15*8 + 8]
mov dword [rbp - 0x54], r11d
mov dword [rbp - 0x5c], ecx
test eax, eax
jle 0x1401c2478
mov rbx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x70]
test r8, r8
je 0x1401c2407
movsxd rax, ecx
mov r9d, dword [r8 + rax*4]
mov dword [rbp - 0x48], r9d
jmp 0x1401c240d
mov r9d, ecx
mov dword [rbp - 0x48], ecx
movsxd rcx, ecx
mov r8, qword [rdx + rcx*8 + 0x18]
mov qword [rbp - 0x40], r8
mov rax, qword [rdx + 0x10]
movzx ecx, byte [rax + rcx]
lea eax, [r9 + r11]
mov dword [rbp - 0x38], ecx
movsxd rcx, eax
lea eax, [r9 + r10]
imul rdx, rcx, 0x38
movsxd rcx, eax
imul rcx, rcx, 0x38
add rdx, rbx
add rcx, rbx
call fcn.1401b0a30
mov dword [rbp - 0x7c], eax
test eax, eax
jne 0x1401c2467
mov ecx, dword [rbp - 0x5c]
inc ecx
mov dword [rbp - 0x5c], ecx
cmp ecx, dword [rbp - 0x60]
jge 0x1401c2472
mov rdx, qword [rbp - 0x50]
mov r11d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x58]
jmp 0x1401c23f1
cmp dword [rbp - 0x38], 0
je 0x1401c2472
neg eax
mov dword [rbp - 0x7c], eax
mov r8d, 4
mov r15, qword [rsp + 0x58]
inc esi
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x70], r14
jmp 0x1401c10ed
mov ebx, dword [rbp - 0x7c]
test ebx, ebx
jns 0x1401c24b2
mov esi, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
jne 0x1401c24cd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov esi, dword [rdi + r15*8 + 0xc]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
mov rbx, qword [rsp + 0x70]
imul rcx, rax, 0x38
add rcx, rbx
test byte [rcx + 0x24], 1
je 0x1401c2504
mov ecx, 2
jmp 0x1401c2512
call fcn.1401c8410
test rax, rax
mov ecx, r14d
setne cl
mov dword [rbp - 0x60], ecx
movsxd rax, dword [rdi + r15*8 + 8]
imul rdx, rax, 0x38
add rdx, rbx
test byte [rdx + 0x24], 1
je 0x1401c252e
mov edx, 2
jmp 0x1401c2542
mov rcx, rdx
call fcn.1401c8410
mov ecx, dword [rbp - 0x60]
test rax, rax
mov edx, r14d
setne dl
lea eax, [rdx + rcx*2]
mov dword [rbp - 0x5c], edx
add eax, ecx
lea rcx, [0x140000000]
cmp byte [rdi + r15*8], 0x45
cdqe
jne 0x1401c2564
movzx ecx, byte [rax + rcx + 0x253de0]
jmp 0x1401c256c
movzx ecx, byte [rax + rcx + 0x253df8]
mov dword [rbp - 0x60], ecx
movsxd rax, dword [rdi + r15*8 + 0xc]
imul r13, rax, 0x38
add r13, rbx
cmp ecx, 2
jne 0x1401c2595
mov eax, 0xbf01
and word [r13 + 0x24], ax
or word [r13 + 0x24], 1
jmp 0x1401c27bb
movsxd rax, ecx
mov qword [r13], rax
jmp 0x1401c1aa2
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 8]
add rcx, qword [rsp + 0x70]
imul r13, rax, 0x38
add r13, qword [rsp + 0x70]
test byte [rcx + 0x24], 1
je 0x1401c25d0
mov rcx, r13
call fcn.1401c9770
jmp 0x1401c27bb
call fcn.1401c8410
test rax, rax
mov rdx, r14
mov rcx, r13
sete dl
call fcn.1401c9720
jmp 0x1401c27bb
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 8]
add rcx, qword [rsp + 0x70]
imul r13, rax, 0x38
add r13, qword [rsp + 0x70]
test byte [rcx + 0x24], 1
je 0x1401c261a
mov rcx, r13
call fcn.1401c9770
jmp 0x1401c27bb
call fcn.1401c8410
not rax
mov rcx, r13
mov rdx, rax
call fcn.1401c9720
jmp 0x1401c27bb
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
test byte [rcx + 0x24], 1
je 0x1401c2650
mov ecx, dword [rdi + r15*8 + 0xc]
mov dword [rbp - 0x60], ecx
jmp 0x1401c2682
call fcn.1401ca2e0
ucomisd xmm0, xmm6
jp 0x1401c2660
mov ecx, r14d
je 0x1401c2665
mov ecx, 1
mov dword [rbp - 0x60], ecx
mov r8d, 4
cmp byte [rdi + r15*8], 0x1b
jne 0x1401c2682
mov eax, r14d
test ecx, ecx
sete al
mov ecx, eax
mov dword [rbp - 0x60], eax
test ecx, ecx
je 0x1401c11fd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
test byte [rcx + rax + 0x24], 1
je 0x1401c11fd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
test byte [rcx + rax + 0x24], 1
jne 0x1401c11fd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov eax, dword [rdi + r15*8 + 4]
mov edx, 0xbf01
mov rbx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x48]
mov dword [rbp - 0x50], eax
mov eax, dword [rdi + r15*8 + 8]
mov dword [rbp - 0x4c], eax
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x48], r14
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
add rcx, rbx
mov qword [rbp - 8], rcx
movzx eax, word [rcx + 0x24]
and ax, dx
or ax, 1
mov word [rcx + 0x24], ax
mov rax, qword [r10 + 0x58]
movsxd rcx, dword [rbp - 0x50]
mov qword [rbp - 0x40], r14
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x48], rdx
mov rax, qword [rdx]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1401c2870
mov rcx, rdx
call fcn.1401c0c50
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6c21
mov rdx, qword [rbp - 0x48]
cmp byte [rdx + 0x1c], al
je 0x1401c27db
mov dword [rbp - 0x60], r14d
inc esi
mov dword [rsp + 0x50], esi
mov r15, qword [rsp + 0x58]
mov r8d, 4
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
jmp 0x1401c10f1
mov r10, qword [rsp + 0x48]
mov eax, dword [r10 + 0x88]
cmp dword [rdx + 0x64], eax
jne 0x1401c2808
mov ecx, dword [rdx + 0x68]
mov r8d, 4
mov dword [rbp - 0x60], ecx
mov rax, qword [rdx + 0x80]
mov qword [rbp - 0x40], rax
jmp 0x1401c28b1
cmp byte [rdx + 0x1f], 0
mov rbx, qword [rbp - 0x38]
je 0x1401c284d
cmp byte [rbx + 0x5b], 1
je 0x1401c281e
mov qword [rbp - 0x58], r14
jmp 0x1401c2837
mov rcx, rbx
call fcn.140188540
mov rax, qword [rbx + 0x40]
mov rdx, qword [rbp - 0x48]
mov r10, qword [rsp + 0x48]
mov qword [rbp - 0x58], rax
mov ecx, dword [rbp - 0x58]
mov r12d, r14d
mov dword [rbp - 0x60], ecx
mov r8d, 4
mov dword [rsp + 0x60], r14d
jmp 0x1401c28b1
mov rcx, rbx
call fcn.140188540
mov ecx, dword [rbx + 0x48]
mov r12d, r14d
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov dword [rbp - 0x60], ecx
mov dword [rsp + 0x60], r14d
jmp 0x1401c28ad
movsxd rax, dword [rdx + 0x30]
test eax, eax
jle 0x1401c2f43
imul rcx, rax, 0x38
add rcx, rbx
mov qword [rbp + 0x58], rcx
mov eax, dword [rcx + 0x20]
mov dword [rbp - 0x60], eax
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x40], rax
mov eax, r14d
test byte [rdi + r15*8 + 3], 0x20
jne 0x1401c28a7
mov eax, dword [r10 + 0x88]
mov dword [rdx + 0x64], eax
mov ecx, dword [rbp - 0x60]
mov rdx, qword [rbp - 0x48]
test ecx, ecx
je 0x1401c1801
mov rax, qword [rsp + 0x58]
cmp ecx, dword [rax + 0x60]
ja 0x1401c6f0b
movsxd r8, dword [rdx + 0x40]
mov eax, dword [r10 + 0x88]
mov dword [rbp - 0x20], r8d
mov rcx, qword [rdx + 0x70]
mov qword [rbp - 0x30], rcx
cmp dword [rdx + 0x64], eax
jne 0x1401c2903
mov rax, qword [rdx + 0x78]
mov r12d, 0x2460
mov r10, qword [rbp + 0x28]
movzx r9d, word [rbp + 0x24]
mov r11, qword [rbp + 0x18]
mov qword [rbp - 0x28], rax
jmp 0x1401c2d16
lea rcx, [rcx + r8*4]
mov dword [rbp + 0x54], r14d
mov qword [rbp - 0x28], rcx
mov qword [rdx + 0x78], rcx
mov ecx, dword [rbp - 0x60]
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x68], ecx
mov ecx, dword [r10 + 0x88]
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x64], ecx
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1401c293d
mov qword [rbp - 0x10], rcx
jmp 0x1401c2a75
mov r8, qword [rbp - 0x48]
mov rcx, r14
mov rbx, qword [rbp - 0x38]
cmp byte [r8 + 0x1f], 0
je 0x1401c29c7
cmp byte [rbx + 0x5b], 1
jne 0x1401c2a51
cmp word [rbx + 0x56], 0
jne 0x1401c29b6
movsx rax, word [rbx + 0x80]
lea r8, [rbx + 0x38]
mov r11, qword [rbx + rax*8 + 0x88]
movzx ecx, word [rbx + rax*2 + 0x128]
movzx eax, word [r11 + 0xc]
mov r10, qword [r11 + 0x70]
lea edx, [rax + rcx*2]
mov rcx, r11
movsxd r9, edx
movzx eax, byte [r9 + r10]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [r9 + r10 + 1]
or rdx, rax
movzx eax, word [r11 + 0x12]
and rdx, rax
add rdx, r10
call fcn.14017b800
mov r8, qword [rbp - 0x48]
movzx ecx, word [rbx + 0x50]
add rcx, qword [rbx + 0x38]
movzx eax, word [rbx + 0x52]
jmp 0x1401c2a4e
cmp byte [rbx + 0x5b], 1
jne 0x1401c2a51
cmp word [rbx + 0x56], 0
movsx rax, word [rbx + 0x80]
mov rdi, qword [rbx + rax*8 + 0x88]
jne 0x1401c2a2c
movzx ecx, word [rbx + rax*2 + 0x128]
lea r8, [rbx + 0x38]
movzx eax, word [rdi + 0xc]
mov r9, qword [rdi + 0x70]
lea ecx, [rax + rcx*2]
movsxd rdx, ecx
movzx eax, byte [rdx + r9]
movzx edx, byte [rdx + r9 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, word [rdi + 0x12]
or rdx, rcx
and rdx, rax
mov rcx, rdi
add rdx, r9
call fcn.14017b800
mov r8, qword [rbp - 0x48]
movzx edx, word [rbx + 0x50]
add rdx, qword [rbx + 0x38]
cmp byte [rdi + 2], 0
mov ecx, r14d
jne 0x1401c2a40
mov ecx, dword [rbx + 0x40]
movzx eax, word [rbx + 0x52]
mov rdi, qword [rsp + 0x78]
sub eax, ecx
add rcx, rdx
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x54]
mov qword [rbp - 0x10], rcx
cmp dword [rbp - 0x60], eax
ja 0x1401c2a6a
mov qword [rbp - 0x40], rcx
mov qword [r8 + 0x80], rcx
jmp 0x1401c2a71
mov qword [r8 + 0x80], r14
mov rcx, qword [rbp - 0x10]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x1401c2a8d
movzx r8d, al
mov ebx, 1
mov dword [rbp + 0x48], r8d
mov eax, ebx
jmp 0x1401c2aa6
lea rdx, [rbp + 0x48]
call fcn.1401acd70
mov r8d, dword [rbp + 0x48]
mov ebx, 1
mov rcx, qword [rbp - 0x10]
movzx eax, al
movzx r9d, al
mov dword [rbp + 0x50], r9d
cmp r8d, 0x18003
ja 0x1401c6c2b
mov r10d, dword [rbp - 0x20]
lea edx, [r10*4 + 3]
add edx, r10d
cmp edx, r8d
cmovg edx, r8d
cmp qword [rbp - 0x40], 0
mov dword [rbp - 0x1c], edx
jne 0x1401c2b2f
cmp dword [rbp + 0x54], edx
jge 0x1401c2b2f
mov rax, qword [rbp - 0x48]
mov r8d, edx
mov rcx, qword [rbp - 0x38]
xor edx, edx
mov word [rbp + 0x24], r14w
mov qword [rbp + 0x10], r14
movzx r9d, byte [rax + 0x1f]
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.1401c8f60
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3da8
mov rcx, qword [rbp + 0x18]
mov r9d, dword [rbp + 0x50]
mov r8d, dword [rbp + 0x48]
mov edx, dword [rbp - 0x1c]
mov r10d, dword [rbp - 0x20]
mov qword [rbp - 0x10], rcx
movsxd rax, edx
mov edx, r14d
add rax, rcx
movsxd r9, r9d
add r9, rcx
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x38], r9
mov dword [rbp - 0x18], edx
test r10d, r10d
jle 0x1401c2bfb
nop dword [rax]
nop word [rax + rax]
cmp r9, rax
movsxd rcx, edx
mov rax, qword [rbp - 0x28]
jae 0x1401c2c34
mov dword [rax + rcx*4], r8d
mov rcx, qword [rbp + 0x38]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x1401c2b91
movsxd rcx, dword [rbp - 0x18]
movzx edx, al
mov rax, qword [rbp - 0x30]
mov dword [rax + rcx*4], edx
mov eax, ebx
jmp 0x1401c2ba5
movsxd rdx, dword [rbp - 0x18]
mov rax, qword [rbp - 0x30]
lea rdx, [rax + rdx*4]
call fcn.1401acd70
movzx eax, al
mov r9, qword [rbp + 0x38]
movsxd rdx, dword [rbp - 0x18]
movzx eax, al
add r9, rax
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x38], r9
mov r8d, dword [rax + rdx*4]
cmp r8d, 0xc
jb 0x1401c2bcd
lea eax, [r8 - 0xc]
shr eax, 1
jmp 0x1401c2bdd
lea rcx, [0x140000000]
movzx eax, byte [r8 + rcx + 0x2538e8]
mov r8d, dword [rbp + 0x48]
add r8d, eax
mov dword [rbp + 0x4c], eax
mov dword [rbp + 0x48], r8d
cmp r8d, eax
jae 0x1401c2c43
mov rax, qword [rbp + 0x40]
inc rax
mov qword [rbp + 0x38], rax
movzx eax, word [rbp + 0x24]
mov r12d, 0x2460
test r12w, ax
je 0x1401c2cbc
mov ecx, 0x2000
test cx, ax
je 0x1401c2c56
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.1401c8e90
lea rcx, [rbp]
call fcn.1401c95b0
jmp 0x1401c2cbc
mov dword [rax + rcx*4], r14d
mov r8d, dword [rbp + 0x48]
mov r9, qword [rbp + 0x38]
mov edx, dword [rbp - 0x18]
inc edx
mov dword [rbp - 0x18], edx
cmp edx, dword [rbp - 0x20]
jge 0x1401c2bfb
mov rax, qword [rbp + 0x40]
jmp 0x1401c2b60
mov ecx, 0x400
test cx, ax
je 0x1401c2c75
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x1401c2c75
mov rcx, qword [rbp + 0x18]
call rax
mov qword [rbp + 0x28], r14
jmp 0x1401c2cbc
movzx eax, byte [rbp + 0x24]
test al, 0x20
je 0x1401c2c88
mov rcx, qword [rbp]
call fcn.1401b8870
jmp 0x1401c2cbc
test al, 0x40
je 0x1401c2cbc
mov rcx, qword [rbp]
call fcn.1401c7a40
test byte [rbp + 0x24], 0x20
je 0x1401c2ca4
mov rcx, qword [rbp]
call fcn.1401b8870
movzx eax, word [rbp + 0x24]
mov ecx, 0xbf01
and ax, cx
mov byte [rbp + 0x26], 5
or ax, 1
mov word [rbp + 0x24], ax
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x10]
call fcn.1401a2260
mov rdx, qword [rbp + 0x38]
mov r11, r14
mov r8, qword [rbp + 0x40]
mov r10, r14
mov qword [rbp + 0x18], r14
mov r9d, ebx
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x28], r14
mov word [rbp + 0x24], bx
cmp rdx, r8
ja 0x1401c2f15
mov eax, dword [rbp + 0x48]
mov ecx, dword [rbp - 0x60]
cmp eax, ecx
ja 0x1401c2f15
cmp rdx, r8
jne 0x1401c2d0e
cmp eax, ecx
jne 0x1401c2f15
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
movsxd rdx, dword [rbp - 0x4c]
cmp dword [rax + rdx*4], 0
je 0x1401c2eab
cmp qword [rbp - 0x40], 0
je 0x1401c2d48
mov rcx, qword [rbp - 8]
call fcn.1401c95e0
movsxd rdx, dword [rbp - 0x4c]
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax + rdx*4]
add rcx, qword [rbp - 0x40]
jmp 0x1401c2e8d
mov eax, dword [rcx + rdx*4]
cmp eax, 0xc
jb 0x1401c2d57
add eax, 0xfffffff4
shr eax, 1
jmp 0x1401c2d66
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x2538e8]
mov rbx, qword [rbp - 8]
mov dword [rbp - 0x1c], eax
test r12w, r9w
je 0x1401c2dfd
mov eax, 0x2000
test ax, r9w
je 0x1401c2d9a
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.1401c8e90
lea rcx, [rbp]
call fcn.1401c95b0
jmp 0x1401c2dfd
mov eax, 0x400
test ax, r9w
je 0x1401c2db6
test r10, r10
je 0x1401c2db6
mov rcx, r11
call r10
mov qword [rbp + 0x28], r14
jmp 0x1401c2dfd
movzx eax, byte [rbp + 0x24]
test al, 0x20
je 0x1401c2dc9
mov rcx, qword [rbp]
call fcn.1401b8870
jmp 0x1401c2dfd
test al, 0x40
je 0x1401c2dfd
mov rcx, qword [rbp]
call fcn.1401c7a40
test byte [rbp + 0x24], 0x20
je 0x1401c2de5
mov rcx, qword [rbp]
call fcn.1401b8870
movzx eax, word [rbp + 0x24]
mov ecx, 0xbf01
and ax, cx
mov byte [rbp + 0x26], 5
or ax, 1
mov word [rbp + 0x24], ax
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x10]
call fcn.1401a2260
mov qword [rbp + 0x18], r14
mov eax, 1
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x28], r14
movups xmm0, xmmword [rbx]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rbx + 0x30]
movsd qword [rbp + 0x30], xmm1
mov word [rbx + 0x24], ax
mov qword [rbx + 0x28], r14
mov qword [rbx + 0x30], r14
mov rax, qword [rbp - 0x48]
movsxd rcx, dword [rbp - 0x4c]
mov r8d, dword [rbp - 0x1c]
movzx r9d, byte [rax + 0x1f]
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x28]
mov edx, dword [rax + rcx*4]
mov rcx, qword [rbp - 0x38]
call fcn.1401c8f60
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3da8
mov rcx, qword [rbp + 0x18]
movsxd rdx, dword [rbp - 0x4c]
mov qword [rbp - 0x10], rcx
mov rax, qword [rbp - 0x30]
mov r8, qword [rbp - 8]
mov edx, dword [rax + rdx*4]
call fcn.1401cab10
mov rax, qword [rbp - 8]
movzx ecx, byte [rsp + 0x64]
mov byte [rax + 0x27], cl
jmp 0x1401c2ec7
cmp byte [rdi + r15*8 + 1], 0xf8
jne 0x1401c2ec7
mov rdx, qword [rdi + r15*8 + 0x10]
mov r8d, 0x800
mov rcx, qword [rbp - 8]
call fcn.1401c9aa0
cmp qword [rbp + 0x30], 0
je 0x1401c2f00
mov rax, qword [rbp - 8]
mov ecx, 0xe7ff
and word [rax + 0x24], cx
mov ecx, 0x200
mov rax, qword [rbp - 8]
or word [rax + 0x24], cx
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x18]
mov qword [rcx + 0x18], rax
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x30]
mov qword [rcx + 0x30], rax
mov rcx, qword [rbp - 8]
call fcn.1401c93c0
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3da8
lea r9, [0x14025a104]
mov r8d, 0xf13e
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, ntohs
call fcn.1401cf6f0
mov r12d, ntohs
mov dword [rsp + 0x60], r12d
jmp 0x1401c3da8
mov r15, qword [rsp + 0x58]
mov dword [rbp - 0x60], r14d
jmp 0x1401c3db8
mov rcx, qword [rdi + r15*8 + 0x10]
mov qword [rbp - 0x60], rcx
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
movzx eax, byte [rcx]
add rbx, qword [rsp + 0x70]
mov byte [rbp - 0x58], al
test al, al
je 0x1401c2fc7
movzx edi, byte [rsp + 0x64]
mov r14d, 0x4000
nop dword [rax]
inc rcx
mov qword [rbp - 0x60], rcx
test word [rbx + 0x24], r14w
je 0x1401c2f9a
mov rcx, rbx
call fcn.1401c8e20
movzx eax, byte [rbp - 0x58]
movzx r8d, dil
movzx edx, al
mov rcx, rbx
call fcn.1401c0000
mov rcx, qword [rbp - 0x60]
add rbx, 0x38
movzx eax, byte [rcx]
mov byte [rbp - 0x58], al
test al, al
jne 0x1401c2f80
mov rdi, qword [rsp + 0x78]
xor r14d, r14d
lea r8d, [r14 + 4]
mov r15, qword [rsp + 0x58]
inc rcx
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x60], rcx
jmp 0x1401c10ed
mov r8, qword [rsp + 0x70]
mov r11d, r14d
mov qword [rbp - 0x50], r14
mov r10d, r14d
mov dword [rbp - 0x48], r14d
mov qword [rbp - 0x40], r14
mov dword [rbp - 0x38], r14d
movsxd rax, dword [rdi + r15*8 + 4]
mov dword [rbp - 0x18], eax
mov rbx, qword [rdi + r15*8 + 0x10]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x78]
add rdi, r8
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x28], rdi
mov r9, rdi
mov eax, dword [rax + r15*8 + 8]
mov dword [rbp - 0x18], eax
dec eax
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
imul rdx, rcx, 0x38
movzx eax, byte [rax + 0xa4]
add rdx, rdi
mov dword [rbp - 8], eax
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x58], rdi
cmp rdi, rdx
ja 0x1401c3171
movzx r15d, byte [rsp + 0x64]
lea rsi, [0x140000000]
mov r13d, 0x4000
movabs r12, 0x4924924924924925
test rbx, rbx
je 0x1401c30b7
mov rdx, r9
mov rax, r12
sub rdx, rdi
movzx r8d, r15b
imul rdx
mov rcx, r9
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx edx, byte [rdx + rbx]
call fcn.1401c0000
mov r10d, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x48]
mov r9, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp - 0x28]
test word [r9 + 0x24], r13w
je 0x1401c30e1
cmp dword [r9 + 0x20], 0
jle 0x1401c30e1
mov rcx, r9
call fcn.1401c8e20
mov r10d, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x48]
mov r9, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp - 0x28]
mov edx, dword [rbp - 8]
mov rcx, r9
call fcn.1401cae50
mov r8d, eax
mov dword [rbp - 0x30], r8d
cmp eax, 0xc
jb 0x1401c3100
lea edx, [r8 - 0xc]
shr edx, 1
jmp 0x1401c3109
movzx edx, byte [r8 + rsi + 0x2538e8]
movsxd rax, edx
mov rcx, r8
add qword [rbp - 0x50], rax
mov eax, r14d
mov dword [rbp], edx
nop dword [rax]
inc eax
shr rcx, 7
test rcx, rcx
je 0x1401c3130
cmp eax, 9
jl 0x1401c3120
add r11d, eax
mov dword [rbp - 0x48], r11d
test word [r9 + 0x24], r13w
je 0x1401c3143
add r10d, dword [r9]
jmp 0x1401c3149
test edx, edx
cmovne r10d, r14d
add r9, 0x38
mov dword [rbp - 0x38], r10d
mov qword [rbp - 0x58], r9
cmp r9, qword [rbp - 0x20]
jbe 0x1401c3074
mov r15, qword [rbp - 0x68]
mov r12d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x50]
mov r8, qword [rsp + 0x70]
movsxd rax, r11d
mov edx, r14d
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
je 0x1401c3190
cmp edx, 9
jl 0x1401c3180
add r11d, edx
mov dword [rbp - 0x34], edx
mov dword [rbp - 0x48], r11d
mov eax, r14d
movsxd rcx, r11d
inc eax
shr rcx, 7
test rcx, rcx
je 0x1401c31b0
cmp eax, 9
jl 0x1401c31a0
cmp edx, eax
jge 0x1401c31bb
inc r11d
mov dword [rbp - 0x48], r11d
movsxd rax, r10d
movsxd rcx, r11d
sub rcx, rax
mov rax, qword [rsp + 0x58]
add rcx, qword [rbp - 0x50]
mov qword [rbp - 0x40], rcx
movsxd rax, dword [rax + 0x60]
cmp rcx, rax
jg 0x1401c6ee0
mov rdi, qword [rsp + 0x78]
mov edx, ecx
movsxd rax, dword [rdi + r15*8 + 0xc]
imul r13, rax, 0x38
add r13, r8
xor r8d, r8d
mov rcx, r13
call fcn.1401c9170
test eax, eax
jne 0x1401c1719
mov ecx, dword [rbp - 0x48]
mov r8, qword [r13 + 0x18]
mov qword [rbp - 0x60], r8
cmp ecx, 0x80
jae 0x1401c3227
movzx eax, byte [rbp - 0x48]
mov ebx, 1
mov byte [r8], al
mov eax, ebx
jmp 0x1401c3257
test ecx, 0xffffc000
jne 0x1401c3247
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [r8], al
mov byte [r8 + 1], cl
mov eax, 2
jmp 0x1401c3252
mov rdx, rcx
mov rcx, r8
call fcn.1401b74b0
mov ebx, 1
mov rcx, qword [rbp - 0x20]
movzx r8d, al
mov rax, qword [rbp - 0x28]
mov dword [rbp - 4], r8d
mov qword [rbp - 0x58], rax
cmp rax, rcx
ja 0x1401c32f7
mov edx, dword [rbp - 8]
mov rcx, rax
call fcn.1401cae50
mov r9d, eax
mov dword [rbp - 0x30], r9d
cmp eax, 0x80
jae 0x1401c329f
mov rcx, qword [rbp - 0x60]
movzx eax, r9b
movsxd rdx, r8d
mov byte [rdx + rcx], al
mov eax, ebx
jmp 0x1401c32d0
movsxd rcx, r8d
add rcx, qword [rbp - 0x60]
test r9d, 0xffffc000
jne 0x1401c32c8
mov eax, r9d
shr eax, 7
or al, 0x80
and r9b, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], r9b
mov eax, 2
jmp 0x1401c32d0
mov rdx, r9
call fcn.1401b74b0
mov r8d, dword [rbp - 4]
mov rcx, qword [rbp - 0x20]
movzx eax, al
add r8d, eax
mov rax, qword [rbp - 0x58]
add rax, 0x38
mov dword [rbp - 4], r8d
mov qword [rbp - 0x58], rax
cmp rax, rcx
jbe 0x1401c3274
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x58], rax
cmp rax, rcx
ja 0x1401c3336
mov edx, dword [rbp - 0x40]
mov r9d, dword [rbp - 8]
sub edx, r8d
movsxd rcx, r8d
mov r8, rax
add rcx, qword [rbp - 0x60]
call fcn.1401cad60
mov r8d, dword [rbp - 4]
add r8d, eax
mov rax, qword [rbp - 0x58]
add rax, 0x38
mov dword [rbp - 4], r8d
mov qword [rbp - 0x58], rax
cmp rax, qword [rbp - 0x20]
jbe 0x1401c3300
mov eax, dword [rbp - 0x40]
mov dword [r13 + 0x20], eax
mov eax, 0x410
mov word [r13 + 0x24], ax
mov qword [r13 + 0x28], r14
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1401c3360
mov dword [r13], eax
mov eax, 0x4410
mov word [r13 + 0x24], ax
mov byte [r13 + 0x27], 1
jmp 0x1401c27bb
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
test rcx, rcx
je 0x1401c33b5
lea rdx, [rbp - 0x60]
call fcn.14019c910
mov r10, qword [rsp + 0x48]
mov r12d, eax
mov r15, qword [rsp + 0x58]
mov r8d, 4
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x60]
mov qword [r13], rax
jmp 0x1401c3db8
mov r15, qword [rsp + 0x58]
mov rax, r14
mov qword [rbp - 0x60], rax
mov qword [r13], rax
jmp 0x1401c3db8
mov esi, dword [rdi + r15*8 + 4]
mov dword [rbp - 0x60], esi
mov rbx, qword [rdi + r15*8 + 0x10]
mov r15, qword [rsp + 0x58]
mov qword [rbp - 0x58], rbx
test esi, esi
jne 0x1401c34a9
cmp dword [r15 + 0xb4], esi
jg 0x1401c6d0b
test rbx, rbx
jne 0x1401c33ff
mov ebx, r14d
jmp 0x1401c3415
cmp byte [rbx], 0
je 0x1401c340c
inc rbx
cmp byte [rbx], 0
jne 0x1401c3404
sub ebx, dword [rbp - 0x58]
and ebx, 0x3fffffff
lea edx, [rbx + 0x19]
mov dword [rbp - 0x50], ebx
mov rcx, r15
call fcn.1401a2310
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1401c348a
lea rcx, [rax + 0x18]
mov qword [rax], rcx
mov eax, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
inc eax
movsxd r8, eax
call fcn.14012c7d0
cmp byte [r15 + 0x28], 0
je 0x1401c345a
mov byte [r15 + 0x28], 0
mov byte [r15 + 0x318], 1
jmp 0x1401c3461
inc dword [r15 + 0x310]
mov rax, qword [rbp - 0x48]
mov rcx, qword [r15 + 0x308]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp - 0x48]
mov rcx, qword [r15 + 0x320]
mov qword [r15 + 0x308], rax
mov rax, qword [rbp - 0x48]
mov qword [rax + 8], rcx
mov esi, dword [rsp + 0x50]
mov r8d, 4
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
mov dword [rbp - 0x30], r14d
mov edi, r14d
mov r11, qword [r15 + 0x308]
mov qword [rbp - 0x40], r11
test r11, r11
je 0x1401c34e1
mov rcx, qword [r11]
mov rdx, rbx
call fcn.1401bc7b0
test eax, eax
je 0x1401c3510
inc edi
mov dword [rbp - 0x30], edi
mov r11, qword [r11 + 0x10]
mov qword [rbp - 0x40], r11
test r11, r11
jne 0x1401c34c0
mov rcx, qword [rsp + 0x48]
lea r8, str.no_such_savepoint:__s
add rcx, 0x98
mov r9, rbx
mov rdx, r15
call fcn.1401bb710
inc dword [rsp + 0x50]
mov edi, 1
mov r12d, edi
jmp 0x1401c6c5d
cmp dword [r15 + 0xb4], 0
jg 0x1401c36d6
cmp esi, 2
jne 0x1401c3531
cmp dword [r15 + 0xb0], 1
jg 0x1401c36d6
cmp qword [r11 + 0x10], 0
jne 0x1401c358f
cmp byte [r15 + 0x318], 0
je 0x1401c358f
mov ebx, 1
cmp esi, ebx
jne 0x1401c3592
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rdi]
cmp qword [rdx + 0x320], 0
jg 0x1401c6d59
mov rcx, rdi
mov byte [r15 + 0x28], bl
call fcn.1401c7c90
cmp eax, 5
je 0x1401c6d35
mov byte [r15 + 0x318], 0
mov r12d, dword [rdi + 0x90]
mov dword [rsp + 0x60], r12d
jmp 0x1401c362a
mov ebx, r14d
mov r8d, dword [r15 + 0x310]
mov eax, r14d
sub r8d, edi
mov dword [rbp - 0x2c], eax
dec r8d
mov dword [rbp - 0x30], r8d
cmp dword [r15 + 8], 0
jle 0x1401c35f0
mov rcx, qword [r15 + 0x10]
mov edx, esi
cdqe
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14019f120
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6df7
mov eax, dword [rbp - 0x2c]
mov esi, dword [rbp - 0x60]
inc eax
mov dword [rbp - 0x2c], eax
cmp eax, dword [r15 + 8]
jge 0x1401c35ec
mov r8d, dword [rbp - 0x30]
jmp 0x1401c35b0
mov r11, qword [rbp - 0x40]
cmp esi, 2
jne 0x1401c3631
mov eax, 0x200
test dword [r15 + 0x18], eax
je 0x1401c3631
mov rax, qword [r15 + 0xa8]
test rax, rax
je 0x1401c3620
nop dword [rax]
mov byte [rax + 0xa2], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401c3610
xor edx, edx
mov rcx, r15
call fcn.1401b8230
mov esi, dword [rbp - 0x60]
mov r11, qword [rbp - 0x40]
cmp qword [r15 + 0x308], r11
je 0x1401c3679
nop word [rax + rax]
mov rax, qword [r15 + 0x308]
mov rcx, r15
mov qword [rbp - 0x38], rax
mov rax, qword [rax + 0x10]
mov qword [r15 + 0x308], rax
mov rdx, qword [rbp - 0x38]
call fcn.1401a2260
dec dword [r15 + 0x310]
mov r11, qword [rbp - 0x40]
cmp qword [r15 + 0x308], r11
jne 0x1401c3640
mov esi, dword [rbp - 0x60]
cmp esi, 1
jne 0x1401c36bd
mov rax, qword [r11 + 0x10]
mov rcx, r15
mov qword [r15 + 0x308], rax
mov rdx, qword [rbp - 0x40]
call fcn.1401a2260
mov esi, dword [rsp + 0x50]
mov r8d, 4
mov rdi, qword [rsp + 0x78]
mov r10, qword [rsp + 0x48]
test ebx, ebx
jne 0x1401c3db8
dec dword [r15 + 0x310]
jmp 0x1401c3db8
mov rax, qword [r11 + 8]
mov esi, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x78]
mov qword [r15 + 0x320], rax
jmp 0x1401c3dad
mov rcx, qword [rsp + 0x48]
lea rax, str.rollback
cmp esi, 2
lea r9, str.release
lea r8, str.cannot__s_savepoint___SQL_statements_in_progress
mov rdx, r15
cmove r9, rax
add rcx, 0x98
call fcn.1401bb710
mov esi, dword [rsp + 0x50]
mov eax, 5
mov rdi, qword [rsp + 0x78]
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3dad
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [rsp + 0x58]
shl rcx, 5
mov rax, qword [rax + 0x10]
mov rcx, qword [rcx + rax + 8]
mov qword [rbp - 0x60], rcx
test rcx, rcx
je 0x1401c699a
mov edx, dword [rdi + r15*8 + 8]
call fcn.14019bff0
mov dword [rsp + 0x60], eax
mov r12d, eax
cmp eax, 5
je 0x1401c6d82
test eax, eax
jne 0x1401c6c21
cmp dword [rdi + r15*8 + 8], eax
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
je 0x1401c3db2
cmp byte [r10 + 0xa6], al
je 0x1401c3db2
cmp byte [r15 + 0x28], al
je 0x1401c379c
cmp dword [r15 + 0xb0], 1
jle 0x1401c3db2
cmp dword [r10 + 0x150], 0
jne 0x1401c37c2
inc dword [r15 + 0x314]
mov ecx, dword [r15 + 0x314]
add ecx, dword [r15 + 0x310]
mov dword [r10 + 0x150], ecx
mov rsi, qword [rbp - 0x60]
mov edi, dword [r10 + 0x150]
mov rcx, rsi
mov rbx, qword [rsi + 8]
call fcn.14019d020
mov rcx, qword [rbx]
mov edx, edi
call fcn.1401b2900
cmp byte [rsi + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x60], eax
je 0x1401c380d
sub dword [rsi + 0x14], 1
jne 0x1401c380d
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1401c3809
call qword [0x1402da578]
mov byte [rsi + 0x12], 0
mov r10, qword [rsp + 0x48]
mov rax, qword [r15 + 0x320]
mov esi, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x78]
mov qword [r10 + 0x148], rax
jmp 0x1401c3db2
movsxd rax, dword [rdi + r15*8 + 4]
lea r8, [rbp - 0x60]
mov dword [rbp - 0x5c], eax
mov edx, dword [rdi + r15*8 + 0xc]
mov r15, qword [rsp + 0x58]
mov dword [rbp - 0x58], edx
shl rax, 5
mov rcx, qword [r15 + 0x10]
mov rcx, qword [rax + rcx + 8]
call fcn.14019d390
movsxd rax, dword [rbp - 0x60]
inc esi
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov qword [r13], rax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
movsxd rax, dword [rdi + r15*8 + 4]
mov rbx, qword [rsp + 0x58]
shl rax, 5
add rax, qword [rbx + 0x10]
mov qword [rbp - 0x60], rax
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1401c8410
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rbx]
mov edx, dword [rdi + r15*8 + 8]
mov rcx, qword [rcx + 8]
call fcn.14019fa00
mov r12d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rdi + r15*8 + 8]
cmp eax, 1
jne 0x1401c38fa
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax + 0x18]
mov eax, dword [rbx]
mov dword [rcx], eax
mov ecx, 0x200
mov rax, qword [rsp + 0x58]
or dword [rax + 0x18], ecx
jmp 0x1401c390d
cmp eax, 2
jne 0x1401c390d
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax + 0x18]
movzx eax, byte [rbx]
mov byte [rcx + 0x70], al
cmp dword [rdi + r15*8 + 4], 1
mov r15, qword [rsp + 0x58]
jne 0x1401c3dad
mov rax, qword [r15 + 0xa8]
test rax, rax
je 0x1401c3940
nop word [rax + rax]
mov byte [rax + 0xa2], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401c3930
mov r10, qword [rsp + 0x48]
mov byte [r10 + 0xa2], 0
jmp 0x1401c3db2
movsxd rcx, dword [rdi + r15*8 + 4]
mov rbx, qword [rsp + 0x58]
shl rcx, 5
mov rax, qword [rbx + 0x10]
mov rcx, qword [rcx + rax + 8]
mov qword [rbp - 0x58], rcx
test rcx, rcx
je 0x1401c398b
lea r8, [rbp - 0x60]
mov edx, 1
call fcn.14019d390
mov eax, dword [rbp - 0x60]
mov r8d, 4
jmp 0x1401c3991
mov eax, r14d
mov dword [rbp - 0x60], eax
cmp eax, dword [rdi + r15*8 + 8]
je 0x1401c698d
mov rax, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rax + 0x98]
call fcn.1401a2260
lea rdx, str.database_schema_has_changed
mov rcx, rbx
call fcn.1401a24b0
mov r10, qword [rsp + 0x48]
mov qword [r10 + 0x98], rax
movsxd rdx, dword [rdi + r15*8 + 4]
mov r15, rbx
mov rax, qword [rbx + 0x10]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x60]
cmp dword [rcx], eax
je 0x1401c39f7
mov rcx, rbx
call fcn.1401b8230
mov r10, qword [rsp + 0x48]
mov rax, qword [rbx + 0xa8]
test rax, rax
je 0x1401c3a20
nop dword [rax]
nop word [rax + rax]
mov byte [rax + 0xa2], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401c3a10
mov r12d, 0x11
mov dword [rsp + 0x60], r12d
jmp 0x1401c3db2
mov r12, qword [rsp + 0x48]
cmp byte [r12 + 0xa2], 0
jne 0x1401c6dd0
mov rax, qword [rsp + 0x58]
mov r8d, r14d
mov dword [rbp - 0x60], r14d
mov qword [rbp - 0x58], r14
movsxd rdx, dword [rdi + r15*8 + 8]
mov dword [rbp - 0x50], edx
movsxd r9, dword [rdi + r15*8 + 0xc]
mov dword [rbp - 0x4c], r9d
mov rcx, r9
shl rcx, 5
add rcx, qword [rax + 0x10]
mov qword [rbp - 0x30], rcx
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
cmp byte [rdi + r15*8], 0x27
jne 0x1401c3aa6
mov dword [rbp - 0x48], 1
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax + 0x70]
cmp cl, byte [r12 + 0xa4]
jae 0x1401c3aaa
mov byte [r12 + 0xa4], cl
jmp 0x1401c3aaa
mov dword [rbp - 0x48], r14d
cmp byte [rdi + r15*8 + 3], 0
je 0x1401c3aea
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1401c8410
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
or word [rbx + 0x24], 4
mov eax, dword [rbx]
mov dword [rbp - 0x50], eax
cmp eax, 2
jl 0x1401c6da5
mov r9d, dword [rbp - 0x4c]
mov r8d, dword [rbp - 0x60]
movzx eax, byte [rdi + r15*8 + 1]
cmp al, 0xfa
jne 0x1401c3b22
mov rax, qword [r12]
mov rdx, qword [rdi + r15*8 + 0x10]
mov qword [rbp - 0x58], rdx
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax + 0x71]
mov byte [rdx + 8], cl
mov rax, qword [rbp - 0x58]
mov r9d, dword [rbp - 0x4c]
movzx r8d, word [rax + 0xa]
inc r8d
jmp 0x1401c3b2b
cmp al, 0xf2
jne 0x1401c3b2f
mov r8d, dword [rdi + r15*8 + 0x10]
mov dword [rbp - 0x60], r8d
mov edx, dword [rdi + r15*8 + 4]
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.140176100
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1401c70e3
mov byte [rax + 0x1c], 1
mov rax, qword [rbp - 0x38]
mov r9, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x48]
mov edx, dword [rbp - 0x50]
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x40]
call fcn.14019cbf0
mov rcx, qword [rbp - 0x58]
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x38]
mov qword [rax + 0x38], rcx
cmp r12d, 0x10
jne 0x1401c3b9d
mov rax, qword [rbp - 0x38]
mov r12d, r14d
mov dword [rsp + 0x60], r14d
mov qword [rax], r14
cmp byte [rdi + r15*8 + 1], 0xfa
mov rax, qword [rbp - 0x38]
setne cl
test cl, cl
mov byte [rax + 0x1e], cl
sete cl
mov rax, qword [rbp - 0x38]
mov byte [rax + 0x1f], cl
jmp 0x1401c3da8
mov r8d, dword [rdi + r15*8 + 8]
mov ebx, 1
mov edx, dword [rdi + r15*8 + 4]
or r9d, 0xffffffff
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x20], ebx
call fcn.140176100
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1401c1719
mov byte [rax + 0x1c], bl
mov r9d, ebx
mov rax, qword [rsp + 0x58]
mov ecx, 3
mov rdi, qword [rbp - 0x60]
mov rdx, rax
mov dword [rsp + 0x20], 0x41e
test dword [rax + 0x18], 0x20000
lea r8, [rdi + 0x28]
cmovne r9d, ecx
cmp byte [rax + 0x29], 2
lea rcx, str.:memory:
cmovne rcx, r14
call fcn.14019e620
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3c8a
mov rbx, qword [rdi + 0x28]
mov rcx, rbx
mov rsi, qword [rbx + 8]
call fcn.14019d020
cmp byte [rbx + 0x11], r12b
je 0x1401c3c6c
sub dword [rbx + 0x14], 1
jne 0x1401c3c6c
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1401c3c68
call qword [0x1402da578]
mov byte [rbx + 0x12], 0
cmp qword [rsi + 0x40], 0
jne 0x1401c3c81
mov rcx, qword [rdi + 0x28]
mov edx, 0x1f4
call fcn.14019f3a0
mov esi, dword [rsp + 0x50]
mov ebx, 1
test r12d, r12d
jne 0x1401c3d95
mov rcx, qword [rbp - 0x60]
mov edx, ebx
mov rcx, qword [rcx + 0x28]
call fcn.14019bff0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3d95
mov rdi, qword [rsp + 0x78]
cmp qword [rdi + r15*8 + 0x10], 0
je 0x1401c3d69
mov rax, qword [rbp - 0x60]
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call fcn.14019d020
lea r8d, [r12 + 2]
mov rcx, rbx
lea rdx, [rbp - 0x78]
call fcn.14017ad00
cmp byte [rbx + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x60], eax
je 0x1401c3d0d
sub dword [rbx + 0x14], 1
jne 0x1401c3d0d
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1401c3d09
call qword [0x1402da578]
mov byte [rbx + 0x12], 0
test r12d, r12d
jne 0x1401c3d5f
mov rcx, qword [rbp - 0x60]
lea r8d, [r12 + 1]
mov r9, qword [rdi + r15*8 + 0x10]
mov edx, dword [rbp - 0x78]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x20], rax
call fcn.14019cbf0
mov rdx, qword [rdi + r15*8 + 0x10]
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x60]
mov qword [rax + 0x38], rdx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
movzx eax, byte [rax + 0x71]
mov byte [rdx + 8], al
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1e], 0
jmp 0x1401c3d95
mov rcx, qword [rbp - 0x60]
xor r9d, r9d
mov r8d, ebx
mov edx, ebx
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x20], rax
call fcn.14019cbf0
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1e], 1
mov rcx, qword [rbp - 0x60]
cmp byte [rcx + 0x1e], 0
sete al
mov byte [rcx + 0x1f], al
mov rdi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov r8d, 4
inc esi
mov dword [rsp + 0x50], esi
test r12d, r12d
jne 0x1401c6c58
mov rax, qword [rsp + 0x68]
jmp 0x1401c10f1
mov r8d, dword [rdi + r15*8 + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + r15*8 + 4]
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x20], r14d
call fcn.140176100
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1401c1719
mov byte [rax + 0x1c], 1
mov rax, qword [rbp - 0x60]
mov ecx, dword [rdi + r15*8 + 8]
mov dword [rax + 0x30], ecx
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1e], 1
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1f], 0
jmp 0x1401c27bb
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rdi + r15*8 + 4]
mov rdx, qword [rcx + 0x58]
mov rdx, qword [rdx + rax*8]
call fcn.1401c7b00
movsxd rcx, dword [rdi + r15*8 + 4]
inc esi
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov r15, qword [rsp + 0x58]
mov dword [rsp + 0x50], esi
mov rax, qword [r10 + 0x58]
mov qword [rax + rcx*8], r14
mov rax, qword [rsp + 0x68]
jmp 0x1401c10f1
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x58], rdx
cmp qword [rdx], 0
je 0x1401c41c6
movzx eax, byte [rdi + r15*8]
mov dword [rbp - 0x5c], eax
mov byte [rdx + 0x1c], 0
mov r10, qword [rbp - 0x58]
cmp byte [r10 + 0x1e], 0
je 0x1401c40a8
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140177c60
mov rcx, rbx
call fcn.1401c8410
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x19], 0
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x1401c4059
test al, 8
jne 0x1401c3ee3
mov esi, dword [rdi + r15*8 + 8]
jmp 0x1401c27bd
mov r8, qword [rbp - 0x28]
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1401c4018
movsd xmm1, qword [rbx + 8]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm1
ja 0x1401c3f17
comisd xmm1, xmm6
jbe 0x1401c4018
mov dword [rbp - 0x60], 1
comisd xmm6, xmmword [rbx + 8]
jbe 0x1401c3f7e
cmp dword [rbp - 0x5c], 0x2e
jl 0x1401c400c
mov rax, qword [rbp - 0x58]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.14018c7d0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3ff9
cmp byte [rbx + 0x5b], al
jne 0x1401c3f69
mov dword [rbp - 0x60], 1
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov dword [rsp + 0x60], eax
jmp 0x1401c3da8
mov rcx, rbx
mov dword [rbp - 0x60], r14d
call fcn.14018c600
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3ff9
cmp dword [rbp - 0x5c], 0x2d
jg 0x1401c400c
mov rax, qword [rbp - 0x58]
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], 1
jne 0x1401c3faf
cmp byte [rbx + 0x59], 0
je 0x1401c3faf
mov esi, dword [rdi + r15*8 + 8]
mov r12d, r14d
dec esi
mov dword [rsp + 0x60], r14d
jmp 0x1401c3da8
mov rcx, rbx
call fcn.14018c7d0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3ff9
cmp byte [rbx + 0x5b], al
jne 0x1401c3fde
mov dword [rbp - 0x60], 1
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov dword [rsp + 0x60], eax
jmp 0x1401c3da8
mov rcx, rbx
mov dword [rbp - 0x60], r14d
call fcn.14018c710
test eax, eax
mov dword [rsp + 0x60], eax
mov r12d, eax
sete al
mov byte [rbx + 0x59], al
test r12d, r12d
jne 0x1401c6c21
cmp dword [rbp - 0x60], r12d
je 0x1401c3da8
mov esi, dword [rdi + r15*8 + 8]
dec esi
jmp 0x1401c3da8
mov eax, dword [rbp - 0x5c]
add eax, 0xffffffd4
test eax, 0xfffffffd
je 0x1401c403d
xorps xmm0, xmm0
cvtsi2sd xmm0, r8
comisd xmm0, xmmword [rbx + 8]
jbe 0x1401c405d
dec r8
mov qword [rbp - 0x28], r8
jmp 0x1401c405d
movsd xmm0, qword [rbx + 8]
xorps xmm1, xmm1
cvtsi2sd xmm1, r8
comisd xmm0, xmm1
jbe 0x1401c405d
inc r8
mov qword [rbp - 0x28], r8
jmp 0x1401c405d
mov r8, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x58]
lea rax, [rbp - 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, qword [rcx]
call fcn.14019df50
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6c21
cmp dword [rbp - 0x60], eax
jne 0x1401c4128
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x19], 1
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x28]
mov qword [rcx + 0x10], rax
jmp 0x1401c4128
mov eax, dword [rdi + r15*8 + 0x10]
mov dword [rbp - 0x30], eax
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x50], rax
movzx eax, word [rbp - 0x30]
mov word [rbp - 0x48], ax
movzx eax, word [rbp - 0x5c]
and ax, 1
shl ax, 3
mov word [rbp - 0x46], ax
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x4000
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x38], rcx
test word [rcx + 0x24], ax
je 0x1401c40f6
call fcn.1401c8e20
mov r10, qword [rbp - 0x58]
mov rcx, qword [r10]
lea rax, [rbp - 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 0x50]
call fcn.14019df50
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6c21
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x19], r12b
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x1d], 0
mov rax, qword [rbp - 0x58]
mov dword [rax + 0x64], r14d
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x60]
cmp ecx, 0x2e
jl 0x1401c4168
test eax, eax
js 0x1401c4156
jne 0x1401c27b7
cmp ecx, 0x2f
jne 0x1401c27b7
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp - 0x60]
mov rcx, qword [rcx]
call fcn.14019e490
jmp 0x1401c4199
test eax, eax
jg 0x1401c4189
jne 0x1401c4173
cmp ecx, 0x2c
je 0x1401c4189
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
mov eax, r14d
cmp byte [rcx + 0x5b], 1
setne al
mov dword [rbp - 0x60], eax
jmp 0x1401c41b0
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp - 0x60]
mov rcx, qword [rcx]
call fcn.14019ec90
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6c21
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x19], 0
cmp dword [rbp - 0x60], 0
je 0x1401c27bb
mov esi, dword [rdi + r15*8 + 8]
dec esi
jmp 0x1401c27bb
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
cmp qword [rdx], 0
je 0x1401c4230
mov byte [rdx + 0x1c], 0
movsxd rax, dword [rdi + r15*8 + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
call fcn.1401c8410
mov rcx, qword [rbp - 0x60]
mov qword [rcx + 0x20], rax
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x19], 0
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1d], 1
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov r15, qword [rsp + 0x58]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
mov edx, r14d
mov dword [rbp - 0x60], edx
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [r10 + 0x58]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x58], rcx
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
cmp qword [rcx], 0
je 0x1401c4356
cmp dword [rdi + r15*8 + 0x10], 0
jle 0x1401c42a6
mov rax, qword [rcx + 0x38]
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], rax
movzx eax, word [rdi + r15*8 + 0x10]
mov word [rbp - 0x38], ax
mov eax, 0x10
mov word [rbp - 0x36], ax
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x48], rdx
jmp 0x1401c42f3
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401c42bd
mov rcx, rbx
call fcn.1401c8e20
mov rcx, qword [rbp - 0x58]
mov r8, qword [rbx + 0x18]
lea r9, [rbp - 0x20]
mov edx, dword [rbx + 0x20]
mov rcx, qword [rcx + 0x38]
mov dword [rsp + 0x20], 0xcf
call fcn.1401ca640
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1401c1719
or word [rax + 0xa], 0x10
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x58]
mov rcx, qword [rcx]
lea rax, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call fcn.14019df50
cmp dword [rdi + r15*8 + 0x10], 0
mov r12d, eax
mov dword [rsp + 0x60], eax
jne 0x1401c4322
mov rcx, qword [rbp - 0x48]
call fcn.1401c0f70
mov r10, qword [rsp + 0x48]
mov r8d, 4
test r12d, r12d
jne 0x1401c1801
cmp dword [rbp - 0x50], r12d
mov eax, r14d
sete al
mov dword [rbp - 0x60], eax
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x1d], r12b
mov rax, qword [rbp - 0x58]
mov dword [rax + 0x64], r14d
mov edx, dword [rbp - 0x60]
cmp byte [rdi + r15*8], 0x32
jne 0x1401c4379
test edx, edx
je 0x1401c4368
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov r15, qword [rsp + 0x58]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
test edx, edx
jne 0x1401c4368
jmp 0x1401c4361
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 0x10]
add rbx, qword [rsp + 0x70]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x40], rcx
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [rax + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x58], rdx
mov dword [rdx + 0x60], r14d
movzx edx, r14w
mov rax, qword [rbp - 0x58]
mov dword [rax + 0x64], r14d
mov r11, qword [rbp - 0x58]
mov r9, qword [rbp - 0x40]
mov r10, qword [r11]
mov qword [rbp - 0x50], r10
mov rax, qword [r11 + 0x38]
movzx r8d, word [rax + 0xa]
mov word [rbp - 0x48], r8w
mov word [rbp - 0x60], dx
cmp r14w, r8w
jae 0x1401c4410
nop dword [rax]
movzx eax, dx
imul rcx, rax, 0x38
test byte [rcx + r9 + 0x24], 1
jne 0x1401c449b
inc dx
mov word [rbp - 0x60], dx
cmp dx, r8w
jb 0x1401c43f0
test r10, r10
je 0x1401c3da8
mov rax, qword [r11 + 0x38]
inc r8w
mov qword [rbp - 0x38], rax
mov rcx, rbx
mov eax, 0x20
mov word [rbp - 0x30], r8w
mov word [rbp - 0x2e], ax
mov qword [rbp - 0x20], r9
call fcn.1401c8410
mov qword [rbx], rax
lea rdx, [rbp - 0x38]
mov ecx, 0xbf04
xor r9d, r9d
and word [rbx + 0x24], cx
xor r8d, r8d
or word [rbx + 0x24], 4
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x58]
add rax, 0x60
mov qword [rsp + 0x20], rax
call fcn.14019df50
test byte [rbp - 0x2e], 0x20
mov r12d, eax
mov dword [rsp + 0x60], eax
jne 0x1401c400c
mov rax, qword [rbp - 0x28]
cmp rax, qword [rbp - 0x18]
je 0x1401c400c
mov qword [rbx], rax
jmp 0x1401c3da8
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov qword [rbp - 0x50], r14
jmp 0x1401c3da8
movsxd rax, dword [rdi + r15*8 + 0xc]
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
imul rbx, rax, 0x38
mov rax, qword [r10 + 0x58]
add rbx, qword [rsp + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
mov rcx, qword [rdx]
mov qword [rbp - 0x58], rcx
test rcx, rcx
je 0x1401c454b
mov dword [rbp - 0x50], r14d
lea rax, [rbp - 0x50]
mov r8, qword [rbx]
xor r9d, r9d
xor edx, edx
mov qword [rbp - 0x48], r8
mov qword [rsp + 0x20], rax
call fcn.14019df50
mov rcx, qword [rbx]
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x60]
mov qword [rax + 0x10], rcx
cmp dword [rbp - 0x50], 0
mov rax, qword [rbp - 0x60]
sete cl
mov byte [rax + 0x19], cl
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1c], 0
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x64], r14d
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1d], 0
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x1401c453f
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x60], ecx
jmp 0x1401c3da8
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov dword [rdx + 0x60], r14d
jmp 0x1401c3db8
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x48]
mov qword [r13], rax
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [r10 + 0x58]
mov r15, qword [rsp + 0x58]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x68]
inc qword [rdx + 0x48]
inc esi
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
mov rdx, r14
mov qword [rbp - 0x60], rdx
mov dword [rbp - 0x50], r14d
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [r10 + 0x58]
mov rbx, qword [rax + rcx*8]
mov qword [rbp - 0x58], rbx
cmp qword [rbx], 0
je 0x1401c48c4
mov dword [rbp - 0x4c], r14d
cmp byte [rbx + 0x1b], 0
jne 0x1401c47a6
mov rax, qword [rbx]
mov rcx, qword [rax + 0x30]
mov qword [rbp - 0x60], rcx
test rcx, rcx
jne 0x1401c4674
mov rbx, qword [rbx]
cmp byte [rbx + 0x5b], 1
jne 0x1401c45f7
cmp byte [rbx + 0x59], cl
jne 0x1401c4650
mov rcx, rbx
call fcn.14018c7d0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c463a
cmp byte [rbx + 0x5b], al
jne 0x1401c461f
mov dword [rbp - 0x50], 1
lea ecx, [rax + 1]
mov dword [rsp + 0x60], eax
jmp 0x1401c466b
mov rcx, rbx
mov dword [rbp - 0x50], r14d
call fcn.14018c710
test eax, eax
mov dword [rsp + 0x60], eax
mov r12d, eax
sete al
mov byte [rbx + 0x59], al
test r12d, r12d
jne 0x1401c6c21
cmp dword [rbp - 0x50], r12d
je 0x1401c4650
lea ecx, [r12 + 1]
jmp 0x1401c466b
mov rax, qword [rbp - 0x58]
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], 1
je 0x1401c46bf
mov rcx, r14
mov dword [rsp + 0x60], r14d
mov r12d, r14d
inc rcx
mov qword [rbp - 0x60], rcx
mov r10, qword [rsp + 0x48]
movsxd rax, dword [rdi + r15*8 + 0xc]
test eax, eax
je 0x1401c4763
mov rcx, qword [r10 + 0x158]
test rcx, rcx
je 0x1401c46fb
mov qword [rbp - 0x40], rcx
mov rax, qword [rcx + 0x60]
test rax, rax
je 0x1401c46b0
nop word [rax + rax]
mov rcx, rax
mov qword [rbp - 0x40], rax
mov rax, qword [rax + 0x60]
test rax, rax
jne 0x1401c46a0
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x1401c4704
mov rcx, rbx
call fcn.140188540
mov rcx, qword [rbx + 0x40]
movabs rax, 0x7fffffffffffffff
mov qword [rbp - 0x60], rcx
mov r12d, r14d
mov dword [rsp + 0x60], r14d
cmp rcx, rax
jne 0x1401c4668
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x1b], 1
mov rcx, qword [rbp - 0x60]
jmp 0x1401c466f
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
mov qword [rbp - 0x48], rbx
call fcn.1401c8410
mov qword [rbx], rax
mov eax, 0xbf04
and word [rbx + 0x24], ax
movabs rax, 0x7fffffffffffffff
or word [rbx + 0x24], 4
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rdx]
cmp rcx, rax
je 0x1401c6dd8
mov rax, qword [rbp - 0x58]
cmp byte [rax + 0x1b], 0
jne 0x1401c6dd8
lea rax, [rcx + 1]
mov rcx, qword [rbp - 0x60]
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x60], rcx
mov qword [rdx], rcx
mov rcx, qword [rbp - 0x60]
movabs rax, 0x7fffffffffffffff
lea rdx, [rcx + 1]
cmp rcx, rax
jl 0x1401c4779
mov rdx, r14
mov rax, qword [rbp - 0x58]
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401c47a6
nop dword [rax]
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1401c479d
mov qword [rcx + 0x30], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401c4790
mov rax, qword [rbp - 0x58]
cmp byte [rax + 0x1b], 0
je 0x1401c489d
mov r15, qword [rsp + 0x58]
mov eax, r14d
mov r8, qword [r15 + 0x40]
mov qword [rbp - 0x60], r8
mov dword [rbp - 0x4c], eax
test eax, eax
jne 0x1401c47dd
mov rax, r8
and eax, 0xffffff
cmp rax, r8
jne 0x1401c47dd
inc r8
jmp 0x1401c483f
cmp dword [0x1402da4f4], 0
lea rdi, [rbp - 0x60]
mov ebx, 8
jne 0x1401c47f4
mov rsi, r14
jmp 0x1401c4810
mov ecx, 5
call qword [0x1402da558]
mov rsi, rax
test rax, rax
je 0x1401c4810
mov rcx, rax
call qword [0x1402da568]
call fcn.140193210
mov byte [rdi], al
lea rdi, [rdi + 1]
sub ebx, 1
jne 0x1401c4810
test rsi, rsi
je 0x1401c482e
mov rcx, rsi
call qword [0x1402da578]
cmp dword [rbp - 0x4c], 5
mov r8, qword [rbp - 0x60]
jge 0x1401c4843
and r8d, 0xffffff
mov qword [rbp - 0x60], r8
mov rcx, qword [rbp - 0x58]
lea rax, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, qword [rcx]
call fcn.14019df50
mov r12d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp - 0x4c]
inc eax
mov dword [rbp - 0x4c], eax
cmp eax, 0x64
jge 0x1401c4885
test r12d, r12d
jne 0x1401c4894
cmp dword [rbp - 0x50], r12d
jne 0x1401c4894
mov r8, qword [rbp - 0x60]
jmp 0x1401c47c7
test r12d, r12d
jne 0x1401c4894
cmp dword [rbp - 0x50], r12d
je 0x1401c6de5
mov rdi, qword [rsp + 0x78]
mov esi, dword [rsp + 0x50]
mov rax, qword [rbp - 0x58]
mov r8d, 4
mov r10, qword [rsp + 0x48]
mov byte [rax + 0x19], 0
mov rax, qword [rbp - 0x58]
mov byte [rax + 0x1d], 0
mov rax, qword [rbp - 0x58]
mov dword [rax + 0x64], r14d
mov rdx, qword [rbp - 0x60]
mov r15, qword [rsp + 0x58]
mov qword [r13], rdx
jmp 0x1401c3db8
movsxd rax, dword [rdi + r15*8 + 8]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x48]
imul r9, rax, 0x38
mov rax, qword [rdx + 0x58]
add r9, r8
mov qword [rbp - 0x60], r9
movsxd rcx, dword [rdi + r15*8 + 4]
mov r11, qword [rax + rcx*8]
mov qword [rbp - 0x48], r11
cmp byte [rdi + r15*8], 0x37
movsxd rax, dword [rdi + r15*8 + 0xc]
jne 0x1401c4917
imul rax, rax, 0x38
add rax, r8
mov qword [rbp - 0x58], rax
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
test byte [rdi + r15*8 + 3], 1
je 0x1401c4929
inc dword [rdx + 0xac]
test byte [rdi + r15*8 + 3], 2
mov rbx, qword [rsp + 0x58]
je 0x1401c4946
mov rax, qword [rbp - 0x50]
mov qword [rbx + 0x40], rax
mov r11, qword [rbp - 0x48]
mov r9, qword [rbp - 0x60]
test byte [r9 + 0x24], 1
je 0x1401c4961
mov qword [r9 + 0x18], r14
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x20], r14d
mov r11, qword [rbp - 0x48]
mov r9, qword [rbp - 0x60]
test byte [rdi + r15*8 + 3], 0x10
je 0x1401c4973
mov r8d, dword [r11 + 0x60]
mov dword [rbp - 0x3c], r8d
jmp 0x1401c497a
mov r8d, r14d
mov dword [rbp - 0x3c], r14d
mov eax, 0x4000
test word [r9 + 0x24], ax
je 0x1401c498b
mov edx, dword [r9]
jmp 0x1401c498e
mov edx, r14d
mov dword [rbp - 0x40], edx
mov r10, qword [r11]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401c49c6
mov eax, dword [r10 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1401c49ae
mov qword [rcx + 0x30], r14
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401c49a1
mov r8d, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
mov r11, qword [rbp - 0x48]
mov r9, qword [rbp - 0x60]
movzx eax, byte [rdi + r15*8 + 3]
mov rcx, qword [r11]
and eax, 8
mov dword [rsp + 0x38], r8d
mov r8, qword [rbp - 0x50]
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x20]
mov r9, qword [r9 + 0x18]
mov dword [rsp + 0x28], edx
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.14019d510
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x19], 0
mov rax, qword [rbp - 0x48]
mov byte [rax + 0x1d], 0
mov rax, qword [rbp - 0x48]
mov dword [rax + 0x64], r14d
test r12d, r12d
jne 0x1401c3da8
cmp qword [rbx + 0x100], 0
je 0x1401c3da8
cmp qword [rdi + r15*8 + 0x10], 0
je 0x1401c3da8
mov rax, qword [rbp - 0x48]
mov edx, 0x12
movsxd rcx, dword [rax + 8]
mov rax, qword [rbx + 0x10]
shl rcx, 5
mov r8, qword [rcx + rax]
mov eax, 0x17
mov qword [rbp - 0x38], r8
mov r9, qword [rdi + r15*8 + 0x10]
mov qword [rbp - 0x30], r9
test byte [rdi + r15*8 + 3], 4
mov r15, qword [rsp + 0x58]
cmovne edx, eax
mov rax, qword [rbp - 0x50]
mov dword [rbp - 0x28], edx
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0xf8]
call qword [r15 + 0x100]
jmp 0x1401c3dad
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
mov qword [rbp - 0x60], r14
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [rax + 0x58]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x58], rcx
cmp qword [rbx + 0x100], 0
je 0x1401c4ac9
cmp qword [rdi + r15*8 + 0x10], 0
je 0x1401c4ac9
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x60], rax
call fcn.1401c0c50
mov r12d, eax
test eax, eax
jne 0x1401c6df4
mov rdx, qword [rbp - 0x58]
mov r8, qword [rdx]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401c4b0a
nop dword [rax]
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1401c4afd
mov qword [rcx + 0x30], r14
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401c4af0
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rdx]
call fcn.14019cd30
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x58]
mov dword [rax + 0x64], r14d
test r12d, r12d
jne 0x1401c4b68
mov r10, qword [rbx + 0x100]
test r10, r10
je 0x1401c4b68
mov r9, qword [rdi + r15*8 + 0x10]
test r9, r9
je 0x1401c4b68
mov rax, qword [rbp - 0x58]
lea edx, [r12 + 9]
mov r8, qword [rbx + 0x10]
movsxd rcx, dword [rax + 8]
mov rax, qword [rbp - 0x60]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [rbx + 0xf8]
call r10
test byte [rdi + r15*8 + 8], 1
mov r8d, 4
mov r10, qword [rsp + 0x48]
mov r15, rbx
je 0x1401c3db8
inc dword [r10 + 0xac]
jmp 0x1401c3db8
mov r10, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
mov eax, dword [r10 + 0xac]
add dword [r15 + 0x50], eax
mov dword [r15 + 0x4c], eax
inc esi
mov rax, qword [rsp + 0x68]
mov dword [r10 + 0xac], r14d
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 8]
movsxd rcx, dword [rdi + r15*8 + 4]
mov rbx, qword [rsp + 0x48]
imul r13, rax, 0x38
mov rax, qword [rbx + 0x58]
add r13, qword [rsp + 0x70]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
call fcn.1401c0c50
mov r12d, eax
test eax, eax
jne 0x1401c6ded
mov rax, qword [rbp - 0x60]
mov rbx, qword [rbp - 0x58]
cmp byte [rax + 0x1f], r12b
je 0x1401c4c37
cmp byte [rbx + 0x5b], 1
je 0x1401c4c0e
mov rcx, r14
jmp 0x1401c4c1a
mov rcx, rbx
call fcn.140188540
mov rcx, qword [rbx + 0x40]
mov r15, qword [rsp + 0x58]
mov qword [rbp - 0x48], rcx
movsxd rax, dword [r15 + 0x60]
cmp rcx, rax
jg 0x1401c6ee5
mov edx, ecx
mov dword [rbp - 0x50], ecx
jmp 0x1401c4c54
mov rcx, rbx
call fcn.140188540
mov edx, dword [rbx + 0x48]
mov r15, qword [rsp + 0x58]
mov dword [rbp - 0x50], edx
cmp edx, dword [r15 + 0x60]
ja 0x1401c6ee5
xor r8d, r8d
mov rcx, r13
call fcn.1401c9170
test eax, eax
jne 0x1401c70f0
mov eax, dword [rbp - 0x50]
xor edx, edx
mov r9, qword [r13 + 0x18]
mov dword [r13 + 0x20], eax
mov eax, 0xbf10
and word [r13 + 0x24], ax
or word [r13 + 0x24], 0x10
mov rax, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x58]
cmp byte [rax + 0x1f], dl
je 0x1401c4cb0
mov dword [rsp + 0x20], r14d
call fcn.140174dc0
mov dword [rsp + 0x60], eax
mov r12d, eax
mov byte [r13 + 0x27], 1
jmp 0x1401c3dad
call fcn.14019ccc0
mov dword [rsp + 0x60], eax
mov r12d, eax
mov byte [r13 + 0x27], 1
jmp 0x1401c3dad
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rcx
cmp byte [rcx + 0x1c], 0
je 0x1401c4cfd
mov r15, qword [rsp + 0x58]
mov eax, 1
mov word [r13 + 0x24], ax
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
cmp byte [rcx + 0x1d], 0
je 0x1401c4d19
mov rax, qword [rcx + 0x20]
mov r15, qword [rsp + 0x58]
mov qword [rbp - 0x58], rax
mov qword [r13], rax
jmp 0x1401c3db8
mov rax, qword [rcx + 0x50]
test rax, rax
je 0x1401c4d57
mov rax, qword [rax]
lea rdx, [rbp - 0x58]
mov qword [rbp - 0x50], rax
mov r8, qword [rax]
mov qword [rbp - 0x48], r8
mov rcx, qword [rcx + 0x50]
call qword [r8 + 0x60]
mov rdx, qword [rbp - 0x50]
mov r12d, eax
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x60], eax
call fcn.140189d10
mov rax, qword [rbp - 0x58]
jmp 0x1401c4da1
call fcn.1401c0c50
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6c21
mov rax, qword [rbp - 0x60]
cmp byte [rax + 0x19], r12b
je 0x1401c4d7b
mov rax, qword [rax + 0x10]
jmp 0x1401c4d9d
mov rbx, qword [rax]
cmp byte [rbx + 0x5b], 1
je 0x1401c4d89
mov rax, r14
jmp 0x1401c4d95
mov rcx, rbx
call fcn.140188540
mov rax, qword [rbx + 0x40]
mov r12d, r14d
mov dword [rsp + 0x60], r14d
mov qword [rbp - 0x58], rax
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov r15, qword [rsp + 0x58]
mov qword [r13], rax
jmp 0x1401c3db8
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
mov byte [rdx + 0x1c], 1
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x19], 0
mov rax, qword [rbp - 0x60]
mov rbx, qword [rax]
test rbx, rbx
je 0x1401c4230
mov rcx, qword [rbx + 0x60]
call fcn.1401720b0
mov qword [rbx + 0x60], r14
mov byte [rbx + 0x5b], 0
jmp 0x1401c4225
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
mov rbx, qword [rdx]
mov qword [rbp - 0x58], rbx
test rbx, rbx
jne 0x1401c4e2d
mov dword [rbp - 0x50], 1
jmp 0x1401c4e8e
cmp byte [rbx + 0x5b], 1
jne 0x1401c4e43
cmp byte [rbx + 0x59], 0
je 0x1401c4e43
mov r12d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x1401c4e8e
mov rcx, rbx
call fcn.14018c7d0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c4e7f
cmp byte [rbx + 0x5b], al
jne 0x1401c4e64
mov dword [rbp - 0x50], 1
jmp 0x1401c4e7f
mov rcx, rbx
mov dword [rbp - 0x50], r14d
call fcn.14018c710
test eax, eax
mov dword [rsp + 0x60], eax
mov r12d, eax
sete al
mov byte [rbx + 0x59], al
mov rdx, qword [rbp - 0x60]
mov r8d, 4
mov r10, qword [rsp + 0x48]
movzx eax, byte [rbp - 0x50]
mov byte [rdx + 0x1c], al
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1d], 0
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x19], 0
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x64], r14d
mov eax, dword [rdi + r15*8 + 8]
test eax, eax
jle 0x1401c1801
cmp dword [rbp - 0x50], 0
mov r15, qword [rsp + 0x58]
je 0x1401c3db8
lea esi, [rax - 1]
jmp 0x1401c3db8
mov r10, qword [rsp + 0x48]
inc dword [r10 + 0x124]
jmp 0x1401c4ee4
mov r10, qword [rsp + 0x48]
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
mov dword [rbp - 0x50], 1
mov rbx, qword [rdx]
mov qword [rbp - 0x58], rbx
test rbx, rbx
je 0x1401c4f71
mov rcx, rbx
call fcn.14018c7d0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c4f3c
cmp byte [rbx + 0x5b], al
jne 0x1401c4f29
mov dword [rbp - 0x50], 1
jmp 0x1401c4f3c
mov rcx, rbx
mov dword [rbp - 0x50], r14d
call fcn.14018c600
mov r12d, eax
mov dword [rsp + 0x60], eax
cmp dword [rbp - 0x50], 0
mov r8d, 4
mov rax, qword [rbp - 0x60]
mov r10, qword [rsp + 0x48]
sete cl
mov byte [rax + 0x1a], cl
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x1d], 0
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x64], r14d
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x19], 0
mov rdx, qword [rbp - 0x60]
movzx eax, byte [rbp - 0x50]
mov byte [rdx + 0x1c], al
cmp dword [rbp - 0x50], 0
je 0x1401c1801
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
jmp 0x1401c3db8
mov rax, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov eax, dword [rax + 0x148]
test eax, eax
jne 0x1401c7092
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
test rdx, rdx
je 0x1401c1801
mov rcx, qword [rdx]
mov qword [rbp - 0x58], rcx
test rcx, rcx
jne 0x1401c4fe6
mov r15, qword [rsp + 0x58]
inc esi
mov rax, qword [rsp + 0x68]
mov byte [rdx + 0x1c], 1
jmp 0x1401c10ed
mov dword [rbp - 0x50], 1
lea rdx, [rbp - 0x50]
cmp byte [rdi + r15*8], 0x43
jne 0x1401c4fff
call fcn.14019e490
jmp 0x1401c5004
call fcn.14019ec90
mov rcx, qword [rbp - 0x60]
mov r12d, eax
mov r10, qword [rsp + 0x48]
mov dword [rsp + 0x60], eax
movzx eax, byte [rbp - 0x50]
mov byte [rcx + 0x1c], al
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x64], r14d
cmp dword [rbp - 0x50], 0
jne 0x1401c5052
mov eax, dword [rdi + r15*8 + 8]
dec eax
mov dword [rsp + 0x50], eax
movzx eax, byte [rdi + r15*8 + 3]
mov esi, dword [rsp + 0x50]
test al, al
je 0x1401c5052
movzx eax, al
dec eax
movsxd rcx, eax
inc dword [r10 + rcx*4 + 0x120]
mov rax, qword [rbp - 0x60]
mov r15, qword [rsp + 0x58]
mov byte [rax + 0x19], 0
jmp 0x1401c3db2
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rdx
movsxd rax, dword [rdi + r15*8 + 8]
imul rbx, rax, 0x38
mov rcx, qword [rdx]
add rbx, qword [rsp + 0x70]
mov qword [rbp - 0x58], rcx
test rcx, rcx
je 0x1401c1801
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1401c50c2
mov rcx, rbx
call fcn.1401c8e20
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c3da8
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
movsxd r8, dword [rbx + 0x20]
mov dword [rbp - 0x50], r8d
mov r10, qword [rbx + 0x18]
mov qword [rbp - 0x48], r10
test byte [rdi + r15*8 + 3], 0x10
je 0x1401c50df
mov eax, dword [rdx + 0x60]
jmp 0x1401c50e2
mov eax, r14d
mov dword [rsp + 0x38], eax
lea r9, [0x14025d840]
mov eax, dword [rdi + r15*8 + 0xc]
mov rdx, r10
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.14019d510
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x64], r14d
jmp 0x1401c3da8
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x60], rax
mov rcx, qword [rax]
mov qword [rbp - 0x58], rcx
test rcx, rcx
je 0x1401c1801
mov rax, qword [rax + 0x38]
xor r9d, r9d
mov qword [rbp - 0x48], rax
xor r8d, r8d
movzx eax, word [rdi + r15*8 + 0xc]
mov word [rbp - 0x40], ax
mov word [rbp - 0x3e], r14w
movsxd rax, dword [rdi + r15*8 + 8]
imul rdx, rax, 0x38
lea rax, [rbp - 0x50]
add rdx, qword [rsp + 0x70]
mov qword [rbp - 0x30], rdx
lea rdx, [rbp - 0x48]
mov qword [rsp + 0x20], rax
call fcn.14019df50
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c510f
cmp dword [rbp - 0x50], eax
jne 0x1401c510f
mov rcx, qword [rbp - 0x58]
call fcn.14019cd30
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x64], r14d
jmp 0x1401c3da8
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x58], rax
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
mov eax, 1
mov word [r13 + 0x24], ax
cmp qword [rbp - 0x60], 0
je 0x1401c524c
mov rcx, qword [rbp - 0x58]
call fcn.1401c0c50
mov r15, qword [rsp + 0x58]
mov r12d, eax
mov dword [rsp + 0x60], eax
test eax, eax
jne 0x1401c6df7
mov rax, qword [rbp - 0x58]
cmp byte [rax + 0x1c], r12b
jne 0x1401c525d
mov rdx, qword [rbp - 0x60]
lea r8, [rbp - 0x50]
mov rcx, r15
call fcn.1401c8120
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c6df7
mov rax, qword [rbp - 0x50]
mov r8d, 4
mov r10, qword [rsp + 0x48]
inc esi
mov qword [r13], rax
mov rax, qword [rsp + 0x68]
mov word [r13 + 0x24], r8w
jmp 0x1401c10ed
mov r15, qword [rsp + 0x58]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
movsxd rcx, dword [rdi + r15*8 + 4]
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x58]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rcx
cmp qword [rcx], 0
je 0x1401c1801
mov rax, qword [rcx + 0x38]
mov qword [rbp - 0x50], rax
movzx eax, word [rdi + r15*8 + 0x10]
mov word [rbp - 0x48], ax
cmp byte [rdi + r15*8 + 3], 0
je 0x1401c52b9
mov eax, ntohs
mov word [rbp - 0x46], ax
jmp 0x1401c52be
mov word [rbp - 0x46], r8w
movsxd rax, dword [rdi + r15*8 + 0xc]
lea r8, [rbp - 0x58]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x70]
mov qword [rbp - 0x38], rdx
lea rdx, [rbp - 0x50]
call fcn.1401c7fb0
cmp byte [rdi + r15*8], 0x51
mov r12d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp - 0x58]
jne 0x1401c52f2
neg eax
jmp 0x1401c52f4
inc eax
mov r10, qword [rsp + 0x48]
mov r8d, 4
mov dword [rbp - 0x58], eax
test eax, eax
jle 0x1401c1801
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
jmp 0x1401c3db8
mov rdx, qword [rsp + 0x58]
mov ecx, r14d
mov dword [rbp - 0x5c], ecx
mov rax, qword [rdx + 0xa8]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x1401c5363
cmp dword [rax + 0x78], 0xbdf20da3
jne 0x1401c5356
cmp byte [rax + 0xa5], 2
jae 0x1401c5356
cmp dword [rax + 0x8c], 0
jl 0x1401c5356
inc ecx
mov dword [rbp - 0x5c], ecx
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x1401c5336
mov eax, 1
mov word [r13 + 0x24], ax
cmp dword [rbp - 0x5c], eax
jg 0x1401c6e57
movsxd rax, dword [rdi + r15*8 + 0xc]
mov dword [rbp - 0x50], eax
mov rcx, rax
mov rax, qword [rdx + 0x10]
mov ebx, dword [rdi + r15*8 + 4]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rcx, rdi
call fcn.14019d020
lea r8, [rbp - 0x60]
mov edx, ebx
mov rcx, rdi
call fcn.14017b090
cmp byte [rdi + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x60], eax
je 0x1401c53d3
sub dword [rdi + 0x14], 1
jne 0x1401c53d3
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1401c53cf
call qword [0x1402da578]
mov byte [rdi + 0x12], 0
mov rdi, qword [rsp + 0x78]
mov r8d, 4
mov word [r13 + 0x24], r8w
movsxd rax, dword [rbp - 0x60]
mov qword [r13], rax
test r12d, r12d
jne case.0x1401c1191.17
mov r8d, dword [rbp - 0x60]
test r8d, r8d
je 0x1401c3da8
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
movsxd r9, dword [rbp - 0x50]
shl r9, 5
add r9, qword [r15 + 0x10]
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1401c5439
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x20], r8d
jne 0x1401c5431
mov dword [rax + 0x20], edx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1401c5424
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1401c545b
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], r8d
jne 0x1401c5453
mov dword [rax + 0x28], edx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1401c5446
mov byte [rsp + 0x40], 1
jmp 0x1401c3dad
mov rbx, qword [rsp + 0x58]
lea r8, [rbp - 0x60]
mov dword [rbp - 0x60], r14d
cmp dword [rdi + r15*8 + 0xc], 0
movsxd rax, dword [rdi + r15*8 + 8]
mov rcx, qword [rbx + 0x10]
cmove r8, r14
mov edx, dword [rdi + r15*8 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14019c2e0
cmp dword [rdi + r15*8 + 0xc], 0
mov r12d, eax
mov r10, qword [rsp + 0x48]
mov dword [rsp + 0x60], eax
je 0x1401c697d
movsxd rdx, dword [rbp - 0x60]
mov r8d, 4
add dword [r10 + 0xac], edx
movsxd rax, dword [rdi + r15*8 + 0xc]
test eax, eax
jle 0x1401c6985
mov rbx, qword [rsp + 0x70]
mov r15, qword [rsp + 0x58]
imul rcx, rax, 0x38
add qword [rcx + rbx], rdx
jmp 0x1401c3db8
mov rbx, qword [rsp + 0x58]
mov ecx, 5
mov dword [rbp - 0x60], r14d
movsxd rax, dword [rdi + r15*8 + 4]
shl rax, 5
add rax, qword [rbx + 0x10]
mov ebx, 2
mov qword [rbp - 0x58], rax
cmp byte [rdi + r15*8], 0x62
cmove ebx, ecx
mov dword [rbp - 0x5c], ebx
mov rdi, qword [rax + 8]
mov rcx, rdi
call fcn.14019d020
mov r8d, ebx
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.14017ad00
cmp byte [rdi + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x60], eax
je 0x1401c5559
sub dword [rdi + 0x14], 1
jne 0x1401c5559
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1401c5555
call qword [0x1402da578]
mov byte [rdi + 0x12], 0
movsxd rax, dword [rbp - 0x60]
mov qword [r13], rax
jmp 0x1401c3da3
mov eax, dword [rdi + r15*8 + 4]
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
mov dword [rbp - 0x60], eax
call fcn.14019d120
cmp dword [rdi + r15*8 + 8], 0
movsxd rdx, dword [rbp - 0x60]
jne 0x1401c55a1
mov rax, qword [rbx + 0x10]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
test byte [rcx + 0x72], 1
je 0x1401c5661
mov qword [rbp - 0x48], rbx
lea rax, str.sqlite_master
cmp edx, 1
lea r9, str.sqlite_temp_master
mov rcx, rdx
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmovne r9, rax
shl rcx, 5
mov qword [rbp - 0x58], r9
mov eax, dword [rdi + r15*8 + 4]
mov dword [rbp - 0x40], eax
mov rax, qword [rsp + 0x48]
add rax, 0x98
mov qword [rbp - 0x38], rax
mov rax, qword [rdi + r15*8 + 0x10]
mov r15, rbx
mov r8, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, rbx
call fcn.1401b0530
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x1401c5616
mov r12d, 7
mov dword [rsp + 0x60], r12d
jmp 0x1401c5664
mov byte [rbx + 0x94], 1
lea r9, [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
lea r8, [fcn.1401adc20]
mov rcx, rbx
mov dword [rbp - 0x30], r14d
mov qword [rsp + 0x20], r14
call fcn.14016f310
mov rdx, qword [rbp - 0x50]
test eax, eax
mov r12d, eax
mov rcx, rbx
cmove r12d, dword [rbp - 0x30]
mov dword [rsp + 0x60], r12d
call fcn.1401a2260
mov byte [rbx + 0x94], 0
jmp 0x1401c5664
mov r15, rbx
mov rcx, r15
call fcn.14019ddb0
mov r10, qword [rsp + 0x48]
cmp r12d, 7
je 0x1401c70f5
jmp 0x1401c3db2
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.1401999b0
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3dad
mov r8, qword [rdi + r15*8 + 0x10]
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.1401bd100
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov r8d, 4
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
mov r8, qword [rdi + r15*8 + 0x10]
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.1401bd040
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov r8d, 4
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
mov r8, qword [rdi + r15*8 + 0x10]
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.1401bd170
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov r8d, 4
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
mov edx, dword [rdi + r15*8 + 8]
mov rcx, qword [rsp + 0x58]
mov dword [rbp - 0x60], edx
lea edx, [rdx*4 + 4]
call fcn.1401a2310
mov qword [rbp - 0x58], rax
mov r8, rax
test rax, rax
je 0x1401c1719
movsxd rcx, dword [rdi + r15*8 + 0xc]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x70]
mov qword [rbp - 0x40], rdx
movsxd rcx, dword [rdi + r15*8 + 4]
imul rbx, rcx, 0x38
mov ecx, r14d
add rbx, qword [rsp + 0x70]
cmp dword [rbp - 0x60], 0
mov dword [rbp - 0x50], ecx
jle 0x1401c57bb
nop dword [rax]
movsxd rax, ecx
imul rcx, rax, 0x38
add rcx, rbx
call fcn.1401c8410
movsxd rdx, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x58]
mov dword [rcx + rdx*4], eax
mov ecx, dword [rbp - 0x50]
inc ecx
mov dword [rbp - 0x50], ecx
cmp ecx, dword [rbp - 0x60]
jl 0x1401c5790
mov r8, qword [rbp - 0x58]
movsxd rax, ecx
mov dword [r8 + rax*4], r14d
lea rax, [rbp - 0x4c]
movzx r10d, byte [rdi + r15*8 + 3]
mov r15, qword [rsp + 0x58]
mov r8d, dword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x10]
mov rax, qword [rbp - 0x40]
shl r10, 5
mov r9d, dword [rax]
mov rcx, qword [r10 + rcx + 8]
call fcn.14019d7c0
mov rdx, qword [rbp - 0x58]
mov rcx, r15
mov qword [rbp - 0x48], rax
call fcn.1401a2260
movsxd rcx, dword [rbp - 0x4c]
mov rax, qword [rbp - 0x40]
sub qword [rax], rcx
mov rcx, rbx
call fcn.1401c9770
cmp dword [rbp - 0x4c], 0
je 0x1401c5848
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x1401c70f0
lea rax, [fcn.1401720b0]
mov r9b, 1
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1401c9890
test byte [rbx + 0x24], 2
movzx ecx, byte [rsp + 0x64]
je 0x1401c5866
movzx eax, byte [rbx + 0x27]
cmp eax, ecx
je 0x1401c5866
movzx edx, cl
mov rcx, rbx
call fcn.1401c9c40
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
mov r8d, 4
mov dword [rsp + 0x50], esi
jmp 0x1401c10f1
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 8]
add rbx, qword [rsp + 0x70]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x70]
test byte [rbx + 0x24], 0x20
jne 0x1401c58b5
mov rcx, rbx
call fcn.1401c97b0
test byte [rbx + 0x24], 0x20
je 0x1401c1719
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.1401b8940
mov rdi, qword [rsp + 0x78]
jmp 0x1401c27bb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x148]
test eax, eax
jne 0x1401c708d
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
test byte [rbx + 0x24], 0x20
je 0x1401c594b
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.140196510
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1401c5946
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
mov rax, qword [rdi + 0x10]
mov rdx, qword [rax + 8]
mov qword [rdi + 0x10], rdx
test rdx, rdx
jne 0x1401c5925
mov rcx, rdi
call fcn.1401b8870
mov rdi, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x60]
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
call fcn.1401c9720
jmp 0x1401c27bb
mov rdi, qword [rsp + 0x78]
mov rcx, rbx
call fcn.1401c9770
mov esi, dword [rdi + r15*8 + 8]
dec esi
jmp 0x1401c27bb
movsxd rax, dword [rdi + r15*8 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 0xc]
add rbx, qword [rsp + 0x70]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x78]
add rdi, qword [rsp + 0x70]
mov eax, dword [rax + r15*8 + 0x10]
mov dword [rbp - 0x60], eax
test byte [rbx + 0x24], 0x20
jne 0x1401c59a3
mov rcx, rbx
call fcn.1401c97b0
test byte [rbx + 0x24], 0x20
je 0x1401c1719
mov eax, dword [rbp - 0x60]
test eax, eax
je 0x1401c59dc
js 0x1401c59ae
and eax, 0xf
jmp 0x1401c59b3
mov eax, 0xff
mov r8, qword [rdi]
movzx edx, al
mov rcx, qword [rbx]
call fcn.1401b89f0
mov dword [rbp - 0x5c], eax
test eax, eax
je 0x1401c59d7
mov rdi, qword [rsp + 0x78]
mov esi, dword [rdi + r15*8 + 8]
jmp 0x1401c27bd
mov eax, dword [rbp - 0x60]
test eax, eax
js 0x1401c59e9
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.1401b8940
mov rdi, qword [rsp + 0x78]
jmp 0x1401c27bb
mov r8, qword [rdi + r15*8 + 0x10]
mov r10, qword [rsp + 0x48]
mov qword [rbp - 0x38], r8
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x70]
mov qword [rbp - 0x58], rdx
cmp byte [rdi + r15*8 + 3], 0
je 0x1401c5a4a
mov rax, qword [r10 + 0x158]
mov rcx, qword [r8 + 0x18]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1401c5a4a
cmp qword [rax + 0x40], rcx
je 0x1401c131e
mov rax, qword [rax + 0x60]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1401c5a33
mov r15, qword [rsp + 0x58]
mov eax, dword [r15 + 0x88]
cmp dword [r10 + 0x160], eax
jge 0x1401c6e77
test byte [rdx + 0x24], 0x40
jne 0x1401c5ba4
mov eax, dword [r8 + 0xc]
mov rcx, r15
add eax, dword [r8 + 0x10]
mov dword [rbp - 0x60], eax
imul eax, eax, 7
add eax, dword [r8 + 0x10]
lea edx, [rax*8 + 0x68]
mov dword [rbp - 0x5c], edx
call fcn.1401a23a0
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1401c70f0
mov rcx, qword [rbp - 0x58]
call fcn.1401c95b0
mov rax, qword [rbp - 0x58]
mov ecx, 0x40
mov r10, qword [rsp + 0x48]
mov word [rax + 0x24], cx
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp - 0x40]
mov qword [rax], r10
mov ecx, dword [rbp - 0x60]
mov rax, qword [rbp - 0x40]
mov dword [rax + 0x48], ecx
mov rax, qword [rbp - 0x38]
mov ecx, dword [rax + 0x10]
mov rax, qword [rbp - 0x40]
mov dword [rax + 0x4c], ecx
mov rax, qword [rbp - 0x40]
mov ecx, dword [rsp + 0x50]
mov dword [rax + 8], ecx
mov rcx, qword [r10 + 0x80]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x20], rcx
mov rax, qword [rbp - 0x40]
mov ecx, dword [r10 + 0x7c]
mov dword [rax + 0x28], ecx
mov rcx, qword [r10 + 0x58]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x30], rcx
mov rax, qword [rbp - 0x40]
movzx ecx, word [r10 + 0x52]
mov word [rax + 0x38], cx
mov rcx, qword [r10 + 0x20]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp - 0x40]
mov ecx, dword [r10 + 0x18]
mov dword [rax + 0x18], ecx
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x40], rcx
mov rdx, qword [rbp - 0x40]
movsxd rax, dword [rdx + 0x48]
imul rcx, rax, 0x38
lea rax, [rdx + 0x68]
add rax, rcx
lea rcx, [rdx + 0x68]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], rcx
cmp rcx, rax
je 0x1401c5bab
mov ebx, 1
nop dword [rax]
nop word [rax + rax]
mov word [rcx + 0x24], bx
mov rax, qword [rbp - 0x50]
mov qword [rax + 0x10], r15
mov rcx, qword [rbp - 0x50]
add rcx, 0x38
mov qword [rbp - 0x50], rcx
cmp rcx, qword [rbp - 0x48]
jne 0x1401c5b80
mov rdx, qword [rbp - 0x40]
jmp 0x1401c5bab
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
inc dword [r10 + 0x160]
or esi, 0xffffffff
mov rax, qword [r10 + 0x158]
mov r8d, 4
mov qword [rdx + 0x60], rax
mov rcx, qword [r15 + 0x40]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x50], rcx
mov ecx, dword [r10 + 0xac]
mov rax, qword [rbp - 0x40]
mov dword [rax + 0x58], ecx
mov rax, qword [rbp - 0x40]
mov qword [r10 + 0x158], rax
mov dword [r10 + 0xac], r14d
lea rbx, [rax + 0x30]
mov qword [r10 + 0x80], rbx
mov ecx, dword [rax + 0x48]
mov dword [r10 + 0x7c], ecx
movzx eax, word [rax + 0x4c]
mov word [r10 + 0x52], ax
lea eax, [rcx + 1]
mov qword [rsp + 0x70], rbx
cdqe
imul rcx, rax, 0x38
mov rax, qword [rbp - 0x38]
add rcx, rbx
mov qword [r10 + 0x58], rcx
inc esi
mov dword [rsp + 0x50], esi
mov rdi, qword [rax]
mov qword [r10 + 0x20], rdi
mov eax, dword [rax + 8]
mov dword [r10 + 0x18], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x78], rdi
jmp 0x1401c10f1
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x158]
mov qword [rbp - 0x60], r8
movsxd rax, dword [r8 + 8]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
mov rcx, r13
add eax, dword [rdi + r15*8 + 4]
cdqe
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x20]
mov r8d, 0x1000
mov qword [rbp - 0x58], rdx
call fcn.1401c9aa0
jmp 0x1401c27bb
cmp dword [rdi + r15*8 + 4], 0
movsxd rax, dword [rdi + r15*8 + 8]
je 0x1401c5cb9
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
add qword [r15 + 0x320], rax
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
add qword [r10 + 0x140], rax
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
cmp dword [rdi + r15*8 + 4], 0
je 0x1401c5d08
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x320], 0
jne 0x1401c5cf4
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov r10, qword [rsp + 0x48]
mov r15, rax
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
cmp qword [r10 + 0x140], 0
jne 0x1401c4230
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov rax, qword [rsp + 0x68]
inc esi
jmp 0x1401c10ed
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x158]
test rcx, rcx
je 0x1401c5d7f
mov qword [rbp - 0x58], rcx
mov rax, qword [rcx + 0x60]
test rax, rax
je 0x1401c5d70
nop dword [rax]
nop word [rax + rax]
mov rcx, rax
mov qword [rbp - 0x58], rax
mov rax, qword [rax + 0x60]
test rax, rax
jne 0x1401c5d60
movsxd rax, dword [rdi + r15*8 + 4]
imul rdx, rax, 0x38
add rdx, qword [rcx + 0x20]
jmp 0x1401c5d8d
movsxd rax, dword [rdi + r15*8 + 4]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x70]
mov rcx, rdx
mov qword [rbp - 0x60], rdx
call fcn.1401c9390
movsxd rax, dword [rdi + r15*8 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1401c9390
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbx]
cmp qword [rcx], rax
jge 0x1401c27bb
mov qword [rcx], rax
jmp 0x1401c27bb
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
cmp qword [rcx + rax], 0
jle 0x1401c11fd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x70]
cmp qword [rcx + rax], 0
jge 0x1401c11fd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + r15*8 + 0xc]
add rcx, qword [rsp + 0x70]
add qword [rcx], rax
jne 0x1401c11fd
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
mov r10, qword [rsp + 0x48]
inc esi
mov rax, qword [rsp + 0x68]
jmp 0x1401c10ed
movzx ecx, byte [rdi + r15*8 + 3]
mov rbx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov dword [rbp - 0x60], ecx
movsxd rax, dword [rdi + r15*8 + 8]
mov r8, qword [rbx + 0x38]
imul rdx, rax, 0x38
mov eax, r14d
mov qword [rbp + 0x18], r8
add rdx, r9
mov dword [rbp - 0x5c], eax
mov qword [rbp - 0x50], rdx
test ecx, ecx
jle 0x1401c5ecf
cdqe
mov qword [r8 + rax*8], rdx
mov rcx, qword [rbp - 0x50]
call fcn.1401c9b10
mov eax, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x50]
inc eax
add rdx, 0x38
mov dword [rbp - 0x5c], eax
mov qword [rbp - 0x50], rdx
cmp eax, dword [rbp - 0x60]
jge 0x1401c5ecf
mov r8, qword [rbp + 0x18]
jmp 0x1401c5ea1
mov rax, qword [rdi + r15*8 + 0x10]
mov qword [rbp - 0x48], rax
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
mov eax, 1
add rcx, r9
mov qword [rbp - 0x58], rcx
mov qword [rbp], rcx
inc dword [rcx + 0x20]
mov r9, qword [rbp - 0x48]
mov word [rbp - 0x14], ax
mov rax, qword [rsp + 0x58]
mov qword [rbp - 0x20], r14
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x28], rax
mov dword [rbp + 8], r14d
mov qword [rbp + 0x10], r14
test byte [r9 + 3], 8
je 0x1401c5f29
mov rax, qword [rdi + r15*8 - 8]
mov qword [rbp + 0x10], rax
mov r8, qword [rbp + 0x18]
lea rcx, [rbp - 0x48]
mov edx, dword [rbp - 0x60]
call qword [r9 + 0x20]
cmp dword [rbp + 8], 0
je 0x1401c5f72
mov dl, 1
lea rcx, [rbp - 0x38]
call fcn.1401c0440
mov r15, qword [rsp + 0x58]
lea rcx, [rbx + 0x98]
mov rdx, r15
lea r8, [0x140239fd0]
mov r9, rax
call fcn.1401bb710
mov r12d, dword [rbp + 8]
mov dword [rsp + 0x60], r12d
jmp 0x1401c5f77
mov r15, qword [rsp + 0x58]
lea rcx, [rbp - 0x38]
call fcn.1401c95e0
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x28]
call fcn.1401a2260
mov r10, rbx
mov qword [rbp - 0x20], r14
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], r14
jmp 0x1401c3db2
movsxd rax, dword [rdi + r15*8 + 4]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x60], rcx
mov rdx, qword [rdi + r15*8 + 0x10]
call fcn.1401c8e90
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
je 0x1401c5ff8
mov rcx, qword [rbp - 0x60]
mov dl, 1
call fcn.1401c0440
mov rcx, qword [rsp + 0x48]
lea r8, [0x140239fd0]
mov r15, qword [rsp + 0x58]
add rcx, 0x98
mov r9, rax
mov rdx, r15
call fcn.1401bb710
jmp 0x1401c5ffd
mov r15, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x60]
movzx edx, byte [rsp + 0x64]
test byte [rcx + 0x24], 2
je 0x1401c601d
movzx eax, byte [rcx + 0x27]
cmp eax, edx
je 0x1401c601d
call fcn.1401c9c40
mov rcx, qword [rbp - 0x60]
call fcn.1401c9c10
mov r10, qword [rsp + 0x48]
test eax, eax
jne 0x1401c6eea
jmp 0x1401c3db2
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.14019fc40
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3dad
mov r11, qword [rsp + 0x48]
mov r8d, dword [rdi + r15*8 + 0xc]
mov dword [rbp - 0x50], r8d
cmp dword [r11 + 0xc0], 0
jne 0x1401c608a
mov edx, dword [rdi + r15*8 + 4]
mov rcx, r11
call fcn.1401cb2b0
mov rcx, qword [rsp + 0x48]
call fcn.1401ca190
mov r8d, dword [rbp - 0x50]
mov r11, qword [rsp + 0x48]
movsxd rcx, dword [rdi + r15*8 + 4]
mov r9, qword [rsp + 0x58]
shl rcx, 5
cmp r8d, 0xffffffff
mov rax, qword [r9 + 0x10]
mov r10, qword [rcx + rax + 8]
mov qword [rbp - 0x60], r10
mov rax, qword [r10 + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x58], rcx
movzx edx, byte [rcx + 9]
cmove r8d, edx
mov dword [rbp - 0x4c], edx
mov dword [rbp - 0x50], r8d
cmp byte [rcx + 0x12], 3
jae 0x1401c60da
mov rax, qword [rcx + 0x50]
cmp qword [rax], 0
je 0x1401c60e0
cmp qword [rcx + 0x60], 0
jle 0x1401c60e0
mov r8d, edx
mov dword [rbp - 0x50], edx
mov rax, qword [rcx + 0xb0]
mov qword [rbp - 0x48], rax
cmp r8d, 5
jne 0x1401c611a
cmp byte [rax], 0
je 0x1401c610a
mov rax, qword [rcx + 0x48]
mov r9, qword [rax]
cmp dword [r9], 2
jl 0x1401c610a
cmp qword [r9 + 0x68], 0
jne 0x1401c6115
mov r8d, edx
mov dword [rbp - 0x50], edx
jmp 0x1401c61ad
mov r9, qword [rsp + 0x58]
cmp r8d, edx
je 0x1401c61ad
cmp edx, 5
je 0x1401c612e
cmp r8d, 5
jne 0x1401c61ad
cmp byte [r9 + 0x28], 0
je 0x1401c6e9e
cmp dword [r9 + 0xb0], 1
jg 0x1401c6e9e
cmp edx, 5
jne 0x1401c6165
call fcn.1401b1e90
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
jne 0x1401c619b
mov edx, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x58]
jmp 0x1401c616f
cmp edx, 4
jne 0x1401c617c
mov edx, 2
call fcn.1401b2d10
mov r10, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x50]
mov edx, r14d
cmp r8d, 5
mov rcx, r10
sete dl
inc edx
call fcn.14019f5b0
mov dword [rsp + 0x60], eax
mov r12d, eax
test eax, eax
je 0x1401c61a5
mov r8d, dword [rbp - 0x4c]
mov dword [rbp - 0x50], r8d
jmp 0x1401c61a9
mov r8d, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x58]
mov edx, r8d
call fcn.1401b2d10
mov dword [rbp - 0x50], eax
movsxd rax, dword [rdi + r15*8 + 8]
imul r13, rax, 0x38
mov eax, 0xa02
add r13, qword [rsp + 0x70]
mov word [r13 + 0x24], ax
movsxd rax, dword [rbp - 0x50]
cmp eax, 6
jne 0x1401c61de
mov rcx, r14
jmp 0x1401c61ed
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x253e28]
mov qword [r13 + 0x18], rcx
mov rax, rcx
test rcx, rcx
jne 0x1401c61fe
mov eax, r14d
jmp 0x1401c6212
cmp byte [rcx], 0
je 0x1401c620b
inc rax
cmp byte [rax], 0
jne 0x1401c6203
sub eax, ecx
and eax, 0x3fffffff
mov dword [r13 + 0x20], eax
movzx eax, byte [rsp + 0x64]
mov byte [r13 + 0x27], 1
cmp eax, 1
je 0x1401c3da8
movzx edx, al
mov rcx, r13
call fcn.1401c9c40
jmp 0x1401c3da8
mov rcx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
add rcx, 0x98
mov rdx, r15
call fcn.1401b8f30
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3dad
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [rsp + 0x58]
shl rcx, 5
mov rax, qword [rax + 0x10]
mov rcx, qword [rcx + rax + 8]
mov qword [rbp - 0x60], rcx
call fcn.14019d430
mov r10, qword [rsp + 0x48]
mov r12d, eax
mov dword [rsp + 0x60], eax
mov r8d, 4
cmp eax, 0x65
jne 0x1401c1801
mov r12d, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec r12d
mov dword [rsp + 0x50], r12d
mov r12d, r14d
mov esi, dword [rsp + 0x50]
mov dword [rsp + 0x60], r14d
jmp 0x1401c3db8
cmp dword [rdi + r15*8 + 4], 0
jne 0x1401c62e2
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.1401a42b0
mov rax, qword [rsp + 0x68]
inc esi
mov r10, qword [rsp + 0x48]
jmp 0x1401c10ed
mov r10, qword [rsp + 0x48]
inc esi
mov r15, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
mov byte [r10 + 0xa2], 1
jmp 0x1401c10ed
movzx r8d, byte [rdi + r15*8 + 0xc]
test r8b, r8b
jne 0x1401c631d
mov rax, qword [rsp + 0x58]
test dword [rax + 0x18], 0x80000
jne 0x1401c696d
movsxd rax, dword [rdi + r15*8 + 4]
mov rbx, qword [rsp + 0x58]
mov edx, dword [rdi + r15*8 + 8]
shl rax, 5
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rax + rcx + 8]
call fcn.14019de70
mov dword [rsp + 0x60], eax
mov r12d, eax
cmp al, 6
jne 0x1401c6975
mov r9, qword [rdi + r15*8 + 0x10]
lea r8, str.database_table_is_locked:__s
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
add rcx, 0x98
mov r15, rbx
call fcn.1401bb710
jmp 0x1401c3dad
mov rdx, qword [rdi + r15*8 + 0x10]
mov r15, qword [rsp + 0x58]
mov rcx, r15
mov qword [rbp - 0x60], rdx
call fcn.1401cb4f0
mov rdx, qword [rbp - 0x60]
mov r12d, eax
mov dword [rsp + 0x60], eax
test rdx, rdx
je 0x1401c3dad
mov rdx, qword [rdx + 0x10]
mov rcx, qword [rsp + 0x48]
call fcn.140189d10
jmp 0x1401c3dad
mov r8, qword [rdi + r15*8 + 0x10]
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
mov rcx, r15
add r9, 0x98
call fcn.1401cb810
mov r12d, eax
mov dword [rsp + 0x60], eax
jmp 0x1401c3dad
mov rax, qword [rsp + 0x48]
mov byte [rax + 0xa5], 2
mov r8, qword [rdi + r15*8 + 0x10]
mov edx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov rcx, r15
call fcn.1401cb920
mov r10, qword [rsp + 0x48]
mov r12d, eax
mov dword [rsp + 0x60], eax
mov byte [r10 + 0xa5], 0
jmp 0x1401c3db2
xorps xmm0, xmm0
lea rdx, [rbp - 0x58]
movdqa xmmword [rbp - 0x60], xmm0
mov rax, qword [rdi + r15*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x50], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x48], rax
call qword [rax + 0x30]
mov rbx, qword [rsp + 0x48]
mov r12d, eax
mov rdx, qword [rbp - 0x50]
mov rcx, rbx
mov dword [rsp + 0x60], eax
call fcn.140189d10
test r12d, r12d
jne 0x1401c65fb
mov rcx, qword [rbp - 0x58]
or r9d, 0xffffffff
mov rax, qword [rbp - 0x50]
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov qword [rcx], rax
mov rcx, rbx
mov edx, dword [rdi + r15*8 + 4]
call fcn.140176100
mov r15, qword [rsp + 0x58]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1401c64c5
mov rcx, qword [rbp - 0x58]
lea r8d, [r12 + 4]
mov qword [rax + 0x50], rcx
inc esi
mov rax, qword [rbp - 0x58]
mov r10, rbx
mov dword [rsp + 0x50], esi
mov rcx, qword [rax]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rcx]
mov qword [rax + 0x58], rdx
mov rax, qword [rsp + 0x68]
jmp 0x1401c10f1
mov byte [r15 + 0x2a], 1
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x58]
call qword [rax + 0x38]
mov r10, rbx
jmp 0x1401c3db2
movsxd rax, dword [rdi + r15*8 + 0xc]
mov rbx, qword [rsp + 0x48]
imul r8, rax, 0x38
mov rax, qword [rbx + 0x58]
add r8, qword [rsp + 0x70]
mov r9, qword [rbx + 0x38]
lea r10, [r8 + 0x38]
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x48], r10
movsxd rcx, dword [rdi + r15*8 + 4]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x30], rdx
mov rcx, qword [rdx + 0x50]
mov qword [rbp - 0x40], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x38], rax
mov r11, qword [rax]
mov qword [rbp - 0x58], r11
mov eax, dword [r10]
mov dword [rbp - 0x60], eax
mov edx, dword [r8]
mov r8d, r14d
mov dword [rbp - 0x5c], edx
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], r9
test eax, eax
jle 0x1401c659e
nop word [rax + rax]
lea eax, [r8 + 1]
movsxd rcx, eax
imul rdx, rcx, 0x38
movsxd rax, r8d
add rdx, r10
mov qword [r9 + rax*8], rdx
movsxd rax, dword [rbp - 0x24]
mov rcx, qword [rbp - 0x20]
mov rcx, qword [rcx + rax*8]
call fcn.1401c9b10
mov r8d, dword [rbp - 0x24]
mov eax, dword [rbp - 0x60]
inc r8d
mov r9, qword [rbp - 0x20]
mov dword [rbp - 0x24], r8d
cmp r8d, eax
jge 0x1401c6593
mov r10, qword [rbp - 0x48]
jmp 0x1401c6550
mov rcx, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
mov edx, dword [rbp - 0x5c]
mov byte [rbx + 0xa5], 1
mov r8, qword [rdi + r15*8 + 0x10]
mov qword [rsp + 0x20], r9
mov r9d, eax
call qword [r11 + 0x40]
mov rdx, qword [rbp - 0x38]
mov rcx, rbx
mov r12d, eax
mov dword [rsp + 0x60], eax
mov byte [rbx + 0xa5], 0
call fcn.140189d10
test r12d, r12d
jne 0x1401c65e5
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x40]
call qword [rax + 0x50]
mov dword [rbp - 0x28], eax
jmp 0x1401c65e8
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x1401c65f3
mov esi, dword [rdi + r15*8 + 8]
dec esi
mov rax, qword [rbp - 0x30]
mov byte [rax + 0x1c], 0
mov r15, qword [rsp + 0x58]
mov r10, rbx
jmp 0x1401c3db2
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x58]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x50], rcx
cmp byte [rbx + 0x1c], 0
je 0x1401c663c
call fcn.1401c9770
jmp 0x1401c27bb
mov rax, qword [rbx + 0x50]
lea rcx, [rbp - 0x48]
xor edx, edx
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
lea r8d, [rdx + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
call fcn.14012d3f0
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x38]
call fcn.1401c9440
movzx eax, word [rbp - 0x14]
lea rdx, [rbp - 0x48]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [rbp - 0x14], ax
mov rax, qword [rbp - 0x58]
mov r8d, dword [rdi + r15*8 + 8]
mov rcx, qword [rbx + 0x50]
call qword [rax + 0x58]
mov rdx, qword [rbp - 0x60]
mov r12d, eax
mov rcx, qword [rsp + 0x48]
call fcn.140189d10
mov eax, dword [rbp + 8]
test eax, eax
movzx ecx, byte [rsp + 0x64]
cmovne r12d, eax
test byte [rbp - 0x14], 2
mov dword [rsp + 0x60], r12d
je 0x1401c66d0
movzx eax, byte [rbp - 0x11]
cmp eax, ecx
je 0x1401c66d0
movzx edx, cl
lea rcx, [rbp - 0x38]
call fcn.1401c9c40
mov rcx, qword [rbp - 0x50]
lea rdx, [rbp - 0x38]
call fcn.1401c9440
mov rcx, qword [rbp - 0x50]
call fcn.1401c9c10
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
test eax, eax
jne 0x1401c6eea
jmp 0x1401c3db2
mov r10, qword [rsp + 0x48]
mov dword [rbp - 0x50], r14d
movsxd rcx, dword [rdi + r15*8 + 4]
mov rax, qword [r10 + 0x58]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x48], rdx
cmp byte [rdx + 0x1c], 0
jne 0x1401c1801
mov rax, qword [rdx + 0x50]
mov rcx, qword [rax]
mov qword [rbp - 0x60], rcx
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
mov byte [r10 + 0xa5], 1
mov rcx, qword [rdx + 0x50]
call qword [rax + 0x48]
mov rdx, qword [rbp - 0x60]
mov r12d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x48]
mov rcx, rax
mov byte [rax + 0xa5], 0
call fcn.140189d10
test r12d, r12d
jne 0x1401c677a
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x58]
mov rcx, qword [rcx + 0x50]
call qword [rax + 0x50]
mov dword [rbp - 0x50], eax
jmp 0x1401c677d
mov eax, dword [rbp - 0x50]
mov r10, qword [rsp + 0x48]
mov r8d, 4
test eax, eax
jne 0x1401c1801
mov esi, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
dec esi
jmp 0x1401c3db8
mov rax, qword [rdi + r15*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x60], rcx
movsxd rax, dword [rdi + r15*8 + 4]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x70]
mov qword [rbp - 0x58], rdx
mov rax, qword [rcx]
mov rdx, qword [rdx + 0x18]
call qword [rax + 0x98]
mov rdx, qword [rbp - 0x60]
mov r12d, eax
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x60], eax
call fcn.140189d10
jmp 0x1401c3da8
mov rax, qword [rdi + r15*8 + 0x10]
mov r10, qword [rax + 0x10]
mov qword [rbp - 0x60], r10
mov r11, qword [r10]
mov qword [rbp - 0x58], r11
mov edx, dword [rdi + r15*8 + 8]
mov dword [rbp - 0x50], edx
cmp qword [r11 + 0x68], 0
je case.0x1401c1191.17
mov rbx, qword [rsp + 0x48]
mov r8, qword [rbx + 0x38]
mov qword [rbp - 0x40], r8
movsxd rax, dword [rdi + r15*8 + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x4c], r14d
add rcx, qword [rsp + 0x70]
mov qword [rbp - 0x38], rcx
test edx, edx
jle 0x1401c6871
call fcn.1401c9b10
movsxd rdx, dword [rbp - 0x4c]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov qword [rcx + rdx*8], rax
mov rcx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x4c]
add rcx, 0x38
mov edx, dword [rbp - 0x50]
inc eax
mov qword [rbp - 0x38], rcx
mov dword [rbp - 0x4c], eax
cmp eax, edx
jl 0x1401c6835
mov r8, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
mov r10, qword [rbp - 0x60]
lea r9, [rbp - 0x48]
mov rcx, r10
call qword [r11 + 0x68]
mov rdx, qword [rbp - 0x60]
mov rcx, rbx
mov r12d, eax
mov dword [rsp + 0x60], eax
call fcn.140189d10
test r12d, r12d
jne 0x1401c68b6
cmp dword [rdi + r15*8 + 4], r12d
mov r15, qword [rsp + 0x58]
je 0x1401c68bb
mov rax, qword [rbp - 0x48]
mov r10, rbx
mov qword [r15 + 0x40], rax
inc dword [rbx + 0xac]
jmp 0x1401c3db2
mov r15, qword [rsp + 0x58]
inc dword [rbx + 0xac]
mov r10, rbx
jmp 0x1401c3db2
movsxd rcx, dword [rdi + r15*8 + 4]
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
shl rcx, 5
inc esi
mov rax, qword [r15 + 0x10]
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
mov rax, qword [rsp + 0x68]
mov qword [r13], rcx
jmp 0x1401c10ed
mov rdx, qword [rdi + r15*8 + 0x10]
mov r10, qword [rsp + 0x48]
test rdx, rdx
jne 0x1401c6912
mov rdx, qword [r10 + 0x130]
mov r15, qword [rsp + 0x58]
mov qword [rbp - 0x60], rdx
test rdx, rdx
je 0x1401c3db8
cmp qword [r15 + 0xb8], 0
je 0x1401c3db8
mov rcx, r10
call fcn.1401c7370
mov rcx, qword [r15 + 0xc0]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xb8]
mov rdx, rbx
mov rcx, r15
call fcn.1401a2260
jmp 0x1401c3dad
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
jmp 0x1401c3db8
mov r15, rax
jmp 0x1401c3dad
mov r15, rbx
jmp 0x1401c3dad
mov r15, rbx
jmp 0x1401c3db2
mov r15, rbx
jmp 0x1401c3db8
mov r10, qword [rsp + 0x48]
mov r15, rbx
jmp 0x1401c3db8
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
jmp 0x1401c3db8
mov r10, qword [rsp + 0x48]
mov r8d, 4
jmp 0x1401c3db8
mov r12d, 9
jmp 0x1401c6c53
mov ecx, dword [rdi + r15*8 + 4]
mov ebx, dword [rsp + 0x50]
mov dword [r10 + 0x90], ecx
movzx eax, byte [rdi + r15*8 + 8]
mov byte [r10 + 0x60], al
mov dword [r10 + 0x8c], ebx
mov r9, qword [rdi + r15*8 + 0x10]
test r9, r9
je 0x1401c6a33
mov rdx, qword [rsp + 0x58]
lea rcx, [r10 + 0x98]
lea r8, [0x140239fd0]
call fcn.1401bb710
mov rax, qword [rdi + r15*8 + 0x10]
lea rdx, str.abort_at__d_in___s_:__s
mov ecx, dword [rdi + r15*8 + 4]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r9, qword [rax + 0x130]
call fcn.1401cf6f0
jmp 0x1401c6a52
test ecx, ecx
je 0x1401c6a57
mov r9, qword [r10 + 0x130]
lea rdx, str.constraint_failed_at__d_in___s_
mov ecx, dword [rdi + r15*8 + 4]
mov r8d, ebx
call fcn.1401cf6f0
mov r10, qword [rsp + 0x48]
mov rcx, r10
call fcn.1401c7c90
mov r10, qword [rsp + 0x48]
cmp eax, 5
je 0x1401c7075
cmp dword [r10 + 0x90], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x1401c6cc8
mov eax, dword [r10 + 0x88]
add eax, 2
or eax, 1
mov dword [r10 + 0x88], eax
movsxd rax, dword [rdi + r15*8 + 4]
imul rdx, rax, 0x38
mov dword [rbp - 0x58], r14d
add rdx, qword [rsp + 0x70]
mov qword [r10 + 0x48], rdx
mov qword [rbp - 0x60], rdx
cmp dword [rdi + r15*8 + 8], 0
jle 0x1401c6afd
nop dword [rax]
movsxd rax, r14d
imul rcx, rax, 0x38
add rcx, rdx
call fcn.1401c94b0
movsxd rax, dword [rbp - 0x58]
imul rcx, rax, 0x38
add rcx, qword [rbp - 0x60]
call fcn.1401c9b10
mov r14d, dword [rbp - 0x58]
inc r14d
mov dword [rbp - 0x58], r14d
cmp r14d, dword [rdi + r15*8 + 8]
jge 0x1401c6af8
mov rdx, qword [rbp - 0x60]
jmp 0x1401c6ac0
mov r10, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
cmp byte [r15 + 0x2a], 0
jne 0x1401c70f5
mov eax, dword [rsp + 0x50]
mov ebx, 0x64
inc eax
mov dword [r10 + 0x8c], eax
jmp 0x1401c6cc8
mov rdx, qword [r10]
lea rcx, [r10 + 0x98]
lea r8, str.foreign_key_constraint_failed
mov dword [r10 + 0x90], 0x13
mov byte [r10 + 0x60], 2
call fcn.1401bb710
inc dword [rsp + 0x50]
mov edi, 1
mov r15, qword [rsp + 0x58]
mov r12d, edi
jmp 0x1401c6c5d
movzx eax, word [rbp - 0x1c]
mov ecx, 0x2460
test cx, ax
je 0x1401c6bfa
mov ecx, 0x2000
test cx, ax
je 0x1401c6b94
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
call fcn.1401c8e90
lea rcx, [rbp - 0x40]
call fcn.1401c95b0
jmp 0x1401c6bfa
mov ecx, 0x400
test cx, ax
je 0x1401c6bb3
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x1401c6bb3
mov rcx, qword [rbp - 0x28]
call rax
mov qword [rbp - 0x18], r14
jmp 0x1401c6bfa
movzx eax, byte [rbp - 0x1c]
test al, 0x20
je 0x1401c6bc6
mov rcx, qword [rbp - 0x40]
call fcn.1401b8870
jmp 0x1401c6bfa
test al, 0x40
je 0x1401c6bfa
mov rcx, qword [rbp - 0x40]
call fcn.1401c7a40
test byte [rbp - 0x1c], 0x20
je 0x1401c6be2
mov rcx, qword [rbp - 0x40]
call fcn.1401b8870
movzx eax, word [rbp - 0x1c]
mov ecx, 0xbf01
and ax, cx
mov byte [rbp - 0x1a], 5
or ax, 1
mov word [rbp - 0x1c], ax
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
call fcn.1401a2260
mov qword [rbp - 0x28], r14
mov r15, rbx
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x18], r14
jmp 0x1401c70f0
mov r12d, 0x14
mov r15, qword [rsp + 0x58]
jmp 0x1401c6df7
lea r9, [0x14025a104]
mov r8d, 0xf0f4
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, ntohs
call fcn.1401cf6f0
mov r12d, ntohs
inc dword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov edi, 1
mov rax, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
lea rdx, str.statement_aborts_at__d:___s___s
mov dword [rax + 0x90], r12d
mov ecx, r12d
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r9, qword [rax + 0x130]
call fcn.1401cf6f0
mov rcx, qword [rsp + 0x48]
call fcn.1401c7c90
cmp r12d, 0xc0a
jne 0x1401c6cb2
mov byte [r15 + 0x2a], 1
mov ebx, edi
test sil, sil
je 0x1401c6cc3
xor edx, edx
mov rcx, r15
call fcn.1401b8230
mov r10, qword [rsp + 0x48]
lea rcx, [r10 + 0xc0]
call fcn.14019e420
mov eax, ebx
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14012a1e0
lea r11, [rsp + 0x1d0]
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
mov rcx, qword [rsp + 0x48]
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
add rcx, 0x98
mov rdx, r15
call fcn.1401bb710
inc dword [rsp + 0x50]
mov r12d, 5
jmp 0x1401c6c58
mov eax, dword [rsp + 0x50]
mov r10, rdi
mov dword [rdi + 0x8c], eax
mov eax, 5
mov byte [r15 + 0x28], 0
mov ebx, eax
mov dword [rdi + 0x90], eax
jmp 0x1401c6cc8
lea rcx, [rdi + 0x98]
mov dword [rdi + 0x90], 0x13
lea r8, str.foreign_key_constraint_failed
mov byte [rdi + 0x60], 2
call fcn.1401bb710
mov r10, rdi
jmp 0x1401c6cc8
mov r10, qword [rsp + 0x48]
mov eax, dword [rsp + 0x50]
mov dword [r10 + 0x8c], eax
mov eax, 5
mov ebx, eax
mov dword [r10 + 0x90], eax
jmp 0x1401c6cc8
lea r9, [0x14025a104]
mov r8d, 0xf434
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, ntohs
call fcn.1401cf6f0
mov r15, qword [rsp + 0x58]
mov r12d, ntohs
jmp 0x1401c6df7
mov r12d, r8d
jmp 0x1401c6c4f
mov r15, qword [rsp + 0x58]
mov r12d, ntohs
jmp 0x1401c6df7
mov r12d, ntohs
jmp 0x1401c6df7
mov r15, qword [rsp + 0x58]
jmp 0x1401c6dfc
mov r15, rbx
mov rbx, qword [rsp + 0x48]
cmp byte [r15 + 0x2a], 0
je 0x1401c6e0b
mov r12d, 7
jmp 0x1401c6e18
cmp r12d, 0xc0a
je 0x1401c6c58
movzx eax, r12b
cmp eax, 0x1a
ja 0x1401c6e35
lea rcx, [0x140000000]
mov r9, qword [rcx + rax*8 + 0x255fa0]
test r9, r9
jne 0x1401c6e3c
lea r9, str.unknown_error
lea rcx, [rbx + 0x98]
mov rdx, r15
lea r8, [0x140239fd0]
call fcn.1401bb710
jmp 0x1401c6c58
mov rax, qword [rsp + 0x48]
mov r12d, 6
inc dword [rsp + 0x50]
mov r15, rdx
mov byte [rax + 0x60], 2
lea edi, [r12 - 5]
jmp 0x1401c6c62
mov edi, 1
lea rcx, [r10 + 0x98]
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, r15
mov r12d, edi
call fcn.1401bb710
inc dword [rsp + 0x50]
jmp 0x1401c6c5d
mov r15, qword [rsp + 0x58]
lea rax, str.into
cmp r8d, 5
lea r9, str.out_of
mov edi, 1
lea rcx, [r11 + 0x98]
cmove r9, rax
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rdx, r15
mov r12d, edi
call fcn.1401bb710
inc dword [rsp + 0x50]
jmp 0x1401c6c5d
mov r15, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
lea rcx, [r10 + 0x98]
mov rdx, r15
lea r8, str.string_or_blob_too_big
call fcn.1401bb710
mov r12d, 0x12
jmp 0x1401c6c58
mov r15, rax
jmp 0x1401c6eea
mov r15, qword [rsp + 0x58]
jmp 0x1401c6eea
mov edx, dword [rdi + r15*8 + 4]
mov dword [rbp - 0x60], edx
mov ecx, dword [rdi + r15*8 + 8]
mov r15, qword [rsp + 0x58]
mov dword [rbp - 0x5c], ecx
test edx, edx
je 0x1401c6f89
cmp byte [r15 + 0x28], 0
jne 0x1401c6f89
mov edi, 1
mov dword [rbp - 0x58], edi
test ecx, ecx
je 0x1401c6f76
cmp dword [r15 + 0xb0], edi
jle 0x1401c6f92
lea r8, str.cannot_rollback_transaction___SQL_statements_in_progress
mov rcx, qword [rsp + 0x48]
mov rdx, r15
add rcx, 0x98
call fcn.1401bb710
inc dword [rsp + 0x50]
mov r12d, 5
jmp 0x1401c6c5d
cmp dword [r15 + 0xb4], 0
jle 0x1401c6f92
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1401c6f53
mov dword [rbp - 0x58], r14d
mov edi, 1
movzx eax, byte [r15 + 0x28]
cmp edx, eax
jne 0x1401c6fdc
test edx, edx
jne 0x1401c6fa8
lea r8, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1401c6fbc
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea r8, str.cannot_commit___no_transaction_is_active
cmovne r8, rax
mov rcx, qword [rsp + 0x48]
mov rdx, r15
add rcx, 0x98
call fcn.1401bb710
inc dword [rsp + 0x50]
mov r12d, edi
jmp 0x1401c6c5d
test ecx, ecx
je 0x1401c7011
mov rcx, r15
call fcn.1401b86e0
mov byte [r15 + 0x28], 1
mov rcx, r15
call fcn.14019fe30
mov r10, qword [rsp + 0x48]
mov ebx, 0x65
cmp dword [r10 + 0x90], 0
cmove edi, ebx
mov ebx, edi
jmp 0x1401c6cc8
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx]
cmp qword [rdx + 0x320], 0
jle 0x1401c704b
mov dword [rcx + 0x90], 0x13
lea r8, str.foreign_key_constraint_failed
mov byte [rcx + 0x60], 2
add rcx, 0x98
call fcn.1401bb710
mov ebx, edi
jmp 0x1401c6cc3
movzx eax, byte [rbp - 0x60]
mov byte [r15 + 0x28], al
call fcn.1401c7c90
cmp eax, 5
jne 0x1401c6fed
mov r10, qword [rsp + 0x48]
mov eax, dword [rsp + 0x50]
sub dil, byte [rbp - 0x60]
mov dword [r10 + 0x8c], eax
mov byte [r15 + 0x28], dil
mov eax, 5
mov ebx, eax
mov dword [r10 + 0x90], eax
jmp 0x1401c6cc8
mov r15, rbx
jmp 0x1401c7097
mov r10, qword [rsp + 0x48]
mov r15, qword [rsp + 0x58]
movzx esi, byte [rsp + 0x40]
mov rax, qword [str.interrupted]
lea r9, str.unknown_error
test rax, rax
lea rcx, [r10 + 0x98]
mov r12d, 9
lea r8, [0x140239fd0]
cmovne r9, rax
mov dword [r10 + 0x90], r12d
mov rdx, r15
call fcn.1401bb710
mov rax, qword [rsp + 0x48]
lea edi, [r12 - 8]
jmp 0x1401c6c67
mov r15, qword [rsp + 0x58]
mov r10, r12
jmp 0x1401c70f5
mov r15, rax
mov r10, qword [rsp + 0x48]
movzx esi, byte [rsp + 0x40]
lea rcx, [r10 + 0x98]
mov byte [r15 + 0x2a], 1
lea r8, str.out_of_memory
mov rdx, r15
call fcn.1401bb710
mov rax, qword [rsp + 0x48]
mov r12d, 7
lea edi, [r12 - 6]
jmp 0x1401c6c67