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

Disassembly:
mov r11, rsp
push rbp
push rdi
push r12
lea rbp, [r11 - 0x308]
sub rsp, 0x3f0
mov rax, qword [0x1402e7d18]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rax, qword [rcx + 0x88]
mov r12, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov rsi, qword [r12]
mov edi, ecx
mov qword [r11 - 0x20], r14
mov r14, qword [r12 + 0x68]
mov qword [r11 - 0x28], r15
movzx r15d, byte [rsi + 0x64]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
xor al, al
mov dword [rsp + 0x34], ecx
mov dword [rbp - 0x80], ecx
mov qword [rsp + 0x58], rcx
mov rcx, r12
mov byte [rsp + 0x30], r15b
mov qword [rsp + 0x48], rsi
mov byte [rbp - 0x7c], al
mov qword [rsp + 0x60], r14
call fcn.140213340
cmp qword [rsi + 0x208], rdi
je 0x1402134da
mov ecx, dword [rsi + 0x218]
xor edx, edx
mov eax, dword [r12 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x1402134e1
mov rbx, 0xffffffffffffffff
cmp dword [r12 + 0x34], 7
mov r9d, 1
mov qword [rsp + 0x428], r13
movaps xmmword [rsp + 0x3d0], xmm6
mov qword [rsp + 0x50], rbx
je 0x140214191
xor r11d, r11d
mov dword [r12 + 0x34], r11d
mov qword [r12 + 0x48], r11
mov qword [r12 + 0xa0], r11
mov dword [rsi + 0x290], r11d
mov eax, dword [rsi + 0x198]
test eax, eax
jne 0x14021b650
movsxd rax, dword [r12 + 0x30]
mov r8d, 0x9000
mov r10, qword [rsp + 0x40]
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
mov eax, dword [rbp - 0x54]
lea r13, [r10 + rcx*8]
mov dword [rbp - 0x68], eax
movzx ebx, byte [r13]
inc rdi
mov qword [rsp + 0x38], r13
mov edx, 0xffffffff
mov qword [rsp + 0x58], rdi
cmp ebx, 0xb5
ja case.0x14021358a.89
lea rdi, [0x140000000]
movsxd rax, ebx
mov ecx, dword [rdi + rax*4 + 0x21b83c]
add rcx, rdi
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, r10
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp case.0x14021358a.8
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 0x14], 4
je case.0x14021358a.89
mov rax, qword [rax + r14]
lea rcx, [rax + rax*2]
lea r13, [r10 + rcx*8]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 0x14], ax
cmp dword [r13 + 8], 0
jne 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [r10 + rcx*8 + 8]
dec eax
mov word [rdx + r14 + 0x14], r11w
cdqe
lea rcx, [rax + rax*2]
lea r13, [r10 + rcx*8]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
sub rbx, r10
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r13, [r10 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x140213fd8
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
je case.0x14021358a.89
mov rcx, qword [r12 + 0x108]
mov rax, qword [rsp + 0x38]
test rcx, rcx
je 0x14021aee1
cmp dword [rax + 4], 0
jne 0x14021aee1
mov rax, qword [rcx + 8]
mov qword [r12 + 0x108], rax
dec dword [r12 + 0x118]
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x78], rax
add qword [rsi + 0x80], rax
call fcn.14021c560
mov r13, qword [rsp + 0x38]
mov r10, qword [r12 + 0x88]
mov qword [rsp + 0x40], r10
cmp dword [r13 + 8], 4
jne 0x140213747
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r10 + rcx*8 + 8]
dec eax
mov r14, qword [r12 + 0x68]
xor r11d, r11d
cdqe
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea r13, [r10 + rcx*8]
jmp 0x140213fd2
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], r8w
je 0x1402137ab
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
mov rcx, rax
movsxd rax, dword [r13 + 4]
xor r11d, r11d
mov r8d, 0x9000
mov qword [rcx], rax
lea r9d, [r11 + 1]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [r13 + 4]
mov qword [rcx], rax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], r8w
je 0x14021381c
mov rcx, rdx
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
mov rdx, rax
mov rax, qword [r13 + 0x10]
xor r11d, r11d
mov r8d, 0x9000
mov rcx, qword [rax]
lea r9d, [r11 + 1]
mov qword [rdx], rcx
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], r8w
je 0x140213873
mov rcx, rdx
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov rdx, rax
mov r8d, 0x9000
lea r9d, [r11 + 1]
mov eax, 8
mov word [rdx + 0x14], ax
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], r8w
je 0x1402138bd
mov rcx, rbx
call fcn.1401c3d60
mov rbx, rax
xor r11d, r11d
jmp 0x1402138c6
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [r13 + 0x10]
test rdx, rdx
jne 0x1402138d4
mov eax, r11d
jmp 0x1402138ee
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x1402138e0
and eax, 0x3fffffff
mov dword [r13 + 4], eax
cmp r15b, 1
je 0x140213991
mov r9b, 1
mov qword [rsp + 0x20], r11
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.14021e240
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021b306
test byte [rbx + 0x14], 2
jne 0x14021392b
mov byte [rbx + 0x16], r15b
jmp 0x140213945
cmp byte [rbx + 0x16], r15b
je 0x140213945
movzx edx, r15b
mov rcx, rbx
call fcn.14021e790
test eax, eax
jne 0x14021b665
mov rsi, qword [rsp + 0x48]
xor ecx, ecx
mov eax, 0x2000
mov dword [rbx + 0x20], ecx
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x38]
cmp byte [rax + 1], 0xfa
jne 0x140213979
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140213979
mov rcx, rsi
call fcn.1401e2370
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r13 + 4], eax
cmp eax, dword [rsi + 0x88]
jg 0x14021b30b
mov byte [r13], 0x49
mov r8d, 0x9000
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], r8w
je 0x1402139cd
mov rcx, rdx
call fcn.1401c3d60
mov rdx, rax
mov r8d, 0x9000
mov eax, 0x2202
xor r11d, r11d
mov word [rdx + 0x14], ax
mov rax, qword [r13 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r13 + 4]
lea r9d, [r11 + 1]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], r15b
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x140213daf
imul rcx, rax, 0x38
movzx eax, word [r13 + 2]
cmp qword [rcx + r14], rax
jne 0x140213daf
mov eax, 0x2210
mov word [rdx + 0x14], ax
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], r8w
je 0x140213a60
call fcn.1401c3d60
xor r11d, r11d
mov rcx, rax
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x140213a69
mov eax, 4
mov word [rcx + 0x14], ax
cmp dword [rbx + 4], 0
mov esi, r9d
mov edi, dword [rbx + 0xc]
mov edx, 0x101
mov eax, dword [rbx + 8]
cmovne si, dx
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], r11d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x140213da5
test word [rbx + 0x38], r8w
lea rbx, [rbx + 0x38]
je 0x140213ab2
lea rcx, [rbx - 0x14]
call fcn.140234440
xor r11d, r11d
mov r8d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], r11d
test edi, edi
jg 0x140213a95
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r9d, 1
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xffc1
add rcx, r14
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], r8w
je 0x140213b3d
mov rcx, rbx
call fcn.1401c3d60
mov rbx, rax
xor r11d, r11d
mov r8d, 0x9000
jmp 0x140213b46
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
movsxd rdi, dword [rax + 4]
test rdx, rdx
jne 0x140213bd1
test word [rbx + 0x14], r8w
jne 0x140213b64
cmp dword [rbx + 0x20], edx
je 0x140213b6c
mov rcx, rbx
call fcn.1402343f0
mov eax, 0x410
mov rcx, rbx
mov word [rbx + 0x14], ax
xor eax, eax
mov dword [rbx + 0x10], eax
mov edx, eax
test edi, edi
cmovns edx, edi
mov dword [rbx], edx
test edx, edx
mov byte [rbx + 0x16], 1
mov qword [rbx + 8], rax
mov eax, 1
cmovle edx, eax
mov r8d, eax
call fcn.14021dd20
test eax, eax
jne 0x14021418c
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
add rcx, qword [rbx + 8]
movsxd r8, dword [rbx]
call fcn.140145ad0
mov eax, dword [rbx]
add dword [rbx + 0x10], eax
mov eax, 0xf9ff
and word [rbx + 0x14], ax
mov byte [rbx + 0x16], r15b
jmp 0x140213fc5
mov r8, rdi
mov qword [rsp + 0x20], r11
xor r9d, r9d
mov rcx, rbx
call fcn.14021e240
mov byte [rbx + 0x16], r15b
jmp 0x140213fc5
mov rbx, qword [rsp + 0x38]
mov rsi, qword [r12 + 0x80]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x24]
test al, 0x12
je 0x140213c2b
bt ax, 0xa
mov ecx, dword [rdi + rsi - 0x28]
jae 0x140213c1a
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x14021b306
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 0x14], r8w
je 0x140213c57
mov rcx, rbx
call fcn.140234440
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, 0x9000
lea r9d, [r11 + 1]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
nop dword [rax]
test word [rbx + 0x14], r8w
jne 0x140213ccd
cmp dword [rbx + 0x20], 0
je 0x140213cdc
mov rcx, rbx
call fcn.1402343f0
xor r11d, r11d
lea r9d, [r11 + 1]
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], r9w
mov dword [rdi + 0x20], r11d
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x140213d8e
test al, 0x12
je 0x140213d7e
bt ax, 0xa
jae 0x140213d5e
mov edx, dword [rbx]
add edx, dword [rbx + 0x10]
test edx, edx
jg 0x140213d2b
test al, 0x10
je 0x140213d5e
mov edx, r9d
mov r8d, r9d
mov rcx, rbx
call fcn.14021dd20
test eax, eax
jne 0x14021b665
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
add rcx, qword [rbx + 8]
movsxd r8, dword [rbx]
call fcn.140145ad0
mov eax, dword [rbx]
add dword [rbx + 0x10], eax
mov eax, 0xf9ff
and word [rbx + 0x14], ax
cmp dword [rbx + 0x20], 0
je 0x140213d6e
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x140213d7e
mov rcx, rbx
call fcn.140234390
test eax, eax
jne 0x14021b665
mov eax, 0xbfff
and word [rbx + 0x14], ax
xor r11d, r11d
lea r9d, [r11 + 1]
add rdi, 0x38
add rbx, 0x38
mov r8d, 0x9000
sub esi, 1
jne 0x140213cc0
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rbx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
mov esi, dword [rbx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
nop word [rax + rax]
test word [rbx + 0x14], r8w
je 0x140213e10
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.140233030
mov r9d, 1
jmp 0x140213e3d
movups xmm0, xmmword [rdi]
mov eax, 0x2000
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 0x14], ax
jne 0x140213e3d
mov eax, 0xcfff
and word [rbx + 0x14], ax
mov eax, 0x4000
or word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x140213ec3
test al, 0x12
je 0x140213eb6
bt ax, 0xa
jae 0x140213e96
mov edx, dword [rbx]
add edx, dword [rbx + 0x10]
test edx, edx
jg 0x140213e63
test al, 0x10
je 0x140213e96
mov edx, r9d
mov r8d, r9d
mov rcx, rbx
call fcn.14021dd20
test eax, eax
jne 0x14021b665
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
add rcx, qword [rbx + 8]
movsxd r8, dword [rbx]
call fcn.140145ad0
mov eax, dword [rbx]
add dword [rbx + 0x10], eax
mov eax, 0xf9ff
and word [rbx + 0x14], ax
cmp dword [rbx + 0x20], 0
je 0x140213ea6
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x140213eb6
mov rcx, rbx
call fcn.140234390
test eax, eax
jne 0x14021b665
mov eax, 0xbfff
and word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x140213edd
test byte [r13 + 2], 2
je 0x140213edd
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r9d, 1
dec esi
mov r8d, 0x9000
test eax, eax
je 0x140213efe
add rbx, 0x38
add rdi, 0x38
jmp 0x140213df0
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
test word [rcx + 0x14], r8w
je 0x140213f4d
mov r8d, 0x4000
call fcn.140233030
jmp 0x140213fc5
movups xmm0, xmmword [rdx]
mov r13, qword [rsp + 0x38]
mov eax, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 0x14], ax
jne case.0x14021358a.89
mov eax, 0xcfff
and word [rcx + 0x14], ax
mov eax, 0x4000
or word [rcx + 0x14], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x140213ff1
mov rdx, rax
mov rcx, r8
call fcn.1402354e0
mov r13, qword [rsp + 0x38]
xor r11d, r11d
mov r10, qword [rsp + 0x40]
mov r9d, 1
mov r8d, 0x9000
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r13, qword [rsp + 0x38]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, ecx
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
cmp qword [r12 + 0x50], 0
jg 0x14021afe3
mov dword [rsp + 0x34], r11d
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r12, qword [rsp + 0x38]
mov r8, qword [rsp + 0x60]
movsxd rax, dword [r12 + 4]
imul r14, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r14, r8
imul r15, rax, 0x38
movzx r12d, word [r14 + 0x14]
add rbx, r8
movzx eax, r12b
add r15, r8
or al, byte [rbx + 0x14]
test al, 1
je 0x1402140c8
mov r8d, 0x9000
test word [r15 + 0x14], r8w
je 0x1402140a0
mov rcx, r15
call fcn.140234440
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fc5
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov word [r15 + 0x14], r9w
movzx r15d, byte [rsp + 0x30]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
test r12b, 0x12
jne 0x140214100
movzx r13d, byte [rsp + 0x30]
xor r8d, r8d
movzx edx, r13b
mov rcx, r14
call fcn.14021e5b0
test eax, eax
jne 0x140214187
movzx r12d, word [r14 + 0x14]
mov ecx, 0xfffd
and r12w, cx
mov edx, 0x400
jmp 0x14021416a
mov edx, 0x400
test dx, r12w
je 0x140214164
mov edx, dword [r14 + 0x10]
add edx, dword [r14]
test edx, edx
jg 0x14021411f
test r12b, 0x10
je 0x140214156
mov edx, r9d
mov r8d, r9d
mov rcx, r14
call fcn.14021dd20
test eax, eax
jne 0x140214187
movsxd rcx, dword [r14 + 0x10]
xor edx, edx
add rcx, qword [r14 + 8]
movsxd r8, dword [r14]
call fcn.140145ad0
mov eax, dword [r14]
add dword [r14 + 0x10], eax
mov eax, 0xf9ff
and word [r14 + 0x14], ax
movzx r12d, word [r14 + 0x14]
mov eax, 0xfffd
mov edx, 0x400
and r12w, ax
movzx r13d, byte [rsp + 0x30]
movzx edi, word [rbx + 0x14]
test dil, 0x12
jne 0x1402141b3
xor r8d, r8d
movzx edx, r13b
mov rcx, rbx
call fcn.14021e5b0
test eax, eax
je 0x140214204
mov r12, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1401f8ff0
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.1402133e0
mov r10d, 7
jmp 0x140218c8b
test dx, di
je 0x140214210
mov edx, dword [rbx]
add edx, dword [rbx + 0x10]
test edx, edx
jg 0x1402141d0
test dil, 0x10
je 0x140214208
mov ecx, 1
mov edx, ecx
jmp 0x1402141d5
mov ecx, 1
mov r8d, ecx
mov rcx, rbx
call fcn.14021dd20
test eax, eax
jne 0x140214187
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
add rcx, qword [rbx + 8]
movsxd r8, dword [rbx]
call fcn.140145ad0
mov eax, dword [rbx]
add dword [rbx + 0x10], eax
mov eax, 0xf9ff
and word [rbx + 0x14], ax
movzx edi, word [rbx + 0x14]
mov eax, 0xfffd
and di, ax
mov rax, qword [rsp + 0x48]
mov edx, dword [r14 + 0x10]
add edx, dword [rbx + 0x10]
movsxd rsi, edx
movsxd rax, dword [rax + 0x88]
cmp rsi, rax
jg 0x14021b301
xor ecx, ecx
mov r8d, ecx
cmp r15, rbx
mov rcx, r15
sete r8b
add edx, 2
call fcn.14021dd20
test eax, eax
jne 0x14021b65b
mov eax, 0xf242
and word [r15 + 0x14], ax
or word [r15 + 0x14], 2
cmp r15, rbx
je 0x140214278
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [r15 + 8]
call fcn.140145e60
mov word [rbx + 0x14], di
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [r15 + 8]
movsxd r8, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
call fcn.140145e60
mov word [r14 + 0x14], r12w
cmp r13b, 1
jbe 0x14021429c
and rsi, 0xfffffffffffffffe
mov rax, qword [r15 + 8]
mov byte [rsi + rax], 0
mov rax, qword [r15 + 8]
mov byte [rsi + rax + 1], 0
mov eax, 0x200
or word [r15 + 0x14], ax
mov dword [r15 + 0x10], esi
mov byte [r15 + 0x16], r13b
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fca
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx ebx, word [rdi + 0x14]
test bl, 0x2c
jne 0x14021430b
test bl, 0x12
je 0x140214307
mov rcx, rdi
call fcn.1401a8940
movzx ebx, ax
xor r11d, r11d
jmp 0x14021430b
movzx ebx, r11w
movsxd rax, dword [rsi + 8]
imul rsi, rax, 0x38
add rsi, r14
movzx r8d, word [rsi + 0x14]
movzx edx, r8w
and dx, 0x2c
jne 0x140214340
test r8b, 0x12
je 0x14021433d
mov rcx, rsi
call fcn.1401a8940
movzx r8d, word [rsi + 0x14]
movzx edx, ax
jmp 0x140214340
mov edx, r11d
mov r13, qword [rsp + 0x38]
and dl, bl
movzx r10d, word [rdi + 0x14]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, r10w
add r14, rcx
or ax, r8w
test dl, 4
je 0x140214520
movzx ecx, byte [r13]
mov r9, qword [rdi]
mov r8, qword [rsi]
sub ecx, 0x6a
je 0x1402144bc
sub ecx, 1
je 0x14021447f
sub ecx, 1
je 0x1402143e7
cmp ecx, 1
je 0x1402143b5
test r9, r9
je 0x1402146c2
cmp r9, 0xffffffffffffffff
mov rax, r8
mov ecx, 1
cqo
cmove r9, rcx
idiv r9
mov r8, rdx
jmp 0x1402144f8
test r9, r9
je 0x1402146c2
cmp r9, 0xffffffffffffffff
jne 0x1402143d7
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140214528
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1402144f8
test r9, r9
jle 0x14021441d
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x140214528
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x140214479
jmp 0x140214528
jns 0x140214479
test r8, r8
jle 0x14021443d
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x140214479
jmp 0x140214528
jns 0x140214479
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140214528
cmp r8, rax
je 0x140214528
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x140214528
imul r8, r9
jmp 0x1402144f8
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x14021449c
test r8, r8
jns 0x140214528
sub r8, rax
jmp 0x1402144f8
neg r9
jns 0x1402144c1
test r8, r8
jns 0x1402144f5
movabs rcx, 0x8000000000000001
lea rax, [r9 + 1]
sub rcx, r8
cmp rcx, rax
jmp 0x1402144f3
test r9, r9
js 0x1402144da
test r8, r8
jle 0x1402144f5
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1402144f5
jmp 0x140214528
test r8, r8
jns 0x1402144f5
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x140214528
add r8, r9
mov rsi, qword [rsp + 0x48]
mov ecx, 0xf244
mov qword [r14], r8
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x60]
jmp 0x140213fca
test al, 1
jne 0x1402146c2
test r10b, 8
je 0x140214534
movsd xmm2, qword [rdi]
jmp 0x14021455a
test r10b, 0x24
je 0x140214544
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x14021455a
test r10b, 0x12
je 0x140214557
mov rcx, rdi
call fcn.1401bffd0
movaps xmm2, xmm0
jmp 0x14021455a
movaps xmm2, xmm6
movzx eax, word [rsi + 0x14]
test al, 8
je 0x140214568
movsd xmm0, qword [rsi]
jmp 0x140214587
test al, 0x24
je 0x140214576
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x140214587
test al, 0x12
je 0x140214584
mov rcx, rsi
call fcn.1401bffd0
jmp 0x140214587
movaps xmm0, xmm6
movzx ecx, byte [r13]
sub ecx, 0x6a
je 0x140214664
sub ecx, 1
je 0x14021465e
sub ecx, 1
je 0x140214658
cmp ecx, 1
je 0x14021464a
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x1402145bf
mov rbx, qword [rdi]
xor ecx, ecx
jmp 0x1402145f1
test al, 8
je 0x1402145d3
movsd xmm0, qword [rdi]
call fcn.1401ac0a0
mov rbx, rax
xor ecx, ecx
jmp 0x1402145f1
test al, 0x12
je 0x1402145ed
cmp qword [rdi + 8], 0
je 0x1402145ed
mov rcx, rdi
call fcn.1401bffa0
mov rbx, rax
xor ecx, ecx
jmp 0x1402145f1
xor ecx, ecx
mov ebx, ecx
movzx eax, word [rsi + 0x14]
test al, 0x24
je 0x1402145fe
mov rax, qword [rsi]
jmp 0x140214625
test al, 8
je 0x14021460d
movsd xmm0, qword [rsi]
call fcn.1401ac0a0
jmp 0x140214625
test al, 0x12
je 0x140214622
cmp qword [rsi + 8], 0
je 0x140214622
mov rcx, rsi
call fcn.1401bffa0
jmp 0x140214625
mov rax, rcx
test rbx, rbx
je 0x1402146c2
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140214668
ucomisd xmm2, xmm6
jp 0x140214652
je 0x1402146c2
divsd xmm0, xmm2
jmp 0x140214668
mulsd xmm0, xmm2
jmp 0x140214668
subsd xmm0, xmm2
jmp 0x140214668
addsd xmm0, xmm2
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x70], xmm0
mov rax, qword [rbp - 0x70]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x1402146c2
mov rsi, qword [rsp + 0x48]
mov ecx, 0xf248
movsd qword [r14], xmm0
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 8
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x60]
jmp 0x140213fca
mov r8d, 0x9000
test word [r14 + 0x14], r8w
je 0x1402146e6
mov rcx, r14
call fcn.140234440
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x140213fca
mov rsi, qword [rsp + 0x48]
mov r9d, 1
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov word [r14 + 0x14], r9w
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
test eax, eax
je case.0x14021358a.89
jmp 0x14021531c
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 0x14], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rsi, qword [rsp + 0x38]
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r14
imul rsi, rax, 0x38
movzx edx, word [rdi + 0x14]
add rcx, r14
movzx eax, dl
add rsi, r14
movzx r8d, word [rcx + 0x14]
or al, r8b
test al, 1
je 0x1402147c0
mov r8d, 0x9000
test word [rsi + 0x14], r8w
je 0x14021479e
mov rcx, rsi
call fcn.140234440
mov rsi, qword [rsp + 0x48]
jmp 0x140213fc5
mov r13, qword [rsp + 0x38]
mov word [rsi + 0x14], r9w
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov eax, r8d
test r8b, 0x24
je 0x1402147ce
mov rbx, qword [rcx]
jmp 0x1402147ff
test al, 8
je 0x1402147e0
movsd xmm0, qword [rcx]
call fcn.1401ac0a0
mov rbx, rax
jmp 0x1402147ff
test al, 0x12
je 0x1402147fc
cmp qword [rcx + 8], 0
je 0x1402147fc
call fcn.1401bffa0
movzx edx, word [rdi + 0x14]
mov rbx, rax
xor r11d, r11d
jmp 0x1402147ff
mov rbx, r11
movzx eax, dx
test al, 0x24
je 0x14021480b
mov rcx, qword [rdi]
jmp 0x140214838
test al, 8
je 0x14021481d
movsd xmm0, qword [rdi]
call fcn.1401ac0a0
mov rcx, rax
jmp 0x140214838
test al, 0x12
je 0x140214835
cmp qword [rdi + 8], 0
je 0x140214835
mov rcx, rdi
call fcn.1401bffa0
mov rcx, rax
jmp 0x140214838
mov rcx, r11
mov r13, qword [rsp + 0x38]
movzx edx, byte [r13]
cmp dl, 0x66
jne 0x14021484c
and rbx, rcx
jmp 0x1402148c1
cmp dl, 0x67
jne 0x140214856
or rbx, rcx
jmp 0x1402148c1
test rcx, rcx
je 0x1402148c1
jns 0x140214870
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x140214876
neg rcx
cmp rcx, 0x40
jl 0x14021488f
test rbx, rbx
jns 0x140214889
cmp dl, 0x68
je 0x140214889
mov rbx, 0xffffffffffffffff
jmp 0x1402148c1
xor ecx, ecx
mov ebx, ecx
jmp 0x1402148c1
cmp dl, 0x68
jne 0x14021489c
shl rbx, cl
mov r8, rbx
jmp 0x1402148be
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1402148be
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [rsi], rbx
mov eax, 0xf244
and word [rsi + 0x14], ax
or word [rsi + 0x14], 4
mov rsi, qword [rsp + 0x48]
jmp 0x140213fca
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx ecx, word [rbx + 0x14]
mov eax, ecx
test cl, 0x24
je 0x1402148f7
mov rdx, qword [rbx]
jmp 0x14021493a
test al, 8
je 0x140214909
movsd xmm0, qword [rbx]
call fcn.1401ac0a0
mov rdx, rax
jmp 0x14021493a
test al, 0x12
je 0x140214937
cmp qword [rbx + 8], 0
je 0x140214937
mov rcx, rbx
call fcn.1401bffa0
movzx ecx, word [rbx + 0x14]
xor r11d, r11d
mov r10, qword [rsp + 0x40]
mov rdx, rax
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x14021493a
mov rdx, r11
mov qword [rbx], rdx
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rbx + 0x14], cx
movsxd rax, dword [r13 + 8]
add rax, rdx
mov qword [rbx], rax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x140214a05
test cl, 8
jne 0x1402149ab
test cl, 2
je 0x1402149b3
mov edx, r9d
mov rcx, rbx
call fcn.14019eb70
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x1402149b3
mov rcx, rbx
call fcn.14021cfc0
movzx eax, word [rbx + 0x14]
movzx ecx, ax
test al, 4
jne 0x140214a05
cmp dword [r13 + 8], 0
jne 0x14021523c
mov r10d, 0x14
mov dword [rsp + 0x34], r10d
mov r14, qword [rsp + 0x38]
mov edi, 1
mov eax, VariantTimeToDosDateTime
xor r13d, r13d
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
cmp byte [rsi + 0x67], 0
je 0x14021b67a
mov r10d, 7
jmp 0x14021b6b0
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rbx + 0x14], cx
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
movzx eax, word [rcx + 0x14]
test al, 0x24
je case.0x14021358a.89
test al, 8
je 0x140214a49
movsd xmm0, qword [rcx]
jmp 0x140214a51
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov edx, 0xf248
movsd qword [rcx], xmm0
and ax, dx
or ax, 8
mov word [rcx + 0x14], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 0x14]
bt ax, 0xa
jae 0x140214ad1
mov edx, dword [rbx + 0x10]
add edx, dword [rbx]
test edx, edx
jg 0x140214a9e
test al, 0x10
je 0x140214ad1
mov edx, r9d
mov r8d, r9d
mov rcx, rbx
call fcn.14021dd20
test eax, eax
jne 0x14021b020
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
add rcx, qword [rbx + 8]
movsxd r8, dword [rbx]
call fcn.140145ad0
mov eax, dword [rbx]
add dword [rbx + 0x10], eax
mov eax, 0xf9ff
and word [rbx + 0x14], ax
movzx edx, byte [r13 + 8]
movzx r8d, r15b
mov rcx, rbx
call fcn.14021d890
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, r14
imul r14, rax, 0x38
movzx esi, word [r15 + 0x14]
add r14, qword [rsp + 0x60]
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x140214bba
mov rax, qword [r14]
mov r13, rcx
cmp rax, qword [r15]
jle 0x140214b61
mov rax, qword [0x1402e88f0]
cmp byte [rbx + rax], 0
jne 0x14021523c
mov dword [rbp - 0x80], r9d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fd8
jge 0x140214b90
mov rax, qword [0x1402e88e0]
cmp byte [rbx + rax], 0
jne 0x14021523c
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
mov dword [rbp - 0x80], 0xffffffff
jmp 0x140213fd8
mov rax, qword [0x1402e88e8]
cmp byte [rbx + rax], 0
jne 0x14021523c
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
mov dword [rbp - 0x80], r11d
jmp 0x140213fd8
mov r13, qword [rsp + 0x38]
movzx ecx, di
or cx, si
test cl, 1
je 0x140214c18
movzx eax, word [r13 + 2]
test al, al
jns 0x140214c11
test dl, 1
je 0x140214bf7
mov eax, 0x100
test ax, di
jne 0x140214bf7
movzx ecx, byte [r13]
mov rdx, qword [0x1402e88e8]
mov dword [rbp - 0x80], r11d
jmp 0x140214d10
movzx eax, di
not ax
and eax, 1
lea r9d, [rax*2 - 1]
mov dword [rbp - 0x80], r9d
jmp 0x140214ceb
test al, 0x10
jmp 0x140214b42
movzx eax, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140214c5b
test cl, 2
je 0x140214cce
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x140214c45
xor edx, edx
mov rcx, r15
call fcn.14019eb70
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x140214cce
xor edx, edx
mov rcx, r14
call fcn.14019eb70
jmp 0x140214cce
cmp al, 0x42
jne 0x140214cce
movzx ebx, byte [rsp + 0x30]
test sil, 2
jne 0x140214ca0
test sil, 0x2c
je 0x140214ca0
mov r8b, 1
movzx edx, bl
mov rcx, r15
call fcn.14021e5b0
xor si, word [r15 + 0x14]
mov r12d, 0xdbf
and si, r12w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x140214ca6
movzx edi, si
or di, 2
jmp 0x140214ca6
mov r12d, 0xdbf
test dil, 2
jne 0x140214cce
test dil, 0x2c
je 0x140214cce
mov r8b, 1
movzx edx, bl
mov rcx, r14
call fcn.14021e5b0
xor di, word [r14 + 0x14]
and di, r12w
xor di, word [r14 + 0x14]
mov r8, qword [r13 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1401f89f0
mov r10, qword [rsp + 0x40]
mov r9d, eax
mov dword [rbp - 0x80], eax
xor r11d, r11d
movzx ecx, byte [r13]
test r9d, r9d
jns 0x140214cfe
mov rdx, qword [0x1402e88e0]
jmp 0x140214d10
jne 0x140214d09
mov rdx, qword [0x1402e88e8]
jmp 0x140214d10
mov rdx, qword [0x1402e88f0]
add rdx, rcx
mov r9d, 1
movzx eax, byte [rdx]
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
test al, al
je 0x140214b4c
jmp 0x14021523c
cmp dword [rbp - 0x80], 0
je 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x140214d60
mov r13, r11
jmp 0x140214d68
mov r13, qword [rax - 8]
add r13, 4
mov rdx, qword [rax + 0x10]
mov r15d, r11d
mov r8d, dword [rax + 4]
mov rbx, r11
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x70], rdx
mov dword [rsp + 0x78], r8d
mov dword [rsp + 0x70], r9d
mov qword [rbp - 0x60], rax
test rax, rax
jle 0x14021aed1
lea r12, [rdx + 0x20]
nop dword [rax]
test r13, r13
je 0x140214dac
mov ecx, dword [r13 + rbx*4]
jmp 0x140214daf
mov ecx, r15d
mov rax, qword [rdx + 0x18]
lea r14d, [rcx + r9]
lea esi, [rcx + r8]
mov r8, qword [r12]
imul rdx, r14, 0x38
imul rcx, rsi, 0x38
movzx edi, byte [rbx + rax]
add rdx, qword [rsp + 0x60]
and edi, 1
add rcx, qword [rsp + 0x60]
call fcn.1401f89f0
mov dword [rbp - 0x80], eax
mov r9d, eax
test eax, eax
jne 0x140214e0a
mov rdx, qword [rbp - 0x70]
inc r15d
mov r8d, dword [rsp + 0x78]
inc rbx
mov r9d, dword [rsp + 0x70]
add r12, 8
cmp rbx, qword [rbp - 0x60]
jl 0x140214da0
jmp 0x1402142bf
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x140214e3c
mov r8, qword [rsp + 0x60]
imul rax, rsi, 0x38
test byte [rax + r8 + 0x14], 1
jne 0x140214e35
imul rax, r14, 0x38
test byte [rax + r8 + 0x14], 1
je 0x140214e3c
neg r9d
mov dword [rbp - 0x80], r9d
mov rsi, qword [rsp + 0x48]
mov r8d, 0x9000
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
mov r10, qword [rsp + 0x40]
test edi, edi
je 0x140214e67
neg r9d
mov dword [rbp - 0x80], r9d
xor r11d, r11d
lea r9d, [r11 + 1]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r9d, dword [rbp - 0x80]
test r9d, r9d
jns 0x140214eb3
mov eax, dword [r13 + 4]
mov r9d, 1
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r13, [r10 + rcx*8]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r9d, 1
jne 0x140214ede
mov eax, dword [r13 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r13, [r10 + rcx*8]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov eax, dword [r13 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r13, [r10 + rcx*8]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r12, qword [rsp + 0x38]
mov r13d, 2
mov edx, r13d
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140212380
movsxd rcx, dword [r12 + 8]
mov edx, r13d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r14
call fcn.140212380
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov rax, r12
cmp byte [rax], 0x2c
jne 0x140214f50
movzx edx, byte [rcx + rdi + 0x28aeb0]
jmp 0x140214f58
movzx edx, byte [rcx + rdi + 0x28aec0]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp dl, r13b
jne 0x140214f84
movzx eax, word [rcx + 0x14]
mov edx, 0xf241
and ax, dx
mov r13, r12
or ax, 1
mov word [rcx + 0x14], ax
jmp 0x140213fca
movzx eax, dl
mov r13, r12
mov qword [rcx], rax
mov edx, 0xf244
movzx eax, word [rcx + 0x14]
and ax, dx
or ax, 4
mov word [rcx + 0x14], ax
jmp 0x140213fca
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140212380
movsxd rdx, dword [rbx + 0x10]
mov r8d, 0x9000
movsxd rcx, eax
mov rax, rbx
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r8w
je 0x140214ff0
call fcn.1402354e0
mov r13, rbx
jmp 0x140213fca
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
mov r13, rbx
xor r11d, r11d
mov r10, qword [rsp + 0x40]
mov r9d, 1
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x14021a6cc
test al, 0x24
je 0x140215057
cmp qword [rcx], 0
mov rax, r11
sete al
jmp 0x14021508c
test al, 8
je 0x140215061
movsd xmm0, qword [rcx]
jmp 0x14021507c
test al, 0x12
je 0x140215089
call fcn.1401bffd0
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, 0x9000
lea r9d, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x140215084
je 0x140215089
mov rax, r11
jmp 0x14021508c
mov rax, r9
test word [rbx + 0x14], r8w
je 0x14021509e
mov rdx, rax
mov rcx, rbx
jmp 0x140213fc0
mov r13, qword [rsp + 0x38]
mov qword [rbx], rax
mov eax, 4
mov word [rbx + 0x14], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r13, qword [rsp + 0x38]
mov word [rbx + 0x14], r9w
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
test word [rdi + 0x14], r8w
je 0x140215118
mov rcx, rdi
call fcn.140234440
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x14021511d
mov word [rdi + 0x14], r9w
test byte [rbx + 0x14], 1
jne case.0x14021358a.89
mov eax, 4
mov word [rdi + 0x14], ax
movzx eax, word [rbx + 0x14]
test al, 0x24
je 0x140215146
mov rax, qword [rbx]
not rax
mov qword [rdi], rax
jmp 0x140213fca
test al, 8
je 0x14021515e
movsd xmm0, qword [rbx]
call fcn.1401ac0a0
not rax
mov qword [rdi], rax
jmp 0x140213fca
test al, 0x12
je 0x14021517c
cmp qword [rbx + 8], 0
je 0x14021517c
mov rcx, rbx
call fcn.1401bffa0
not rax
mov qword [rdi], rax
jmp 0x140213fca
mov rax, r11
not rax
mov qword [rdi], rax
jmp 0x140213fca
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x1402151f5
mov r9, qword [r8 + 0x30]
mov rcx, r13
sub rcx, qword [r12 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x140215236
bts eax, edx
mov byte [rcx + r9], al
mov r9d, 1
mov rcx, qword [r12 + 0x88]
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
jmp 0x140213fd8
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x14021523c
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
jmp 0x140213fd8
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140212380
test eax, eax
je 0x140213fca
xor r11d, r11d
mov r10, qword [rsp + 0x40]
mov r9d, 1
mov eax, dword [r13 + 8]
mov r14, qword [rsp + 0x60]
dec eax
movzx r15d, byte [rsp + 0x30]
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r10 + rcx*8]
mov qword [rsp + 0x38], rsi
mov r13, rsi
mov rsi, qword [rsp + 0x48]
jmp 0x140213fd8
mov rax, qword [rsp + 0x38]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.140212380
mov r13, qword [rsp + 0x38]
test eax, eax
jne 0x140213fca
jmp 0x14021522e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 0x14]
test al, 1
jne 0x14021523c
and eax, 0x3f
movzx eax, byte [rax + rdi + 0x28ae50]
cmp eax, dword [r13 + 0xc]
je 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14021533a
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14021533a
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r8w
je 0x140214727
xor edx, edx
call fcn.1402354e0
jmp 0x140213fca
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r8w
je 0x140215356
call fcn.140234440
jmp 0x140213fca
mov word [rcx + 0x14], r9w
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
je 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je case.0x14021358a.89
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r8w
je 0x1402153c8
call fcn.140234440
jmp 0x14021522e
mov word [rcx + 0x14], r9w
jmp 0x14021523c
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov r13d, dword [rcx + 8]
mov dword [rsp + 0x70], r13d
nop dword [rax]
mov r15, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp - 0x60], r15
cmp dword [rbx + 0x20], eax
je 0x14021543b
cmp byte [rbx + 2], 0
jne 0x1402154bd
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x140215434
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140215460
lea eax, [r13 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140215460
mov rbx, qword [rbx + 0x28]
lea r13d, [rax - 1]
jmp 0x1402153e8
cmp byte [rdi], 0
je 0x140215477
jmp 0x140215448
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1402155f8
mov rcx, rbx
call fcn.14021cd50
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
je 0x1402153f0
jmp 0x1402149d4
mov rcx, rbx
call fcn.14021c2a0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov rcx, rdi
call fcn.1401b8650
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x1402154b1
test edx, edx
mov ecx, edx
mov r11d, 0
cmovs ecx, r11d
mov dword [rbx + 0x6c], ecx
mov rax, qword [rdi + 0x38]
jmp 0x1402154e9
mov dword [rbx + 0x6c], ecx
xor r11d, r11d
mov rax, qword [rdi + 0x38]
jmp 0x1402154e9
cmp byte [rbx], 3
jne 0x14021559f
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x14021559f
imul rcx, rax, 0x38
xor r11d, r11d
mov eax, dword [rcx + r14 + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + r14 + 8]
mov qword [rbx + 0x60], rax
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r15], ecx
cmp ecx, 0x80
jae 0x14021550e
mov eax, 1
jmp 0x140215520
mov rcx, qword [rbx + 0x60]
mov rdx, r15
call fcn.1401f3350
movzx eax, al
xor r11d, r11d
mov dword [rbx + 0x40], eax
mov word [rbx + 0x4a], r11w
mov ecx, dword [r15]
cmp dword [rbx + 0x6c], ecx
jae 0x14021558e
mov qword [rbx + 0x60], r11
mov dword [rbx + 0x6c], r11d
mov eax, dword [r15]
cmp eax, 0x18003
ja 0x14021554b
cmp eax, dword [rbx + 0x68]
jbe 0x1402155fb
mov r8d, 0x9000
mov r10, qword [rsp + 0x40]
mov eax, dword [r10 + 0xc]
test eax, eax
jle 0x14021b02b
movzx r15d, byte [rsp + 0x30]
dec eax
movsxd rcx, eax
mov r9d, 1
lea rax, [rcx + rcx*2]
lea r13, [r10 + rax*8]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r9, qword [rbx + 0x60]
movzx eax, r11w
mov qword [rbp - 0x70], r9
jmp 0x1402156b3
mov r13, qword [rsp + 0x38]
mov r8d, 0x9000
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 0x14], r8w
je 0x1402155cc
call fcn.140234440
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fca
movzx r15d, byte [rsp + 0x30]
mov r9d, 1
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov word [rcx + 0x14], r9w
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
xor r11d, r11d
movzx eax, word [rbx + 0x4a]
cmp eax, r13d
ja 0x1402158f0
mov edx, dword [rbx + 0x40]
mov ecx, dword [r15]
cmp edx, ecx
jae 0x14021581a
mov r9, qword [rbx + 0x60]
mov qword [rbp - 0x70], r9
test r9, r9
jne 0x1402156b6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp + 8], rax
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
mov r10, qword [rbx + 0x30]
mov r8d, dword [r15]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x140215662
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov r9, qword [r10 + 0x38]
mov qword [rbp - 0x70], r9
mov qword [rbp - 0x20], r9
cmp r8d, ecx
ja 0x140215687
mov eax, 0x4010
mov dword [rbp - 0x18], r8d
mov word [rbp - 0x14], ax
mov dword [rsp + 0x34], r11d
jmp 0x1402156ac
lea r9, [rbp - 0x28]
xor edx, edx
mov rcx, r10
call fcn.14021dbb0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov r9, qword [rbp - 0x20]
mov qword [rbp - 0x70], r9
movzx eax, word [rbx + 0x4a]
mov ecx, dword [r15]
mov edx, dword [rbx + 0x40]
movzx r12d, ax
mov r14d, edx
mov esi, r12d
add r14, r9
mov r13d, ecx
add r13, r9
mov r15d, dword [r15 + r12*4]
nop dword [rax]
movzx edi, byte [r14]
mov dword [rsp + 0x78], edi
mov dword [rbx + rsi*4 + 0x70], edi
cmp edi, 0x80
jae 0x1402156f8
lea rcx, [0x140000000]
inc r14
movzx eax, byte [rdi + rcx + 0x28add0]
jmp 0x140215731
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.1401f3350
mov edi, dword [rsp + 0x78]
movzx eax, al
add r14, rax
mov dword [rbx + rsi*4 + 0x70], edi
cmp edi, 0x80
jb 0x140215722
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x140215731
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x28add0]
add r15, rax
inc r12d
mov rax, qword [rbp - 0x60]
movsxd rsi, r12d
mov dword [rax + rsi*4], r15d
cmp r12d, dword [rsp + 0x70]
ja 0x140215750
cmp r14, r13
jb 0x1402156d0
jmp 0x140215755
cmp r14, r13
jb 0x1402157ad
cmp r14, r13
ja 0x1402157b5
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x1402157b5
mov r15, qword [rbp - 0x60]
sub r14d, dword [rbp - 0x70]
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], r14d
cmp qword [rbx + 0x60], 0
jne 0x140215799
mov ecx, 0x9000
test word [rbp - 0x14], cx
jne 0x14021578b
cmp dword [rbp - 8], 0
je 0x140215799
lea rcx, [rbp - 0x28]
call fcn.1402343f0
movzx r12d, word [rbx + 0x4a]
mov r13d, dword [rsp + 0x70]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x140215821
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x140215762
mov r15, qword [rbp - 0x60]
cmp dword [r15], 0
jne 0x1402157c9
xor ecx, ecx
mov r14, r13
mov r12d, ecx
jmp 0x140215766
cmp qword [rbx + 0x60], 0
mov r8d, 0x9000
jne 0x140215803
test word [rbp - 0x14], r8w
jne 0x1402157e3
cmp dword [rbp - 8], 0
je 0x140215803
lea rcx, [rbp - 0x28]
call fcn.1402343f0
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x14021554b
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
jmp 0x140215551
mov edi, r11d
movzx r12d, ax
movzx eax, r12w
cmp eax, r13d
ja 0x1402158e6
mov r13, qword [rsp + 0x38]
mov r8d, 0x9000
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp byte [r13 + 1], 0xf6
jne 0x1402158a6
mov rax, qword [r13 + 0x10]
test word [rcx + 0x14], r8w
je 0x14021586f
mov r8d, 0x2000
mov rdx, rax
call fcn.140233030
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fca
movups xmm0, xmmword [rax]
movzx r15d, byte [rsp + 0x30]
mov edx, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rax + 0x14], dx
jne 0x140217e2f
mov eax, 0xafff
and word [rcx + 0x14], ax
or word [rcx + 0x14], dx
jmp 0x140215002
test word [rcx + 0x14], r8w
je 0x1402158bd
call fcn.140234440
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fca
movzx r15d, byte [rsp + 0x30]
mov r9d, 1
mov r10, qword [rsp + 0x40]
mov word [rcx + 0x14], r9w
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r12, qword [rsp + 0x68]
mov r14d, r13d
jmp 0x1402158f8
mov r14d, r13d
mov edi, dword [rbx + r14*4 + 0x70]
mov rdx, qword [rsp + 0x38]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x60]
test word [rsi + 0x14], ax
je 0x140215922
mov rcx, rsi
call fcn.140234440
mov rdx, qword [rsp + 0x38]
lea eax, [r13 + 1]
mov eax, dword [r15 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x1402159ef
mov r14d, dword [r15 + r14*4]
add r14, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x140215952
mov r8, rsi
mov edx, edi
mov rcx, r14
call fcn.14021ff10
jmp 0x1402142bf
movzx r15d, byte [rsp + 0x30]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x16], r15b
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x14021599f
mov rax, qword [rsp + 0x48]
cmp ebx, dword [rax + 0x88]
jg 0x14021b2fc
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 0x14], ax
call fcn.14021dd20
test eax, eax
jne 0x14021b665
mov rcx, qword [rsi + 8]
jmp 0x1402159a7
mov rcx, qword [rsi + 0x28]
mov qword [rsi + 8], rcx
mov r8, rbx
mov rdx, r14
call fcn.140145e60
mov rax, qword [rsi + 8]
lea rcx, [0x140000000]
mov r13, qword [rsp + 0x38]
mov byte [rbx + rax], 0
mov rax, qword [rsi + 8]
mov byte [rax + rbx + 1], 0
mov eax, edi
and eax, 1
movzx eax, word [rcx + rax*2 + 0x28a604]
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
jmp 0x140213fca
movzx eax, byte [rsp + 0x30]
mov byte [rsi + 0x16], al
movzx eax, word [rdx + 2]
test al, 0xc0
je 0x140215a0e
cmp edi, 0xc
jb 0x140215a0a
test dil, 1
je 0x140215a36
test al, al
js 0x140215a36
cmp edi, 0x80
jb 0x140215a1f
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x140215a31
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x28add0]
test r8d, r8d
jne 0x140215a4c
mov r8, rsi
lea rcx, [0x140288b20]
mov edx, edi
call fcn.14021ff10
jmp 0x1402142bf
mov rax, qword [rsp + 0x48]
cmp r8d, dword [rax + 0x88]
jg 0x14021b2fc
mov edx, dword [r15 + r14*4]
mov r9, rsi
mov rcx, qword [rbx + 0x30]
call fcn.14021dbb0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140217cb4
mov rcx, qword [rsi + 8]
mov r8, rsi
mov edx, edi
call fcn.14021ff10
mov eax, 0xbfff
and word [rsi + 0x14], ax
jmp 0x1402142bf
mov rax, qword [rsp + 0x38]
mov esi, r11d
mov r13, qword [rsp + 0x38]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, qword [rsp + 0x60]
cmp r11w, word [r14 + 0x36]
jge 0x140214b4c
lea rdi, [r15 + 0xc]
nop word [rax + rax]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x140215aeb
test al, 0x20
jne 0x140215bf3
cmp dword [r13 + 0xc], 0
jne 0x140215bef
movzx eax, byte [rdi]
cmp al, 0x43
jl 0x140215b19
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x140215b4e
test al, 8
jne 0x140215b0f
test al, 2
je 0x140215b4e
mov edx, r9d
mov rcx, rbx
call fcn.14019eb70
jmp 0x140215b4e
mov rcx, rbx
call fcn.14021cfc0
jmp 0x140215b4e
cmp al, 0x42
jne 0x140215b4e
movzx ecx, word [rbx + 0x14]
movzx eax, cx
test cl, 2
jne 0x140215b42
test cl, 0x2c
je 0x140215b42
movzx edx, byte [rsp + 0x30]
mov r8b, 1
mov rcx, rbx
call fcn.14021e5b0
movzx eax, word [rbx + 0x14]
mov ecx, 0xffd3
and ax, cx
mov word [rbx + 0x14], ax
movzx edx, word [rbx + 0x14]
test dl, 1
jne 0x140215be9
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x140215be0
sub eax, 1
je 0x140215bdb
sub eax, 1
je 0x140215bdb
sub eax, 1
je 0x140215b82
cmp eax, 1
jne 0x140215be9
test dl, 2
jmp 0x140215be3
test dl, 4
je 0x140215bd6
mov rcx, qword [rbx]
movabs rax, 0x800000000000
add rax, rcx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140215bb8
or dx, 0x20
mov eax, 0xfffb
and dx, ax
mov word [rbx + 0x14], dx
jmp 0x140215be9
xorps xmm0, xmm0
or dx, 8
cvtsi2sd xmm0, rcx
mov eax, 0xfffb
and dx, ax
movsd qword [rbx], xmm0
mov word [rbx + 0x14], dx
jmp 0x140215be9
test dl, 0x28
jmp 0x140215be3
test dl, 4
jmp 0x140215be3
test dl, 0x10
je 0x14021b041
mov r9d, 1
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x140215ad0
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
mov r10, qword [rsp + 0x40]
jmp 0x140213fd8
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r14
nop word [rax + rax]
cmp al, 0x43
jl 0x140215c6b
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x140215c9f
test al, 8
jne 0x140215c61
test al, 2
je 0x140215c9f
mov edx, r9d
mov rcx, rbx
call fcn.14019eb70
jmp 0x140215c9f
mov rcx, rbx
call fcn.14021cfc0
jmp 0x140215c9f
cmp al, 0x42
jne 0x140215c9f
movzx ecx, word [rbx + 0x14]
movzx eax, cx
test cl, 2
jne 0x140215c93
test cl, 0x2c
je 0x140215c93
mov r8b, 1
movzx edx, r15b
mov rcx, rbx
call fcn.14021e5b0
movzx eax, word [rbx + 0x14]
mov ecx, 0xffd3
and ax, cx
mov word [rbx + 0x14], ax
cmp byte [rdi], 0x45
jne 0x140215cf1
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x140215cf1
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140215cda
and cx, ax
or cx, 0x20
jmp 0x140215ced
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x140217e39
add rbx, 0x38
mov r9d, 1
jmp 0x140215c40
mov rcx, qword [rsp + 0x38]
mov r15, r11
mov r12d, r11d
mov r13, r11
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r11, r14
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x70], r11
add rcx, r14
mov qword [rbp - 0x60], rsi
mov qword [rsp + 0x78], rcx
test rdi, rdi
je 0x140215db3
movzx eax, byte [rdi]
lea rbx, [r11 + 0x14]
movzx r14d, byte [rsp + 0x30]
mov esi, 0xfffb
nop dword [rax]
lea rcx, [rbx - 0x14]
movzx r8d, r14b
movzx edx, al
call fcn.14019eaf0
cmp byte [rdi], 0x45
jne 0x140215d96
movzx eax, word [rbx]
test al, 4
je 0x140215d96
and ax, si
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x140215d70
mov r11, qword [rbp - 0x70]
mov r9d, 1
mov rsi, qword [rbp - 0x60]
lea r14, [rsi + 0x24]
nop word [rax + rax]
movzx ecx, word [r14 - 0x10]
test cl, 1
je 0x140215de5
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
inc r12d
jmp 0x140215f67
test cl, 0x24
je 0x140215ee8
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140215dfd
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x140215e38
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x140215e2a
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0xc3], 4
jb 0x140215e2a
lea eax, [rdx + 8]
mov dword [r14], eax
jmp 0x140215f67
mov eax, r9d
inc r15
mov dword [r14], eax
jmp 0x140215f67
cmp rdx, 0x7fff
ja 0x140215e52
mov eax, 2
add r15, 2
mov dword [r14], eax
jmp 0x140215f67
cmp rdx, 0x7fffff
ja 0x140215e6c
mov eax, 3
add r15, 3
mov dword [r14], eax
jmp 0x140215f67
cmp rdx, 0x7fffffff
ja 0x140215e86
mov eax, 4
add r15, 4
mov dword [r14], eax
jmp 0x140215f67
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140215ea6
mov eax, 5
add r15, 6
mov dword [r14], eax
jmp 0x140215f67
add r15, 8
test cl, 0x20
je 0x140215edb
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
movsd qword [r14 - 0x24], xmm0
mov word [r14 - 0x10], cx
mov dword [r14], eax
jmp 0x140215f67
mov eax, 6
mov dword [r14], eax
jmp 0x140215f67
test cl, 8
je 0x140215efd
inc r12d
mov dword [r14], 7
add r15, 8
jmp 0x140215f67
mov edi, dword [r14 - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x140215f3f
movsxd rax, dword [r14 - 0x24]
lea esi, [rsi + rax*2]
test r15, r15
je 0x140215f3c
lea rcx, [r14 - 0x24]
call fcn.14021da90
test eax, eax
jne 0x14021b65b
add edi, dword [r14 - 0x24]
lea r9d, [rax + 1]
jmp 0x140215f3f
add r13, rax
mov eax, edi
mov ecx, r9d
add r15, rax
mov eax, esi
shr rax, 7
test rax, rax
je 0x140215f5d
inc ecx
shr rax, 7
test rax, rax
jne 0x140215f52
mov r11, qword [rbp - 0x70]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x140215f79
sub r14, 0x38
jmp 0x140215dc0
cmp r12d, 0x7e
jle 0x140215fbf
movsxd rax, r12d
mov edx, r9d
shr rax, 7
test rax, rax
je 0x140215f9b
nop
inc edx
shr rax, 7
test rax, rax
jne 0x140215f90
add r12d, edx
mov ecx, r9d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x140215fbb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140215fb0
cmp edx, ecx
jge 0x140215fc2
inc r12d
mov rsi, qword [rsp + 0x78]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [r15 + rdi]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x140216013
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x88]
cmp rcx, rax
jg 0x14021b301
cmp edx, ebx
jge 0x140216013
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.14021dd20
test eax, eax
jne 0x14021b65b
mov r11, qword [rbp - 0x70]
lea r9d, [rax + 1]
jmp 0x14021601b
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov dword [rsi + 0x10], ebx
mov eax, 0x10
mov word [rsi + 0x14], ax
test r13, r13
je 0x140216038
mov eax, 0x410
mov dword [rsi], r13d
mov word [rsi + 0x14], ax
mov rbx, qword [rsi + 8]
lea rsi, [rdi + rbx]
cmp r12d, 0x80
jge 0x140216051
mov byte [rbx], r12b
inc rbx
jmp 0x140216096
cmp rdi, 0x7f
ja 0x140216063
and dil, 0x7f
mov eax, r9d
mov byte [rbx], dil
jmp 0x140216091
cmp rdi, 0x3fff
ja 0x140216086
mov rax, rdi
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dil, 0x7f
mov byte [rbx + 1], dil
mov eax, 2
jmp 0x140216091
mov rdx, rdi
mov rcx, rbx
call fcn.1401ca120
cdqe
add rbx, rax
mov r14, qword [rbp - 0x60]
lea rdi, [r11 + 0x10]
nop
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x1402160f5
mov byte [rbx], al
inc rbx
test eax, eax
je 0x14021616b
mov rdx, qword [rdi - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x28add0]
mov r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x1402160f0
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x1402160e0
add rsi, r9
jmp 0x14021616b
cmp eax, 0x80
jae 0x14021610f
mov byte [rbx], al
inc rbx
cmp eax, 0xe
jb 0x14021616b
movsxd rax, dword [rdi]
test eax, eax
jle 0x14021616b
jmp 0x140216156
mov rdx, rax
cmp rax, 0x7f
ja 0x140216124
and dl, 0x7f
mov eax, 1
mov byte [rbx], dl
jmp 0x14021614a
cmp rdx, 0x3fff
ja 0x140216142
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dl, 0x7f
mov byte [rbx + 1], dl
mov eax, 2
jmp 0x14021614a
mov rcx, rbx
call fcn.1401ca120
cdqe
add rbx, rax
movsxd rax, dword [rdi]
test eax, eax
je 0x14021616b
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rsi
call fcn.140145e60
movsxd rax, dword [rdi]
add rsi, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x140217e16
add rdi, 0x38
jmp 0x1402160a0
mov rbx, qword [rsp + 0x38]
mov rax, qword [r12 + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x1402161aa
mov rcx, rdx
call fcn.1401db7a0
mov rbx, rax
jmp 0x1402161cd
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], r11
mov rcx, rsi
call fcn.1401d9150
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b41b
mov rbx, qword [rbp - 0x70]
mov r13, qword [rsp + 0x38]
mov ecx, 0x9000
movsxd rax, dword [r13 + 8]
imul rax, rax, 0x38
add rax, qword [r12 + 0x68]
test word [rax + 0x14], cx
je 0x1402161fa
mov rcx, rax
call fcn.1401c3d60
mov qword [rax], rbx
jmp 0x140218f09
mov ecx, 4
mov word [rax + 0x14], cx
mov qword [rax], rbx
jmp 0x140218f09
mov rax, qword [rsp + 0x38]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x70], r10d
test r10d, r10d
jne 0x1402162fe
mov rdi, qword [rsp + 0x48]
cmp dword [rdi + 0xe0], r10d
jg 0x14021b0b3
test rsi, rsi
jne 0x140216242
mov ebx, r11d
jmp 0x14021625f
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140216250
and ebx, 0x3fffffff
mov r8d, dword [rdi + 0x2ec]
xor edx, edx
add r8d, dword [rdi + 0x2e8]
mov rcx, rdi
call fcn.140221c20
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b0cd
mov edx, ebx
mov rcx, rdi
add rdx, 0x21
call fcn.1401e2500
mov rdi, rax
test rax, rax
je 0x140216664
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.140145e60
mov rsi, qword [rsp + 0x48]
cmp byte [rsi + 0x65], 0
je 0x1402162cb
mov byte [rsi + 0x65], 0
mov byte [rsi + 0x6d], 1
jmp 0x1402162d1
inc dword [rsi + 0x2e8]
mov rax, qword [rsi + 0x2d8]
mov qword [rdi + 0x18], rax
mov qword [rsi + 0x2d8], rdi
mov rax, qword [rsi + 0x2f0]
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x2f8]
mov qword [rdi + 0x10], rax
jmp 0x1402165f1
mov rax, qword [rsp + 0x48]
mov r13d, r11d
mov r12, qword [rax + 0x2d8]
test r12, r12
je 0x140216401
nop word [rax + rax]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx eax, byte [r8]
movzx edx, byte [r9 + r8]
cmp eax, edx
jne 0x1402163d4
test eax, eax
jne 0x1402163e8
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 0xe0], eax
jle 0x140216360
cmp r10d, 1
je 0x14021b0d5
cmp qword [r12 + 0x18], 0
jne 0x140216433
cmp byte [rsi + 0x6d], 0
je 0x140216433
mov r15d, 1
cmp r10d, r15d
jne 0x140216436
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jg 0x14021b13c
mov rcx, rbx
mov byte [rsi + 0x65], r15b
call fcn.14021c870
cmp eax, 5
je 0x14021b100
mov r10d, dword [rbx + 0x34]
mov dword [rsp + 0x34], r10d
test r10d, r10d
jne 0x14021b0f4
mov byte [rsi + 0x6d], r10b
jmp 0x140216547
movzx ecx, byte [rax + rdi + 0x288a00]
movzx eax, byte [rdx + rdi + 0x288a00]
cmp ecx, eax
jne 0x1402163f0
inc r8
jmp 0x140216330
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x140216320
mov r12, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
mov r8, rsi
call fcn.1402133e0
mov rsi, qword [rsp + 0x48]
mov edi, 1
mov r14, qword [rsp + 0x38]
mov r10d, edi
mov dword [rsp + 0x34], edi
jmp 0x1402149de
mov r15d, r11d
mov eax, dword [rsi + 0x2e8]
sub eax, r13d
lea r13d, [rax - 1]
mov eax, dword [rsi + 0x28]
cmp r10d, 2
jne 0x1402164bb
mov r14d, dword [rsi + 0x2c]
mov edi, r11d
and r14d, 1
test eax, eax
jle 0x1402164be
mov esi, r14d
mov rbx, r11
xor esi, 1
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x48]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rax + 0x20]
mov rcx, qword [rbx + rcx + 8]
call fcn.1401dc610
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140216e95
mov rax, qword [rsp + 0x48]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x140216470
mov r10d, dword [rsp + 0x70]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
jmp 0x1402164be
mov r14d, r11d
mov edi, r11d
test eax, eax
jle 0x140216503
mov rbx, r11
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rbx + rcx + 8]
call fcn.1401db800
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140216e9a
mov r10d, dword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x1402164d0
test r14d, r14d
je 0x140216534
mov rax, qword [rsi + 8]
test rax, rax
je 0x140216528
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140216511
mov rcx, rsi
call fcn.140204020
or dword [rsi + 0x2c], 1
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x140216e9a
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x2d8]
cmp rcx, r12
je 0x14021657b
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x2d8], rax
call fcn.1401e2370
dec dword [rsi + 0x2e8]
mov rcx, qword [rsi + 0x2d8]
cmp rcx, r12
jne 0x140216553
mov ebx, dword [rsp + 0x70]
cmp ebx, 1
jne 0x1402165a8
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, rsi
mov qword [rsi + 0x2d8], rax
call fcn.1401e2370
test r15d, r15d
jne 0x1402165e6
dec dword [rsi + 0x2e8]
jmp 0x1402165ca
mov rax, qword [r12 + 8]
mov qword [rsi + 0x2f0], rax
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x2f8], rax
test r15d, r15d
je 0x1402165ca
cmp ebx, 2
jne 0x1402165e6
mov r8d, r13d
mov edx, ebx
mov rcx, rsi
call fcn.140221c20
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140216e9a
mov r12, qword [rsp + 0x68]
movzx r15d, byte [rsp + 0x30]
cmp byte [r12 + 0xc5], 3
jne 0x140213fc5
mov edi, 0x65
mov r14, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
cmp r15, rbx
jb 0x14021b7d2
mov rdx, qword [rsi + 0x208]
test rdx, rdx
je 0x14021b7d2
mov eax, dword [rsi + 0x218]
mov rcx, qword [rsi + 0x210]
add rbx, rax
call rdx
test eax, eax
je 0x140216614
mov r10d, 9
mov rbx, 0xffffffffffffffff
mov dword [rsp + 0x34], r10d
xor r13d, r13d
lea edi, [r13 + 1]
lea eax, [rdi + 0xa]
jmp 0x1402149f0
mov rsi, qword [rsp + 0x48]
jmp 0x1402165f1
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x70], r11d
mov edx, dword [rcx + 8]
test edx, edx
je 0x140216693
mov rax, qword [rsi + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x14021b173
movsxd r14, dword [rcx + 4]
shl r14, 5
add r14, qword [rsi + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1402167a5
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.1401d8400
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b197
test byte [r12 + 0xc8], 0x20
mov r13, qword [rsp + 0x38]
je 0x1402167b6
cmp dword [r13 + 8], eax
je 0x1402167b6
cmp byte [rsi + 0x65], al
je 0x1402166f8
cmp dword [rsi + 0xdc], 1
jle 0x1402167b6
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x14021671b
inc dword [rsi + 0x2ec]
mov r8d, dword [rsi + 0x2e8]
add r8d, dword [rsi + 0x2ec]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.140221c20
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021678b
mov edi, dword [r12 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14021674e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14021674e
mov rcx, rbx
call fcn.1401a2a80
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14021676c
cmp byte [rcx + 0xa], 0
je 0x14021676c
mov edx, edi
call fcn.1401c4720
mov dword [rsp + 0x34], eax
jmp 0x140216772
xor ecx, ecx
mov dword [rsp + 0x34], ecx
cmp byte [rbx + 0x11], 0
je 0x140216786
sub dword [rbx + 0x14], 1
jne 0x140216786
mov rcx, rbx
call fcn.140230a30
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi + 0x2f0]
mov qword [r12 + 0x58], rax
mov rax, qword [rsi + 0x2f8]
mov qword [r12 + 0x60], rax
jmp 0x1402167a8
mov r13, rcx
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x1402149d4
cmp word [r13 + 2], 0
je 0x1402159e5
mov eax, dword [r13 + 0xc]
cmp dword [rsp + 0x70], eax
jne 0x14021b1e6
mov rcx, qword [r14 + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
jne 0x14021b1e6
mov r14, qword [rsp + 0x60]
jmp 0x140213fca
movsxd rax, dword [r13 + 4]
lea r8, [rbp - 0x48]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401d9990
movsxd rax, dword [r13 + 8]
mov r8d, 0x9000
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], r8w
je 0x14021683d
call fcn.1401c3d60
mov rcx, rax
mov r8d, 0x9000
movsxd rax, dword [rbp - 0x48]
mov qword [rcx], rax
jmp 0x140214fff
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp - 0x48]
mov qword [rcx], rax
jmp 0x140214fff
mov rax, qword [rsp + 0x38]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1401dc720
mov r13, qword [rsp + 0x38]
mov r10d, eax
mov dword [rsp + 0x34], eax
mov eax, dword [r13 + 8]
cmp eax, 1
jne 0x1402168b3
movzx eax, word [r13 + 2]
mov r10, r13
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rsi
or dword [rsi + 0x2c], 1
mov edx, dword [r13 + 4]
call fcn.1401ee0b0
mov r10d, dword [rsp + 0x34]
jmp 0x1402168c4
cmp eax, 2
jne 0x1402168c4
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], 1
jne 0x140216900
mov rax, qword [rsi + 8]
test rax, rax
je 0x1402168f7
nop dword [rax]
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1402168e0
and dword [r12 + 0xc8], 0xfffffffc
test r10d, r10d
jne 0x1402149d4
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
test rdi, rdi
je 0x14021694e
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x44], eax
jne 0x14021694e
mov rcx, qword [rdi + 0x30]
add rdi, 0x30
call fcn.1401d8770
mov r10d, dword [rsp + 0x34]
mov r13, qword [rsp + 0x38]
jmp 0x140216a66
mov rcx, qword [rsp + 0x38]
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, 1
je 0x14021b27f
movsxd r12, dword [rcx + 0xc]
mov edi, r11d
mov r15d, dword [rcx + 8]
mov rax, r12
shl rax, 5
mov r14, r11
add rax, qword [rsi + 0x20]
cmp bl, 0x71
mov rbx, qword [rsp + 0x38]
mov r13, qword [rax + 8]
jne 0x1402169ae
mov rax, qword [rax + 0x18]
movzx esi, word [rbx + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc3]
jae 0x1402169b1
mov byte [rax + 0xc3], cl
jmp 0x1402169b1
mov esi, r11d
test byte [rbx + 2], 0x10
je 0x1402169d0
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14021deb0
mov r15d, dword [rbx]
mov rbx, qword [rsp + 0x38]
movzx eax, byte [rbx + 1]
cmp al, 0xf8
jne 0x1402169e3
mov r14, qword [rbx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1402169ea
cmp al, 0xfd
jne 0x1402169ea
mov edi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, edi
call fcn.14019cc50
mov rbx, rax
test rax, rax
je 0x14021b65b
mov byte [rax + 1], r12b
lea rdi, [rax + 0x30]
mov byte [rax + 2], 1
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov dword [rax + 0x44], r15d
mov edx, r15d
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1401d9370
mov r13, qword [rsp + 0x38]
mov r10d, eax
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
movzx r15d, byte [rsp + 0x30]
mov qword [rbx + 0x38], r14
cmp byte [r13 + 1], 0xf8
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x34], eax
setne al
mov byte [rbx + 4], al
movzx ecx, byte [r13 + 2]
mov rax, qword [rdi]
and cl, 3
mov byte [rax + 3], cl
test r10d, r10d
jne 0x1402149d4
jmp 0x140213fca
movsxd rcx, dword [r13 + 8]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x48]
call fcn.14019cc50
mov r10, rax
test rax, rax
je 0x14021418c
mov byte [rax + 2], 1
mov r8d, 4
or dword [rax + 8], 1
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x44]
mov dword [rax + 0x44], ecx
mov ecx, dword [rax + 8]
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, dword [rax + 8]
mov dword [rax + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401d9370
mov dword [rsp + 0x34], eax
jmp 0x140213fca
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 0xc]
test eax, eax
jle 0x140216b41
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0x10], r11d
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1402968af]
mov qword [rcx + r14 + 8], rax
movsxd rdx, dword [rbx + 4]
mov rax, qword [r12 + 0x78]
mov r13, qword [rsp + 0x38]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x140216b97
test byte [rbx + 8], 8
jne 0x140216b97
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x140216b97
mov qword [rbx + 0x18], r11
xor r8d, r8d
mov dword [rbx + 0x20], r11d
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
call fcn.1401d8830
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b0ab
mov byte [rbx + 2], 1
jmp 0x140213fca
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.14019cc50
mov rbx, rax
test rax, rax
je 0x14021418c
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
mov r8, rsi
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [rsi]
call fcn.1401dac50
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov rcx, qword [rbx + 0x10]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.1401d8400
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140216ca1
mov rax, qword [rsp + 0x38]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x140216c64
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.1401d9300
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140216c5e
mov rax, qword [rbx + 0x30]
lea r8d, [r10 + 4]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1401d9370
mov r10d, eax
mov dword [rsp + 0x34], eax
mov byte [rbx + 4], 0
jmp 0x140216c92
mov ecx, 1
xor r9d, r9d
mov dword [rbx + 0x44], ecx
mov edx, ecx
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 3]
mov rcx, qword [rbx + 0x10]
call fcn.1401d9370
mov r10d, eax
mov dword [rsp + 0x34], eax
mov byte [rbx + 4], 1
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
xor ecx, ecx
mov eax, 4
cmp word [r13 + 2], 8
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r10d, r10d
jne 0x14021b28a
mov byte [rbx + 2], 1
jmp 0x140213fca
mov rax, qword [rsp + 0x38]
mov r9b, 1
mov rcx, r12
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.14019cc50
test rax, rax
je 0x14021418c
mov rdx, qword [rsp + 0x38]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x38], rcx
mov rcx, rsi
mov edx, dword [rdx + 0xc]
call fcn.140220270
mov r10d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fc5
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
jne case.0x14021358a.89
jmp 0x14021523c
mov rax, qword [rsp + 0x38]
mov r9b, 3
mov rcx, r12
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14019cc50
test rax, rax
je 0x14021418c
mov r13, qword [rsp + 0x38]
mov byte [rax + 2], 1
mov ecx, dword [r13 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x1402f3043]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
mov r8, qword [r12 + 0x78]
mov rdx, qword [r8 + rcx*8]
test rdx, rdx
je 0x140216db7
mov rcx, r12
call fcn.14021c700
mov ecx, dword [r13 + 4]
xor r11d, r11d
mov r8, qword [r12 + 0x78]
mov r10, qword [rsp + 0x40]
lea r9d, [r11 + 1]
movsxd rax, ecx
mov qword [r8 + rax*8], r11
jmp 0x140213fd8
mov rax, qword [r12 + 0x78]
mov r12d, r11d
movsxd rcx, dword [r13 + 4]
mov r15, qword [rax + rcx*8]
mov byte [r15 + 2], 0
mov byte [r15 + 3], 0
mov dword [r15 + 0x20], r11d
cmp byte [r15 + 4], 0
je 0x140216ef2
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
add rdi, r14
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
movzx ecx, r14w
and al, 0x2e
cmp al, 2
jne 0x140216e1b
xor edx, edx
mov rcx, rdi
call fcn.14019eb70
movzx ecx, word [rdi + 0x14]
xor r11d, r11d
movzx eax, cx
test al, 0x24
je 0x140216e27
mov rsi, qword [rdi]
jmp 0x140216e58
test al, 8
je 0x140216e39
movsd xmm0, qword [rdi]
call fcn.1401ac0a0
mov rsi, rax
jmp 0x140216e58
test al, 0x12
je 0x140216e55
cmp qword [rdi + 8], 0
je 0x140216e55
mov rcx, rdi
call fcn.1401bffa0
movzx ecx, word [rdi + 0x14]
mov rsi, rax
jmp 0x140216e58
mov rsi, r11
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x140216ec6
test cl, 8
jne 0x140216ea4
test cl, 1
jne 0x14021522e
cmp ebx, 0x16
jae 0x14021522e
mov rcx, qword [r15 + 0x30]
lea rdx, [rbp - 0x78]
call fcn.1401dab90
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
je 0x140217067
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
jmp 0x1402149d4
movsd xmm1, qword [rdi]
mov rcx, rsi
call fcn.1401f6360
test eax, eax
jle 0x140216ebd
test bl, 1
je 0x140216ec6
dec ebx
jmp 0x140216ec6
jns 0x140216ec6
test bl, 1
jne 0x140216ec6
inc ebx
mov rcx, qword [r15 + 0x30]
lea r9, [rbp - 0x78]
xor r8d, r8d
mov rdx, rsi
call fcn.1401dbe30
mov qword [r15 + 0x50], rsi
mov r10d, eax
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140216e9a
jmp 0x140216f74
mov rax, qword [r15 + 0x30]
lea r8, [rbp - 0x78]
mov ecx, dword [r13 + 0x10]
movzx edi, byte [rax + 3]
mov rax, qword [r15 + 0x38]
and dil, 2
mov qword [rbp + 0x1a8], rax
mov eax, r9d
mov word [rbp + 0x1c4], cx
setne r12b
test bl, 1
cmovne eax, edx
lea rdx, [rbp + 0x1a8]
mov byte [rbp + 0x1c6], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x1ca], 0
add rcx, r14
mov qword [rbp + 0x1b0], rcx
mov rcx, qword [r15 + 0x30]
call fcn.1401d9a90
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140216e9a
test dil, dil
je 0x140216f74
cmp byte [rbp + 0x1ca], al
je 0x140217067
mov eax, dword [rbp - 0x78]
cmp ebx, 0x16
jl 0x14021704e
test eax, eax
js 0x140216fbf
jne 0x140216f8b
cmp ebx, 0x17
je 0x140216fbf
xor ecx, ecx
mov dword [rbp - 0x78], ecx
mov r14, qword [rsp + 0x60]
mov r8d, 0x9000
movzx r15d, byte [rsp + 0x30]
test r12d, r12d
je 0x140217e51
add qword [rsp + 0x38], 0x18
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
jmp 0x140214fff
mov rcx, qword [r15 + 0x30]
xor r9d, r9d
mov dword [rbp - 0x78], r9d
mov word [rcx + 0x46], r9w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r9b
je 0x140216fdf
call fcn.1401a2c50
jmp 0x14021701a
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x140217005
mov word [rcx + 0x56], r8w
call fcn.1401a2c50
jmp 0x14021701a
cmp byte [rdx + 8], r9b
je 0x140217015
mov dword [rsp + 0x34], r9d
jmp 0x140216f90
call fcn.1401c03d0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
je 0x140216f90
cmp eax, 0x65
jne 0x140216e9a
mov r10, qword [rsp + 0x40]
mov r9d, 1
xor r11d, r11d
mov dword [rbp - 0x78], r9d
mov dword [rsp + 0x34], r11d
jmp 0x14021523c
test eax, eax
jg 0x140217076
jne 0x140217059
cmp ebx, 0x14
je 0x140217076
mov rax, qword [r15 + 0x30]
xor ecx, ecx
cmp byte [rax], cl
setne cl
mov dword [rbp - 0x78], ecx
cmp dword [rbp - 0x78], 0
jne 0x14021522e
jmp 0x140216f90
mov rcx, qword [r15 + 0x30]
xor r8d, r8d
mov dword [rbp - 0x78], r8d
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r8w
cmp byte [rcx], r8b
jne 0x1402170b6
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1402170b6
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r8b
je 0x1402170b6
dec dx
mov dword [rsp + 0x34], r8d
mov word [rcx + 0x56], dx
jmp 0x140216f90
call fcn.1401a3480
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
je 0x140216f90
cmp eax, 0x65
jmp 0x14021702c
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0x1c]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x30]
cmp byte [rax], 0
jne 0x14021ae9b
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsi + 0x38]
mov qword [rbp + 0x208], rax
mov byte [rbp + 0x226], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x224], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x210], rcx
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1401b8650
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x14021b2b4
mov rax, qword [rsp + 0x48]
xor r13d, r13d
mov word [rbp + 0xac], r13w
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0xb8], r13d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x140217182
test r8d, r8d
mov edx, r8d
cmovs edx, r13d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xa0], rax
cmp ecx, edx
ja 0x1402171a5
mov edx, 0x4010
mov dword [rbp + 0xa8], ecx
mov word [rbp + 0xac], dx
jmp 0x1402171d5
mov r8d, ecx
lea r9, [rbp + 0x98]
mov rcx, rbx
xor edx, edx
call fcn.14021dbb0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b29d
mov ecx, dword [rbp + 0xa8]
mov rax, qword [rbp + 0xa0]
xor r9d, r9d
lea r8, [rbp + 0x208]
mov rdx, rax
call fcn.14021f150
mov ebx, eax
cmp dword [rbp + 0xb8], r13d
je 0x1402171fe
lea rcx, [rbp + 0x98]
call fcn.1402343f0
xor r11d, r11d
mov dword [rsp + 0x34], r11d
test ebx, ebx
jg 0x140217283
je 0x140217c21
test edi, edi
jle 0x140217e01
mov rcx, qword [rsi + 0x30]
dec edi
mov word [rcx + 0x46], r11w
and byte [rcx + 1], 0xf9
cmp byte [rcx], r11b
je 0x140217233
call fcn.1401a2c50
jmp 0x140217268
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x140217259
mov word [rcx + 0x56], r8w
call fcn.1401a2c50
jmp 0x140217268
cmp byte [rdx + 8], r11b
jne 0x140217123
call fcn.1401c03d0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
je 0x140217123
cmp eax, 0x65
jne 0x14021b29d
xor r11d, r11d
mov r13, qword [rsp + 0x38]
add r13, 0x18
mov dword [rsp + 0x34], r11d
jmp 0x140215231
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov eax, dword [r13 + 8]
movzx ecx, word [rdx + 0xc]
cmp ecx, eax
jge 0x1402172c6
mov word [rdx + 0xc], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov eax, dword [r13 + 0xc]
cmp ecx, eax
jle case.0x14021358a.89
mov word [rdx + 0xc], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x14021358a.8
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r13 + 0x10]
jge case.0x14021358a.89
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x78], rcx
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x8c], ax
test ax, ax
je 0x140217384
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x70]
mov byte [rbp + 0x8e], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.1401d9a90
mov r10d, eax
mov dword [rsp + 0x34], eax
jmp 0x1402173f5
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14021739c
call fcn.14021da90
test eax, eax
jne 0x14021418c
mov rcx, qword [rbx + 0x38]
call fcn.1402122e0
mov rdi, rax
test rax, rax
je 0x14021418c
mov rcx, qword [rbp + 0x78]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.14021fa30
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.1401d9a90
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
mov dword [rsp + 0x34], eax
call fcn.1401e2370
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x140217cb4
mov ecx, dword [rsi]
test ecx, ecx
setne al
xor r11d, r11d
mov byte [rbx + 2], al
mov byte [rbx + 3], r10b
mov dword [rbx + 0x20], r11d
movzx eax, byte [r13]
cmp al, 0x1c
jne 0x14021742e
test ecx, ecx
je 0x140215231
mov rsi, qword [rsp + 0x48]
jmp 0x140213fcd
test ecx, ecx
jne 0x140215231
cmp al, 0x1a
jne 0x140217474
movzx edx, word [rbp + 0x8c]
mov rcx, r11
test rdx, rdx
je 0x140217e29
mov rax, qword [rbp + 0x78]
add rax, 0x14
test byte [rax], 1
jne 0x140215231
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x140217455
mov rsi, qword [rsp + 0x48]
jmp 0x140213fcd
mov r8d, 0x9000
cmp al, 0x19
jne 0x140217e2f
movzx eax, word [r13 + 0x10]
mov rsi, qword [rsp + 0x48]
mov word [rbx + 0xc], ax
jmp 0x140215002
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 0x24
jne case.0x14021358a.30
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0xd0], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0xe0], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0xf0], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x100], xmm1
test al, 4
jne 0x14021755d
test al, 8
jne 0x140217509
test al, 2
je 0x14021755d
mov edx, r9d
lea rcx, [rbp + 0xd0]
call fcn.14019eb70
mov r10, qword [rsp + 0x40]
xor r11d, r11d
lea r9d, [r11 + 1]
jmp 0x14021755d
movsd xmm3, qword [rbp + 0xd0]
movaps xmm0, xmm3
call fcn.1401ac0a0
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm3, xmm2
jp 0x14021755d
jne 0x14021755d
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x14021755d
mov qword [rbp + 0xd0], rax
mov ecx, 0xf244
movzx eax, word [rbp + 0xe4]
and ax, cx
or ax, 4
mov word [rbp + 0xe4], ax
test byte [rbp + 0xe4], 4
je 0x14021523c
mov rdi, qword [rbp + 0xd0]
jmp 0x14021757f
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
movsxd rcx, dword [r13 + 4]
lea r9, [rsp + 0x78]
mov rax, qword [r12 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov dword [rsp + 0x78], r11d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1401dbe30
mov qword [rbx + 0x50], rdi
xor r11d, r11d
mov byte [rbx + 2], 0
mov r10d, eax
mov dword [rbx + 0x20], r11d
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x78]
mov byte [rbx + 3], r11b
mov dword [rbx + 0x24], eax
test eax, eax
je 0x140217616
cmp dword [r13 + 8], r11d
jne 0x140215231
lea rax, [0x140295c44]
mov r9d, 0x16d70
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r11 + 0xb]
call fcn.1401985d0
mov r14, qword [rsp + 0x38]
mov eax, VariantTimeToDosDateTime
mov r10d, eax
mov dword [rsp + 0x34], eax
lea edi, [rax - 0xa]
jmp 0x1402149e3
test r10d, r10d
jne 0x1402149d4
jmp 0x140213fcd
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], r8w
je 0x140217657
mov rcx, rdx
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov rdx, rax
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x140217660
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rsi, qword [rsp + 0x38]
mov rbx, r11
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x70], r11d
movsxd rax, dword [rsi + 8]
imul r14, rax, 0x38
add r14, qword [r12 + 0x68]
test word [r14 + 0x14], r8w
je 0x1402176cb
mov rcx, r14
call fcn.1401c3d60
mov r14, rax
jmp 0x1402176d5
mov eax, 4
mov word [r14 + 0x14], ax
movsxd rcx, dword [rsi + 4]
mov rax, qword [r12 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x14021774b
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0x70]
call fcn.1401dab90
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140217cb4
cmp dword [rsp + 0x70], eax
je 0x140217719
mov eax, 1
mov ebx, eax
mov qword [rsp + 0x78], rax
jmp 0x14021774b
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1401b8650
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x78], rbx
cmp rbx, rax
jl 0x140217743
or dword [rsi + 8], 2
jmp 0x14021774b
inc rbx
mov qword [rsp + 0x78], rbx
mov r13, qword [rsp + 0x38]
movsxd rdx, dword [r13 + 0xc]
test edx, edx
je 0x1402177c5
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x140217786
mov rax, qword [rcx + 8]
test rax, rax
je 0x14021777c
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140217770
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14021778f
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.14021deb0
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140217829
test byte [rsi + 8], 2
jne 0x140217829
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rsp + 0x78], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x140217841
xor ecx, ecx
mov edi, ecx
nop
lea rdx, [rsp + 0x78]
mov ecx, 8
call fcn.140187a50
mov rbx, qword [rsp + 0x78]
lea r9, [rsp + 0x70]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rsp + 0x78], rbx
call fcn.1401dbe30
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b0a6
cmp dword [rsp + 0x70], eax
jne 0x140217841
inc edi
cmp edi, 0x64
jl 0x1402177d0
mov rsi, qword [rsp + 0x48]
mov r10d, 0xd
mov dword [rsp + 0x34], r10d
mov r14, r13
jmp 0x1402149d9
mov byte [rsi + 3], 0
xor r11d, r11d
mov dword [rsi + 0x20], r11d
mov rsi, qword [rsp + 0x48]
mov qword [r14], rbx
mov r14, qword [rsp + 0x60]
jmp 0x140213fcd
mov rcx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov rcx, r13
mov qword [rbp + 0x148], r8
cmp byte [rcx + 1], 0xfb
jne 0x1402178c0
cmp qword [rsi + 0x140], 0
je 0x1402178c0
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax]
mov rcx, r13
mov rdi, qword [rcx + 0x10]
jmp 0x1402178c6
mov rdi, r11
mov rsi, r11
movzx eax, word [rcx + 2]
test al, 1
je 0x1402178de
inc qword [r12 + 0x38]
movzx eax, word [rcx + 2]
mov r8, qword [rbp + 0x148]
test al, 0x20
je 0x1402178eb
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 8]
mov qword [rbp + 0x150], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x164], eax
test byte [rcx + 2], 0x10
je 0x14021790b
mov r9d, dword [rbx + 0x24]
jmp 0x14021790e
mov r9d, r11d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140217923
mov eax, dword [rdx]
mov dword [rbp + 0x168], eax
jmp 0x14021792a
mov dword [rbp + 0x168], r11d
mov qword [rbp + 0x140], r11
lea rdx, [rbp + 0x140]
movzx r8d, word [rcx + 2]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1401d9f40
xor r11d, r11d
mov byte [rbx + 3], 0
mov dword [rsp + 0x34], eax
mov r10d, eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14021b0a6
test rdi, rdi
je 0x140217e29
test byte [r13 + 2], 4
mov r8, rsi
mov rsi, qword [rsp + 0x48]
mov edx, 0x12
mov r9, qword [rdi]
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp + 0x148]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x138]
call qword [rsi + 0x140]
jmp 0x140213fca
mov rcx, qword [r12 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r13 + 0xc]
test eax, eax
je 0x1402179d2
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
jmp 0x1402179d5
mov r8, r11
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1401dc0b0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfb
mov r15d, dword [rax + 8]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x140217a5d
cmp qword [rsi + 0x140], 0
je 0x140217a5d
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x140217a63
cmp byte [rdi + 4], 0
je 0x140217a63
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1401b8650
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x38]
mov qword [rdi + 0x50], rax
jmp 0x140217a63
mov r14, r11
mov rsi, r11
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x30]
call fcn.1401d9400
xor r11d, r11d
mov dword [rsp + 0x34], eax
mov dword [rdi + 0x20], r11d
mov r10d, eax
mov dword [rdi + 0x24], r11d
test eax, eax
jne 0x140217cb4
test r15b, 1
je 0x140217de1
inc qword [r12 + 0x38]
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x140]
test r10, r10
je 0x140217de1
test rsi, rsi
je 0x140217de1
test byte [rsi + 0x30], 0x80
jne 0x140217de1
mov r9, qword [rsi]
lea edx, [r11 + 9]
mov rax, qword [rdi + 0x50]
mov r8, r14
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x138]
call r10
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fca
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x78], rax
add qword [rsi + 0x80], rax
mov qword [r12 + 0x38], r11
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rbx, qword [rsp + 0x38]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rbx + 4]
mov edi, dword [rbx + 0x10]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul r15, rax, 0x38
mov rbx, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
add r15, r14
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x140217b6d
mov rcx, rsi
call fcn.1402122e0
mov qword [rbx + 0x30], rax
mov r14, rax
test rax, rax
je 0x140217ca9
mov word [rax + 0x1c], di
cmp byte [rbx + 0x58], 0
je 0x140217ba9
cmp byte [rbx + 0x59], 0
je 0x140217b87
mov rax, qword [rbx + 0x10]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x140217bb1
mov rdx, qword [rbx + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov r8, qword [rax + 0x28]
add rax, 0x14
jmp 0x140217bb1
mov rax, qword [rbx + 0x38]
lea r8, [rax + 0x10]
mov edx, dword [rax]
mov r9, r14
mov rcx, rsi
call fcn.14021fa30
xor r11d, r11d
mov ecx, r11d
test edi, edi
jle 0x140217bdf
mov rax, qword [r14 + 8]
add rax, 0x14
test byte [rax], 1
jne 0x140217c1c
inc ecx
add rax, 0x38
cmp ecx, edi
jl 0x140217bd0
mov rdx, qword [r15 + 8]
xor r9d, r9d
mov ecx, dword [r15 + 0x10]
mov r8, r14
call fcn.14021f150
mov r13, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rsp + 0x34], r11d
test eax, eax
jne 0x140215231
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fcd
mov dword [rsp + 0x34], r11d
mov r13, qword [rsp + 0x38]
jmp 0x140215231
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rbx, r14
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
cmp byte [rax + 0x58], 0
je 0x140217c88
cmp byte [rax + 0x59], 0
je 0x140217c66
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x140217c90
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov rsi, qword [rax + 0x28]
add rax, 0x14
jmp 0x140217c90
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
movsxd rdi, dword [rax]
cmp dword [rbx + 0x20], edi
jge 0x140217cbe
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.14021dd20
test eax, eax
je 0x140217ccb
mov r10d, 7
mov dword [rsp + 0x34], r10d
mov rsi, qword [rsp + 0x48]
jmp 0x1402149d4
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
and word [rbx + 0x14], 0x2d
mov dword [rbx + 0x10], edi
mov eax, 0xf250
and word [rbx + 0x14], ax
mov r8, rdi
or word [rbx + 0x14], 0x10
mov rdx, rsi
mov rcx, qword [rbx + 8]
call fcn.140145e60
mov rax, qword [r12 + 0x78]
xor r11d, r11d
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x34], r11d
movsxd rcx, dword [r13 + 0xc]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r11d
jmp 0x140213fcd
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], r8w
je 0x140217d34
mov rcx, rbx
call fcn.1401c3d60
mov rbx, rax
jmp 0x140217d3d
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1401b8650
mov edx, dword [rdi + 0x40]
cmp edx, dword [rsi + 0x88]
ja 0x14021b30b
mov r8, rbx
mov rcx, rdi
call fcn.14021dcc0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
cmp dword [r13 + 0xc], eax
jne 0x140217e26
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x140217e26
test al, 0x12
je 0x140217dd3
bt ax, 0xa
jae 0x140217db3
mov rcx, rbx
call fcn.14021da90
test eax, eax
jne 0x14021418c
cmp dword [rbx + 0x20], 0
je 0x140217dc3
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x140217dd3
mov rcx, rbx
call fcn.140234390
test eax, eax
jne 0x14021418c
mov eax, 0xbfff
and word [rbx + 0x14], ax
jmp 0x140213fca
mov r13, qword [rsp + 0x38]
mov r8d, 0x9000
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp 0x140215002
mov r13, qword [rsp + 0x38]
mov r8d, 0x9000
mov rsi, qword [rsp + 0x48]
jmp 0x140215002
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
movzx r15d, byte [rsp + 0x30]
xor r11d, r11d
mov r8d, 0x9000
mov rsi, qword [rsp + 0x48]
jmp 0x140215002
mov r13, qword [rsp + 0x38]
xor r11d, r11d
mov rsi, qword [rsp + 0x48]
mov r8d, 0x9000
jmp 0x140215002
mov rsi, qword [rsp + 0x48]
xor r11d, r11d
jmp 0x140215002
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x68]
test word [rdi + 0x14], r8w
je 0x140217e96
mov rcx, rdi
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov rdi, rax
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x140217e9f
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x140217ecf
mov r13, qword [rsp + 0x38]
mov word [rdi + 0x14], r9w
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
cmp byte [rbx + 3], 0
je 0x140217ee5
mov rax, qword [rbx + 0x50]
mov qword [rbp - 0x40], rax
mov qword [rdi], rax
jmp 0x140213fc5
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x30]
jne 0x140217f24
mov rbx, qword [rcx]
lea rdx, [rbp - 0x40]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1402218c0
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x1402149d4
mov rax, qword [rbp - 0x40]
mov qword [rdi], rax
jmp 0x140213fc5
cmp byte [rcx], 0
je 0x140217f45
mov rcx, rbx
call fcn.14021cd50
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
xor r11d, r11d
jmp 0x140217f4a
mov dword [rsp + 0x34], r11d
cmp byte [rbx + 2], 0
je 0x140217f6a
mov r13, qword [rsp + 0x38]
mov r9d, 1
mov r10, qword [rsp + 0x40]
mov word [rdi + 0x14], r9w
jmp 0x140213fd8
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1401b8650
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x40], rax
mov qword [rdi], rax
jmp 0x140213fc5
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x140217fd9
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r12
call fcn.14019cc50
test rax, rax
je 0x14021418c
mov r10, qword [rsp + 0x40]
lea rcx, [0x1402f3043]
xor r11d, r11d
mov r8d, 0x9000
mov dword [rax + 0x24], r11d
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
lea r9d, [r11 + 1]
mov byte [rax + 2], 1
mov dword [rax + 0x20], r11d
cmp byte [rax], 0
jne case.0x14021358a.89
mov rcx, qword [rax + 0x30]
call fcn.1401d8770
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov dword [rsp + 0x78], r11d
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x140218023
mov dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x140213daf
lea rdx, [rsp + 0x78]
call fcn.1401dab90
mov r10d, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x78]
xor r11d, r11d
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r11d
test r10d, r10d
jne 0x1402149d4
cmp dword [r13 + 8], r11d
jle 0x140213fcd
test eax, eax
je 0x140213fcd
jmp 0x140215231
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.1401c0660
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021809f
xor ecx, ecx
mov edi, ecx
mov rcx, rbx
call fcn.1401c03d0
mov r10d, eax
mov dword [rsp + 0x34], eax
jmp 0x1402180c3
cmp eax, 0x10
jne 0x1402180c0
mov r10, qword [rsp + 0x40]
mov r9d, 1
xor r11d, r11d
mov dword [rbp - 0x68], r9d
mov dword [rsp + 0x34], r11d
jmp 0x14021523c
mov edi, dword [rbp - 0x68]
mov dword [rbp - 0x68], edi
mov r11d, r10d
test r10d, r10d
jne 0x1402149d4
mov dword [rsp + 0x34], r10d
test edi, edi
jne 0x14021522e
mov rcx, rbx
call fcn.1401db7a0
test rax, rax
js 0x140218119
mov rcx, rax
call fcn.1401f80e0
movsx ecx, ax
cmp ecx, dword [r13 + 0xc]
jge 0x140218119
mov r10, qword [rsp + 0x40]
mov r9d, 1
mov dword [rsp + 0x34], r11d
xor r11d, r11d
mov dword [rbp - 0x68], r9d
jmp 0x14021523c
mov dword [rbp - 0x68], edi
mov dword [rsp + 0x34], r11d
jmp 0x140213fca
inc dword [r12 + 0xdc]
movsxd rcx, dword [r13 + 4]
mov edi, r9d
mov rax, qword [r12 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x30]
jne 0x1402181a0
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x34], r11d
jne 0x140218172
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x1402181cb
lea rcx, [rbx + 0x60]
mov edi, r11d
call fcn.140236e20
mov dword [rsp + 0x34], eax
xor r11d, r11d
jmp 0x1402181cb
mov rcx, rbx
call fcn.140235d60
mov edx, eax
mov rcx, rbx
call fcn.140235ed0
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021816d
mov rcx, rbx
call fcn.140236b50
xor r11d, r11d
mov dword [rsp + 0x34], eax
mov edi, r11d
jmp 0x1402181cb
mov rcx, rbx
call fcn.1401c0660
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1402181fa
xor ecx, ecx
mov edi, ecx
mov rcx, rbx
call fcn.1401c03d0
mov dword [rsp + 0x34], eax
xor r11d, r11d
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r11d
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x140217cb4
mov r10, qword [rsp + 0x40]
mov r9d, 1
mov byte [rsi + 2], dil
test edi, edi
jne 0x14021523c
mov rsi, qword [rsp + 0x48]
jmp 0x140213fd8
cmp eax, 0x10
jne 0x1402181c0
xor r11d, r11d
lea edi, [rax - 0xf]
mov dword [rsp + 0x34], r11d
jmp 0x1402181c3
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rbx, qword [rdi + 0x30]
cmp byte [rbx + 0x58], 0
je 0x1402182a2
cmp byte [rbx + 0x59], 0
je 0x140218266
mov rcx, qword [rbx + 0x10]
call fcn.140234f50
xor r11d, r11d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1402182d6
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], r11
jne 0x1402182d6
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x34], 0x65
mov r10d, dword [rsp + 0x34]
jmp 0x1402183ac
mov rcx, qword [rbx + 0x18]
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x78], r11d
call fcn.1402348e0
xor r11d, r11d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1402182d6
cmp dword [rsp + 0x78], r11d
je 0x1402182d6
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x34], 0x65
mov r10d, dword [rsp + 0x34]
jmp 0x1402183ac
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 8]
mov qword [rbx + 0x38], rax
mov qword [rdx + 8], r11
cmp qword [rbx + 0x40], 0
jne 0x1402182c4
mov rcx, rsi
call fcn.140236a50
xor r11d, r11d
cmp qword [rbx + 0x38], 0
mov eax, 0x65
cmovne eax, r11d
mov dword [rsp + 0x34], eax
mov r10d, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x38]
jmp 0x1402183ac
mov rax, qword [r12 + 0x78]
mov rbx, qword [rsp + 0x38]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r11w
cmp byte [rcx], 0
jne 0x140218334
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x140218334
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x140218334
dec dx
mov dword [rsp + 0x34], r11d
mov word [rcx + 0x56], dx
mov dword [rdi + 0x20], r11d
jmp 0x1402183b5
call fcn.1401a3480
jmp 0x1402183a2
mov rax, qword [r12 + 0x78]
mov rbx, qword [rsp + 0x38]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
mov word [rcx + 0x46], r11w
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x140218366
call fcn.1401a2c50
jmp 0x1402183a2
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x14021838c
mov word [rcx + 0x56], r8w
call fcn.1401a2c50
jmp 0x1402183a2
cmp byte [rdx + 8], 0
je 0x14021839d
mov dword [rsp + 0x34], r11d
mov dword [rdi + 0x20], r11d
jmp 0x1402183b5
call fcn.1401c03d0
xor r11d, r11d
mov dword [rsp + 0x34], eax
mov r10d, eax
mov dword [rdi + 0x20], r11d
test r10d, r10d
jne 0x1402183ca
mov byte [rdi + 2], 0
movzx eax, word [rbx + 2]
inc dword [r12 + rax*4 + 0xd4]
jmp case.0x14021358a.8
cmp r10d, 0x65
jne 0x1402149d4
mov dword [rsp + 0x34], r11d
mov byte [rdi + 2], 1
jmp 0x140218f04
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [rcx + 2], 1
je 0x14021840a
inc qword [r12 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140218434
mov rcx, rbx
call fcn.14021da90
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov rcx, qword [rsp + 0x38]
xor r11d, r11d
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x288], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x280], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x298], rcx
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x2a0], ax
movzx r8d, word [rcx + 2]
test r8b, 0x10
je 0x14021847d
mov r9d, dword [rdi + 0x24]
jmp 0x140218480
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x280]
and r8d, 0x8a
call fcn.1401d9f40
xor r11d, r11d
mov dword [rsp + 0x34], eax
mov dword [rdi + 0x20], r11d
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov r13, qword [rsp + 0x38]
jmp 0x140213fcd
mov rbx, qword [rsp + 0x38]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x1402184f6
mov rcx, rbx
call fcn.14021da90
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov rdx, rbx
mov rcx, rdi
call fcn.1402208a0
jmp 0x140216d09
movsxd rcx, dword [r13 + 4]
lea r8, [rbp - 0x44]
mov rax, qword [r12 + 0x78]
lea rdx, [rbp + 0x230]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp + 0x230], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x24c], ax
mov byte [rbp + 0x24e], 0
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x238], rcx
mov rcx, rbx
call fcn.1401d9a90
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
cmp dword [rbp - 0x44], eax
jne 0x1402185a0
mov dl, 4
mov rcx, rbx
call fcn.1401d9400
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov r13, qword [rsp + 0x38]
xor r11d, r11d
mov dword [rdi + 0x20], r11d
mov dword [rdi + 0x24], r11d
jmp 0x140213fcd
mov r13, qword [rsp + 0x38]
cmp word [r13 + 2], 0
je 0x1402185bf
mov eax, dword [rsi + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x14021b325
xor r11d, r11d
mov dword [rdi + 0x20], r11d
mov dword [rdi + 0x24], r11d
jmp 0x140213fcd
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x140218610
mov rcx, rbx
call fcn.14021cd50
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov r10, qword [rsp + 0x40]
lea r9d, [rax + 1]
xor r11d, r11d
mov r8d, 0x9000
jmp 0x140218615
mov dword [rsp + 0x34], r11d
cmp byte [rbx + 2], 0
jne 0x14021533a
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x70]
mov rcx, rsi
mov qword [rbp - 0x70], r11
call fcn.14021cdb0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
mov rax, qword [rsp + 0x38]
mov r8d, 0x9000
cmp byte [rax], 0x8d
jne 0x14021868c
movsxd rcx, dword [rax + 0xc]
xor r11d, r11d
mov rax, qword [r12 + 0x78]
mov r13, qword [rsp + 0x38]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x50], rax
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], r11d
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x140215002
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r12 + 0x68]
test word [rcx + 0x14], r8w
je 0x1402186bf
call fcn.1401c3d60
mov r13, qword [rsp + 0x38]
mov rcx, rax
mov rax, qword [rbp - 0x70]
mov r8d, 0x9000
mov qword [rcx], rax
jmp 0x140214fff
mov r13, qword [rsp + 0x38]
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp - 0x70]
mov qword [rcx], rax
jmp 0x140214fff
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je case.0x14021358a.89
call fcn.14021c2a0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
cmp bl, 0x29
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x258], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x274], ax
sbb al, al
mov byte [rbp + 0x276], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x260], rcx
mov rcx, rbx
call fcn.1401b8650
mov r10d, dword [rbx + 0x40]
lea eax, [r10 - 1]
cmp eax, 0x7ffffffe
ja 0x14021b363
mov qword [rbp + 0x120], rsi
xor r13d, r13d
mov word [rbp + 0x11c], r13w
mov dword [rbp + 0x128], r13d
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1402187a3
test edx, edx
mov ecx, edx
cmovs ecx, r13d
mov rdx, qword [rbx + 0x38]
mov qword [rbp + 0x110], rdx
cmp r10d, ecx
ja 0x1402187cd
mov eax, 0x4010
mov dword [rbp + 0x118], r10d
mov word [rbp + 0x11c], ax
mov dword [rsp + 0x34], r13d
jmp 0x1402187fe
lea r9, [rbp + 0x108]
mov r8d, r10d
xor edx, edx
mov rcx, rbx
call fcn.14021dbb0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021b2a2
mov r10d, dword [rbp + 0x118]
mov rdx, qword [rbp + 0x110]
xor r9d, r9d
lea r8, [rbp + 0x258]
mov ecx, r10d
call fcn.14021f150
mov ebx, eax
cmp dword [rbp + 0x128], r13d
je 0x140218827
lea rcx, [rbp + 0x108]
call fcn.1402343f0
mov r13, qword [rsp + 0x38]
test byte [r13], 1
je 0x140218837
neg ebx
jmp 0x140218839
inc ebx
test ebx, ebx
jg 0x14021522e
jmp 0x140213fca
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x68]
test word [rdi + 0x14], r8w
je 0x140218878
mov rcx, rdi
call fcn.1401c3d60
mov rcx, qword [rsp + 0x38]
mov rdi, rax
xor r11d, r11d
mov r9d, 1
mov word [rdi + 0x14], r9w
mov eax, dword [rsi + 0xe8]
inc eax
cmp dword [rsi + 0xdc], eax
jg 0x14021b379
mov rax, qword [rsp + 0x48]
movsxd r15, dword [rcx + 0xc]
mov esi, dword [rcx + 4]
mov r14, r15
shl r14, 5
mov rax, qword [rax + 0x20]
mov dword [rsp + 0x78], r11d
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1402188c9
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1402188c9
mov rcx, rbx
call fcn.1401a2a80
lea r8, [rsp + 0x78]
mov edx, esi
mov rcx, rbx
call fcn.1401a2260
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x34], eax
je 0x1402188f8
sub dword [rbx + 0x14], 1
jne 0x1402188f8
mov rcx, rbx
call fcn.140230a30
mov r10d, dword [rsp + 0x34]
movsxd rdx, dword [rsp + 0x78]
mov eax, 4
mov rsi, qword [rsp + 0x48]
mov word [rdi + 0x14], ax
mov qword [rdi], rdx
test r10d, r10d
jne 0x1402149d4
mov r13, qword [rsp + 0x38]
test edx, edx
je 0x1402142c9
mov r9, qword [rsi + 0x20]
mov r8d, dword [r13 + 4]
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14021895a
nop word [rax + rax]
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x28], edx
jne 0x14021894d
mov dword [rcx + 0x28], r8d
mov rax, qword [rax]
test rax, rax
jne 0x140218940
mov rcx, qword [r14 + r9 + 0x18]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x140218978
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], edx
jne 0x140218970
mov dword [rcx + 0x58], r8d
mov rax, qword [rax]
test rax, rax
jne 0x140218963
mov r14, qword [rsp + 0x60]
lea eax, [r15 + 1]
movzx r15d, byte [rsp + 0x30]
mov byte [rbp - 0x7c], al
jmp 0x140213fca
mov qword [rbp - 0x38], r11
lea r8, [rbp - 0x38]
movsxd rax, dword [r13 + 8]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1401d8830
cmp dword [r13 + 0xc], 0
mov r10d, eax
mov dword [rsp + 0x34], eax
je 0x1402189dc
mov rax, qword [rbp - 0x38]
add qword [r12 + 0x38], rax
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x1402189dc
imul rcx, rax, 0x38
mov rax, qword [rbp - 0x38]
add qword [rcx + r14], rax
test r10d, r10d
jne 0x1402149d4
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x140218a0d
mov rdx, qword [rcx + 0x30]
mov rcx, rsi
call fcn.140220460
jmp 0x140213fca
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1401d8830
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x68]
test word [rdi + 0x14], r8w
je 0x140218a5d
mov rcx, rdi
call fcn.1401c3d60
mov rdi, rax
xor r11d, r11d
jmp 0x140218a66
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsp + 0x48]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rsp + 0x78], r11d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x140218a9b
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140218a9b
mov rcx, rbx
call fcn.1401a2a80
mov r8d, esi
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.1401a1db0
cmp byte [rbx + 0x11], 0
mov r10d, eax
mov dword [rsp + 0x34], eax
je 0x140218acb
sub dword [rbx + 0x14], 1
jne 0x140218acb
mov rcx, rbx
call fcn.140230a30
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x48]
test r10d, r10d
jne 0x1402149d4
mov eax, dword [rsp + 0x78]
mov qword [rdi], rax
jmp 0x140213fc5
inc byte [rsi + 0x70]
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], r11
call fcn.140185700
dec byte [rsi + 0x70]
mov r10d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
movsxd rbx, dword [rax + 4]
jne 0x140218b74
mov rcx, qword [rsi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140205b60
and dword [rsi + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
mov r13, qword [rsp + 0x38]
mov edx, ebx
mov rcx, rsi
movzx r9d, word [r13 + 2]
call fcn.1401f4430
or dword [rsi + 0x2c], 1
mov r10d, eax
and dword [r12 + 0xc8], 0xfffffffc
mov dword [rsp + 0x34], eax
jmp 0x140218c66
mov r13, qword [rsp + 0x38]
lea rax, [r12 + 0xa8]
mov qword [rbp + 0x18], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x10], rsi
mov rdx, rbx
mov dword [rbp + 0x20], ebx
mov dword [rbp + 0x28], r11d
mov rax, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x30], ecx
mov rcx, rsi
mov r8, qword [rsi + 0x20]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1401f83b0
mov rbx, rax
mov rcx, rsi
test rax, rax
je 0x14021b38d
xor eax, eax
mov byte [rsi + 0xc5], 1
lea r9, [rbp + 0x10]
mov dword [rbp + 0x24], eax
lea r8, [fcn.1401f4060]
mov dword [rbp + 0x2c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.140185700
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140218c4f
mov eax, dword [rbp + 0x24]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140218c4f
cmp dword [rbp + 0x2c], eax
jne 0x140218c4f
lea rax, [0x140295c44]
mov edi, VariantTimeToDosDateTime
mov ecx, edi
mov qword [rsp + 0x20], rax
mov r9d, 0x1735e
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1401985d0
mov dword [rsp + 0x34], edi
mov rdx, rbx
mov rcx, rsi
call fcn.1401e2370
mov r10d, dword [rsp + 0x34]
mov byte [rsi + 0xc5], 0
test r10d, r10d
je 0x140213fca
mov rcx, rsi
call fcn.140204020
mov r10d, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x50]
cmp r10d, 7
je 0x140214191
mov r14, qword [rsp + 0x38]
xor r13d, r13d
mov dword [rsp + 0x34], r10d
lea edi, [r13 + 1]
lea eax, [rdi + 0xa]
jmp 0x1402149eb
mov edx, dword [r13 + 4]
mov rcx, rsi
call fcn.1401d5f70
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
mov rax, qword [rsp + 0x38]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [rsi + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.1401f3640
test rax, rax
je 0x140218d09
cmp qword [rsi + 0x300], 0
jne 0x140218cfe
add dword [rax + 0x2c], 0xffffffff
jne 0x140218d09
mov rdx, rax
mov rcx, rsi
call fcn.1401ab710
or dword [rsi + 0x2c], 1
jmp 0x140213fc5
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rax, qword [rsi + 0x20]
mov rdx, qword [r13 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.1401f3640
mov rdx, rax
test rax, rax
je 0x140218d98
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x140218d61
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
mov rcx, rsi
call fcn.1401eeea0
or dword [rsi + 0x2c], 1
jmp 0x140213fca
test rcx, rcx
je 0x140218d90
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x140218d88
mov rcx, rax
test rax, rax
jne 0x140218d66
mov rcx, rsi
call fcn.1401eeea0
or dword [rsi + 0x2c], 1
jmp 0x140213fca
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, rsi
call fcn.1401eeea0
or dword [rsi + 0x2c], 1
jmp 0x140213fca
mov rbx, qword [rsp + 0x38]
xor r8d, r8d
mov rax, qword [rsi + 0x20]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.1401f3640
mov rbx, rax
test rax, rax
je 0x140213fc5
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x140218e30
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.1401b2030
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140218e30
mov rax, qword [rdx + 0x58]
add rdx, 0x58
test rax, rax
je 0x140218e30
cmp rax, rbx
je 0x140218e29
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x140218e03
mov rdx, rbx
mov rcx, rsi
call fcn.1401e37e0
or dword [rsi + 0x2c], 1
jmp 0x140213fc5
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, rsi
call fcn.1401e37e0
or dword [rsi + 0x2c], 1
jmp 0x140213fc5
mov rcx, qword [rsp + 0x38]
lea r10, [rbp - 0x54]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsi + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r14]
add rbx, r14
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, qword [rax + rdx + 8]
call fcn.1401da470
mov rsi, rax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140218eb2
mov rcx, rbx
call fcn.140234440
jmp 0x140218ebb
mov eax, 1
mov word [rbx + 0x14], ax
mov eax, dword [rbp - 0x54]
test eax, eax
je 0x140218ef5
test rsi, rsi
je 0x14021b665
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi + r14], rcx
lea rax, [fcn.140187900]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14021e240
test byte [rbx + 0x14], 2
jne 0x140218f6e
mov byte [rbx + 0x16], r15b
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov eax, dword [rsi + 0x198]
test eax, eax
jne 0x14021b64b
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
cmp rbx, r14
jb 0x1402159e5
nop word [rax + rax]
mov rdx, qword [rsi + 0x208]
test rdx, rdx
je 0x1402159e5
mov eax, dword [rsi + 0x218]
mov rcx, qword [rsi + 0x210]
add r14, rax
mov qword [rsp + 0x50], r14
call rdx
test eax, eax
jne 0x14021b474
cmp rbx, r14
jae 0x140218f30
mov r14, qword [rsp + 0x60]
jmp 0x140213fca
cmp byte [rbx + 0x16], r15b
je 0x140218eff
movzx edx, r15b
mov rcx, rbx
call fcn.14021e790
jmp 0x140218eff
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r14
imul rdi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x140218fb3
mov rcx, rbx
call fcn.14021e130
test eax, eax
jne 0x14021418c
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 8]
call fcn.140204ae0
jmp 0x140213fc5
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 0x14]
test al, 0x10
je 0x14021906a
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x140219011
test al, 1
jne 0x140219009
mov rcx, qword [rbx + 0x10]
call fcn.1401cfa60
mov qword [rbx + 0x10], rax
mov r9d, 1
movzx eax, word [rbx + 0x32]
mov r8d, 0x9000
or ax, 3
mov word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140219066
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140219032
mov rcx, rbx
call fcn.140204990
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r14
test word [rcx + 0x14], ax
je 0x140219055
mov rdx, rdi
call fcn.1402354e0
jmp 0x140218f09
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 0x14], ax
jmp 0x140218f09
movzx eax, word [rdi + 0x14]
test r8w, ax
je 0x14021907d
mov rcx, rdi
call fcn.140234440
jmp case.0x14021358a.8
mov word [rdi + 0x14], r9w
jmp case.0x14021358a.8
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rsi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x1402190b8
mov rcx, rbx
call fcn.14021e130
test eax, eax
jne 0x14021b665
test edi, edi
je 0x1402190d7
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140204b50
test eax, eax
jne 0x14021a69f
test edi, edi
js 0x1402190e4
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 8]
call fcn.140204ae0
mov rsi, qword [rsp + 0x48]
jmp 0x140213fc5
mov rcx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r14
cmp word [rcx + 2], 0
je 0x140219133
mov rax, qword [r13 + 0x108]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x140219133
nop
cmp qword [rax + 0x38], rcx
je 0x14021aeb3
mov rax, qword [rax + 8]
test rax, rax
jne 0x140219120
mov eax, dword [r13 + 0x118]
cmp eax, dword [rsi + 0xb0]
jge 0x14021b397
test byte [r15 + 0x14], 0x10
jne 0x14021929b
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
mov eax, dword [r12 + 8]
add ecx, edx
test edx, edx
lea esi, [rcx + 1]
cmovne esi, ecx
imul ecx, esi, 7
add ecx, 0xf
add eax, 7
jns 0x140219178
add eax, 7
add ecx, edx
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
movsxd rbx, edi
mov rdx, rbx
call fcn.1401e2500
mov r14, rax
test rax, rax
je 0x14021b65b
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.140145ad0
mov eax, 0x9000
test word [r15 + 0x14], ax
jne 0x1402191bc
cmp dword [r15 + 0x20], 0
je 0x1402191c4
mov rcx, r15
call fcn.1402343f0
mov rcx, qword [rsp + 0x38]
mov eax, 0x1010
sub rcx, qword [rsp + 0x40]
xor r11d, r11d
mov word [r15 + 0x14], ax
lea rax, [0x14021c540]
mov qword [r15 + 8], r14
mov dword [r15 + 0x10], edi
mov qword [r15 + 0x30], rax
mov qword [r14], r13
mov dword [r14 + 0x60], esi
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r13 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r13 + 0x24]
mov dword [r14 + 0x5c], eax
mov rax, qword [r13 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r13 + 0x28]
mov dword [r14 + 0x50], eax
mov rax, qword [r13 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r13 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, esi
mov rsi, qword [rsp + 0x48]
imul rdx, rax, 0x38
lea rax, [r14 + 0x78]
add rdx, 0x78
add rdx, r14
cmp rax, rdx
je 0x140219292
nop dword [rax + rax]
mov word [rax + 0x14], r11w
mov qword [rax + 0x18], rsi
add rax, 0x38
cmp rax, rdx
jne 0x140219280
mov eax, dword [r13 + 0x118]
jmp 0x14021929f
mov r14, qword [r15 + 8]
inc eax
lea r8, [r14 + 0x78]
mov dword [r13 + 0x118], eax
mov rax, qword [r13 + 0x108]
mov qword [r14 + 8], rax
mov rax, qword [rsi + 0x38]
mov qword [r14 + 0x40], rax
mov rax, qword [r13 + 0x38]
mov qword [r14 + 0x68], rax
mov rax, qword [r13]
mov qword [rsp + 0x60], r8
mov rcx, qword [rax + 0x78]
mov qword [r14 + 0x70], rcx
mov rax, qword [r13 + 0x128]
mov qword [r14 + 0x48], rax
mov qword [r13 + 0x128], r11
mov qword [r13 + 0x38], r11
mov qword [r13 + 0x108], r14
mov qword [r13 + 0x68], r8
movsxd rcx, dword [r14 + 0x60]
mov dword [r13 + 0x24], ecx
movzx eax, word [r14 + 0x64]
mov dword [r13 + 0x28], eax
imul rdx, rcx, 0x38
add rdx, r8
mov qword [r13 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.140145ad0
mov rcx, qword [r12]
movzx r15d, byte [rsp + 0x30]
mov qword [r13 + 0x88], rcx
mov eax, dword [r12 + 8]
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0x40], rcx
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x38], rcx
mov r13, rcx
mov dword [r12 + 0x90], eax
jmp 0x140218f09
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, qword [r12 + 0x68]
test word [r9 + 0x14], r8w
je 0x14021939f
mov rcx, r9
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
mov r9, rax
xor r11d, r11d
jmp 0x1402193a9
mov eax, 4
mov word [r9 + 0x14], ax
mov r8, qword [r12 + 0x108]
movsxd rax, dword [r8 + 0x54]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov eax, dword [rax + rcx*8 + 4]
add eax, dword [r13 + 4]
cdqe
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x20]
mov r8d, 0x9000
test word [r9 + 0x14], r8w
je 0x1402193f2
mov rdx, rcx
mov r8d, 0x4000
mov rcx, r9
call fcn.140233030
jmp 0x140213fca
movups xmm0, xmmword [rcx]
mov eax, 0x2000
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 0x14], ax
jne 0x140213ace
mov eax, 0xcfff
and word [r9 + 0x14], ax
mov eax, 0x4000
or word [r9 + 0x14], ax
jmp 0x140215007
mov eax, dword [rsi + 0x30]
bt rax, 0x13
jae 0x140219454
movsxd rax, dword [r13 + 8]
add qword [rsi + 0x2f8], rax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [rsp + 0x38]
mov r13, rax
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x140219480
add qword [rsi + 0x2f0], rax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
add qword [r12 + 0x50], rax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
cmp dword [r13 + 4], 0
je 0x1402194ce
cmp qword [rsi + 0x2f0], 0
jne case.0x14021358a.89
cmp qword [rsi + 0x2f8], 0
je 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
cmp qword [r12 + 0x50], 0
jne case.0x14021358a.89
cmp qword [rsi + 0x2f8], 0
je 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x14021952b
mov rax, qword [rcx + 8]
test rax, rax
je 0x14021951d
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140219511
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x140219536
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.14021deb0
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14021deb0
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x140213fca
mov qword [rdi], rax
jmp 0x140213fca
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle case.0x14021358a.89
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14021523c
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
mov eax, 0x9000
add r8, qword [r12 + 0x68]
test word [r8 + 0x14], ax
je 0x1402195d1
mov rcx, r8
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov r8, rax
lea r9d, [r11 + 1]
jmp 0x1402195db
mov eax, 4
mov word [r8 + 0x14], ax
mov rdx, qword [rbx + r14]
test rdx, rdx
jle 0x140219617
mov rcx, qword [rdi + r14]
test rcx, rcx
cmovle rcx, r11
test rcx, rcx
js 0x140219606
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jl 0x140219617
mov r13, qword [rsp + 0x38]
lea rax, [rcx + rdx]
mov qword [r8], rax
jmp 0x140213fd8
mov r13, qword [rsp + 0x38]
mov rax, 0xffffffffffffffff
mov qword [r8], rax
jmp 0x140213fd8
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je case.0x14021358a.89
jle 0x14021523c
dec rax
mov qword [rcx + r14], rax
jmp 0x14021523c
movsxd rax, dword [r13 + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdx
jle 0x140219674
dec rax
mov qword [rcx + r14], rax
test rax, rax
je 0x14021523c
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movzx ebx, word [r13 + 2]
mov rcx, rsi
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1401e2500
mov r8, rax
test rax, rax
je 0x14021418c
xor ecx, ecx
add rdi, 6
mov qword [rax + 0x10], rcx
lea rcx, [rax + rdi*8]
mov qword [rax], rcx
xor edi, edi
mov eax, 1
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x18], rsi
mov dword [rcx + 0x20], edi
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x38]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r12
mov byte [r8 + 0x29], dil
mov dword [r8 + 0x24], edi
mov byte [r8 + 0x28], r15b
mov byte [r8 + 0x2a], bl
mov byte [rax + 1], 0xf1
mov qword [rax + 0x10], r8
mov byte [rax], 0xa3
jmp 0x140219737
mov rax, qword [rsp + 0x38]
xor edi, edi
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x140219795
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x140219795
mov rsi, qword [rsp + 0x38]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140219770
mov rsi, qword [rsp + 0x48]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov r13, qword [rsp + 0x38]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r13 + 4], 0
je 0x1402197b9
call qword [rax + 0x30]
jmp 0x1402197bc
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140213fca
jle 0x140219823
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1402197d6
mov rax, rdi
jmp 0x14021980a
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x1402197f9
cmp byte [rcx + 0x16], 1
jne 0x1402197f9
mov rax, qword [rcx + 8]
jmp 0x14021980a
test dl, 1
je 0x140219803
mov rax, rdi
jmp 0x14021980a
mov dl, 1
call fcn.140232c20
mov r8, rax
lea rdx, [0x140290234]
mov rcx, r12
call fcn.1402133e0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x34], eax
cmp byte [rbx + 0x29], 0
je 0x140219864
movsxd rax, dword [r13 - 0x14]
test eax, eax
je 0x140219860
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r14
test word [rcx + 0x14], ax
je 0x14021984f
mov edx, 1
call fcn.1402354e0
jmp 0x140219860
mov eax, 1
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 0x14], ax
mov byte [rbx + 0x29], 0
mov rax, qword [rbx]
mov r8d, 0x9000
test word [rax + 0x14], r8w
jne 0x14021987a
cmp dword [rax + 0x20], 0
je 0x14021988b
mov rcx, rax
call fcn.1402343f0
mov rax, qword [rbx]
mov r8d, 0x9000
mov r10d, dword [rsp + 0x34]
xor r11d, r11d
mov r9d, 1
mov word [rax + 0x14], r9w
mov dword [rbx + 0x24], r11d
test r10d, r10d
jne 0x14021b66f
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
test eax, eax
je 0x14021996c
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
xor eax, eax
add rdi, r14
mov qword [rbp + 0x1a0], rax
movups xmmword [rbp + 0x190], xmm0
test word [rdi + 0x14], r8w
je 0x14021991c
mov rcx, rdi
call fcn.140234440
jmp 0x140219921
mov word [rdi + 0x14], r9w
mov qword [rbp + 0x170], rdi
mov qword [rbp + 0x180], rbx
mov qword [rbp + 0x178], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0x198], cl
lea rcx, [rbp + 0x170]
call qword [rsi + 0x28]
mov r13, qword [rsp + 0x38]
mov r10d, dword [rbp + 0x194]
mov dword [rsp + 0x34], r10d
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x140219983
mov rdx, rsi
mov rcx, rbx
call fcn.14021daf0
mov r13, qword [rsp + 0x38]
mov r10d, eax
mov dword [rsp + 0x34], eax
test r10d, r10d
jne 0x14021b3ba
test byte [rbx + 0x14], 2
jne 0x1402199a0
mov byte [rbx + 0x16], r15b
mov rsi, qword [rsp + 0x48]
jmp 0x140213fca
cmp byte [rbx + 0x16], r15b
je 0x140219996
movzx edx, r15b
mov rcx, rbx
call fcn.14021e790
mov rsi, qword [rsp + 0x48]
jmp 0x140213fca
mov rbx, qword [rsp + 0x38]
lea rax, [rbp + 0x2b8]
lea r9, [rbp + 0x2b4]
mov dword [rbp + 0x2b0], r11d
mov rcx, rsi
mov dword [rbp + 0x2b8], 0xffffffff
mov dword [rbp + 0x2b4], 0xffffffff
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov qword [rsp + 0x20], rax
call fcn.1401dcad0
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
je 0x140219a25
cmp eax, 5
jne 0x14021b41b
xor ecx, ecx
mov eax, 1
mov dword [rsp + 0x34], ecx
mov dword [rbp + 0x2b0], eax
jmp 0x140219a27
xor ecx, ecx
movsxd rax, dword [rbx + 0xc]
mov rdi, rcx
imul rbx, rax, 0x38
mov esi, 4
mov r8d, 0x9000
add rbx, r14
movsxd rax, dword [rbp + rdi*4 + 0x2b0]
test word [rbx + 0x14], r8w
je 0x140219a62
mov rdx, rax
mov rcx, rbx
call fcn.1402354e0
mov r8d, 0x9000
jmp 0x140219a69
mov qword [rbx], rax
mov word [rbx + 0x14], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x140219a40
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
jmp 0x140214fff
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul r13, rax, 0x38
add r13, qword [r12 + 0x68]
test word [r13 + 0x14], r8w
je 0x140219ab2
mov rcx, r13
call fcn.1401c3d60
xor r11d, r11d
mov r13, rax
lea r9d, [r11 + 1]
jmp 0x140219abc
mov eax, 4
mov word [r13 + 0x14], ax
mov rax, qword [rsi + 0x20]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
cmp dword [rbx + 0xc], 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
movzx r14d, byte [rdi + 9]
mov esi, r14d
cmovne esi, dword [rbx + 0xc]
cmp byte [rdi + 0x15], 3
jae 0x140219afb
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x140219afe
cmp qword [rdi + 0x60], 0
jle 0x140219afe
mov esi, r14d
cmp byte [rdi + 0x13], 0
lea rcx, [0x140288ec4]
jne 0x140219b12
mov rcx, qword [rdi + 0xd8]
cmp esi, 5
jne 0x140219b88
test rcx, rcx
je 0x140219b52
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140219b23
and eax, 0x3fffffff
je 0x140219b52
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x140219b52
cmp byte [rdi + 8], 0
jne 0x140219b88
cmp dword [rcx], 2
jl 0x140219b52
cmp qword [rcx + 0x68], 0
jne 0x140219b88
mov esi, r14d
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x140219b60
mov esi, r14d
mov edx, esi
mov rcx, rdi
call fcn.1401faf20
mov ecx, 0x2202
mov word [r13 + 0x14], cx
cmp eax, 6
jne 0x140219d03
xor eax, eax
mov qword [r13 + 8], rax
jmp 0x140219d3e
cmp esi, r14d
je 0x140219b55
cmp r14d, 5
je 0x140219b98
cmp esi, 5
jne 0x140219b55
mov r12, qword [rsp + 0x48]
cmp byte [r12 + 0x65], 0
je 0x14021b3e3
cmp dword [r12 + 0xdc], 1
jg 0x14021b3e3
cmp r14d, 5
jne 0x140219cc9
cmp qword [rdi + 0x128], 0
mov ebx, r11d
jne 0x140219c49
mov dword [rbp - 0x58], r11d
movzx eax, byte [rdi + 0x16]
cmp al, 1
jb 0x140219be0
cmp al, r14b
jne 0x140219c03
cmp byte [rdi + 0x11], 0
jne 0x140219bf9
mov rcx, qword [rdi + 0x48]
mov edx, r9d
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x140219c03
cmp byte [rdi + 0x16], 5
je 0x140219c03
mov byte [rdi + 0x16], 1
test ebx, ebx
jne 0x140219cb1
mov rax, qword [rdi]
lea r9, [rbp - 0x58]
mov rdx, qword [rdi + 0x130]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
jne 0x140219cb1
cmp dword [rbp - 0x58], eax
je 0x140219c3f
mov rcx, rdi
call fcn.1401c4870
mov ebx, eax
test eax, eax
jne 0x140219cb1
cmp qword [rdi + 0x128], 0
je 0x140219cb1
mov rcx, rdi
call fcn.1401c4570
mov ebx, eax
test eax, eax
jne 0x140219cb1
mov rax, qword [rdi + 0x118]
mov rdx, r12
movzx r8d, byte [rdi + 0xf]
mov r9d, dword [rdi + 0xc8]
mov rcx, qword [rdi + 0x128]
mov qword [rsp + 0x20], rax
call fcn.140222410
xor ecx, ecx
mov dword [rsp + 0x34], eax
mov qword [rdi + 0x128], rcx
mov ebx, eax
mov rcx, rdi
call fcn.1401c4600
test ebx, ebx
je 0x140219cb1
cmp byte [rdi + 8], 0
jne 0x140219cb1
mov edx, 1
mov rcx, rdi
call fcn.1401c5250
jmp 0x140219b5d
mov dword [rsp + 0x34], ebx
test ebx, ebx
jne 0x140219b5d
mov edx, esi
mov rcx, rdi
call fcn.1401faf20
jmp 0x140219ce6
cmp r14d, 4
jne 0x140219cdb
lea edx, [r14 - 2]
mov rcx, rdi
call fcn.1401faf20
cmp dword [rsp + 0x34], 0
jne 0x140219b5d
xor eax, eax
mov rcx, r15
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.1401dbd80
mov dword [rsp + 0x34], eax
jmp 0x140219b59
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x28af28]
mov qword [r13 + 8], rcx
test rcx, rcx
jne 0x140219d21
xor eax, eax
jmp 0x140219d3e
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140219d30
and eax, 0x3fffffff
movzx r15d, byte [rsp + 0x30]
mov dword [r13 + 0x10], eax
mov byte [r13 + 0x16], 1
cmp r15b, 1
je 0x140219d5f
movzx edx, r15b
mov rcx, r13
call fcn.14021e790
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x48]
test r10d, r10d
jne 0x140216e9a
mov r14, qword [rsp + 0x60]
jmp 0x140213fc5
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x140219d8d
imul r9, rax, 0x38
add r9, r14
jmp 0x140219d90
mov r9, r11
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, rsi
call fcn.140205380
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x1402149d4
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x140219de4
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x140219de4
mov rcx, rsi
call fcn.1401a2a80
cmp byte [rdi + 0x21], 0
jne 0x140219df7
mov dword [rsp + 0x34], 0x65
jmp 0x140219ebf
mov rax, qword [rdi + 0x18]
mov r14d, dword [rdi + 0x40]
mov edx, r14d
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.1401b1b80
mov r15d, eax
cmp r14d, eax
jb 0x140219ea6
cmp ebx, r14d
jae 0x140219ea6
test ebx, ebx
je 0x140219e9c
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140219e4a
xor r8d, r8d
xor edx, edx
call fcn.1401d0060
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140219eb4
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140219e60
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140219e53
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.1401b9990
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140219eb4
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1401fb660
mov edx, dword [rdi + 0x40]
mov dword [rsp + 0x34], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x140219eb4
mov dword [rsp + 0x34], 0x65
jmp 0x140219eb4
mov ecx, 0x114d1
call fcn.1401e03a0
mov dword [rsp + 0x34], eax
movzx r15d, byte [rsp + 0x30]
mov r14, qword [rsp + 0x60]
cmp byte [rsi + 0x11], 0
je 0x140219ed3
sub dword [rsi + 0x14], 1
jne 0x140219ed3
mov rcx, rsi
call fcn.140230a30
mov r10d, dword [rsp + 0x34]
test r10d, r10d
je 0x140219996
cmp r10d, 0x65
jne 0x140217cb4
xor r11d, r11d
mov dword [rsp + 0x34], r11d
jmp 0x140215231
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x140219f4e
mov ecx, dword [rax + 8]
mov rax, qword [rsi + 8]
test rax, rax
je 0x140213c87
inc ecx
and ecx, 3
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140219f20
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov eax, dword [rax + 8]
mov r13, qword [rsp + 0x38]
inc eax
xor eax, dword [r12 + 0xc8]
and eax, 3
xor dword [r12 + 0xc8], eax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [rsp + 0x38]
movzx esi, byte [rax + 0xc]
test sil, sil
jne 0x140219ff4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x30]
bt rax, 0xa
jb 0x140213c82
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov r10d, r11d
mov edi, dword [rax + 8]
mov rax, qword [rsp + 0x48]
shl rcx, 5
mov dword [rsp + 0x34], r11d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14021a0e9
inc dword [rbx + 0x14]
inc sil
cmp byte [rbx + 0x12], 0
jne 0x14021a036
mov rcx, rbx
call fcn.1401a2a80
xor r11d, r11d
movzx r8d, sil
mov edx, edi
mov rcx, rbx
call fcn.1401ca230
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x14021a0c3
mov r14, qword [rbx + 8]
mov rax, qword [r14 + 0x78]
test rax, rax
je 0x14021a073
nop dword [rax]
cmp dword [rax + 8], edi
jne 0x14021a06a
cmp qword [rax], rbx
je 0x14021a09f
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14021a060
mov ecx, 0x18
call fcn.1401f83e0
test rax, rax
je 0x14021a0b3
xor r11d, r11d
mov qword [rax + 0xc], r11
mov dword [rax + 0x14], r11d
mov dword [rax + 8], edi
mov qword [rax], rbx
mov rcx, qword [r14 + 0x78]
mov qword [rax + 0x10], rcx
mov qword [r14 + 0x78], rax
cmp sil, byte [rax + 0xc]
jbe 0x14021a0a9
mov byte [rax + 0xc], sil
mov r10d, r11d
mov dword [rsp + 0x34], r11d
jmp 0x14021a0be
mov r10d, 7
mov dword [rsp + 0x34], r10d
mov r14, qword [rsp + 0x60]
cmp byte [rbx + 0x11], 0
je 0x14021a0dc
sub dword [rbx + 0x14], 1
jne 0x14021a0dc
mov rcx, rbx
call fcn.140230a30
mov r10d, dword [rsp + 0x34]
xor r11d, r11d
mov r8d, 0x9000
lea r9d, [r11 + 1]
test r10d, r10d
jne 0x14021b423
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
movsxd rdx, dword [rsi + 0x21c]
mov rbx, qword [r13 + 0x10]
mov dword [rsp + 0x34], r11d
test edx, edx
jle 0x14021a14b
cmp qword [rsi + 0x240], 0
jne 0x14021a14b
mov r10d, 6
mov dword [rsp + 0x34], r10d
test rbx, rbx
je 0x1402149d4
jmp 0x14021a20c
test rbx, rbx
jne 0x14021a168
mov dword [rsp + 0x34], r11d
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], 0
je 0x14021a20c
mov rcx, r11
test edx, edx
jle 0x14021a1a5
mov rax, qword [rsi + 0x240]
nop dword [rax + rax]
cmp qword [rax], rbx
je 0x14021a22b
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x14021a190
mov rcx, rsi
call fcn.1401b9120
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021a20c
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021a20c
mov edx, dword [rsi + 0x2ec]
add edx, dword [rsi + 0x2e8]
movsxd rcx, dword [rsi + 0x21c]
mov rax, qword [rsi + 0x240]
mov qword [rax + rcx*8], rbx
inc dword [rsi + 0x21c]
inc dword [rbx + 0x18]
test edx, edx
je 0x14021a20c
cmp qword [rdi + 0xa0], 0
je 0x14021a20c
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0xa0]
mov dword [rsp + 0x34], eax
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1402218c0
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x1402149d4
jmp 0x140213fca
mov dword [rsp + 0x34], r11d
jmp 0x14021a20c
xorps xmm0, xmm0
mov qword [rbp + 0x38], r11
xorps xmm1, xmm1
mov qword [rbp + 0x68], r11
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rsi
lea rcx, [rbp + 0x38]
movdqu xmmword [rbp + 0x58], xmm1
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
add rdx, r14
call fcn.14021d9f0
movzx ecx, word [rbp + 0x4c]
mov edx, 0x202
mov dword [rsp + 0x34], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14021a286
cmp byte [rbp + 0x4e], 1
jne 0x14021a286
mov rax, qword [rbp + 0x40]
jmp 0x14021a29e
test cl, 1
jne 0x14021a34e
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140232c20
movzx ecx, word [rbp + 0x4c]
test rax, rax
je 0x14021a34e
movsxd rcx, dword [r13 + 4]
lea rbx, [r12 + 0xa8]
mov r8, qword [rsi + 0x20]
mov rdx, rax
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, rsi
call fcn.1401ec450
mov r14, qword [rsp + 0x48]
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x48]
mov rdi, qword [rcx]
lea rcx, [r14 + 0x220]
mov rdx, rdi
call fcn.1401b2030
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14021a3ce
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x14021a3ce
cmp qword [rcx + 0x28], 0
je 0x14021a3ce
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r14
call fcn.1402371b0
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021a342
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x14021a342
cmp qword [rax], r14
je 0x14021a382
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14021a334
mov rsi, r14
movzx ecx, word [rbp + 0x4c]
mov r14, qword [rsp + 0x60]
mov r8d, 0x9000
test r8w, cx
jne 0x14021a360
cmp dword [rbp + 0x58], 0
je 0x14021a36f
lea rcx, [rbp + 0x38]
call fcn.1402343f0
mov r8d, 0x9000
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x1402149d4
jmp 0x140214fff
mov rcx, r14
call fcn.1401b9120
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021a342
mov rdx, qword [rsi + 0x50]
mov rsi, r14
test rdx, rdx
je 0x14021a3ae
nop
cmp qword [rdx], rsi
je 0x14021a3ae
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14021a3a0
movsxd rcx, dword [rsi + 0x21c]
mov rax, qword [rsi + 0x240]
mov qword [rax + rcx*8], rdx
inc dword [rsi + 0x21c]
inc dword [rdx + 0x18]
jmp 0x14021a345
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r14
mov rsi, r14
call fcn.1401f83b0
mov qword [rbx], rax
mov eax, 1
mov dword [rsp + 0x34], eax
jmp 0x14021a345
inc dword [rsi + 0xe8]
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsi + 0x20]
mov dword [rsp + 0x34], r11d
movsxd rax, dword [rcx + 4]
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
shl rax, 5
mov r8, qword [rax + r8]
call fcn.1401ec450
mov rdi, rax
test rax, rax
je 0x14021a4b7
cmp byte [rax + 0x3f], 1
jne 0x14021a4b7
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14021a4b7
nop
mov rax, qword [rcx + 0x10]
cmp dword [rax + 8], 0
jg 0x14021b450
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14021a440
mov rdx, rdi
mov rcx, rsi
call fcn.140237760
mov rbx, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x14021a479
mov rax, qword [rdx + 0x20]
inc dword [rdi + 0x2c]
mov rcx, qword [rbx + 0x10]
call rax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14021a49c
xor eax, eax
mov rcx, rbx
mov qword [rbx + 0x10], rax
mov qword [rdi + 0x50], rax
call fcn.140221d10
cmp qword [rsi + 0x300], 0
jne 0x14021a4ac
add dword [rdi + 0x2c], 0xffffffff
jne 0x14021a4b7
mov rdx, rdi
mov rcx, rsi
call fcn.1401ab710
dec dword [rsi + 0xe8]
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x1402149d4
mov dword [rsp + 0x34], r10d
jmp 0x140213fc5
mov qword [rbp - 0x50], r11
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14021b469
mov rdi, qword [rbx]
test rdi, rdi
je 0x14021b469
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1402218c0
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x1402149d4
mov rax, qword [rbp - 0x50]
mov r9b, 2
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.14019cc50
mov rcx, qword [rbp - 0x50]
test rax, rax
je 0x14021b461
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x140213fca
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.14022e5c0
test eax, eax
jne 0x14021418c
lea ecx, [rax + 0x10]
call fcn.1401f83e0
mov rdi, rax
test rax, rax
je 0x14021418c
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, r14
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [r12 + 0x68]
test word [rbx + 0x14], ax
je 0x14021a5bb
mov rcx, rbx
call fcn.1401c3d60
mov rbx, rax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.1402343f0
lea rax, str.ValueList
mov qword [rbx], rax
mov eax, 0x1a01
mov qword [rbx + 8], rdi
mov word [rbx + 0x14], ax
lea rax, [fcn.140187900]
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
jmp 0x140213fc5
mov rcx, qword [rsp + 0x38]
mov rdi, qword [r12 + 0x70]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x30]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14021a659
mov r10d, 1
nop dword [rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x14021a640
mov rax, qword [rsp + 0x38]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1402218c0
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x140217cb4
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1402142bf
mov r13, qword [rsp + 0x38]
jmp 0x14021522e
mov rbx, qword [rsp + 0x38]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], 0
je 0x14021a6e4
test word [rbx + 0x14], r8w
je 0x1402150c2
mov rcx, rbx
call fcn.140234440
jmp 0x140213fc5
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
mov qword [rbp + 0x200], rax
mov rax, qword [rsp + 0x38]
movups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1d0], rbx
movups xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1f8], r15b
movups xmmword [rbp + 0x1e0], xmm0
test byte [rax + 2], 1
je 0x14021a74d
test word [rbx + 0x14], r8w
je 0x14021a73f
mov rcx, rbx
call fcn.140234440
mov rax, qword [rsp + 0x38]
xor r11d, r11d
mov ecx, 0x401
mov word [rbx + 0x14], cx
mov dword [rbx], r11d
jmp 0x14021a75b
mov ecx, 0xf241
and word [rbx + 0x14], cx
or word [rbx + 0x14], 1
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1402218c0
cmp dword [rbp + 0x1f4], 0
jle 0x14021a7d5
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14021a7a6
cmp byte [rbx + 0x16], 1
jne 0x14021a7a6
mov rax, qword [rbx + 8]
jmp 0x14021a7b9
test cl, 1
je 0x14021a7af
xor eax, eax
jmp 0x14021a7b9
mov dl, 1
mov rcx, rbx
call fcn.140232c20
mov r8, rax
lea rdx, [0x140290234]
mov rcx, r12
call fcn.1402133e0
mov eax, dword [rbp + 0x1f4]
mov dword [rsp + 0x34], eax
test byte [rbx + 0x14], 2
jne 0x14021a7e1
mov byte [rbx + 0x16], r15b
jmp 0x14021a7f3
cmp byte [rbx + 0x16], r15b
je 0x14021a7f3
movzx edx, r15b
mov rcx, rbx
call fcn.14021e790
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x48]
test r10d, r10d
jne 0x1402149d4
mov r14, qword [rsp + 0x60]
jmp 0x140213fc5
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x140213c87
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1402218c0
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x140217cb4
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x140218eff
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x38], rax
mov r13, rax
jmp 0x140218f09
mov edi, dword [rsi + 0x30]
or qword [rsi + 0x30], 0x4000000
and edi, 0x4000000
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 0x14], 2
jne 0x14021a8c5
mov byte [rbx + 0x16], 1
jmp 0x14021a8e4
cmp byte [rbx + 0x16], 1
je 0x14021a8e4
mov dl, 1
mov rcx, rbx
call fcn.14021e790
mov dword [rsp + 0x34], eax
mov r10d, eax
test eax, eax
jne 0x140217cb4
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x34], eax
test edi, edi
jne 0x14021a909
mov rax, qword [rsp + 0x48]
and qword [rax + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r12
call fcn.1402218c0
and dword [r12 + 0xc8], 0xfffffffc
mov r10d, dword [rsp + 0x34]
test r10d, r10d
mov rsi, qword [rsp + 0x48]
jmp 0x140216d12
mov qword [rbp - 0x30], r11
cmp byte [rsi + 0x67], 0
jne 0x14021418c
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14021b469
mov r10, qword [rbx]
test r10, r10
je 0x14021b469
cmp qword [r10 + 0x68], 0
mov r13, qword [rsp + 0x38]
movsxd rdx, dword [r13 + 8]
je 0x140213a18
movsxd rax, dword [r13 + 0xc]
movzx edi, byte [rsi + 0x6c]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov rax, r11
add rcx, r14
test edx, edx
jle 0x14021a9a0
nop
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14021a990
mov rax, r13
lea r9, [rbp - 0x30]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [rsi + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x6c], dil
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1402218c0
mov r10d, dword [rsp + 0x34]
test r10d, r10d
jne 0x14021a9e2
cmp dword [r13 + 4], r10d
je 0x14021aa10
mov rax, qword [rbp - 0x30]
mov qword [rsi + 0x38], rax
jmp 0x14021aa10
cmp r10b, 0x13
jne 0x14021aa10
mov rax, r13
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14021aa10
movzx ecx, word [r13 + 2]
cmp ecx, 4
jne 0x14021b484
xor r11d, r11d
mov dword [rsp + 0x34], r11d
jmp 0x140213fcd
inc qword [r12 + 0x38]
test r10d, r10d
jne 0x1402149d4
jmp 0x140213fca
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r12 + 0x68]
test word [rdx + 0x14], r8w
je 0x14021aa5b
mov rcx, rdx
call fcn.1401c3d60
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov rdx, rax
mov r8d, 0x9000
lea r9d, [r11 + 1]
jmp 0x14021aa64
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, qword [r12 + 0x68]
test word [rsi + 0x14], r8w
je 0x14021aac5
mov rcx, rsi
call fcn.1401c3d60
mov rsi, rax
xor r11d, r11d
jmp 0x14021aace
mov eax, 4
mov word [rsi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov edi, r11d
mov rax, qword [rsp + 0x48]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x14021aaff
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x14021ab16
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14021ab16
mov rcx, rbx
call fcn.1401a2a80
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x14021ab29
mov dword [rcx + 0xbc], edi
jmp 0x14021ab2f
mov edi, dword [rcx + 0xbc]
cmp byte [rbx + 0x11], 0
je 0x14021ab43
sub dword [rbx + 0x14], 1
jne 0x14021ab43
mov rcx, rbx
call fcn.140230a30
mov eax, edi
mov qword [rsi], rax
mov rsi, qword [rsp + 0x48]
jmp 0x140213fc5
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp qword [rdi], rbx
je 0x14021abc5
mov qword [rdi + 0x18], r12
mov qword [rdi], rbx
mov byte [rdi + 0x28], r15b
movzx eax, byte [rdi + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x14021abc5
mov rsi, qword [rsp + 0x38]
lea r8, [rdi + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14021aba0
mov rsi, qword [rsp + 0x48]
mov eax, 0xf241
lea r8, [rdi + 0x30]
and word [rbx + 0x14], ax
mov rcx, rdi
or word [rbx + 0x14], 1
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
test eax, eax
je 0x140213fc5
jle 0x14021ac3e
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14021ac12
cmp byte [rbx + 0x16], 1
jne 0x14021ac12
mov rax, qword [rbx + 8]
jmp 0x14021ac25
test cl, 1
je 0x14021ac1b
xor eax, eax
jmp 0x14021ac25
mov dl, 1
mov rcx, rbx
call fcn.140232c20
mov r8, rax
lea rdx, [0x140290234]
mov rcx, r12
call fcn.1402133e0
mov eax, dword [rdi + 0x24]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x38]
lea rdx, [r12 + 0x128]
mov r8d, dword [rdi + 0x20]
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.140212d90
mov r10d, dword [rsp + 0x34]
xor r11d, r11d
mov dword [rdi + 0x24], r11d
test r10d, r10d
jne 0x1402149d4
mov r13, qword [rsp + 0x38]
jmp 0x140213fcd
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r14 + 0x14], ax
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.1401b18d0
movsxd rcx, dword [rbx + r14 + 0x10]
xor edx, edx
div rcx
mov rcx, qword [rbx + r14 + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x140213fc5
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.1401b18d0
movsxd rcx, dword [rbx + r14 + 0x10]
xor edx, edx
mov r13, qword [rsp + 0x38]
mov r9d, 1
mov r10, qword [rsp + 0x40]
div rcx
mov rax, qword [rbx + r14 + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x14021ad4d
inc dword [r12 + 0xf4]
xor r11d, r11d
jmp 0x14021523c
inc dword [r12 + 0xf0]
xor r11d, r11d
jmp 0x140213fd8
movzx eax, byte [rsi + 0x6e]
test al, 0x41
je 0x14021ae2f
cmp byte [r12 + 0xc3], 0xfe
je 0x14021ae2f
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x14021ad92
mov r9, qword [r12 + 0xf8]
test r9, r9
je 0x14021ae29
test al, 0x40
je 0x14021adbe
mov rdx, r9
mov rcx, r12
call fcn.14021bb20
mov rcx, qword [rsi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rsi + 0xf8]
mov rcx, rbx
call fcn.140187900
jmp 0x14021ae1b
cmp dword [rsi + 0xe4], 1
jle 0x14021ae06
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.1401f83b0
mov rdx, qword [rsi + 0x100]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [rsi + 0xf8]
test rbx, rbx
je 0x14021ae1b
mov rdx, rbx
mov rcx, rsi
call fcn.1401e2370
jmp 0x14021ae1b
mov rdx, qword [rsi + 0x100]
mov r8, r12
mov ecx, 1
call qword [rsi + 0xf8]
mov r10, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, 0x9000
mov r9d, 1
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x1402e7fb8]
jl 0x14021ae88
cmp byte [r13], 0xb5
je case.0x14021358a.89
cmp dword [r12 + 0x90], 1
mov edx, r9d
jle 0x14021ae85
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xe
jne 0x14021ae75
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x14021ae62
mov eax, r11d
inc eax
mov dword [r13 + 4], eax
inc dword [r12 + 0xec]
jmp 0x14021523c
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r13, qword [rsp + 0x38]
movzx r15d, byte [rsp + 0x30]
mov r12, qword [rsp + 0x68]
add r13, 0x18
mov rdi, qword [rsp + 0x58]
jmp 0x140213553
mov r13, qword [rsp + 0x38]
movzx r15d, byte [rsp + 0x30]
jmp 0x140213fd2
mov ecx, dword [rax + 4]
mov dword [r12 + 0x34], ecx
movzx eax, byte [rax + 8]
mov byte [r12 + 0xc2], al
test ecx, ecx
je 0x14021afa3
mov rbx, qword [rsp + 0x38]
mov rcx, r12
movzx eax, word [rbx + 2]
test ax, ax
je 0x14021af4c
mov r8, qword [rdi + rax*8 + 0x28ae88]
lea rdx, str._s_constraint_failed
call fcn.1402133e0
mov r9, qword [rbx + 0x10]
test r9, r9
je 0x14021af5c
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.1401f83b0
mov qword [r12 + 0xa8], rax
jmp 0x14021af5c
mov r8, qword [rbx + 0x10]
lea rdx, [0x140290234]
call fcn.1402133e0
mov r9, qword [r12 + 0xf8]
mov rcx, rbx
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, dword [rbx + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.1401985d0
mov rcx, r12
call fcn.14021c870
mov r14, qword [rsp + 0x38]
mov edi, eax
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
cmp eax, 5
jne 0x14021afcb
mov dword [r12 + 0x34], eax
jmp 0x140216614
cmp dword [r12 + 0x34], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x140216614
mov dword [r12 + 0x34], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r12
mov byte [r12 + 0xc2], 2
call fcn.1402133e0
movsx r10d, byte [r12 + 0xc4]
sar r10d, 7
and r10d, 0x312
inc r10d
jmp 0x1402149cf
mov r10d, 7
jmp 0x1402149cf
mov ecx, 0x164da
call fcn.1401e03a0
mov r10d, eax
mov dword [rsp + 0x34], eax
jmp 0x1402149d4
lea r10, [0x140000000]
movsxd rax, esi
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
mov rax, qword [r15 + rcx*8]
mov rcx, r12
movzx r8d, byte [rdx + r10 + 0x28ae50]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov r8, qword [r10 + r8*8 + 0x2e8bb0]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x2e88f8]
call fcn.1402133e0
mov r10d, 0xc13
mov dword [rsp + 0x34], r10d
mov rsi, qword [rsp + 0x48]
mov r14, r13
jmp 0x1402149d9
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.1402133e0
mov r10d, 5
mov dword [rsp + 0x34], r10d
mov rsi, rdi
jmp 0x1402149d4
mov r12, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.1402133e0
mov r10d, 5
jmp 0x1402149cf
mov byte [rsi + 0x65], 0
mov r12, rbx
jmp 0x1402149d4
mov rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov edi, 5
imul rcx
mov r12, rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x30], edx
mov byte [rsi + 0x65], 0
mov dword [rbx + 0x34], edi
jmp 0x140216605
mov dword [rbx + 0x34], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, rbx
mov byte [rbx + 0xc2], 2
mov r12, rbx
call fcn.1402133e0
movsx edi, byte [rbx + 0xc4]
sar edi, 7
and edi, 0x312
inc edi
jmp 0x140216605
bt rax, 0x14
mov r10d, 8
mov eax, VariantTimeToDosDateTime
mov r14, rcx
cmovae r10d, eax
mov dword [rsp + 0x34], r10d
lea edi, [rax - 0xa]
jmp 0x1402149e3
mov r14, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
cmp r10b, 5
jne 0x140216655
mov edi, dword [rsp + 0x34]
mov rcx, r14
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
mov dword [r12 + 0x34], r10d
jmp 0x140216614
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x14021b1fb
mov rcx, rsi
call fcn.1401e2370
mov edx, 0x1c
mov rcx, rsi
call fcn.1401e2500
test rax, rax
je 0x14021b22d
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140291800]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x140291808]
mov dword [rax + 0x18], ecx
mov qword [r12 + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsp + 0x70]
cmp dword [rcx], eax
je 0x14021b25e
mov rcx, rsi
call fcn.1402040c0
mov eax, dword [r12 + 0xc8]
mov r10d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [r12 + 0xc8], eax
jmp 0x1402149cf
mov r10d, 0x204
jmp 0x1402149cf
mov rcx, qword [rbx + 0x10]
call fcn.1401d8910
mov r10d, dword [rsp + 0x34]
jmp 0x1402149d4
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov edi, 1
lea eax, [rdi + 0xa]
jmp 0x1402149e6
lea rax, [0x140295c44]
mov r9d, 0x14ef0
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.1401985d0
mov rsi, qword [rsp + 0x48]
mov eax, VariantTimeToDosDateTime
mov r14, qword [rsp + 0x38]
mov r10d, eax
mov dword [rsp + 0x34], eax
lea edi, [rax - 0xa]
jmp 0x1402149e3
mov rsi, rax
jmp 0x14021b30b
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x48]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.1402133e0
mov r10d, 0x12
jmp 0x1402149cf
lea rax, [0x140295c44]
mov r9d, 0x17195
mov qword [rsp + 0x20], rax
lea r8, str.index_corruption
mov eax, 0x30b
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, eax
mov dword [rsp + 0x34], eax
call fcn.1401985d0
mov r10d, 0x30b
mov r14, r13
jmp 0x1402149d9
mov ecx, 0x17262
call fcn.1401e03a0
mov r10d, eax
mov dword [rsp + 0x34], eax
jmp 0x1402149d4
mov r10d, 6
mov byte [r12 + 0xc2], 2
jmp 0x1402149cf
call fcn.140204020
jmp 0x14021418c
mov r12, qword [rsp + 0x68]
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov dword [rsp + 0x34], r9d
call fcn.1402133e0
mov r10d, dword [rsp + 0x34]
jmp 0x1402149d4
mov rcx, rbx
call fcn.14018c9a0
mov r8, rax
lea rdx, [0x140290234]
mov rcx, r12
call fcn.1402133e0
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x48]
jmp 0x1402149d4
mov r12, qword [rsp + 0x68]
lea rax, str.into
cmp esi, 5
mov dword [rsp + 0x34], r9d
lea r8, str.out_of
mov rcx, r12
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.1402133e0
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x48]
mov r14, rbx
jmp 0x1402149d9
mov r14, qword [rsp + 0x38]
cmp r10b, 6
jne 0x14021b446
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r12
call fcn.1402133e0
mov r10d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x48]
jmp 0x1402149d9
dec dword [rsi + 0xe8]
mov r10d, 6
jmp 0x1402149cf
call qword [rdi + 0x38]
jmp 0x14021418c
mov r10d, 6
jmp 0x1402149cf
mov rbx, 0xffffffffffffffff
lea r10d, [rbx + 0xa]
jmp 0x140218c8b
movzx eax, cl
cmp ecx, 5
mov ecx, 2
mov r14, r13
cmove eax, ecx
mov byte [r12 + 0xc2], al
jmp 0x1402149d9
mov eax, dword [r12 + 0x2c]
mov rbx, qword [rsp + 0x38]
add eax, 2
or eax, 1
mov dword [r12 + 0x2c], eax
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
add rcx, r14
mov qword [r12 + 0xa0], rcx
cmp byte [rsi + 0x67], 0
jne 0x14021418c
test byte [rsi + 0x6e], 4
je 0x14021b4f6
mov rdx, qword [rsi + 0x100]
xor r9d, r9d
mov r8, r12
lea ecx, [r9 + 4]
call qword [rsi + 0xf8]
mov r10, qword [rsp + 0x40]
mov rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r10
mov edi, 0x64
imul rcx
mov r14, rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r12 + 0x30], edx
jmp 0x14021660a
mov rax, qword [rsp + 0x38]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [rsi + 0x65]
cmp ebx, eax
je 0x14021b60c
test ecx, ecx
je 0x14021b557
mov edx, 0x204
mov rcx, rsi
call fcn.140204830
mov al, 1
jmp 0x14021b596
test ebx, ebx
je 0x14021b57e
cmp dword [rsi + 0xe0], 0
jle 0x14021b57e
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.1402133e0
mov r10d, 5
jmp 0x1402149cf
mov edx, r9d
mov rcx, r12
call fcn.140212500
mov edi, eax
test eax, eax
jne 0x140216605
movzx eax, bl
mov rcx, r12
mov byte [rsi + 0x65], al
call fcn.14021c870
cmp eax, 5
jne 0x14021b5ec
mov r14, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, r14
mov edi, 5
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
mov dword [r12 + 0x30], edx
sub al, bl
mov byte [rsi + 0x65], al
mov dword [r12 + 0x34], edi
jmp 0x14021660a
mov rcx, rsi
call fcn.1401dcf30
cmp dword [r12 + 0x34], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x140216605
test ebx, ebx
jne 0x14021b619
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14021b62d
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r12
call fcn.1402133e0
mov r14, qword [rsp + 0x38]
mov edi, 1
mov r10d, edi
mov dword [rsp + 0x34], edi
jmp 0x1402149de
mov rbx, qword [rsp + 0x50]
mov r10d, 9
jmp 0x140218c8b
mov rsi, qword [rsp + 0x48]
jmp 0x140214187
mov rsi, qword [rsp + 0x48]
jmp 0x14021418c
mov r14, r13
mov rdi, r9
jmp 0x1402149de
cmp r10d, 0x210a
jne 0x14021b6b5
lea rcx, [0x140295c44]
mov r9d, 0x17af6
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1401985d0
mov r10d, VariantTimeToDosDateTime
mov dword [rsp + 0x34], r10d
cmp qword [r12 + 0xa8], 0
jne 0x14021b6ef
cmp r10d, 0xc0a
je 0x14021b6ef
mov ecx, r10d
call fcn.1401e4f90
mov r8, rax
lea rdx, [0x140290234]
mov rcx, r12
call fcn.1402133e0
mov r10d, dword [rsp + 0x34]
mov dword [r12 + 0x34], r10d
jmp 0x14021b6fd
mov dword [r12 + 0x34], r10d
cmp r10d, 0xc0a
je 0x14021b72e
movzx eax, r10b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x14021b72e
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x14021b728
xor r8d, r8d
xor edx, edx
call rax
mov r10d, dword [rsp + 0x34]
jmp 0x14021b72b
mov eax, r13d
mov dword [rsi + 0x5c], eax
mov r9, qword [r12 + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, r10d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.1401985d0
cmp byte [r12 + 0xc5], 2
jne 0x14021b788
mov rcx, r12
call fcn.14021c870
mov eax, dword [rsp + 0x34]
cmp eax, 0xc0a
jne 0x14021b79d
mov rcx, rsi
call fcn.1401f8ff0
jmp 0x14021b7b6
cmp eax, 0xb
jne 0x14021b7b6
cmp byte [rsi + 0x65], 0
jne 0x14021b7b6
movabs rax, 0x200000000
or qword [rsi + 0x30], rax
movzx eax, byte [rbp - 0x7c]
test al, al
je 0x140216614
lea edx, [rax - 1]
mov rcx, rsi
call fcn.1402040c0
jmp 0x140216614
add dword [r12 + 0xe4], r15d
cmp dword [r12 + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x3d0]
mov r15, qword [rsp + 0x3e0]
mov r14, qword [rsp + 0x3e8]
mov r13, qword [rsp + 0x428]
mov rsi, qword [rsp + 0x420]
mov rbx, qword [rsp + 0x418]
je 0x14021b81d
mov rcx, r12
call fcn.140234300
mov eax, edi
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.140154650
add rsp, 0x3f0
pop r12
pop rdi
pop rbp
ret