Function at 0x1402f12b0
Capabilities:
Encode data using xor
Encrypt data using speck
Reference sql statements

Disassembly:
mov r11, rsp
push rbp
push rsi
push r12
lea rbp, [r11 - 0x358]
sub rsp, 0x440
mov rax, qword [0x14043f000]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov rsi, rcx
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r13
xor al, al
mov qword [r11 - 0x20], r14
mov r14, qword [rcx + 0x88]
mov r13, qword [rsi]
mov r11, qword [rsi + 0x68]
mov qword [rsp + 0x60], rcx
xor ecx, ecx
mov r12d, ecx
mov qword [rsp + 0x78], r14
mov r10d, ecx
movzx r9d, byte [r13 + 0x64]
mov edi, ecx
mov byte [rsp + 0x40], r9b
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x68], r13
mov byte [rbp - 0x6c], al
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], r11
cmp dword [rsi + 0xd0], ecx
je 0x1402f1350
mov rcx, rsi
call fcn.1402f11c0
mov r11, qword [rsp + 0x58]
mov r10d, edi
movzx r9d, byte [rsp + 0x40]
cmp qword [r13 + 0x210], rdi
je 0x1402f1374
mov eax, dword [rsi + 0xe4]
xor edx, edx
mov ecx, dword [r13 + 0x220]
div ecx
sub ecx, edx
mov eax, ecx
mov qword [rbp - 0x50], rax
jmp 0x1402f137c
mov qword [rbp - 0x50], 0xffffffffffffffff
cmp dword [rsi + 0x34], 7
mov qword [rsp + 0x468], rbx
mov qword [rsp + 0x430], r15
movaps xmmword [rsp + 0x420], xmm6
movaps xmmword [rsp + 0x410], xmm7
movaps xmmword [rsp + 0x400], xmm8
movaps xmmword [rsp + 0x3f0], xmm9
je 0x1402f3e50
xor edx, edx
mov dword [rsi + 0x34], edx
mov qword [rsi + 0x48], rdx
mov dword [r13 + 0x298], edx
mov eax, dword [r13 + 0x198]
test eax, eax
jne 0x1402f9907
movsxd rax, dword [rsi + 0x30]
xorps xmm9, xmm9
movdqa xmm7, xmmword [0x14033a980]
movdqa xmm6, xmmword [0x14041feb0]
movdqa xmm8, xmmword [0x14033aea0]
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
movzx ebx, byte [r15]
inc rdi
mov r8d, dword [0x14043f050]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x70], rdi
cmp ebx, 0xb5
ja case.0x1402f143f.89
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x2f9c50]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, r14
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r11 + 0x14], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp case.0x1402f143f.9
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], 4
je 0x1402f19a6
mov rax, qword [rax + r11]
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r11], rax
mov word [rcx + r11 + 0x14], 4
cmp dword [r15 + 8], 0
jne 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
xor edi, edi
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + rcx*8 + 8]
dec eax
mov word [rdx + r11 + 0x14], di
cdqe
xor edx, edx
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, r14
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov word [r8 + r11 + 0x14], 4
movsxd rcx, dword [r8 + r11]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r15, [r14 + rcx*8]
mov qword [r8 + r11], rax
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x1402f19a6
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x1402f91f8
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x1402f91f8
mov rax, qword [rcx + 8]
mov qword [rsi + 0x108], rax
dec dword [rsi + 0x118]
mov rax, qword [rsi + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
call fcn.1402fa6d0
mov rcx, qword [rsp + 0x48]
cmp dword [rcx + 8], 4
jne 0x1402f1617
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r14, qword [rsi + 0x88]
mov r11, qword [rsi + 0x68]
cdqe
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x58], r11
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x1402f1663
call fcn.14028c590
mov rcx, rax
xor edx, edx
jmp 0x1402f1669
mov word [rcx + 0x14], 4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402f16c6
mov rcx, rdx
call fcn.14028c590
mov rdx, rax
jmp 0x1402f16cc
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402f1711
mov rcx, rdx
call fcn.14028c590
mov rdx, rax
mov word [rdx + 0x14], 8
jmp 0x1402f16cc
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x1402f1747
mov rcx, rbx
call fcn.14028c590
mov rcx, qword [rsp + 0x48]
mov rbx, rax
jmp 0x1402f174d
mov word [rbx + 0x14], 4
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1402f175e
xor r15d, r15d
mov eax, r15d
jmp 0x1402f1776
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x1402f1765
and eax, 0x3fffffff
xor r15d, r15d
movzx edi, byte [rsp + 0x40]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x1402f1819
mov r9b, 1
mov qword [rsp + 0x20], r15
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.1402fc140
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f95e3
test byte [rbx + 0x14], 2
jne 0x1402f17ba
mov byte [rbx + 0x16], dil
jmp 0x1402f17d4
cmp byte [rbx + 0x16], dil
je 0x1402f17d4
movzx edx, dil
mov rcx, rbx
call fcn.1402fc660
test eax, eax
jne 0x1402f3e4b
mov eax, 0x2000
mov dword [rbx + 0x20], r15d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xfa
jne 0x1402f1802
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1402f1802
mov rcx, r13
call fcn.1402afb40
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [rcx + 4], eax
cmp eax, dword [r13 + 0x88]
jg 0x1402f95e3
mov byte [rcx], 0x49
jmp 0x1402f1835
mov rcx, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x40]
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402f185c
mov rcx, rdx
call fcn.14028c590
mov rcx, qword [rsp + 0x48]
mov rdx, rax
mov r11, qword [rsp + 0x58]
mov word [rdx + 0x14], 0x2202
mov rax, qword [rcx + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [rcx + 4]
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x48]
mov byte [rdx + 0x16], dil
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1402f5ffc
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
cmp qword [rcx + r11], rax
jne 0x1402f5ffc
mov word [rdx + 0x14], 0x2210
mov r15, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
mov r13d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], r13w
je 0x1402f18f6
call fcn.14028c590
mov rcx, rax
xor edx, edx
jmp 0x1402f18fc
mov word [rcx + 0x14], 4
cmp dword [rbx + 4], 0
mov esi, 1
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], edx
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x1402f5fe8
nop dword [rax + rax]
test word [rbx + 0x38], r13w
lea rbx, [rbx + 0x38]
je 0x1402f1946
lea rcx, [rbx - 0x14]
call fcn.1403126a0
xor edx, edx
dec edi
mov word [rbx], si
mov dword [rbx - 4], edx
test edi, edi
jg 0x1402f1930
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r8d, 0xffc1
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
and ax, r8w
or ax, 1
mov word [rcx + r11 + 0x14], ax
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], cx
je 0x1402f19ec
mov rcx, rbx
call fcn.14028c590
mov rbx, rax
mov ecx, 0x9000
jmp 0x1402f19f2
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
movsxd rdi, dword [rax + 4]
test rdx, rdx
jne 0x1402f1a43
test word [rbx + 0x14], cx
jne 0x1402f1a0f
cmp dword [rbx + 0x20], edx
je 0x1402f1a17
mov rcx, rbx
call fcn.140312650
xor eax, eax
mov word [rbx + 0x14], 0x410
mov dword [rbx + 0x10], eax
test edi, edi
mov rcx, rbx
cmovs edi, eax
mov dword [rbx], edi
mov byte [rbx + 0x16], 1
mov qword [rbx + 8], rax
call fcn.1402fb9e0
test eax, eax
jne 0x1402f3e4b
jmp 0x1402f1a58
mov r8, rdi
xor r9d, r9d
xor edi, edi
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.1402fc140
movzx r9d, byte [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov byte [rbx + 0x16], r9b
jmp 0x1402f18b2
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsi + 0x80]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x24]
test al, 0x12
je 0x1402f1aae
bt ax, 0xa
mov ecx, dword [rdi + rsi - 0x28]
jae 0x1402f1a9d
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x1402f95dc
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x1402f1ad3
mov rcx, rbx
call fcn.1403126a0
mov r11, qword [rsp + 0x58]
xor edx, edx
movups xmm0, xmmword [rdi + rsi - 0x38]
mov r15, qword [rsp + 0x48]
mov ecx, 0xafff
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
mov rsi, qword [rsp + 0x60]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
or ax, 0x2040
mov word [rbx + 0x14], ax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1402f1b51
cmp dword [rbx + 0x20], 0
je 0x1402f1b5b
mov rcx, rbx
call fcn.140312650
xor edx, edx
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], 1
mov dword [rdi + 0x20], edx
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x1402f1bd5
test al, 0x12
je 0x1402f1bca
bt ax, 0xa
jae 0x1402f1baa
mov rcx, rbx
call fcn.1402fb9e0
test eax, eax
jne 0x1402f3e46
cmp dword [rbx + 0x20], 0
je 0x1402f1bba
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x1402f1bca
mov rcx, rbx
call fcn.1403125f0
test eax, eax
jne 0x1402f3e46
mov ecx, 0xbfff
and word [rbx + 0x14], cx
xor edx, edx
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x1402f1b40
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
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, r11
add rbx, r11
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402f1c5e
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.1403117d0
jmp 0x1402f1c8b
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 0x1402f1c8b
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 0x1402f1cde
test al, 0x12
je 0x1402f1cd1
bt ax, 0xa
jae 0x1402f1cb1
mov rcx, rbx
call fcn.1402fb9e0
test eax, eax
jne 0x1402f3e46
cmp dword [rbx + 0x20], 0
je 0x1402f1cc1
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x1402f1cd1
mov rcx, rbx
call fcn.1403125f0
test eax, eax
jne 0x1402f3e46
mov eax, 0xbfff
and ax, word [rbx + 0x14]
mov word [rbx + 0x14], ax
bt ax, 0xb
jae 0x1402f1cf8
test byte [r15 + 2], 2
je 0x1402f1cf8
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x1402f24c5
add rbx, 0x38
add rdi, 0x38
jmp 0x1402f1c40
mov rcx, qword [rsp + 0x48]
mov r8d, 0x9000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
test word [rcx + 0x14], r8w
je 0x1402f1d53
mov r8d, 0x4000
call fcn.1403117d0
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
movups xmm0, xmmword [rdx]
mov r15, qword [rsp + 0x48]
mov r8d, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 0x14], r8w
jne 0x1402f18b7
mov eax, 0xcfff
and word [rcx + 0x14], ax
mov eax, 0x4000
or word [rcx + 0x14], ax
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x1402f1de2
mov rdx, rax
mov rcx, r8
call fcn.140313790
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
mov qword [r8], rax
mov word [r8 + 0x14], 4
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
cmp qword [rsi + 0x50], 0
jg 0x1402f92ff
mov r12d, edx
mov dword [rsp + 0x50], edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r14, r11
imul rbx, rax, 0x38
movzx r15d, word [r14 + 0x14]
add rdi, r11
movzx eax, r15b
add rbx, r11
or al, byte [rdi + 0x14]
test al, 1
je 0x1402f1ec4
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402f1ea1
mov rcx, rbx
call fcn.1403126a0
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x78]
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov word [rbx + 0x14], 1
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
test r15b, 0x12
jne 0x1402f1ef7
xor r8d, r8d
movzx edx, r9b
mov rcx, r14
call fcn.1402fc480
test eax, eax
jne 0x1402f3e4b
movzx r15d, word [r14 + 0x14]
mov r12d, 0xfffd
and r15w, r12w
mov eax, 0x400
jmp 0x1402f1f12
mov eax, 0x400
test ax, r15w
je 0x1402f1f0c
mov rcx, r14
call fcn.1402fb9e0
jmp 0x1402f1ed9
mov r12d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x1402f1f2e
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.1402fc480
jmp 0x1402f1f3b
test ax, si
je 0x1402f1f4b
mov rcx, rdi
call fcn.1402fb9e0
test eax, eax
jne 0x1402f3e46
movzx esi, word [rdi + 0x14]
and si, r12w
mov edx, dword [r14 + 0x10]
add edx, dword [rdi + 0x10]
movsxd rax, dword [r13 + 0x88]
movsxd r12, edx
cmp r12, rax
jg 0x1402f95dc
xor eax, eax
mov rcx, rbx
mov r8d, eax
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.1402fbc80
test eax, eax
jne 0x1402f3e46
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x1402f1fb2
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
call sub.VCRUNTIME140.dll_memcpy
movzx r9d, byte [rsp + 0x40]
mov word [r14 + 0x14], r15w
cmp r9b, 1
jbe 0x1402f1fdc
and r12, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
mov byte [r12 + rax], 0
mov rax, qword [rbx + 8]
mov byte [r12 + rax + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r12d
mov r12d, dword [rsp + 0x50]
mov byte [rbx + 0x16], r9b
jmp 0x1402f18b2
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x48]
add rdi, r11
add rsi, r11
movsxd rax, dword [rax + 0xc]
movzx ecx, word [rsi + 0x14]
movzx ebx, word [rdi + 0x14]
imul r14, rax, 0x38
movzx eax, cl
and al, bl
add r14, r11
test al, 4
jne 0x1402f2094
or cl, bl
test cl, 1
jne 0x1402f23c6
and bx, 0x2d
jne 0x1402f2076
mov rcx, rdi
call fcn.1402311b0
movzx ebx, ax
movzx eax, word [rsi + 0x14]
and ax, 0x2d
jne 0x1402f2088
mov rcx, rsi
call fcn.1402311b0
and al, bl
test al, 4
je 0x1402f227b
xor edx, edx
mov rax, qword [rsp + 0x48]
mov r9, qword [rdi]
mov r8, qword [rsi]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x1402f221e
sub ecx, 1
je 0x1402f21b1
sub ecx, 1
je 0x1402f2116
cmp ecx, 1
je 0x1402f20e4
test r9, r9
je 0x1402f23c6
cmp r9, 0xffffffffffffffff
mov eax, 1
cmove r9, rax
mov rax, r8
cqo
idiv r9
mov r8, rdx
jmp 0x1402f223d
test r9, r9
je 0x1402f23c6
cmp r9, 0xffffffffffffffff
jne 0x1402f2106
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x1402f227b
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1402f223d
test r9, r9
jle 0x1402f214c
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1402f227b
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x1402f21a8
jmp 0x1402f227b
jns 0x1402f21a8
test r8, r8
jle 0x1402f216c
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x1402f21a8
jmp 0x1402f227b
jns 0x1402f21a8
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x1402f227b
cmp r8, rcx
je 0x1402f227b
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x1402f227b
imul r8, r9
jmp 0x1402f223d
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x1402f21ce
test r8, r8
jns 0x1402f227b
sub r8, rcx
jmp 0x1402f223d
neg r9
js 0x1402f21f1
test r8, r8
jle 0x1402f2213
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1402f2213
mov eax, 1
jmp 0x1402f2218
test r8, r8
jns 0x1402f2213
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1402f2213
mov eax, 1
jmp 0x1402f2218
add r8, r9
mov eax, edx
test eax, eax
jne 0x1402f227b
jmp 0x1402f223d
test r9, r9
js 0x1402f2260
test r8, r8
jle 0x1402f223a
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x1402f227b
add r8, r9
mov rsi, qword [rsp + 0x60]
mov ecx, 0xf244
mov qword [r14], r8
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
jmp 0x1402f1e72
test r8, r8
jns 0x1402f223a
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1402f223a
movzx eax, word [rdi + 0x14]
test al, 8
je 0x1402f2289
movsd xmm2, qword [rdi]
jmp 0x1402f22ac
test al, 0x24
je 0x1402f2297
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x1402f22ac
test al, 0x12
je 0x1402f22a8
mov rcx, rdi
call fcn.140287690
movaps xmm2, xmm0
jmp 0x1402f22ac
movaps xmm2, xmm9
movzx eax, word [rsi + 0x14]
test al, 8
je 0x1402f22ba
movsd xmm0, qword [rsi]
jmp 0x1402f22da
test al, 0x24
je 0x1402f22c8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
jmp 0x1402f22da
test al, 0x12
je 0x1402f22d6
mov rcx, rsi
call fcn.140287690
jmp 0x1402f22da
movaps xmm0, xmm9
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x1402f23b7
sub ecx, 1
je 0x1402f23b1
sub ecx, 1
je 0x1402f23ab
cmp ecx, 1
je 0x1402f239c
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x1402f2315
mov rbx, qword [rdi]
xor ecx, ecx
jmp 0x1402f2347
test al, 8
je 0x1402f2329
movsd xmm0, qword [rdi]
call fcn.140234930
mov rbx, rax
xor ecx, ecx
jmp 0x1402f2347
test al, 0x12
je 0x1402f2343
cmp qword [rdi + 8], 0
je 0x1402f2343
mov rcx, rdi
call fcn.140287660
mov rbx, rax
xor ecx, ecx
jmp 0x1402f2347
xor ecx, ecx
mov ebx, ecx
movzx eax, word [rsi + 0x14]
test al, 0x24
je 0x1402f2354
mov rax, qword [rsi]
jmp 0x1402f237b
test al, 8
je 0x1402f2363
movsd xmm0, qword [rsi]
call fcn.140234930
jmp 0x1402f237b
test al, 0x12
je 0x1402f2378
cmp qword [rsi + 8], 0
je 0x1402f2378
mov rcx, rsi
call fcn.140287660
jmp 0x1402f237b
mov rax, rcx
test rbx, rbx
je 0x1402f23c6
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1402f23bb
ucomisd xmm2, xmm9
jp 0x1402f23a5
je 0x1402f23c6
divsd xmm0, xmm2
jmp 0x1402f23bb
mulsd xmm0, xmm2
jmp 0x1402f23bb
subsd xmm0, xmm2
jmp 0x1402f23bb
addsd xmm0, xmm2
ucomisd xmm0, xmm0
setp al
cmp al, 1
jne 0x1402f23f5
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x1402f23e4
mov rcx, r14
call fcn.1403126a0
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
mov rsi, qword [rsp + 0x60]
mov word [r14 + 0x14], 1
jmp 0x1402f1e72
mov rsi, qword [rsp + 0x60]
mov ecx, 0xf248
movsd qword [r14], xmm0
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 8
mov word [r14 + 0x14], ax
jmp 0x1402f1e72
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x1402f19a6
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1402f2453
xor edx, edx
call fcn.140313790
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rdi, r11
add rcx, r11
movsxd rax, dword [rax + 0xc]
movzx edx, word [rcx + 0x14]
imul rsi, rax, 0x38
movzx eax, dl
or al, byte [rdi + 0x14]
add rsi, r11
test al, 1
je 0x1402f24f9
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x1402f24d4
mov rcx, rsi
call fcn.1403126a0
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
xor edx, edx
mov word [rsi + 0x14], 1
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov eax, edx
test dl, 0x24
je 0x1402f2508
mov rbx, qword [rcx]
xor r15d, r15d
jmp 0x1402f253b
test al, 8
je 0x1402f251d
movsd xmm0, qword [rcx]
call fcn.140234930
mov rbx, rax
xor r15d, r15d
jmp 0x1402f253b
test al, 0x12
je 0x1402f2535
cmp qword [rcx + 8], 0
je 0x1402f2535
call fcn.140287660
mov rbx, rax
xor r15d, r15d
jmp 0x1402f253b
xor r15d, r15d
mov ebx, r15d
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x1402f2548
mov rdx, qword [rdi]
jmp 0x1402f2575
test al, 8
je 0x1402f255a
movsd xmm0, qword [rdi]
call fcn.140234930
mov rdx, rax
jmp 0x1402f2575
test al, 0x12
je 0x1402f2572
cmp qword [rdi + 8], 0
je 0x1402f2572
mov rcx, rdi
call fcn.140287660
mov rdx, rax
jmp 0x1402f2575
mov rdx, r15
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
cmp cl, 0x66
jne 0x1402f2587
and rbx, rdx
jmp 0x1402f25fb
cmp cl, 0x67
jne 0x1402f2591
or rbx, rdx
jmp 0x1402f25fb
test rdx, rdx
je 0x1402f25fb
jns 0x1402f25ab
mov eax, 0xd1
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x1402f25b1
neg rdx
cmp rdx, 0x40
jl 0x1402f25c9
test rbx, rbx
jns 0x1402f25c4
cmp cl, 0x68
je 0x1402f25c4
mov rbx, 0xffffffffffffffff
jmp 0x1402f25fb
mov rbx, r15
jmp 0x1402f25fb
cmp cl, 0x68
mov rcx, rdx
jne 0x1402f25d9
shl rbx, cl
mov r8, rbx
jmp 0x1402f25f8
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1402f25f8
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
mov r15, qword [rsp + 0x48]
mov ecx, 0xf244
mov r11, qword [rsp + 0x58]
mov qword [rsi], rbx
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, 4
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x60]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1402fbe00
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movsxd rax, dword [r15 + 8]
add qword [rbx], rax
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x1402f26c0
test cl, 0x28
jne 0x1402f268b
test cl, 2
je 0x1402f2695
mov edx, 1
mov rcx, rbx
call fcn.140226ac0
mov r11, qword [rsp + 0x58]
jmp 0x1402f2693
mov rcx, rbx
call fcn.1402faf20
xor edx, edx
movzx eax, word [rbx + 0x14]
movzx ecx, ax
test al, 4
jne 0x1402f26c0
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 8], 0
jne 0x1402f2f91
mov r12d, 0x14
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e05
mov r15, qword [rsp + 0x48]
mov eax, 0xf244
movzx r9d, byte [rsp + 0x40]
and cx, ax
mov r10d, dword [rsp + 0x54]
or cx, 4
mov word [rbx + 0x14], cx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r11
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1402f19a6
test al, 8
je 0x1402f2719
movsd xmm0, qword [rcx]
jmp 0x1402f2721
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r15, qword [rsp + 0x48]
mov r8d, 0xf248
and ax, r8w
movsd qword [rcx], xmm0
or ax, 8
mov word [rcx + 0x14], ax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x1402f277d
mov rcx, rbx
call fcn.1402fb9e0
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov rax, qword [rsp + 0x48]
mov rcx, rbx
movzx r8d, byte [rsp + 0x40]
movzx edx, byte [rax + 8]
call fcn.1402fb7d0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r11
add r14, r11
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx ecx, di
and cx, si
test cl, 4
je 0x1402f2871
mov rax, qword [r14]
cmp rax, qword [r15]
jle 0x1402f27ff
mov rax, qword [str._b0A_]
xor edx, edx
cmp byte [rbx + rax], dl
jmp 0x1402f28d5
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jge 0x1402f2840
mov rax, qword [0x14043a050]
xor edx, edx
cmp byte [rbx + rax], dl
jne 0x1402f2f91
mov rsi, qword [rsp + 0x60]
mov r10d, 0xffffffff
mov dword [rsp + 0x54], r10d
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [0x14043a058]
xor edx, edx
cmp byte [rbx + rax], dl
jne 0x1402f2f91
mov r10d, edx
mov dword [rsp + 0x54], edx
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
movzx eax, di
or ax, si
test al, 1
je 0x1402f2909
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
test al, al
jns 0x1402f28d3
test cl, 1
je 0x1402f28b8
mov eax, pe_nt_image_headers64
test ax, di
jne 0x1402f28b8
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x54], edx
mov r10d, dword [rsp + 0x54]
movzx edx, byte [rax]
mov rax, qword [0x14043a058]
jmp 0x1402f2a29
movzx eax, di
not ax
and eax, 1
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x54], r10d
jmp 0x1402f29e6
test al, 0x10
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
jne 0x1402f2f91
mov rsi, qword [rsp + 0x60]
mov eax, 1
mov r10d, eax
mov dword [rsp + 0x54], eax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
movzx ecx, byte [rbx + 2]
and cl, 0x47
cmp cl, 0x43
jb 0x1402f2955
test al, 2
je 0x1402f29cb
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1402f293b
xor edx, edx
mov rcx, r15
call fcn.140226ac0
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x1402f29cb
xor edx, edx
mov rcx, r14
call fcn.140226ac0
jmp 0x1402f29cb
cmp cl, 0x42
jne 0x1402f29cb
test al, 2
je 0x1402f29cb
test sil, 2
jne 0x1402f299b
test sil, 0x2c
je 0x1402f299b
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.1402fc480
xor si, word [r15 + 0x14]
mov r13d, 0xdbf
and si, r13w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x1402f29a1
movzx edi, si
or di, 2
jmp 0x1402f29a1
mov r13d, 0xdbf
test dil, 2
jne 0x1402f29cb
test dil, 0x2c
je 0x1402f29cb
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.1402fc480
xor di, word [r14 + 0x14]
and di, r13w
xor di, word [r14 + 0x14]
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1402d79a0
mov r11, qword [rsp + 0x58]
mov r10d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
mov ecx, r10d
movzx r9d, si
test r10d, r10d
jns 0x1402f2a07
movzx ecx, byte [rax]
mov rax, qword [0x14043a050]
movzx edx, byte [rcx + rax]
jmp 0x1402f2a2d
movzx edx, byte [rax]
mov dword [rsp + 0x54], ecx
test ecx, ecx
jne 0x1402f2a1e
mov rax, qword [0x14043a058]
mov r10d, ecx
jmp 0x1402f2a29
mov rax, qword [str._b0A_]
mov dword [rsp + 0x54], ecx
movzx edx, byte [rdx + rax]
mov word [r14 + 0x14], di
mov r14, qword [rsp + 0x78]
mov word [r15 + 0x14], si
mov r15, qword [rsp + 0x48]
test dl, dl
jne 0x1402f2f8f
mov rsi, qword [rsp + 0x60]
xor edx, edx
movzx r9d, byte [rsp + 0x40]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
test r10d, r10d
je 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x1402f2a95
mov r13, rdx
jmp 0x1402f2a9d
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
mov esi, edx
mov r8d, dword [rax + 4]
mov rbx, rdx
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x68], rcx
mov dword [rbp - 0x78], r8d
mov dword [rbp - 0x80], r9d
mov qword [rbp - 0x58], rax
test rax, rax
jle 0x1402f91d5
lea r14, [rcx + 0x20]
nop
test r13, r13
je 0x1402f2adc
mov edx, dword [r13 + rbx*4]
jmp 0x1402f2ade
mov edx, esi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r12, rcx, 0x38
movzx edi, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r14]
add r12, r11
imul r15, rcx, 0x38
mov rdx, r12
and edi, 1
add r15, r11
mov rcx, r15
call fcn.1402d79a0
mov dword [rsp + 0x54], eax
mov r10d, eax
test eax, eax
jne 0x1402f2b52
mov rcx, qword [rbp - 0x68]
inc esi
mov r8d, dword [rbp - 0x78]
inc rbx
mov r9d, dword [rbp - 0x80]
add r14, 8
mov r11, qword [rsp + 0x58]
cmp rbx, qword [rbp - 0x58]
jl 0x1402f2ad0
mov r12d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x1402f1e87
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x1402f2b77
test byte [r15 + 0x14], 1
jne 0x1402f2b6f
test byte [r12 + 0x14], 1
je 0x1402f2b77
neg r10d
mov dword [rsp + 0x54], r10d
mov r12d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
test edi, edi
je 0x1402f18b7
neg r10d
mov dword [rsp + 0x54], r10d
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
test r10d, r10d
jns 0x1402f2be7
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
jne 0x1402f2c0b
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov r13, qword [rsp + 0x48]
mov edi, 2
mov edx, edi
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1402f07f0
movsxd rcx, dword [r13 + 8]
mov edx, edi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x58]
call fcn.1402f07f0
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rdx, eax
mov rax, r13
cmp byte [rax], 0x2c
jne 0x1402f2c80
movzx edx, byte [rdx + rcx + 0x414748]
jmp 0x1402f2c88
movzx edx, byte [rdx + rcx + 0x414758]
movsxd rax, dword [rax + 0xc]
mov r11, qword [rsp + 0x58]
imul rcx, rax, 0x38
add rcx, r11
cmp dl, dil
jne 0x1402f2cb9
movzx eax, word [rcx + 0x14]
mov edx, 0xf241
and ax, dx
mov r15, r13
or ax, 1
mov word [rcx + 0x14], ax
jmp 0x1402f18ac
movzx eax, dl
mov r15, r13
mov qword [rcx], rax
mov edx, 0xf244
movzx eax, word [rcx + 0x14]
and ax, dx
or ax, 4
mov word [rcx + 0x14], ax
jmp 0x1402f18ac
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1402f07f0
movsxd rdx, dword [rbx + 0x10]
mov r11, qword [rsp + 0x58]
movsxd rcx, eax
mov rax, rbx
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1402f2d2d
call fcn.140313790
mov r11, qword [rsp + 0x58]
mov r15, rbx
jmp 0x1402f18ac
mov qword [rcx], rdx
mov r15, rbx
mov word [rcx + 0x14], 4
jmp 0x1402f18ac
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x1402f8820
test al, 0x24
je 0x1402f2d75
cmp qword [rcx], 0
mov rax, rdx
sete al
jmp 0x1402f2da2
test al, 8
je 0x1402f2d7f
movsd xmm0, qword [rcx]
jmp 0x1402f2d8f
test al, 0x12
je 0x1402f2d9d
call fcn.140287690
mov r11, qword [rsp + 0x58]
xor edx, edx
ucomisd xmm0, xmm9
jp 0x1402f2d98
je 0x1402f2d9d
mov rax, rdx
jmp 0x1402f2da2
mov eax, 1
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x1402f2dc7
mov rdx, rax
mov rcx, rbx
call fcn.140313790
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
mov qword [rbx], rax
mov word [rbx + 0x14], 4
jmp 0x1402f167f
mov r15, qword [rsp + 0x48]
mov word [rbx + 0x14], 1
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rbx, r11
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, r11
test word [rdi + 0x14], ax
je 0x1402f2e34
mov rcx, rdi
call fcn.1403126a0
mov r11, qword [rsp + 0x58]
xor edx, edx
jmp 0x1402f2e3a
mov word [rdi + 0x14], 1
test byte [rbx + 0x14], 1
jne 0x1402f66cd
mov word [rdi + 0x14], 4
movzx eax, word [rbx + 0x14]
test al, 0x24
je 0x1402f2e6a
mov rax, qword [rbx]
mov r15, qword [rsp + 0x48]
not rax
mov r11, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x1402f18ac
test al, 8
je 0x1402f2e8c
movsd xmm0, qword [rbx]
call fcn.140234930
mov r15, qword [rsp + 0x48]
not rax
mov r11, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x1402f18ac
test al, 0x12
je 0x1402f2eb4
cmp qword [rbx + 8], 0
je 0x1402f2eb4
mov rcx, rbx
call fcn.140287660
mov r15, qword [rsp + 0x48]
not rax
mov r11, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
mov rax, rdx
mov r11, qword [rsp + 0x58]
not rax
mov qword [rdi], rax
jmp 0x1402f18ac
mov r8, qword [rsi + 0x108]
test r8, r8
je 0x1402f2f21
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsi + 0x88]
mov r9, qword [r8 + 0x28]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1402f2f8a
bts eax, edx
mov byte [rcx + r9], al
xor edx, edx
jmp 0x1402f2f39
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsi + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x1402f8045
mov rax, qword [rsi + 0x88]
mov r15, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov ecx, dword [rax + 4]
mov dword [r15 + 4], ecx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rcx, r11
mov edx, dword [rax + 0xc]
call fcn.1402f07f0
test eax, eax
je 0x1402f16db
mov r15, qword [rsp + 0x48]
xor edx, edx
mov eax, dword [r15 + 8]
mov rsi, qword [rsp + 0x60]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
jmp 0x1402f167a
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.1402f07f0
test eax, eax
jne 0x1402f16db
jmp 0x1402f2f8a
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x1402f3071
mov rcx, rax
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0xc]
movzx eax, word [rcx + 0x4a]
cmp edx, eax
jge 0x1402f305b
mov ecx, dword [rcx + rdx*4 + 0x70]
cmp ecx, 0xc
jb 0x1402f3045
test cl, 1
mov eax, 4
mov ecx, 8
cmove ax, cx
xor edx, edx
jmp 0x1402f309b
mov rax, rcx
xor edx, edx
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x414768]
jmp 0x1402f309b
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x10]
mov eax, 1
dec ecx
shl ax, cl
xor edx, edx
jmp 0x1402f309b
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
lea rcx, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x413240]
mov eax, 1
dec ecx
shl ax, cl
mov r15, qword [rsp + 0x48]
test word [r15 + 2], ax
jne 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x1402f312f
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x1402f312f
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1402f3110
xor edx, edx
call fcn.140313790
mov r11, qword [rsp + 0x58]
mov r15, rbx
jmp 0x1402f18ac
mov qword [rcx], rdx
mov r15, rbx
mov word [rcx + 0x14], 4
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1402f315a
call fcn.1403126a0
mov r11, qword [rsp + 0x58]
mov r15, rbx
jmp 0x1402f18ac
mov word [rcx + 0x14], 1
mov r15, rbx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x1402f4c6a
cmp byte [rdx + 2], 0
je 0x1402f4c6a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1402f31f0
call fcn.1403126a0
jmp 0x1402f2f8a
mov word [rcx + 0x14], 1
jmp 0x1402f2f8a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov r14d, dword [rcx + 8]
mov dword [rbp - 0x80], r14d
nop dword [rax]
mov r13, qword [rbx + 0x58]
mov eax, dword [rsi + 0x2c]
mov qword [rbp - 0x58], r13
cmp dword [rbx + 0x20], eax
je 0x1402f3269
cmp byte [rbx + 2], 0
jne 0x1402f32e2
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x1402f3262
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1402f3293
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1402f3293
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x1402f3215
cmp byte [rdi], 0
je 0x1402f32aa
jmp 0x1402f3276
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1402f33b2
mov rcx, rbx
call fcn.1402facb0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
je 0x1402f3220
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e00
mov rcx, rbx
call fcn.1402fa640
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov rcx, rdi
call fcn.14027d400
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 0x1402f32d9
test edx, edx
mov ecx, edx
mov eax, 0
cmovs ecx, eax
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x1402f330d
cmp byte [rbx], 3
jne 0x1402f337e
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x1402f337e
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
mov eax, dword [rcx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov qword [rbx + 0x60], rcx
mov eax, dword [rsi + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
cmp eax, 0x80
jae 0x1402f332c
mov eax, 1
jmp 0x1402f333b
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.1402d2830
movzx eax, al
mov edx, 0x40
mov rcx, rbx
mov dword [rdx + rbx], eax
xor edx, edx
mov word [rbx + 0x4a], dx
mov eax, dword [r13]
cmp dword [rbx + 0x6c], eax
jae 0x1402f3375
mov qword [rbx + 0x60], rdx
mov dword [rbx + 0x6c], edx
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x1402f360d
cmp eax, dword [rbx + 0x68]
jbe 0x1402f33b4
jmp 0x1402f360d
mov rax, qword [rbx + 0x60]
jmp 0x1402f3466
mov rax, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
jne 0x1402f1e6d
mov r15, qword [rsp + 0x48]
mov word [rcx + 0x14], 1
jmp 0x1402f1e7c
xor edx, edx
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x1402f36aa
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x1402f363a
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x1402f346a
mov qword [rbp + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm0
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x1402f341f
mov ecx, edx
test edx, edx
mov edx, 0
cmovs ecx, edx
jmp 0x1402f3421
xor edx, edx
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x68], rax
mov qword [rbp], rax
cmp r8d, ecx
ja 0x1402f3445
mov ecx, 0x4010
mov dword [rbp + 8], r8d
mov word [rbp + 0xc], cx
mov dword [rsp + 0x50], edx
jmp 0x1402f346a
lea r9, [rbp - 8]
xor edx, edx
mov rcx, r10
call fcn.1402fbb10
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov rax, qword [rbp]
mov qword [rbp - 0x68], rax
movzx r12d, word [rbx + 0x4a]
mov esi, dword [rbx + 0x40]
mov r14d, r12d
mov rcx, qword [rbp - 0x58]
add rsi, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop dword [rax + rax]
movzx edi, byte [rsi]
mov dword [rbp - 0x78], edi
mov dword [rbx + r14*4 + 0x70], edi
cmp edi, 0x80
jae 0x1402f34b7
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x412bb0]
jmp 0x1402f34f3
lea rdx, [rbp - 0x78]
mov rcx, rsi
call fcn.1402d2830
mov edi, dword [rbp - 0x78]
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x70], edi
cmp edi, 0x80
jb 0x1402f34e0
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x1402f34ef
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x412bb0]
mov rcx, qword [rbp - 0x58]
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [rcx + r14*4], r15d
cmp r12d, dword [rbp - 0x80]
ja 0x1402f350d
cmp rsi, r13
jb 0x1402f3490
jmp 0x1402f3516
cmp rsi, r13
jb 0x1402f35c7
cmp rsi, r13
ja 0x1402f35d3
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x1402f35d3
xor edx, edx
sub esi, dword [rbp - 0x68]
mov r8d, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], esi
cmp qword [rbx + 0x60], 0
jne 0x1402f3563
test word [rbp + 0xc], r8w
jne 0x1402f3552
cmp dword [rbp + 0x18], 0
je 0x1402f3563
lea rcx, [rbp - 8]
call fcn.140312650
xor edx, edx
mov r8d, 0x9000
mov r13, qword [rbp - 0x58]
mov r14d, dword [rbp - 0x80]
mov rsi, qword [rsp + 0x60]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x1402f36b1
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
cmp byte [r12 + 1], 0xf6
jne 0x1402f3684
test word [rcx + 0x14], r8w
mov r8d, 0x2000
mov rax, qword [r12 + 0x10]
je 0x1402f3647
mov rdx, rax
call fcn.1403117d0
mov r12d, dword [rsp + 0x50]
jmp 0x1402f1e72
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x1402f352b
cmp dword [rcx], 0
jne 0x1402f35e5
xor edx, edx
mov rsi, r13
mov r12d, edx
jmp 0x1402f352d
cmp qword [rbx + 0x60], 0
jne 0x1402f3606
mov eax, 0x9000
test word [rbp + 0xc], ax
jne 0x1402f35fd
cmp dword [rbp + 0x18], 0
je 0x1402f3606
lea rcx, [rbp - 8]
call fcn.140312650
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov r14, qword [rsp + 0x78]
mov eax, dword [r14 + 0xc]
test eax, eax
jle 0x1402f933a
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r12, [r14 + rax*8]
mov qword [rsp + 0x48], r12
mov r12d, dword [rsp + 0x50]
jmp 0x1402f1675
mov edi, edx
mov r8d, 0x9000
jmp 0x1402f3570
movups xmm0, xmmword [rax]
mov r12d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rax + 0x14], r8w
jne 0x1402f3fec
mov r15, qword [rsp + 0x48]
mov eax, 0xafff
and word [rcx + 0x14], ax
or word [rcx + 0x14], r8w
jmp 0x1402f167f
test word [rcx + 0x14], r8w
je 0x1402f369a
call fcn.1403126a0
mov r12d, dword [rsp + 0x50]
jmp 0x1402f1e72
mov r12d, dword [rsp + 0x50]
mov word [rcx + 0x14], 1
jmp 0x1402f5840
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x70]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x58]
test word [rsi + 0x14], ax
je 0x1402f36db
mov rcx, rsi
call fcn.1403126a0
mov rdx, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x1402f37ae
mov eax, r14d
mov r14d, dword [r13 + rax*4]
add r14, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x1402f371a
mov rcx, r14
mov edx, edi
mov r8, rsi
call fcn.1402fded0
mov r12d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
movzx eax, byte [rsp + 0x40]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x1402f375f
mov r13, qword [rsp + 0x68]
cmp ebx, dword [r13 + 0x88]
jg 0x1402f95ba
xor r8d, r8d
mov word [rsi + 0x14], 1
mov rcx, rsi
call fcn.1402fbc80
test eax, eax
jne 0x1402f3e46
jmp 0x1402f3767
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov r8, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 8]
lea rcx, [0x140000000]
mov r12d, dword [rsp + 0x50]
mov byte [rbx + rax], 0
mov rax, qword [rsi + 8]
mov byte [rbx + rax + 1], 0
mov eax, edi
and eax, 1
movzx eax, word [rcx + rax*2 + 0x414774]
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
movzx eax, byte [rsp + 0x40]
mov byte [rsi + 0x16], al
movzx eax, word [rdx + 2]
test al, 0xc0
je 0x1402f37cd
cmp edi, 0xc
jb 0x1402f37c9
test dil, 1
je 0x1402f37f5
test al, al
js 0x1402f37f5
cmp edi, 0x80
jb 0x1402f37de
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x1402f37f0
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x412bb0]
test r8d, r8d
jne 0x1402f3801
lea rcx, [0x140413050]
jmp 0x1402f3701
mov r15, qword [rsp + 0x68]
cmp r8d, dword [r15 + 0x88]
jg 0x1402f95bd
mov rcx, qword [rbx + 0x30]
mov r9, rsi
mov edx, r14d
mov edx, dword [r13 + rdx*4]
call fcn.1402fbb10
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f4dfb
mov rcx, qword [rsi + 8]
mov r8, rsi
mov edx, edi
call fcn.1402fded0
mov eax, 0xbfff
and word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
mov rax, qword [rsp + 0x48]
mov esi, edx
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, r11
cmp dx, word [r14 + 0x36]
jge 0x1402f91cb
lea rdi, [r15 + 0xc]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x1402f389f
test al, 0x20
jne 0x1402f39e2
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
jne 0x1402f39de
movzx eax, byte [rdi]
cmp al, 0x43
jl 0x1402f391a
movzx edx, word [rbx + 0x14]
test dl, 4
jne 0x1402f3942
test dl, 0x28
jne 0x1402f38d0
test dl, 2
je 0x1402f3942
mov edx, 1
mov rcx, rbx
call fcn.140226ac0
jmp 0x1402f3942
cmp al, 0x45
jg 0x1402f3942
test dl, 0x20
jne 0x1402f3908
movsd xmm0, qword [rbx]
call fcn.140234930
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm0, xmm2
jp 0x1402f3942
jne 0x1402f3942
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1402f3942
mov qword [rbx], rax
mov eax, 0xf244
and dx, ax
or dx, 4
mov word [rbx + 0x14], dx
jmp 0x1402f3942
cmp al, 0x42
jne 0x1402f3942
movzx eax, word [rbx + 0x14]
test al, 2
jne 0x1402f3939
test al, 0x2c
je 0x1402f3939
mov r8b, 1
movzx edx, r9b
mov rcx, rbx
call fcn.1402fc480
mov eax, 0xffd3
and word [rbx + 0x14], ax
movzx ecx, word [rbx + 0x14]
movzx edx, cx
test cl, 1
jne 0x1402f39de
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x1402f39d5
sub eax, 1
je 0x1402f39d0
sub eax, 1
je 0x1402f39d0
sub eax, 1
je 0x1402f3979
cmp eax, 1
jne 0x1402f39de
test cl, 2
jmp 0x1402f39d8
test cl, 4
je 0x1402f39cb
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rbx
ja 0x1402f39a6
or cx, 0x20
jmp 0x1402f39b6
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov edx, 0x14
mov r8d, 0xfffb
and cx, r8w
mov word [rax + rdx], cx
jmp 0x1402f39de
test cl, 0x28
jmp 0x1402f39d8
test cl, 4
jmp 0x1402f39d8
test cl, 0x10
je 0x1402f9351
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
movzx r9d, byte [rsp + 0x40]
add rdi, 0x18
cmp esi, eax
jl 0x1402f3880
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r11
nop dword [rax]
cmp al, 0x43
jl 0x1402f3a98
movzx edx, word [rbx + 0x14]
test dl, 4
jne 0x1402f3ac0
test dl, 0x28
jne 0x1402f3a4e
test dl, 2
je 0x1402f3ac0
mov edx, 1
mov rcx, rbx
call fcn.140226ac0
jmp 0x1402f3ac0
cmp al, 0x45
jg 0x1402f3ac0
test dl, 0x20
jne 0x1402f3a86
movsd xmm0, qword [rbx]
call fcn.140234930
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
ucomisd xmm0, xmm2
jp 0x1402f3ac0
jne 0x1402f3ac0
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1402f3ac0
mov qword [rbx], rax
mov eax, 0xf244
and dx, ax
or dx, 4
mov word [rbx + 0x14], dx
jmp 0x1402f3ac0
cmp al, 0x42
jne 0x1402f3ac0
movzx eax, word [rbx + 0x14]
test al, 2
jne 0x1402f3ab7
test al, 0x2c
je 0x1402f3ab7
mov r8b, 1
movzx edx, r9b
mov rcx, rbx
call fcn.1402fc480
mov eax, 0xffd3
and word [rbx + 0x14], ax
cmp byte [rdi], 0x45
jne 0x1402f3b12
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x1402f3b12
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x1402f3afb
and cx, ax
or cx, 0x20
jmp 0x1402f3b0e
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 0x1402f3fe7
movzx r9d, byte [rsp + 0x40]
add rbx, 0x38
jmp 0x1402f3a20
mov rcx, qword [rsp + 0x48]
mov rsi, rdx
mov r12d, edx
mov r13, rdx
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r14, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r14, r11
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add r15, r14
mov qword [rbp - 0x68], r14
add rcx, r11
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x58], rcx
test rdi, rdi
je 0x1402f3bcd
lea rbx, [r14 + 0x14]
mov r14d, 0xfffb
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
call fcn.140226a50
cmp byte [rdi], 0x45
jne 0x1402f3bb7
movzx eax, word [rbx]
test al, 4
je 0x1402f3bb7
and ax, r14w
or ax, 0x20
mov word [rbx], ax
movzx r9d, byte [rsp + 0x40]
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x1402f3b90
mov r14, qword [rbp - 0x68]
lea rdi, [r15 + 0x24]
movzx ecx, word [rdi - 0x10]
test cl, 1
je 0x1402f3bf8
inc r12d
mov eax, 0x400
and cx, ax
mov r8d, 1
neg cx
sbb ebx, ebx
and ebx, 0xa
jmp 0x1402f3d9e
test cl, 0x24
je 0x1402f3d10
mov r8, qword [rdi - 0x24]
mov rdx, r8
test r8, r8
jns 0x1402f3c10
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x1402f3c50
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x1402f3c40
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0xc3], 4
jb 0x1402f3c40
lea ebx, [rdx + 8]
mov r8d, 1
jmp 0x1402f3d9e
mov ebx, 1
inc rsi
mov r8d, ebx
jmp 0x1402f3d9e
cmp rdx, 0x7fff
ja 0x1402f3c6d
add rsi, 2
mov ebx, 2
mov r8d, 1
jmp 0x1402f3d9e
cmp rdx, 0x7fffff
ja 0x1402f3c8a
add rsi, 3
mov ebx, 3
mov r8d, 1
jmp 0x1402f3d9e
cmp rdx, 0x7fffffff
ja 0x1402f3ca7
add rsi, 4
mov ebx, 4
mov r8d, 1
jmp 0x1402f3d9e
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1402f3cca
add rsi, 6
mov ebx, 5
mov r8d, 1
jmp 0x1402f3d9e
add rsi, 8
test cl, 0x20
je 0x1402f3d00
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
and cx, ax
mov ebx, 7
or cx, 8
mov r8d, 1
movsd qword [rdi - 0x24], xmm0
mov word [rdi - 0x10], cx
jmp 0x1402f3d9e
mov ebx, 6
mov r8d, 1
jmp 0x1402f3d9e
test cl, 8
je 0x1402f3d29
inc r12d
mov ebx, 7
add rsi, 8
mov r8d, 1
jmp 0x1402f3d9e
mov r15d, dword [rdi - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea ebx, [r15 + 6]
lea ebx, [rax + rbx*2]
jae 0x1402f3d6c
movsxd rax, dword [rdi - 0x24]
lea ebx, [rbx + rax*2]
test rsi, rsi
je 0x1402f3d65
lea rcx, [rdi - 0x24]
call fcn.1402fb9e0
test eax, eax
jne 0x1402f9917
add r15d, dword [rdi - 0x24]
jmp 0x1402f3d68
add r13, rax
mov r14, qword [rbp - 0x68]
mov eax, r15d
mov r8d, 1
add rsi, rax
mov ecx, r8d
mov eax, ebx
shr rax, 7
test rax, rax
je 0x1402f3d9b
nop word [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1402f3d90
add r12d, ecx
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, r14
je 0x1402f3db5
sub rdi, 0x38
jmp 0x1402f3bd1
cmp r12d, 0x7e
jle 0x1402f3dff
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x1402f3ddb
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
jne 0x1402f3dd0
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1402f3dfb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1402f3df0
cmp edx, ecx
jge 0x1402f3e02
inc r12d
mov rdi, qword [rbp - 0x58]
movsxd rbx, r12d
add rbx, rsi
movsxd rdx, dword [rdi + 0x20]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x1402f3e77
mov r15, qword [rsp + 0x68]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x1402f95bd
cmp edx, ebx
jge 0x1402f3e77
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.1402fbc80
test eax, eax
je 0x1402f3e7f
mov r13, r15
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov rcx, r13
call fcn.1402d7fe0
lea rdx, str.out_of_memory
mov rcx, rsi
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
mov r12d, 7
jmp 0x1402f4e05
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], ebx
mov word [rdi + 0x14], 0x10
test r13, r13
je 0x1402f3e96
mov dword [rdi], r13d
mov word [rdi + 0x14], 0x410
mov rbx, qword [rdi + 8]
movsxd rsi, r12d
add rsi, rbx
cmp r12d, 0x80
jge 0x1402f3eb1
mov byte [rbx], r12b
inc rbx
jmp 0x1402f3ef4
movsxd rdx, r12d
cmp rdx, 0x7f
ja 0x1402f3ec6
and dl, 0x7f
mov eax, 1
mov byte [rbx], dl
jmp 0x1402f3eef
cmp rdx, 0x3fff
ja 0x1402f3ee7
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dl, 0x7f
mov byte [rbx + 1], dl
mov eax, 2
jmp 0x1402f3eef
mov rcx, rbx
call fcn.140271270
cdqe
add rbx, rax
lea rdi, [r14 + 0x10]
mov r14, qword [rbp - 0x78]
nop dword [rax]
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x1402f3f55
mov byte [rbx], al
inc rbx
test eax, eax
je 0x1402f3fcb
mov rdx, qword [rdi - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x412bb0]
mov r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x1402f3f50
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x1402f3f40
add rsi, r9
jmp 0x1402f3fcb
cmp eax, 0x80
jae 0x1402f3f6f
mov byte [rbx], al
inc rbx
cmp eax, 0xe
jb 0x1402f3fcb
movsxd rax, dword [rdi]
test eax, eax
jle 0x1402f3fcb
jmp 0x1402f3fb6
mov rdx, rax
cmp rax, 0x7f
ja 0x1402f3f84
and dl, 0x7f
mov eax, 1
mov byte [rbx], dl
jmp 0x1402f3faa
cmp rdx, 0x3fff
ja 0x1402f3fa2
shr rax, 7
or al, 0x80
mov byte [rbx], al
and dl, 0x7f
mov byte [rbx + 1], dl
mov eax, 2
jmp 0x1402f3faa
mov rcx, rbx
call fcn.140271270
cdqe
add rbx, rax
movsxd rax, dword [rdi]
test eax, eax
je 0x1402f3fcb
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rdi]
add rsi, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x1402f3fdd
add rdi, 0x38
jmp 0x1402f3f00
mov r12d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
jmp 0x1402f18a7
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x1402f401e
mov rcx, rdx
call fcn.1402a97c0
mov rbx, rax
jmp 0x1402f4043
xor ebx, ebx
lea r8, [rbp - 0x68]
mov rcx, r13
mov qword [rbp - 0x68], rbx
call fcn.1402a71b0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f5a10
mov rbx, qword [rbp - 0x68]
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [rsi + 0x68]
test word [rax + 0x14], cx
je 0x1402f406f
mov rcx, rax
call fcn.14028c590
mov qword [rax], rbx
jmp 0x1402f89f1
mov word [rax + 0x14], 4
mov qword [rax], rbx
jmp 0x1402f89f1
mov rax, qword [rsp + 0x48]
mov r10d, dword [rax + 4]
mov rsi, qword [rax + 0x10]
mov dword [rbp - 0x80], r10d
test r10d, r10d
jne 0x1402f41db
cmp dword [r13 + 0xe0], r10d
jg 0x1402f93c0
test rsi, rsi
jne 0x1402f40ad
mov ebx, edx
jmp 0x1402f40c3
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1402f40b4
and ebx, 0x3fffffff
mov r8d, dword [r13 + 0x2f4]
xor edx, edx
add r8d, dword [r13 + 0x2f0]
mov rcx, r13
call fcn.1402ff8d0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f971f
mov edx, ebx
mov rcx, r13
add rdx, 0x21
call fcn.1402afcd0
mov rdi, rax
test rax, rax
je 0x1402f4156
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call sub.VCRUNTIME140.dll_memcpy
cmp byte [r13 + 0x65], r12b
je 0x1402f4127
mov byte [r13 + 0x65], r12b
mov byte [r13 + 0x6d], 1
jmp 0x1402f412e
inc dword [r13 + 0x2f0]
mov rax, qword [r13 + 0x2e0]
mov qword [rdi + 0x18], rax
mov qword [r13 + 0x2e0], rdi
mov rax, qword [r13 + 0x2f8]
mov qword [rdi + 8], rax
mov rax, qword [r13 + 0x300]
mov qword [rdi + 0x10], rax
mov rsi, qword [rsp + 0x60]
cmp byte [rsi + 0xc5], 3
jne 0x1402f16db
mov r8, qword [rsp + 0x68]
mov r12d, 0x65
mov r14, qword [rsp + 0x48]
mov r13d, 1
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x50]
cmp rdi, rcx
jb 0x1402f9bd0
mov rdx, qword [r8 + 0x210]
test rdx, rdx
je 0x1402f9bd0
mov eax, dword [r8 + 0x220]
add rcx, rax
mov qword [rbp - 0x50], rcx
mov rcx, qword [r8 + 0x218]
call rdx
mov r8, qword [rsp + 0x68]
test eax, eax
je 0x1402f4183
mov qword [rbp - 0x50], 0xffffffffffffffff
mov r12d, 9
mov r15, r8
mov eax, 0xb
jmp 0x1402f4e15
mov r11, qword [rsp + 0x68]
mov r13d, edx
mov r12, qword [r11 + 0x2e0]
test r12, r12
je 0x1402f42e5
lea rbx, [0x140000000]
nop word [rax + rax]
mov rdx, qword [r12]
mov r9, rsi
sub r9, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [r9 + rdx]
cmp eax, r8d
jne 0x1402f42b7
test eax, eax
jne 0x1402f42cc
cmp dword [r11 + 0xe0], eax
jle 0x1402f423c
cmp r10d, 1
je 0x1402f93e4
cmp qword [r12 + 0x18], 0
jne 0x1402f430f
cmp byte [r11 + 0x6d], 0
je 0x1402f430f
mov ebx, 1
mov r15d, ebx
cmp r10d, ebx
jne 0x1402f4316
mov rsi, qword [rsp + 0x60]
mov edx, ebx
mov rcx, rsi
call fcn.1402f0990
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f9ba7
mov r15, qword [rsp + 0x68]
mov rcx, rsi
mov byte [r15 + 0x65], bl
call fcn.1402fa920
cmp eax, 5
je 0x1402f93fc
mov ecx, dword [rsi + 0x34]
mov dword [rsp + 0x50], ecx
test ecx, ecx
jne 0x1402f93ed
mov r11, r15
mov byte [r15 + 0x6d], cl
mov r15d, ebx
jmp 0x1402f4428
movzx ecx, byte [rax + rbx + 0x412f30]
movzx eax, byte [r8 + rbx + 0x412f30]
cmp ecx, eax
jne 0x1402f42d4
inc rdx
jmp 0x1402f4210
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x1402f4200
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
mov r13d, 1
mov r12d, r13d
jmp 0x1402f4e0b
xor ebx, ebx
mov r15d, ebx
jmp 0x1402f4318
xor ebx, ebx
mov eax, dword [r11 + 0x2f0]
sub eax, r13d
lea r13d, [rax - 1]
cmp r10d, 2
jne 0x1402f437e
mov r14d, dword [r11 + 0x2c]
mov edi, ebx
and r14d, 1
cmp dword [r11 + 0x28], 0
jle 0x1402f4381
mov esi, r14d
xor esi, 1
mov rcx, qword [r11 + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.1402aa5d0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f4df1
mov r11, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x1402f4343
mov r10d, dword [rbp - 0x80]
xor ebx, ebx
jmp 0x1402f4385
mov r14d, ebx
mov eax, dword [rsp + 0x50]
cmp dword [r11 + 0x28], 0
mov edi, ebx
jle 0x1402f43c7
nop
mov rcx, qword [r11 + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rbx + rcx + 8]
call fcn.1402a9820
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f4df1
mov r11, qword [rsp + 0x68]
inc edi
mov r10d, dword [rbp - 0x80]
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x1402f4390
xor ebx, ebx
test r14d, r14d
je 0x1402f4411
mov rcx, qword [r11 + 8]
test rcx, rcx
je 0x1402f43fb
nop word [rax + rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1402f43e0
mov rcx, r11
call fcn.1402e3040
mov r11, qword [rsp + 0x68]
mov eax, dword [rsp + 0x50]
or dword [r11 + 0x2c], 1
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
test eax, eax
jne 0x1402f998f
mov r14, qword [rsp + 0x78]
mov rcx, qword [r11 + 0x2e0]
cmp rcx, r12
je 0x1402f4462
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r11
mov qword [r11 + 0x2e0], rax
call fcn.1402afb40
mov r11, qword [rsp + 0x68]
dec dword [r11 + 0x2f0]
mov rcx, qword [r11 + 0x2e0]
cmp rcx, r12
jne 0x1402f4434
mov ebx, dword [rbp - 0x80]
cmp ebx, 1
jne 0x1402f4494
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r11
mov qword [r11 + 0x2e0], rax
call fcn.1402afb40
test r15d, r15d
jne 0x1402f44d7
mov r11, qword [rsp + 0x68]
dec dword [r11 + 0x2f0]
jmp 0x1402f44b6
mov rax, qword [r12 + 8]
mov qword [r11 + 0x2f8], rax
mov rax, qword [r12 + 0x10]
mov qword [r11 + 0x300], rax
test r15d, r15d
je 0x1402f44b6
cmp ebx, 2
jne 0x1402f44d7
mov r8d, r13d
mov edx, ebx
mov rcx, r11
call fcn.1402ff8d0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
jmp 0x1402f415b
mov r12d, dword [rsp + 0x50]
jmp 0x1402f415b
mov rcx, qword [rsp + 0x48]
mov dword [rbp - 0x80], edx
mov edx, dword [rcx + 8]
test edx, edx
je 0x1402f4507
mov rax, qword [r13 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x1402f9441
movsxd r14, dword [rcx + 4]
shl r14, 5
add r14, qword [r13 + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1402f4618
lea r8, [rbp - 0x80]
mov rcx, rbx
call fcn.1402a6430
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9468
test byte [rsi + 0xc8], 0x20
je 0x1402f4621
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], r12d
je 0x1402f4621
cmp byte [r13 + 0x65], r12b
je 0x1402f456b
cmp dword [r13 + 0xdc], 1
jle 0x1402f4621
mov r8d, dword [rsi + 0x40]
test r8d, r8d
jne 0x1402f458d
inc dword [r13 + 0x2f4]
mov r8d, dword [r13 + 0x2f4]
add r8d, dword [r13 + 0x2f0]
mov dword [rsi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.1402ff8d0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f4602
mov edi, dword [rsi + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x1402f45c1
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x1402f45c1
mov rcx, rbx
call fcn.14022aaf0
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x1402f45db
cmp byte [rcx + 0xa], 0
je 0x1402f45db
mov edx, edi
call fcn.14028cf50
jmp 0x1402f45dd
xor eax, eax
cmp byte [rbx + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x50], eax
je 0x1402f45f8
sub dword [rbx + 0x14], 1
jne 0x1402f45f8
mov rcx, rbx
call fcn.14030ec20
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov rax, qword [r13 + 0x2f8]
mov qword [rsi + 0x58], rax
mov rax, qword [r13 + 0x300]
mov qword [rsi + 0x60], rax
test r12d, r12d
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
cmp word [r15 + 2], 0
je 0x1402f1e77
mov eax, dword [r15 + 0xc]
cmp dword [rbp - 0x80], eax
jne 0x1402f94b1
mov rcx, qword [r14 + 0x18]
mov rax, r15
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x1402f94b1
jmp 0x1402f1e77
mov rcx, qword [r13 + 0x20]
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x48]
mov edx, dword [rdx + 0xc]
movsxd rax, dword [rax + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1402a7a20
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x1402f46b8
call fcn.14028c590
mov r15, qword [rsp + 0x48]
mov rcx, rax
movsxd rax, dword [rbp - 0x38]
mov r11, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x1402f18ac
movsxd rax, dword [rbp - 0x38]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1402aa6e0
mov r12d, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x1402f47f5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
movzx eax, word [rax + 2]
mov ecx, dword [rcx + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [r13 + 0x2c], 1
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x1402f47a1
nop word [rax + rax]
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x3f], 0
jne 0x1402f4799
mov rbx, qword [rbx + 0x48]
test rbx, rbx
je 0x1402f4799
xor r15d, r15d
nop word [rax + rax]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.14023ee50
mov qword [rbx + 0x30], r15
mov rcx, r13
mov rdx, qword [rbx + 0x38]
call fcn.14023ee50
mov qword [rbx + 0x38], r15
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1402f4770
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1402f4750
mov rdi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 4], 1
jne 0x1402f47e2
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x1402f47db
nop dword [rax + rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1402f47c0
and dword [rsi + 0xc8], 0xfffffffc
test r12d, r12d
jne 0x1402f26b6
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
cmp eax, 2
jne 0x1402f47a6
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
jmp 0x1402f47a6
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x1402f483d
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp dword [rdi + 0x44], eax
jne 0x1402f483d
mov rcx, qword [rdi + 0x30]
call fcn.1402a67b0
jmp 0x1402f494f
mov rdi, qword [rsp + 0x70]
mov eax, dword [rsi + 0xc8]
and al, 3
cmp al, 1
je 0x1402f9546
mov rax, qword [rsp + 0x48]
mov edi, edx
mov r14, rdx
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r13 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x1402f48a4
mov rcx, qword [rsp + 0x48]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
and esi, 8
mov rax, qword [rsp + 0x60]
or esi, 4
cmp cl, byte [rax + 0xc3]
jae 0x1402f48a6
mov byte [rax + 0xc3], cl
jmp 0x1402f48a6
mov esi, edx
mov rcx, qword [rsp + 0x48]
test byte [rcx + 2], 0x10
je 0x1402f48c8
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1402fbe00
mov rcx, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x1402f48db
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1402f48e2
cmp al, 0xfd
jne 0x1402f48e2
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x60]
mov r8d, edi
call fcn.140224260
mov rdi, rax
test rax, rax
je 0x1402f9917
mov byte [rax + 1], r12b
mov r9, r14
mov byte [rax + 2], 1
mov r8d, esi
or dword [rax + 8], 4
mov edx, r15d
mov dword [rax + 0x44], r15d
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1402a73d0
mov rsi, qword [rsp + 0x60]
mov r12d, eax
mov qword [rdi + 0x38], r14
mov r14, qword [rsp + 0x78]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xf8
setne al
mov byte [rdi + 4], al
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
test r12d, r12d
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r12 + 8]
mov edx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
movsx r8d, word [rbx + 0x48]
call fcn.140224260
mov r10, rax
test rax, rax
je 0x1402f3e50
mov byte [rax + 2], 1
mov r8d, 4
mov edx, dword [rax + 8]
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
mov ecx, edx
movzx eax, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 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.1402a73d0
mov r11, qword [rsp + 0x58]
mov r12d, eax
mov r15, qword [rsp + 0x48]
mov dword [rsp + 0x50], eax
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x1402f4a54
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], edx
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140416427]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x1402f4aac
test byte [rbx + 8], 8
jne 0x1402f4aac
movsx eax, word [rbx + 0x48]
cmp dword [r12 + 8], eax
jg 0x1402f4aac
xor eax, eax
xor r8d, r8d
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], eax
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
call fcn.1402a6870
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rbp - 0x78], eax
test eax, eax
jne 0x1402f26b6
xor edx, edx
mov byte [rbx + 2], 1
jmp 0x1402f1675
mov r8d, dword [r12 + 8]
xor r9d, r9d
mov rcx, rsi
call fcn.140224260
mov rbx, rax
test rax, rax
je 0x1402f3e50
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r12 + 2]
mov r8, r13
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r13]
call fcn.1402a8c60
mov r12d, eax
mov r13d, 1
test eax, eax
jne 0x1402f955f
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r13d
call fcn.1402a6430
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f4bb7
mov rax, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1402f4b80
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.1402a7360
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f4b7a
mov rax, qword [rbx + 0x30]
mov r9, r14
mov edx, dword [rbx + 0x44]
mov r8d, 4
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1402a73d0
mov r12d, eax
mov dword [rsp + 0x50], eax
mov byte [rbx + 4], 0
jmp 0x1402f4bad
mov dword [rbx + 0x44], r13d
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov r8d, 4
mov rcx, qword [rbx + 0x10]
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.1402a73d0
mov r12d, eax
mov dword [rsp + 0x50], eax
mov byte [rbx + 4], r13b
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
xor edx, edx
mov ecx, edx
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r12d, r12d
jne 0x1402f9556
mov byte [rbx + 2], 1
jmp 0x1402f1675
mov r12, qword [rsp + 0x48]
mov r9b, 1
mov rcx, rsi
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.140224260
test rax, rax
je 0x1402f3e50
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r13
mov edx, dword [r12 + 0xc]
call fcn.1402fe260
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x1402f2f8a
mov r15, qword [rsp + 0x48]
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, rsi
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140224260
test rax, rax
je 0x1402f3e50
mov rcx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14043f264]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x1402f4cef
mov rcx, rsi
call fcn.1402fa7b0
mov rax, qword [rsp + 0x48]
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], rdx
jmp 0x1402f1675
mov rax, qword [rsp + 0x48]
mov r12d, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov r14, qword [rax + rcx*8]
mov byte [r14 + 2], 0
mov byte [r14 + 3], 0
mov dword [r14 + 0x20], edx
cmp byte [r14 + 4], 0
je 0x1402f4e95
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r11
movzx r15d, word [rdi + 0x14]
movzx eax, r15b
and al, 0x2e
cmp al, 2
jne 0x1402f4d5f
xor edx, edx
mov rcx, rdi
call fcn.140226ac0
xor edx, edx
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x1402f4d6c
mov rsi, qword [rdi]
jmp 0x1402f4d99
test al, 8
je 0x1402f4d7e
movsd xmm0, qword [rdi]
call fcn.140234930
mov rsi, rax
jmp 0x1402f4d99
test al, 0x12
je 0x1402f4d96
cmp qword [rdi + 8], 0
je 0x1402f4d96
mov rcx, rdi
call fcn.140287660
mov rsi, rax
jmp 0x1402f4d99
mov rsi, rdx
movzx eax, word [rdi + 0x14]
mov word [rdi + 0x14], r15w
test al, 0x24
jne 0x1402f4e4f
test al, 8
jne 0x1402f4e2d
test al, 1
jne 0x1402f4ffa
cmp ebx, 0x17
jae 0x1402f4ffa
mov rcx, qword [r14 + 0x30]
cmp byte [rcx], 0
jne 0x1402f4ddc
test byte [rcx + 1], 8
je 0x1402f4ddc
xor eax, eax
mov dword [rbp - 0x70], eax
mov dword [rsp + 0x50], eax
jmp 0x1402f4ff4
lea rdx, [rbp - 0x70]
call fcn.14022aa20
mov dword [rsp + 0x50], eax
test eax, eax
je 0x1402f4ff4
mov r15, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov r13d, 1
mov eax, 0xb
mov r14, qword [rsp + 0x48]
xor ebx, ebx
cmp byte [r15 + 0x67], 0
je 0x1402f9999
mov r12d, 7
jmp 0x1402f99cf
movsd xmm1, qword [rdi]
mov rcx, rsi
call fcn.1402d57b0
test eax, eax
jle 0x1402f4e46
test bl, 1
jne 0x1402f4e4f
dec ebx
jmp 0x1402f4e4f
jns 0x1402f4e4f
test bl, 1
je 0x1402f4e4f
inc ebx
mov rcx, qword [r14 + 0x30]
lea rdi, [r14 + 0x30]
lea r9, [rbp - 0x70]
xor r8d, r8d
mov rdx, rsi
call fcn.1402a9db0
mov dword [rsp + 0x50], eax
mov r13d, 1
mov qword [r14 + 0x50], rsi
test eax, eax
je 0x1402f4f2d
mov r15, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
jmp 0x1402f4e0b
mov rax, qword [r14 + 0x30]
lea rdi, [r14 + 0x30]
mov r13d, 1
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x190]
movzx esi, byte [rax + 3]
mov rax, qword [rsp + 0x48]
and sil, 2
setne r12b
mov ecx, dword [rax + 0x10]
mov rax, qword [r14 + 0x38]
mov qword [rbp + 0x190], rax
lea eax, [rbx - 1]
mov word [rbp + 0x1ac], cx
test al, 1
mov eax, r13d
mov ecx, 0xffffffff
cmovne eax, ecx
mov byte [rbp + 0x1ae], al
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x1b2], 0
add rcx, r11
mov qword [rbp + 0x198], rcx
mov rcx, qword [rdi]
call fcn.1402a7b10
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f4e7c
test sil, sil
je 0x1402f4f2d
cmp byte [rbp + 0x1b2], al
je 0x1402f4ff4
mov eax, dword [rbp - 0x70]
cmp ebx, 0x17
jl 0x1402f4fda
test eax, eax
js 0x1402f4f4e
jne 0x1402f4f44
cmp ebx, 0x18
je 0x1402f4f4e
xor edx, edx
mov dword [rbp - 0x70], edx
jmp 0x1402f504f
mov rcx, qword [rdi]
xor ebx, ebx
mov dword [rbp - 0x70], ebx
mov word [rcx + 0x46], bx
and byte [rcx + 1], 0xf9
cmp byte [rcx], bl
je 0x1402f4f69
call fcn.14022acc0
jmp 0x1402f4fa4
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 0x1402f4f8f
mov word [rcx + 0x56], r8w
call fcn.14022acc0
jmp 0x1402f4fa4
cmp byte [rdx + 8], bl
je 0x1402f4f9f
xor edx, edx
mov dword [rsp + 0x50], edx
jmp 0x1402f504f
call fcn.140287b40
mov ecx, eax
test eax, eax
mov dword [rsp + 0x50], eax
je 0x1402f504d
mov r12d, eax
cmp eax, 0x65
jne 0x1402f9962
xor edx, edx
mov dword [rbp - 0x70], r13d
mov r15, qword [rsp + 0x48]
mov r12d, edx
mov r14, qword [rsp + 0x78]
mov dword [rsp + 0x50], edx
jmp 0x1402f2f91
test eax, eax
jg 0x1402f5009
jne 0x1402f4fe5
cmp ebx, 0x15
je 0x1402f5009
mov rax, qword [rdi]
xor edi, edi
mov ecx, edi
cmp byte [rax], cl
setne cl
mov dword [rbp - 0x70], ecx
cmp dword [rbp - 0x70], 0
je 0x1402f504d
mov r12d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x1402f2f8a
mov rcx, qword [rdi]
xor ebx, ebx
mov dword [rbp - 0x70], ebx
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], bx
cmp byte [rcx], bl
jne 0x1402f5041
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1402f5041
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], bl
je 0x1402f5041
dec dx
mov word [rcx + 0x56], dx
xor edx, edx
mov dword [rsp + 0x50], edx
jmp 0x1402f504f
call fcn.14022b530
test eax, eax
jmp 0x1402f4fa8
xor edx, edx
mov rsi, qword [rsp + 0x60]
test r12d, r12d
mov r12d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x78]
je 0x1402f19a6
add qword [rsp + 0x48], 0x18
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsi + 0x30]
cmp byte [rax], 0
jne 0x1402f2859
mov rax, qword [rsi + 0x38]
mov rcx, r15
mov qword [rbp + 0x228], rax
mov byte [rbp + 0x246], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x244], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x230], rcx
nop dword [rax]
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.14027d400
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x1402f956e
mov qword [rbp + 0xd0], r13
xor r9d, r9d
mov word [rbp + 0xcc], r9w
mov dword [rbp + 0xd8], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x1402f514a
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xc0], rax
cmp ecx, edx
ja 0x1402f516d
mov edx, 0x4010
mov dword [rbp + 0xc8], ecx
mov word [rbp + 0xcc], dx
jmp 0x1402f5199
mov r8d, ecx
lea r9, [rbp + 0xb8]
mov rcx, rbx
xor edx, edx
call fcn.1402fbb10
mov r12d, eax
test eax, eax
jne 0x1402f5cbd
mov ecx, dword [rbp + 0xc8]
mov rax, qword [rbp + 0xc0]
xor r9d, r9d
lea r8, [rbp + 0x228]
mov rdx, rax
call fcn.1402fd0b0
cmp dword [rbp + 0xd8], 0
mov ebx, eax
je 0x1402f51c2
lea rcx, [rbp + 0xb8]
call fcn.140312650
xor edx, edx
mov dword [rsp + 0x50], edx
mov r12d, edx
test ebx, ebx
jle 0x1402f51d8
cmp word [r15 + 2], dx
je 0x1402f524d
test ebx, ebx
jns 0x1402f5264
test edi, edi
jle 0x1402f5256
mov rcx, qword [rsi + 0x30]
dec edi
mov word [rcx + 0x46], dx
and byte [rcx + 1], 0xf9
cmp byte [rcx], dl
je 0x1402f51fb
call fcn.14022acc0
jmp 0x1402f5230
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 0x1402f5221
mov word [rcx + 0x56], r8w
call fcn.14022acc0
jmp 0x1402f5230
cmp byte [rdx + 8], r12b
jne 0x1402f50f0
call fcn.140287b40
mov r12d, eax
test eax, eax
je 0x1402f50f0
cmp eax, 0x65
jne 0x1402f5cbd
xor edx, edx
mov r12d, edx
mov dword [rsp + 0x50], edx
add r15, 0x18
jmp 0x1402f2f91
mov dword [rsp + 0x50], edx
mov rsi, qword [rsp + 0x60]
jmp 0x1402f167a
mov dword [rsp + 0x50], edx
jmp 0x1402f2f91
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x1402f52ac
mov word [rdx + 0xc], ax
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle 0x1402f18b7
mov word [rdx + 0xc], ax
xor edx, edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x1402f143f.9
cmp byte [rdx + 2], 0
je 0x1402f4c6a
jmp case.0x1402f143f.9
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r15 + 0x10]
jge case.0x1402f143f.89
mov rax, qword [rsi + 0x78]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x98], rcx
movzx eax, word [r12 + 0x10]
mov word [rbp + 0xac], ax
test ax, ax
je 0x1402f538b
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x90], rax
lea rdx, [rbp + 0x90]
mov byte [rbp + 0xae], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.1402a7b10
mov r12d, eax
mov dword [rsp + 0x50], eax
jmp 0x1402f5400
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x1402f53a3
call fcn.1402fb9e0
test eax, eax
jne 0x1402f3e50
mov rcx, qword [rbx + 0x38]
call fcn.1402f0750
mov rdi, rax
test rax, rax
je 0x1402f3e4b
mov rdx, qword [rbp + 0x98]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.1402fd9c0
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.1402a7b10
mov rdx, rdi
mov dword [rsp + 0x50], eax
mov rcx, r13
mov r12d, eax
call fcn.1402afb40
mov rdi, qword [rsp + 0x70]
test r12d, r12d
jne 0x1402f971f
mov ecx, dword [rsi]
test ecx, ecx
setne al
xor edx, edx
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x48]
mov byte [rbx + 3], r12b
mov dword [rbx + 0x20], edx
movzx eax, byte [rax]
cmp al, 0x1d
jne 0x1402f543a
test ecx, ecx
je 0x1402f8045
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1675
test ecx, ecx
jne 0x1402f8045
cmp al, 0x1b
jne 0x1402f548d
mov rcx, rdx
movzx edx, word [rbp + 0xac]
test rdx, rdx
je 0x1402f5de0
mov rax, qword [rbp + 0x98]
add rax, 0x14
test byte [rax], 1
jne 0x1402f2f8a
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x1402f5464
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
cmp byte [r15], 0x1a
jne 0x1402f167a
movzx eax, word [r15 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x1402f167a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne case.0x1402f143f.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x1f0], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x200], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x210], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x220], xmm1
test al, 4
jne 0x1402f5528
test al, 0x28
jne 0x1402f551a
test al, 2
je 0x1402f5528
mov edx, 1
lea rcx, [rbp + 0x1f0]
call fcn.140226ac0
jmp 0x1402f5526
lea rcx, [rbp + 0x1f0]
call fcn.1402faf20
xor edx, edx
test byte [rbp + 0x204], 4
je 0x1402f8045
mov rdi, qword [rbp + 0x1f0]
jmp 0x1402f554f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
mov rax, qword [rsp + 0x48]
lea r9, [rbp - 0x78]
mov dword [rbp - 0x78], edx
xor r8d, r8d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1402a9db0
mov qword [rbx + 0x50], rdi
xor edx, edx
mov byte [rbx + 2], 0
mov r12d, eax
mov dword [rbx + 0x20], edx
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x78]
mov byte [rbx + 3], dl
mov dword [rbx + 0x24], eax
test eax, eax
je 0x1402f55ed
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 8], edx
jne 0x1402f2f91
lea rax, [0x14041fce4]
mov r9d, 0x1754b
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.140200de0
mov r15, qword [rsp + 0x68]
mov eax, 0xb
mov rdi, qword [rsp + 0x70]
mov r12d, eax
mov r13d, 1
jmp 0x1402f4e10
test r12d, r12d
jne 0x1402f9347
jmp 0x1402f1675
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402f5624
mov rcx, rdx
call fcn.14028c590
mov rdx, rax
jmp 0x1402f562a
mov word [rdx + 0x14], 4
mov rax, qword [rsi + 0x78]
mov r15, rbx
movsxd rcx, dword [rbx + 4]
mov r11, qword [rsp + 0x58]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rbx
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x1402f18ac
mov r13, qword [rsp + 0x48]
mov rbx, rdx
mov qword [rbp - 0x78], rdx
mov edi, edx
mov dword [rbp - 0x80], edx
movsxd rax, dword [r13 + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [rsi + 0x68]
test word [r14 + 0x14], ax
je 0x1402f5695
mov rcx, r14
call fcn.14028c590
mov r14, rax
xor edx, edx
jmp 0x1402f569c
mov word [r14 + 0x14], 4
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x1402f572c
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x1402f56c6
test byte [rcx + 1], 8
je 0x1402f56c6
mov r12d, edx
mov dword [rsp + 0x50], edx
jmp 0x1402f56e1
lea rdx, [rbp - 0x80]
call fcn.14022aa20
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9940
mov edi, dword [rbp - 0x80]
test edi, edi
je 0x1402f56f4
mov r13d, 1
mov ebx, r13d
mov qword [rbp - 0x78], rbx
jmp 0x1402f5732
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.14027d400
mov rbx, qword [rbx + 0x30]
movabs r15, 0x7fffffffffffffff
mov qword [rbp - 0x78], rbx
mov r13d, 1
cmp rbx, r15
jl 0x1402f5723
or dword [rsi + 8], 2
jmp 0x1402f573c
inc rbx
mov qword [rbp - 0x78], rbx
jmp 0x1402f573c
mov r13d, 1
movabs r15, 0x7fffffffffffffff
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
test eax, eax
je 0x1402f57ad
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x108]
test rcx, rcx
je 0x1402f577d
mov rax, qword [rcx + 8]
test rax, rax
je 0x1402f576f
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1402f5763
movsxd rax, dword [rdx + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x1402f5786
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1402fbe00
mov rax, qword [rdi]
cmp rax, r15
je 0x1402f5810
test byte [rsi + 8], 2
jne 0x1402f5810
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x78], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x1402f582a
xor eax, eax
mov edi, eax
nop word [rax + rax]
lea rdx, [rbp - 0x78]
mov ecx, 8
call fcn.14021ec20
mov rbx, qword [rbp - 0x78]
lea r9, [rbp - 0x80]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x78], rbx
call fcn.1402a9db0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f5816
cmp dword [rbp - 0x80], eax
jne 0x1402f582a
inc edi
cmp edi, 0x64
jl 0x1402f57c0
mov r12d, 0xd
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
jmp 0x1402f4e0b
mov byte [rsi + 3], 0
xor edx, edx
mov dword [rsi + 0x20], edx
mov rsi, qword [rsp + 0x60]
mov qword [r14], rbx
mov r11, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
mov qword [rbp + 0x130], rax
cmp byte [r12 + 1], 0xfb
jne 0x1402f58c6
cmp qword [r13 + 0x140], 0
je 0x1402f58c6
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
xor ecx, ecx
jmp 0x1402f58cc
xor ecx, ecx
mov edi, ecx
mov esi, ecx
test byte [r12 + 2], 1
je 0x1402f58f0
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x38]
test byte [r12 + 2], 0x20
je 0x1402f58f0
mov rax, qword [rbp + 0x130]
mov qword [r13 + 0x38], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x138], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x14c], eax
test byte [r12 + 2], 0x10
je 0x1402f5912
mov r9d, dword [rbx + 0x24]
jmp 0x1402f5915
mov r9d, ecx
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x1402f592a
mov eax, dword [rdx]
mov dword [rbp + 0x150], eax
jmp 0x1402f5930
mov dword [rbp + 0x150], ecx
mov qword [rbp + 0x128], rcx
lea rdx, [rbp + 0x128]
movzx r8d, word [r12 + 2]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1402a7fd0
xor edx, edx
mov byte [rbx + 3], 0
mov dword [rsp + 0x50], eax
mov r12d, eax
mov dword [rbx + 0x20], edx
test eax, eax
jne 0x1402f5cbd
test rdi, rdi
je 0x1402f5c30
mov rax, qword [rsp + 0x48]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r13 + 0x138]
test byte [rax + 2], 4
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x20], rax
call qword [r13 + 0x140]
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
mov rcx, qword [rsi + 0x78]
movsxd rax, dword [r12 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r12 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r12 + 0xc]
test eax, eax
je 0x1402f59ef
imul rcx, rax, 0x38
xor ebx, ebx
mov r8, qword [rcx + r11]
jmp 0x1402f59f4
xor ebx, ebx
mov r8d, ebx
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1402aa030
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
je 0x1402f16db
mov r15, qword [rsp + 0x68]
mov eax, 0xb
mov r14, qword [rsp + 0x48]
mov r13d, 1
jmp 0x1402f4e17
mov r12, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
cmp byte [r12 + 1], 0xfb
movsxd rcx, dword [r12 + 4]
mov r15d, dword [r12 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x1402f5a8d
cmp qword [r13 + 0x140], 0
je 0x1402f5a8d
movsx rcx, byte [rdi + 1]
mov rax, qword [r13 + 0x20]
mov rsi, qword [r12 + 0x10]
shl rcx, 5
test byte [r12 + 2], 2
mov r14, qword [rcx + rax]
je 0x1402f5a93
cmp byte [rdi + 4], 0
je 0x1402f5a93
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.14027d400
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
jmp 0x1402f5a93
mov r14, rdx
mov rsi, rdx
movzx edx, byte [r12 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.1402a7460
xor edx, edx
mov dword [rsp + 0x50], eax
mov dword [rdi + 0x20], edx
mov r12d, eax
mov dword [rdi + 0x24], edx
test eax, eax
jne 0x1402f5cbd
test r15b, 1
je 0x1402f5dc4
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x38]
mov r10, qword [r13 + 0x140]
test r10, r10
je 0x1402f5dd3
test rsi, rsi
je 0x1402f5dd3
test byte [rsi + 0x30], 0x80
jne 0x1402f5dd3
mov rax, qword [rdi + 0x50]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r13 + 0x138]
mov qword [rsp + 0x20], rax
call r10
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
mov rax, qword [rsi + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
mov qword [rsi + 0x38], rdx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
mov ebx, dword [rbx + 0x10]
imul r15, rax, 0x38
mov rdi, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
add r15, r11
mov r14, qword [rdi + 0x30]
test r14, r14
jne 0x1402f5b89
mov rcx, rsi
call fcn.1402f0750
mov qword [rdi + 0x30], rax
mov r14, rax
test rax, rax
je 0x1402f5cb7
mov word [rax + 0x1c], bx
cmp byte [rdi + 0x58], 0
je 0x1402f5bc5
cmp byte [rdi + 0x59], 0
je 0x1402f5ba3
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0x28]
lea rdx, [rax + 0x14]
jmp 0x1402f5bcd
mov rdx, qword [rdi + 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]
lea rdx, [rax + 0x14]
jmp 0x1402f5bcd
mov rdx, qword [rdi + 0x38]
lea r8, [rdx + 0x10]
mov edx, dword [rdx]
mov r9, r14
mov rcx, rsi
call fcn.1402fd9c0
xor edx, edx
mov ecx, edx
test ebx, ebx
jle 0x1402f5c03
mov rax, qword [r14 + 8]
add rax, 0x14
nop word [rax + rax]
test byte [rax], 1
jne 0x1402f4fc4
inc ecx
add rax, 0x38
cmp ecx, ebx
jl 0x1402f5bf0
mov rdx, qword [r15 + 8]
xor r9d, r9d
mov ecx, dword [r15 + 0x10]
mov r8, r14
call fcn.1402fd0b0
mov r14, qword [rsp + 0x78]
xor edx, edx
mov dword [rsp + 0x50], edx
mov r12d, edx
test eax, eax
jne 0x1402f8045
mov dword [rsp + 0x50], edx
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1675
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rbx, r11
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
cmp byte [rax + 0x58], 0
je 0x1402f5c96
cmp byte [rax + 0x59], 0
je 0x1402f5c74
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
lea rdi, [rax + 0x14]
jmp 0x1402f5c9e
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]
lea rdi, [rax + 0x14]
jmp 0x1402f5c9e
mov rdi, qword [rax + 0x38]
lea rsi, [rdi + 0x10]
movsxd rdi, dword [rdi]
cmp dword [rbx + 0x20], edi
jge 0x1402f5cc7
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.1402fbc80
test eax, eax
je 0x1402f5cd4
mov r12d, 7
mov r15, qword [rsp + 0x68]
jmp 0x1402f4dfb
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
and word [rbx + 0x14], 0x2d
mov dword [rbx + 0x10], edi
mov ecx, 0xf250
movzx eax, word [rbx + 0x14]
mov r8, rdi
and ax, cx
mov rdx, rsi
or ax, 0x10
mov word [rbx + 0x14], ax
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x48]
xor edx, edx
mov rsi, qword [rsp + 0x60]
mov r12d, edx
mov dword [rsp + 0x50], edx
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edx
jmp 0x1402f1675
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x1402f5d4b
mov rcx, rbx
call fcn.14028c590
mov rbx, rax
jmp 0x1402f5d51
mov word [rbx + 0x14], 4
movsxd rcx, dword [r12 + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.14027d400
mov edx, dword [rdi + 0x40]
cmp edx, dword [r13 + 0x88]
ja 0x1402f95e3
mov r8, rbx
mov rcx, rdi
call fcn.1402fbc20
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 0xc], eax
jne 0x1402f5dea
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1402f5dea
mov rcx, rbx
call fcn.1402fbe60
test eax, eax
jne 0x1402f3e4b
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
jmp 0x1402f1675
mov r14, qword [rsp + 0x78]
mov rsi, rax
jmp 0x1402f1675
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
xor edx, edx
jmp 0x1402f167a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x1402f5e1c
mov rcx, rdi
call fcn.14028c590
mov rdi, rax
xor edx, edx
jmp 0x1402f5e22
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x1402f5e3f
mov word [rdi + 0x14], 1
jmp 0x1402f1675
cmp byte [rbx + 3], 0
je 0x1402f5e5f
mov rax, qword [rbx + 0x50]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
jmp 0x1402f18ac
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x30]
jne 0x1402f5ea6
mov rbx, qword [rcx]
lea rdx, [rbp - 0x28]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, rsi
mov r12d, eax
mov dword [rsp + 0x50], eax
call fcn.1402ff570
test r12d, r12d
jne 0x1402f9347
mov rax, qword [rbp - 0x28]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x1402f18ac
cmp byte [rcx], 0
je 0x1402f5ec6
mov rcx, rbx
call fcn.1402facb0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
xor edx, edx
jmp 0x1402f5ecd
mov r12d, edx
mov dword [rsp + 0x50], edx
cmp byte [rbx + 2], 0
je 0x1402f5ede
mov word [rdi + 0x14], 1
jmp 0x1402f1675
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.14027d400
mov rax, qword [rbx + 0x30]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x1402f5f4e
mov r9b, 3
mov r8d, 1
mov rcx, rsi
call fcn.140224260
test rax, rax
je 0x1402f3e50
xor edx, edx
lea rcx, [0x14043f264]
mov dword [rax + 0x24], edx
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
jmp 0x1402f5f50
xor edx, edx
mov byte [rax + 2], 1
mov dword [rax + 0x20], edx
cmp byte [rax], 0
jne 0x1402f1675
mov rcx, qword [rax + 0x30]
call fcn.1402a67b0
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x78], edx
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov eax, edx
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x1402f6008
mov dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x1402f5ffe
lea rdx, [rbp - 0x78]
call fcn.14022aa20
mov r12d, eax
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x78]
xor edx, edx
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
test r12d, r12d
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 8], 0
jle 0x1402f167a
test eax, eax
jne 0x1402f2f91
jmp 0x1402f167a
mov rsi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f167f
xor edx, edx
mov r15, qword [rsp + 0x48]
jmp 0x1402f167f
cmp byte [rcx], 0
jne 0x1402f5fa3
test byte [rcx + 1], 8
je 0x1402f5fa3
mov byte [rdi + 2], dl
mov r12d, edx
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], edx
mov dword [rsp + 0x50], edx
jmp 0x1402f5fcb
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140287df0
mov r12d, eax
test eax, eax
jne 0x1402f605c
xor eax, eax
mov rcx, rbx
mov r13d, eax
call fcn.140287b40
mov r12d, eax
jmp 0x1402f607f
cmp eax, 0x10
jne 0x1402f607b
mov r15, qword [rsp + 0x48]
xor edx, edx
mov r12d, edx
mov dword [rsp + 0x50], edx
mov dword [rbp - 0x60], 1
jmp 0x1402f2f91
mov r13d, dword [rbp - 0x60]
mov dword [rbp - 0x60], r13d
test r12d, r12d
jne 0x1402f26b6
mov dword [rsp + 0x50], r12d
test r13d, r13d
jne 0x1402f2f8a
mov rcx, rbx
call fcn.1402a97c0
test rax, rax
js 0x1402f60ce
mov rcx, rax
call fcn.1402d7070
mov r15, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r15 + 0xc]
jge 0x1402f60d3
mov dword [rbp - 0x60], 1
mov dword [rsp + 0x50], r12d
jmp 0x1402f2f8f
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov dword [rbp - 0x60], r13d
mov dword [rsp + 0x50], r12d
jmp 0x1402f18ac
inc dword [rsi + 0xdc]
mov rax, qword [rsp + 0x48]
mov r13d, 1
mov edi, r13d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], dil
jne 0x1402f6165
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x50], edx
jne 0x1402f6139
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x1402f6135
xor eax, eax
lea rcx, [rbx + 0x60]
mov edi, eax
call fcn.140314f50
mov dword [rsp + 0x50], eax
xor edx, edx
jmp 0x1402f618e
mov rcx, rbx
call fcn.140313f80
mov edx, eax
mov rcx, rbx
call fcn.1403140f0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f6135
mov rcx, rbx
call fcn.140314c80
xor edx, edx
mov dword [rsp + 0x50], eax
mov edi, edx
jmp 0x1402f618e
mov rcx, rbx
call fcn.140287df0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f61bc
xor eax, eax
mov rcx, rbx
mov edi, eax
call fcn.140287b40
mov dword [rsp + 0x50], eax
xor edx, edx
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], edx
mov r12d, dword [rsp + 0x50]
test r12d, r12d
jne 0x1402f5816
mov r15, qword [rsp + 0x48]
mov byte [rsi + 2], dil
cmp dword [r15 + 8], r12d
jle 0x1402f525a
test edi, edi
je 0x1402f525a
jmp 0x1402f2f91
cmp eax, 0x10
jne 0x1402f6185
xor edx, edx
mov dword [rsp + 0x50], edx
jmp 0x1402f6187
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0x58], 0
je 0x1402f625b
cmp byte [rdi + 0x59], 0
je 0x1402f6226
mov rcx, qword [rdi + 0x10]
call fcn.1403131c0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f6299
mov rax, qword [rdi + 0x10]
cmp qword [rax + 0x18], 0
jne 0x1402f6299
mov rbx, qword [rsp + 0x48]
mov ecx, 0x65
mov rdi, qword [rsp + 0x70]
mov dword [rsp + 0x50], ecx
jmp 0x1402f6354
mov rcx, qword [rdi + 0x18]
mov dword [rbp - 0x78], edx
lea rdx, [rbp - 0x78]
call fcn.140312b60
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f6299
cmp dword [rbp - 0x78], eax
je 0x1402f6299
mov rbx, qword [rsp + 0x48]
mov ecx, 0x65
mov rdi, qword [rsp + 0x70]
mov dword [rsp + 0x50], ecx
jmp 0x1402f6354
mov rdx, qword [rdi + 0x38]
xor r15d, r15d
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r15
cmp qword [rdi + 0x40], r15
jne 0x1402f6288
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.1402afb40
mov rdx, rbx
test rbx, rbx
jne 0x1402f6274
cmp qword [rdi + 0x38], r15
mov ecx, 0x65
cmovne ecx, r15d
mov dword [rsp + 0x50], ecx
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x70]
jmp 0x1402f6354
mov rax, qword [rsi + 0x78]
mov rbx, qword [rsp + 0x48]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], dx
cmp byte [rcx], 0
jne 0x1402f62eb
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1402f62eb
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x1402f62eb
dec dx
mov word [rcx + 0x56], dx
xor eax, eax
jmp 0x1402f6350
call fcn.14022b530
jmp 0x1402f6350
mov rax, qword [rsi + 0x78]
mov rbx, qword [rsp + 0x48]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
mov word [rcx + 0x46], dx
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x1402f631b
call fcn.14022acc0
jmp 0x1402f6350
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 0x1402f6341
mov word [rcx + 0x56], r8w
call fcn.14022acc0
jmp 0x1402f6350
cmp byte [rdx + 8], 0
je 0x1402f634b
xor eax, eax
jmp 0x1402f6350
call fcn.140287b40
mov dword [rsp + 0x50], eax
mov r12d, dword [rsp + 0x50]
xor edx, edx
mov dword [rsi + 0x20], edx
test r12d, r12d
jne 0x1402f637b
mov rcx, qword [rsp + 0x60]
mov byte [rsi + 2], dl
movzx eax, word [rbx + 2]
inc dword [rcx + rax*4 + 0xd4]
jmp case.0x1402f143f.9
cmp r12d, 0x65
jne 0x1402f971f
mov r12d, edx
mov dword [rsp + 0x50], edx
mov byte [rsi + 2], 1
jmp 0x1402f89f1
mov r12, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [r12 + 2], 1
je 0x1402f63bf
inc qword [rsi + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x1402f63e9
mov rcx, rbx
call fcn.1402fb9e0
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov r12, qword [rsp + 0x48]
xor edx, edx
mov r11, qword [rsp + 0x58]
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2a0], rax
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x2b8], rcx
movzx eax, word [r12 + 0x10]
mov word [rbp + 0x2c0], ax
movzx r8d, word [r12 + 2]
test r8b, 0x10
je 0x1402f6431
mov r9d, dword [rdi + 0x24]
jmp 0x1402f6434
mov r9d, edx
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2a0]
and r8d, 0x8a
call fcn.1402a7fd0
xor edx, edx
mov dword [rsp + 0x50], eax
mov dword [rdi + 0x20], edx
mov r12d, eax
test eax, eax
jne 0x1402f9347
jmp 0x1402f1675
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x1402f649e
mov rcx, rbx
call fcn.1402fb9e0
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov rdx, rbx
mov rcx, rdi
call fcn.1402fe6f0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsi + 0x78]
lea r8, [rbp - 0x34]
mov r12, qword [rsp + 0x48]
lea rdx, [rbp + 0x278]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x278], rax
movzx eax, word [r12 + 0xc]
mov word [rbp + 0x294], ax
mov byte [rbp + 0x296], 0
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x280], rcx
mov rcx, rdi
call fcn.1402a7b10
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
cmp dword [rbp - 0x34], eax
jne 0x1402f6561
mov dl, 4
mov rcx, rdi
call fcn.1402a7460
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
xor edx, edx
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], edx
jmp 0x1402f167a
mov r15, qword [rsp + 0x48]
cmp word [r15 + 2], 0
je 0x1402f6581
mov eax, dword [r13 + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x1402f95ea
xor edx, edx
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], edx
jmp 0x1402f167a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1402f65c3
mov rcx, rbx
call fcn.1402facb0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
xor edx, edx
jmp 0x1402f65ca
mov r12d, edx
mov dword [rsp + 0x50], edx
cmp byte [rbx + 2], 0
jne 0x1402f6693
mov qword [rbp - 0x68], rdx
lea r8, [rbp - 0x68]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.1402fad10
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x1402f6642
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x68]
mov byte [rdx + 2], r12b
mov qword [rdx + 0x50], rax
xor eax, eax
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], eax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x1402f18ac
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x1402f6677
call fcn.14028c590
mov r15, qword [rsp + 0x48]
mov rcx, rax
mov rax, qword [rbp - 0x68]
mov r11, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x1402f18ac
mov rax, qword [rbp - 0x68]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r11
test word [rcx + 0x14], ax
je 0x1402f66c7
call fcn.1403126a0
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov word [rcx + 0x14], 1
mov r15, qword [rsp + 0x48]
jmp 0x1402f167f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x1402f19a6
call fcn.1402fa640
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x250], rax
movzx eax, word [r12 + 0x10]
mov word [rbp + 0x26c], ax
sbb al, al
mov byte [rbp + 0x26e], al
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x258], rcx
mov rcx, rbx
call fcn.14027d400
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x1402f9622
mov qword [rbp + 0x108], r13
xor r9d, r9d
mov word [rbp + 0x104], r9w
mov dword [rbp + 0x110], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x1402f67b7
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xf8], rax
cmp ecx, edx
ja 0x1402f67e2
mov edx, 0x4010
mov dword [rbp + 0x100], ecx
mov word [rbp + 0x104], dx
mov r12d, r9d
mov dword [rsp + 0x50], r9d
jmp 0x1402f6812
mov r8d, ecx
lea r9, [rbp + 0xf0]
mov rcx, rbx
xor edx, edx
call fcn.1402fbb10
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov ecx, dword [rbp + 0x100]
mov rax, qword [rbp + 0xf8]
xor r9d, r9d
lea r8, [rbp + 0x250]
mov rdx, rax
call fcn.1402fd0b0
cmp dword [rbp + 0x110], 0
mov ebx, eax
je 0x1402f683b
lea rcx, [rbp + 0xf0]
call fcn.140312650
mov r15, qword [rsp + 0x48]
test byte [r15], 1
jne 0x1402f684a
neg ebx
jmp 0x1402f684c
inc ebx
test ebx, ebx
jg 0x1402f2f8f
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x1402f6888
mov rcx, rdi
call fcn.14028c590
mov rdi, rax
xor edx, edx
mov word [rdi + 0x14], 1
mov eax, dword [r13 + 0xe8]
inc eax
cmp dword [r13 + 0xdc], eax
jg 0x1402f9639
movsxd r14, dword [r12 + 0xc]
mov rax, qword [r13 + 0x20]
mov rcx, r14
mov esi, dword [r12 + 4]
shl rcx, 5
mov dword [rbp - 0x78], edx
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1402f68d8
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1402f68d8
mov rcx, rbx
call fcn.14022aaf0
lea r8, [rbp - 0x78]
mov edx, esi
mov rcx, rbx
call fcn.14022a250
cmp byte [rbx + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x50], eax
je 0x1402f6901
sub dword [rbx + 0x14], 1
jne 0x1402f6901
mov rcx, rbx
call fcn.14030ec20
movsxd rdx, dword [rbp - 0x78]
mov word [rdi + 0x14], 4
mov qword [rdi], rdx
test r12d, r12d
jne 0x1402f5cbd
test edx, edx
je 0x1402f6e79
mov rax, qword [rsp + 0x48]
mov r9, r14
shl r9, 5
add r9, qword [r13 + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1402f6955
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x1402f694d
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1402f6940
mov rax, qword [r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1402f6977
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x1402f696f
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1402f6962
mov rsi, qword [rsp + 0x60]
lea eax, [r14 + 1]
mov byte [rbp - 0x6c], al
jmp 0x1402f1e72
mov r12, qword [rsp + 0x48]
lea r8, [rbp - 0x20]
mov qword [rbp - 0x20], rdx
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r12 + 8]
mov edx, dword [r12 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1402a6870
mov r15, qword [rsp + 0x48]
mov r12d, eax
mov r11, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
cmp dword [r15 + 0xc], 0
je 0x1402f69e8
mov rax, qword [rbp - 0x20]
add qword [rsi + 0x38], rax
mov rax, r15
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1402f69e8
imul rcx, rax, 0x38
mov rax, qword [rbp - 0x20]
add qword [rcx + r11], rax
test r12d, r12d
jne 0x1402f26b6
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1402f6a27
mov rdx, qword [rcx + 0x30]
mov rcx, r13
call fcn.1402fe460
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1402a6870
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x1402f6a83
mov rcx, rdi
call fcn.14028c590
mov rdi, rax
xor edx, edx
jmp 0x1402f6a89
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x78], edx
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x1402f6ab7
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1402f6ab7
mov rcx, rbx
call fcn.14022aaf0
mov r8d, esi
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.140229d50
cmp byte [rbx + 0x11], 0
mov r12d, eax
mov dword [rsp + 0x50], eax
je 0x1402f6ae1
sub dword [rbx + 0x14], 1
jne 0x1402f6ae1
mov rcx, rbx
call fcn.14030ec20
mov rsi, qword [rsp + 0x60]
test r12d, r12d
jne 0x1402f9347
mov eax, dword [rbp - 0x78]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rdi], rax
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
xor r9d, r9d
inc byte [r13 + 0x70]
xor r8d, r8d
mov qword [rsp + 0x20], rdx
mov rcx, r13
mov rdx, qword [rax + 0x10]
call fcn.14021c1c0
dec byte [r13 + 0x70]
mov r12d, eax
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
cmp qword [r12 + 0x10], 0
movsxd rbx, dword [r12 + 4]
jne 0x1402f6ba1
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1402e4bc0
and dword [r13 + 0x2c], 0xffffffef
lea r8, [rsi + 0xa8]
movzx r9d, word [r12 + 2]
mov edx, ebx
mov rcx, r13
call fcn.1402d3a00
or dword [r13 + 0x2c], 1
mov r12d, eax
and dword [rsi + 0xc8], 0xfffffffc
mov dword [rsp + 0x50], eax
jmp 0x1402f6c97
mov dword [rbp + 0x48], edx
lea rax, [rsi + 0xa8]
mov qword [rbp + 0x38], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x30], r13
mov rdx, rbx
mov dword [rbp + 0x40], ebx
mov rax, qword [r13 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x50], ecx
mov rcx, r13
mov r8, qword [r13 + 0x20]
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1402d7330
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x1402f9650
xor eax, eax
mov byte [r13 + 0xc5], 1
lea r9, [rbp + 0x30]
mov dword [rbp + 0x44], eax
lea r8, [fcn.1402d3700]
mov dword [rbp + 0x4c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14021c1c0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f6c84
mov r12d, dword [rbp + 0x44]
mov dword [rsp + 0x50], r12d
test r12d, r12d
jne 0x1402f6c84
cmp dword [rbp + 0x4c], r12d
jne 0x1402f6c84
lea rax, [0x14041fce4]
mov r15d, 0xb
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x17b47
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140200de0
mov r12d, r15d
mov dword [rsp + 0x50], r15d
mov rdx, rbx
mov rcx, r13
call fcn.1402afb40
mov byte [r13 + 0xc5], 0
test r12d, r12d
je 0x1402f16db
mov rcx, r13
call fcn.1402e3040
cmp r12d, 7
je 0x1402f3e50
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e05
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov edx, dword [rax + 4]
call fcn.1402a3cc0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.1402d2b20
test rax, rax
je 0x1402f6d33
cmp qword [r13 + 0x308], 0
jne 0x1402f6d28
mov ecx, 0xffffffff
add dword [rax + 0x2c], ecx
jne 0x1402f6d33
mov rdx, rax
mov rcx, r13
call fcn.1402345b0
or dword [r13 + 0x2c], 1
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x48]
add rcx, 0x20
mov rdx, qword [rax + 0x10]
call fcn.1402d2b20
mov r8, rax
test rax, rax
je 0x1402f6d33
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, r8
jne 0x1402f6d91
mov rcx, qword [r8 + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x1402f6dbb
test rcx, rcx
je 0x1402f6dbb
nop word [rax + rax]
lea rdx, [rcx + 0x28]
mov rcx, qword [rcx + 0x28]
cmp rcx, r8
je 0x1402f6db4
test rcx, rcx
jne 0x1402f6da0
jmp 0x1402f6dbb
mov rax, qword [r8 + 0x28]
mov qword [rdx], rax
mov rdx, r8
mov rcx, r13
call fcn.1402bc9a0
or dword [r13 + 0x2c], 1
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
mov rax, qword [r13 + 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.1402d2b20
mov rbx, rax
test rax, rax
je 0x1402f16db
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1402f6e5a
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14023ab50
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1402f6e5a
mov rax, qword [rdx + 0x58]
add rdx, 0x58
test rax, rax
je 0x1402f6e5a
mov rcx, rax
nop
cmp rax, rbx
mov rax, qword [rcx + 0x40]
je 0x1402f6e57
lea rdx, [rcx + 0x40]
mov rcx, rax
test rax, rax
jne 0x1402f6e40
jmp 0x1402f6e5a
mov qword [rdx], rax
mov rdx, rbx
mov rcx, r13
call fcn.1402b11b0
or dword [r13 + 0x2c], 1
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov r12, qword [rsp + 0x48]
lea r9, [rbp - 0x10]
mov rdx, qword [r13 + 0x20]
mov qword [rsp + 0x30], r9
lea r9, [rbp - 0x30]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r12 + 0xc]
mov r8, qword [r12 + 0x10]
mov r9d, dword [r12 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
movzx eax, word [r12 + 2]
add rdi, r11
shl rax, 5
add rbx, r11
mov ecx, dword [rdi]
mov rdx, qword [rax + rdx + 8]
inc ecx
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.1402a8520
mov r12d, eax
mov dword [rsp + 0x50], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402f6f0e
mov rcx, rbx
call fcn.1403126a0
jmp 0x1402f6f14
mov word [rbx + 0x14], 1
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x1402f6f4e
test r12d, r12d
jne 0x1402f965a
mov rdx, qword [rbp - 0x10]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.14021ea10]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
call fcn.1402fc140
test byte [rbx + 0x14], 2
movzx eax, byte [rsp + 0x40]
jne 0x1402f6f61
mov byte [rbx + 0x16], al
jmp 0x1402f89f1
cmp byte [rbx + 0x16], al
je 0x1402f89f1
movzx edx, al
mov rcx, rbx
call fcn.1402fc660
jmp 0x1402f89f1
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x1402f6fab
mov rcx, rbx
call fcn.1402fc040
test eax, eax
jne 0x1402f3e4b
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1402e3a80
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r11
test byte [rdi + 0x14], 0x10
je 0x1402f7057
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1402f6ffe
test al, 1
jne 0x1402f6ff9
mov rcx, qword [rbx + 0x10]
call fcn.1402993f0
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1402f7057
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1402f701f
mov rcx, rbx
call fcn.1402e39b0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsp + 0x58]
test word [rcx + 0x14], ax
je 0x1402f7049
mov rdx, rdi
call fcn.140313790
jmp 0x1402f89f1
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
jmp 0x1402f89f1
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x1402f706f
mov rcx, rdi
call fcn.1403126a0
jmp case.0x1402f143f.9
mov word [rdi + 0x14], 1
jmp case.0x1402f143f.9
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x1402f70ae
mov rcx, rbx
call fcn.1402fc040
test eax, eax
jne 0x1402f3e46
test esi, esi
je 0x1402f70ca
mov r8, qword [rdi]
mov edx, esi
mov rcx, qword [rbx + 8]
call fcn.1402e3af0
test eax, eax
jne 0x1402f2f8a
test esi, esi
js 0x1402f24c0
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.1402e3a80
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, r11
cmp word [rcx + 2], 0
je 0x1402f7133
mov rax, qword [rsi + 0x108]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x1402f7133
nop dword [rax]
cmp qword [rax + 0x30], rcx
je 0x1402f91a4
mov rax, qword [rax + 8]
test rax, rax
jne 0x1402f7120
mov eax, dword [r13 + 0xb0]
cmp dword [rsi + 0x118], eax
jge 0x1402f966d
test byte [r15 + 0x14], 0x10
jne 0x1402f7283
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x1402f717a
add eax, 7
sar eax, 3
lea r14d, [rax + rcx*8]
mov rcx, r13
movsxd rsi, r14d
mov rdx, rsi
call fcn.1402afcd0
mov rbx, rax
test rax, rax
je 0x1402f3e46
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x9000
test word [r15 + 0x14], ax
jne 0x1402f71bb
cmp dword [r15 + 0x20], 0
je 0x1402f71c3
mov rcx, r15
call fcn.140312650
mov rsi, qword [rsp + 0x60]
lea rax, [0x1402fa6b0]
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x78]
mov word [r15 + 0x14], 0x1010
mov qword [r15 + 8], rbx
mov dword [r15 + 0x10], r14d
mov qword [r15 + 0x30], rax
mov qword [rbx], rsi
mov dword [rbx + 0x58], edi
mov eax, dword [r12 + 0x10]
mov dword [rbx + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
xor edx, edx
mov rax, qword [rsi + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [rsi + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [rsi + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [rsi + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [rsi + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x1402f7287
nop word [rax + rax]
mov word [rax + 0x14], dx
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rcx
jne 0x1402f7270
jmp 0x1402f7287
mov rbx, qword [r15 + 8]
inc dword [rsi + 0x118]
mov rax, qword [rsi + 0x108]
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [rsi + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [rsi + 0x128]
mov qword [rbx + 0x40], rax
mov qword [rsi + 0x128], rdx
mov qword [rsi + 0x38], rdx
lea rdx, [rbx + 0x70]
mov qword [rsi + 0x108], rbx
mov qword [rsi + 0x68], rdx
movsxd rcx, dword [rbx + 0x58]
mov dword [rsi + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [rsi + 0x28], eax
mov qword [rsp + 0x58], rdx
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [rsi + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x28], 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 sub.VCRUNTIME140.dll_memset
mov r14, qword [r12]
mov qword [rsi + 0x88], r14
mov eax, dword [r12 + 8]
mov r12d, dword [rsp + 0x50]
lea rcx, [r14 - 0x18]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x48], rcx
mov dword [rsi + 0x90], eax
jmp 0x1402f89f1
mov rax, qword [rsp + 0x48]
mov r13d, 0x9000
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [rsi + 0x68]
test word [r9 + 0x14], r13w
je 0x1402f7377
mov rcx, r9
call fcn.14028c590
mov r9, rax
jmp 0x1402f737e
mov word [r9 + 0x14], 4
mov r8, qword [rsi + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x48]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x18]
test word [r9 + 0x14], r13w
je 0x1402f73cf
mov rdx, rcx
mov r8d, 0x4000
mov rcx, r9
call fcn.1403117d0
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
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 0x1402f16db
mov r15, qword [rsp + 0x48]
mov eax, 0xcfff
and word [r9 + 0x14], ax
mov eax, 0x4000
or word [r9 + 0x14], ax
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov eax, dword [r13 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r15, rax
jae 0x1402f7444
movsxd rax, dword [rax + 8]
add qword [r13 + 0x300], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x1402f7468
add qword [r13 + 0x2f8], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
add qword [rsi + 0x50], rax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
cmp dword [r15 + 4], 0
je 0x1402f74b5
cmp qword [r13 + 0x2f8], 0
jne case.0x1402f143f.89
cmp qword [r13 + 0x300], 0
je 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
cmp qword [rsi + 0x50], 0
jne case.0x1402f143f.89
cmp qword [r13 + 0x300], 0
je 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x1402f751f
mov rax, qword [rcx + 8]
test rax, rax
je 0x1402f750c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1402f7500
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x1402f752f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 0x14]
test al, 0x24
je 0x1402f753c
mov rax, qword [rbx]
jmp 0x1402f756a
test al, 8
je 0x1402f754b
movsd xmm0, qword [rbx]
call fcn.140234930
jmp 0x1402f756a
test al, 0x12
je 0x1402f7567
cmp qword [rbx + 8], 0
je 0x1402f7567
mov rcx, rbx
call fcn.140287660
mov r11, qword [rsp + 0x58]
xor edx, edx
jmp 0x1402f756a
mov rax, rdx
mov qword [rbx], rax
mov r15d, 0xf244
and word [rbx + 0x14], r15w
or word [rbx + 0x14], 4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdi, rax, 0x38
add rdi, r11
movzx eax, word [rdi + 0x14]
test al, 0x24
je 0x1402f759a
mov rax, qword [rdi]
jmp 0x1402f75c6
test al, 8
je 0x1402f75a9
movsd xmm0, qword [rdi]
call fcn.140234930
jmp 0x1402f75c6
test al, 0x12
je 0x1402f75c3
cmp qword [rdi + 8], 0
je 0x1402f75c3
mov rcx, rdi
call fcn.140287660
mov r11, qword [rsp + 0x58]
jmp 0x1402f75c6
mov rax, rdx
mov qword [rdi], rax
and word [rdi + 0x14], r15w
or word [rdi + 0x14], 4
cmp qword [rbx], rax
jge 0x1402f16db
mov qword [rbx], rax
jmp 0x1402f18a7
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x1402f18b7
mov rax, r15
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x1402f2f8f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r11
imul r8, rax, 0x38
add rdi, r11
mov eax, 0x9000
add r8, qword [rsi + 0x68]
test word [r8 + 0x14], ax
je 0x1402f765b
mov rcx, r8
call fcn.14028c590
mov r11, qword [rsp + 0x58]
mov r8, rax
jmp 0x1402f7662
mov word [r8 + 0x14], 4
mov rcx, qword [rbx]
test rcx, rcx
jle 0x1402f769b
mov rdx, qword [rdi]
mov eax, 0
test rdx, rdx
cmovle rdx, rax
test rdx, rdx
js 0x1402f7690
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdx
jl 0x1402f769b
add rcx, rdx
mov qword [r8], rcx
jmp 0x1402f18a7
mov rcx, 0xffffffffffffffff
mov qword [r8], rcx
jmp 0x1402f18a7
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x1402f19a6
mov r15, qword [rsp + 0x48]
jle 0x1402f2f91
dec rax
mov qword [rcx + r11], rax
jmp 0x1402f2f91
mov rax, qword [rsp + 0x48]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, r8
jle 0x1402f7702
dec rax
mov qword [rcx + r11], rax
mov r15, qword [rsp + 0x48]
test rax, rax
je 0x1402f2f91
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov rcx, r13
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x68]
call fcn.1402afcd0
mov r8, rax
test rax, rax
je 0x1402f3e4b
xor r15d, r15d
lea rcx, [rbx + 6]
mov qword [rax + 0x10], r15
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
mov word [rcx + 0x14], 1
mov qword [rcx + 0x18], r13
mov dword [rcx + 0x20], r15d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, byte [rsp + 0x40]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], rsi
mov byte [r8 + 0x29], r15b
mov dword [r8 + 0x24], r15d
mov byte [r8 + 0x28], al
mov rax, qword [rsp + 0x48]
mov byte [r8 + 0x2a], bl
mov byte [rax + 1], 0xf1
mov qword [rax + 0x10], r8
mov byte [rax], 0xa3
jmp 0x1402f77cd
mov rax, qword [rsp + 0x48]
xor r15d, r15d
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov rdi, qword [rsp + 0x58]
imul r10, rax, 0x38
add r10, rdi
mov qword [rbp - 0x68], r10
cmp qword [rbx + 0x10], r10
je 0x1402f7835
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1402f7835
mov r10, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1402f7810
mov r10, qword [rbp - 0x68]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [rcx + 4], 0
mov rcx, rbx
je 0x1402f7858
call qword [rax + 0x30]
jmp 0x1402f785b
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1402f8f5e
jle 0x1402f78c4
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1402f7875
mov rax, r15
jmp 0x1402f78a9
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x1402f7898
cmp byte [rcx + 0x16], 1
jne 0x1402f7898
mov rax, qword [rcx + 8]
jmp 0x1402f78a9
test dl, 1
je 0x1402f78a2
mov rax, r15
jmp 0x1402f78a9
mov dl, 1
call fcn.1403113b0
mov r8, rax
lea rdx, [0x140417fb8]
mov rcx, rsi
call fcn.1402f1260
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x50], r12d
cmp byte [rbx + 0x29], 0
je 0x1402f7907
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x1402f7903
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rdi
test word [rcx + 0x14], ax
je 0x1402f78f5
mov edx, 1
call fcn.140313790
jmp 0x1402f7903
mov eax, 1
mov qword [rcx], rax
mov word [rcx + 0x14], 4
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x1402f791b
cmp dword [rcx + 0x20], 0
je 0x1402f7920
call fcn.140312650
mov rax, qword [rbx]
xor edx, edx
mov r13d, 1
mov word [rax + 0x14], r13w
mov dword [rbx + 0x24], edx
test r12d, r12d
jne 0x1402f955f
mov r15, qword [rsp + 0x48]
mov r11, rdi
jmp 0x1402f167f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r11
test eax, eax
je 0x1402f7a01
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x158], xmm0
movups xmmword [rbp + 0x168], xmm0
xor eax, eax
mov qword [rbp + 0x188], rax
add rdi, r11
mov eax, 0x9000
movups xmmword [rbp + 0x178], xmm0
test word [rdi + 0x14], ax
je 0x1402f79a6
mov rcx, rdi
call fcn.1403126a0
jmp 0x1402f79ac
mov word [rdi + 0x14], 1
mov qword [rbp + 0x158], rdi
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x160], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0x180], cl
lea rcx, [rbp + 0x158]
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov r12d, dword [rbp + 0x17c]
mov rdi, qword [rsp + 0x70]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
mov dword [rsp + 0x50], r12d
add rbx, r11
jmp 0x1402f7a18
mov rdx, rsi
mov rcx, rbx
call fcn.1402fba50
mov r11, qword [rsp + 0x58]
mov r12d, eax
mov dword [rsp + 0x50], eax
test r12d, r12d
jne 0x1402f968f
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
jne 0x1402f7a40
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov byte [rbx + 0x16], r9b
jmp 0x1402f18b2
cmp byte [rbx + 0x16], r9b
je 0x1402f8f73
movzx edx, r9b
mov rcx, rbx
call fcn.1402fc660
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
lea rax, [rbp + 0x2d8]
mov dword [rbp + 0x2d0], edx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2d4]
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov dword [rbp + 0x2d8], 0xffffffff
mov dword [rbp + 0x2d4], 0xffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1402aaa90
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
je 0x1402f7acf
cmp eax, 5
jne 0x1402f26b6
xor eax, eax
mov ecx, 1
mov r12d, eax
mov dword [rsp + 0x50], eax
jmp 0x1402f7ad5
mov ecx, dword [rbp + 0x2d0]
mov rax, qword [rsp + 0x48]
mov r13d, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, qword [rsp + 0x58]
test word [rbx + 0x14], r13w
je 0x1402f7b09
mov rdx, rax
mov rcx, rbx
call fcn.140313790
mov edx, 4
jmp 0x1402f7b15
mov edx, 4
mov qword [rbx], rax
mov word [rbx + 0x14], dx
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0x2d4]
test word [rbx + 0x4c], r13w
je 0x1402f7b36
mov rdx, rax
call fcn.140313790
mov edx, 4
jmp 0x1402f7b3d
mov qword [rcx], rax
mov word [rbx + 0x4c], dx
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0x2d8]
test word [rbx + 0x84], r13w
je 0x1402f7b69
mov rdx, rax
call fcn.140313790
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rcx], rax
mov word [rbx + 0x84], dx
jmp 0x1402f18ac
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov eax, 0x9000
add r15, qword [rsi + 0x68]
test word [r15 + 0x14], ax
je 0x1402f7bac
mov rcx, r15
call fcn.14028c590
mov r15, rax
jmp 0x1402f7bb3
mov word [r15 + 0x14], 4
mov edx, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
cmp edx, 0xffffffff
mov r13, qword [rcx + rax + 8]
mov rax, qword [r13 + 8]
mov rbx, qword [rax]
movzx r14d, byte [rbx + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rbx + 0x15], 3
jae 0x1402f7bf3
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x1402f7bf6
cmp qword [rbx + 0x60], 0
jle 0x1402f7bf6
mov esi, r14d
cmp byte [rbx + 0x13], 0
jne 0x1402f7c11
lea rax, [0x14043b020]
cmp qword [rbx], rax
je 0x1402f7c11
mov rcx, qword [rbx + 0xd8]
jmp 0x1402f7c18
lea rcx, [0x140412f24]
cmp esi, 5
jne 0x1402f7c67
test rcx, rcx
je 0x1402f7c5f
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1402f7c30
test eax, 0x3fffffff
je 0x1402f7c5f
cmp byte [rbx + 0x11], 0
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax]
jne 0x1402f7c5f
cmp byte [rbx + 8], 0
jne 0x1402f7c67
cmp dword [rcx], 2
jl 0x1402f7c5f
cmp qword [rcx + 0x68], 0
jne 0x1402f7c67
mov esi, r14d
jmp 0x1402f7de8
cmp esi, r14d
je 0x1402f7de8
cmp r14d, 5
je 0x1402f7c7f
cmp esi, 5
jne 0x1402f7de8
mov r12, qword [rsp + 0x68]
cmp byte [r12 + 0x65], 0
je 0x1402f96b8
cmp dword [r12 + 0xdc], 1
jg 0x1402f96b8
cmp r14d, 5
jne 0x1402f7db0
xor ecx, ecx
mov edi, ecx
cmp qword [rbx + 0x128], rcx
jne 0x1402f7d26
mov dword [rbp - 0x48], ecx
movzx eax, byte [rbx + 0x16]
cmp al, 1
jb 0x1402f7cc6
cmp al, r14b
jne 0x1402f7cea
cmp byte [rbx + 0x11], cl
jne 0x1402f7ce0
mov rcx, qword [rbx + 0x48]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x1402f7cea
cmp byte [rbx + 0x16], 5
je 0x1402f7cea
mov byte [rbx + 0x16], 1
test edi, edi
jne 0x1402f7d99
mov rax, qword [rbx]
lea r9, [rbp - 0x48]
mov rdx, qword [rbx + 0x130]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x1402f7d99
cmp dword [rbp - 0x48], eax
je 0x1402f7d26
mov rcx, rbx
call fcn.14028d0a0
mov edi, eax
test eax, eax
jne 0x1402f7d99
cmp qword [rbx + 0x128], 0
je 0x1402f7d99
mov rcx, rbx
call fcn.14028cdb0
mov edi, eax
test eax, eax
jne 0x1402f7d99
mov rax, qword [rbx + 0x118]
mov rdx, r12
movzx r8d, byte [rbx + 0xf]
mov r9d, dword [rbx + 0xc8]
mov rcx, qword [rbx + 0x128]
mov qword [rsp + 0x20], rax
call fcn.140300140
mov edi, eax
mov dword [rsp + 0x50], eax
mov r12d, eax
mov rcx, rbx
xor eax, eax
mov qword [rbx + 0x128], rax
call fcn.14028ce30
test r12d, r12d
je 0x1402f7d99
cmp byte [rbx + 8], 0
jne 0x1402f7d99
mov edx, 1
mov rcx, rbx
call fcn.14028d960
jmp 0x1402f7ded
mov dword [rsp + 0x50], edi
mov r12d, edi
test edi, edi
jne 0x1402f7ded
mov edx, esi
mov rcx, rbx
call fcn.1402da040
jmp 0x1402f7dcd
cmp r14d, 4
jne 0x1402f7dc3
mov edx, 2
mov rcx, rbx
call fcn.1402da040
mov r12d, dword [rsp + 0x50]
test r12d, r12d
jne 0x1402f7ded
xor eax, eax
mov rcx, r13
mov edx, eax
cmp esi, 5
sete dl
inc edx
call fcn.1402a9cf0
mov r12d, eax
mov dword [rsp + 0x50], eax
test r12d, r12d
je 0x1402f7df0
mov esi, r14d
mov edx, esi
mov rcx, rbx
call fcn.1402da040
mov word [r15 + 0x14], 0x2202
cmp eax, 6
jne 0x1402f7e10
xor ebx, ebx
mov qword [r15 + 8], rbx
mov eax, ebx
jmp 0x1402f7e47
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x4143a0]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x1402f7e30
xor ebx, ebx
mov eax, ebx
jmp 0x1402f7e47
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1402f7e37
and eax, 0x3fffffff
xor ebx, ebx
movzx r9d, byte [rsp + 0x40]
mov dword [r15 + 0x10], eax
mov byte [r15 + 0x16], 1
cmp r9b, 1
je 0x1402f7e6e
movzx edx, r9b
mov rcx, r15
call fcn.1402fc660
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
test r12d, r12d
jne 0x1402f9921
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f1e82
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
test eax, eax
je 0x1402f7ea2
imul r9, rax, 0x38
add r9, r11
jmp 0x1402f7ea5
mov r9, rdx
mov r8d, dword [r12 + 4]
lea rcx, [rsi + 0xa8]
mov rdx, r13
call fcn.1402e4370
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax + 8]
cmp byte [rsi + 0x11], 0
mov rdi, qword [rsi + 8]
je 0x1402f7f08
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1402f7f08
mov rcx, rsi
call fcn.14022aaf0
cmp byte [rdi + 0x21], 0
jne 0x1402f7f1e
mov r12d, 0x65
mov dword [rsp + 0x50], r12d
jmp 0x1402f8015
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.14023a690
mov r15d, eax
cmp r14d, eax
jb 0x1402f7fdd
cmp ebx, r14d
jae 0x1402f7fdd
test ebx, ebx
je 0x1402f7fd0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1402f7f78
xor r8d, r8d
xor edx, edx
call fcn.14029da70
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f8010
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1402f7f8e
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1402f7f81
xor r9d, r9d
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
call fcn.14027fbd0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f8010
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1402da780
mov edx, dword [rdi + 0x40]
mov r12d, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
jmp 0x1402f8010
mov r12d, 0x65
mov dword [rsp + 0x50], r12d
jmp 0x1402f8010
lea rax, [0x14041fce4]
mov ebx, 0xb
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x11af8
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140200de0
mov r12d, ebx
mov dword [rsp + 0x50], ebx
mov r14, qword [rsp + 0x78]
cmp byte [rsi + 0x11], 0
je 0x1402f8029
sub dword [rsi + 0x14], 1
jne 0x1402f8029
mov rcx, rsi
call fcn.14030ec20
test r12d, r12d
je 0x1402f24c0
cmp r12d, 0x65
jne 0x1402f5cbd
xor edx, edx
mov r12d, edx
mov dword [rsp + 0x50], edx
mov r15, qword [rsp + 0x48]
jmp 0x1402f2f91
cmp dword [r15 + 4], 0
jne 0x1402f80a3
mov rdx, qword [r13 + 8]
mov r8d, dword [r15 + 8]
test rdx, rdx
je 0x1402f18b7
nop word [rax + rax]
mov eax, dword [rdx + 0xc8]
lea ecx, [r8 + 1]
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rdx + 0xc8], ecx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1402f8070
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov eax, dword [rsi + 0xc8]
mov ecx, dword [r15 + 8]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rsi + 0xc8], ecx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rsp + 0x48]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x1402f814f
mov eax, dword [r13 + 0x30]
bt rax, 0xa
jb 0x1402f19a6
mov r12, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1402a8ae0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
je 0x1402f16db
mov r14, qword [rsp + 0x48]
cmp al, 6
jne 0x1402f819b
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, rsi
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
mov eax, 0xb
mov r13d, 1
jmp 0x1402f4e15
mov rbx, qword [r15 + 0x10]
mov edi, edx
movsxd rdx, dword [r13 + 0x224]
test edx, edx
jle 0x1402f81e7
cmp qword [r13 + 0x248], 0
jne 0x1402f81e7
mov r12d, 6
mov dword [rsp + 0x50], r12d
mov edi, r12d
test rbx, rbx
je 0x1402f9347
jmp 0x1402f82b5
test rbx, rbx
jne 0x1402f8208
xor edx, edx
mov r12d, edx
mov dword [rsp + 0x50], edx
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x70], 0
je 0x1402f82a9
xor r8d, r8d
mov ecx, r8d
test edx, edx
jle 0x1402f8245
mov rax, qword [r13 + 0x248]
nop dword [rax + rax]
cmp qword [rax], rbx
je 0x1402f82d3
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x1402f8230
mov rcx, r13
call fcn.14027f270
mov edi, eax
test eax, eax
jne 0x1402f82a9
mov rcx, qword [rbx + 0x10]
call qword [rsi + 0x70]
mov edi, eax
test eax, eax
jne 0x1402f82a9
mov edx, dword [r13 + 0x2f4]
add edx, dword [r13 + 0x2f0]
movsxd rcx, dword [r13 + 0x224]
mov rax, qword [r13 + 0x248]
mov qword [rax + rcx*8], rbx
inc dword [r13 + 0x224]
inc dword [rbx + 0x18]
test edx, edx
je 0x1402f82a9
cmp qword [rsi + 0xa0], 0
je 0x1402f82a9
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rsi + 0xa0]
mov edi, eax
mov r12d, edi
mov dword [rsp + 0x50], edi
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.1402ff570
test edi, edi
jne 0x1402f9347
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov edi, r8d
mov dword [rsp + 0x50], r8d
mov r12d, r8d
jmp 0x1402f82b0
mov rax, qword [rsp + 0x48]
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x58], rdx
xorps xmm0, xmm0
mov qword [rbp + 0x88], rdx
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r13
movdqu xmmword [rbp + 0x78], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r11
call fcn.1402fb950
movzx ecx, word [rbp + 0x6c]
mov r12d, eax
mov dword [rsp + 0x50], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1402f833f
cmp byte [rbp + 0x6e], 1
jne 0x1402f833f
mov rax, qword [rbp + 0x60]
jmp 0x1402f8357
test cl, 1
jne 0x1402f847b
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.1403113b0
movzx ecx, word [rbp + 0x6c]
test rax, rax
je 0x1402f847b
mov r8, qword [r13 + 0x20]
lea rbx, [rsi + 0xa8]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
movsxd rcx, dword [rcx + 4]
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, r13
call fcn.1402ba2e0
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x48]
mov rdi, qword [rcx]
lea rcx, [r13 + 0x228]
mov rdx, rdi
call fcn.14023ab50
mov r8, qword [rax + 0x10]
test r8, r8
je 0x1402f844c
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x1402f844c
cmp qword [rcx + 0x28], 0
je 0x1402f844c
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r13
call fcn.1403156f0
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f846d
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x1402f846d
cmp qword [rax], r13
je 0x1402f8403
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1402f83f3
jmp 0x1402f846d
mov rcx, r13
call fcn.14027f270
mov dword [rsp + 0x50], eax
mov r12d, eax
test eax, eax
jne 0x1402f846d
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x1402f842e
nop
cmp qword [rdx], r13
je 0x1402f842e
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1402f8420
movsxd rcx, dword [r13 + 0x224]
mov rax, qword [r13 + 0x248]
mov qword [rax + rcx*8], rdx
inc dword [r13 + 0x224]
inc dword [rdx + 0x18]
jmp 0x1402f846d
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r13
call fcn.1402d7330
mov qword [rbx], rax
mov eax, 1
mov r12d, eax
mov dword [rsp + 0x50], eax
movzx ecx, word [rbp + 0x6c]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov eax, 0x9000
test ax, cx
jne 0x1402f848b
cmp dword [rbp + 0x78], 0
je 0x1402f8494
lea rcx, [rbp + 0x58]
call fcn.140312650
test r12d, r12d
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
mov rcx, r13
inc dword [r13 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1402feb20
dec dword [r13 + 0xe8]
mov r12d, eax
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1402f26b6
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x40], rdx
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1402f9701
mov rdi, qword [rbx]
test rdi, rdi
je 0x1402f96fc
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, rsi
mov r12d, eax
mov dword [rsp + 0x50], eax
call fcn.1402ff570
test r12d, r12d
jne 0x1402f9347
mov rax, qword [rbp - 0x40]
mov r9b, 2
xor r8d, r8d
mov rcx, rsi
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.140224260
mov rcx, qword [rbp - 0x40]
test rax, rax
je 0x1402f96f4
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.14030be00
test eax, eax
jne 0x1402f3e50
mov ecx, 0x10
call fcn.1402d7360
mov rdi, rax
test rax, rax
je 0x1402f3e4b
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x58]
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x1402f85ea
mov rcx, rbx
call fcn.14028c590
mov rbx, rax
mov rcx, rbx
mov word [rbx + 0x14], 1
call fcn.140312650
mov r15, qword [rsp + 0x48]
lea rax, str.ValueList
mov r11, qword [rsp + 0x58]
mov qword [rbx], rax
lea rax, [fcn.140249850]
mov qword [rbx + 8], rdi
mov word [rbx + 0x14], 0x1a01
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
jmp 0x1402f18ac
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
mov r13, qword [rax + rcx*8]
lea rbx, [rdx + 0x38]
mov rax, qword [rsp + 0x60]
add rbx, r11
mov r12d, dword [rdx + r11]
mov rsi, qword [r13 + 0x30]
mov r11, qword [rax + 0x70]
movq xmm4, rbx
movsxd rdi, dword [rbx]
xor eax, eax
punpcklqdq xmm4, xmm4
mov r9d, eax
mov r15, qword [rsi]
mov edx, eax
mov r14, qword [r15]
test edi, edi
jle 0x1402f877c
cmp edi, 8
jb 0x1402f877c
cmp r8d, 6
jl 0x1402f877c
mov eax, edi
and eax, 0x80000007
jge 0x1402f869f
dec eax
or eax, 0xfffffff8
inc eax
mov r10d, edi
lea rcx, [r11 + 0x20]
sub r10d, eax
mov r8d, 4
nop
movq xmm3, xmm8
movd xmm1, r9d
pshufd xmm1, xmm1, 0
lea eax, [r8 - 2]
paddd xmm1, xmm3
movd xmm2, eax
pshufd xmm2, xmm2, 0
lea eax, [r8 + 2]
paddd xmm2, xmm3
lea rcx, [rcx + 0x40]
movq xmm0, xmm7
add r9d, 8
paddd xmm1, xmm0
add rdx, 8
pmovsxdq xmm0, xmm1
vpmullq xmm1, xmm0, xmm6
paddq xmm1, xmm4
movq xmm0, xmm7
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movdqu xmmword [rcx - 0x60], xmm1
vpmullq xmm1, xmm0, xmm6
paddq xmm1, xmm4
movd xmm2, r8d
movdqu xmmword [rcx - 0x50], xmm1
add r8d, 8
pshufd xmm2, xmm2, 0
movq xmm0, xmm7
paddd xmm2, xmm3
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
vpmullq xmm1, xmm0, xmm6
paddq xmm1, xmm4
movq xmm0, xmm7
paddd xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm1
pmovsxdq xmm0, xmm2
vpmullq xmm1, xmm0, xmm6
paddq xmm1, xmm4
movdqu xmmword [rcx - 0x30], xmm1
cmp r9d, r10d
jl 0x1402f86b0
cmp rdx, rdi
jge 0x1402f87a9
lea r8d, [r9 + 1]
nop word [rax + rax]
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, rbx
mov qword [r11 + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x1402f8790
mov rax, qword [rsp + 0x48]
mov r9d, edi
mov edx, r12d
mov qword [rsp + 0x20], r11
mov rcx, rsi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x60]
mov rdx, r15
mov r12d, eax
mov dword [rsp + 0x50], eax
call fcn.1402ff570
test r12d, r12d
jne 0x1402f5cbd
mov rcx, rsi
call qword [r14 + 0x50]
mov r14, qword [rsp + 0x78]
mov byte [r13 + 2], r12b
test eax, eax
je 0x1402f24c0
jmp 0x1402f2f8a
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], 0
je 0x1402f8846
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402f2dda
mov rcx, rbx
call fcn.1403126a0
mov r11, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x1402f18ac
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
movups xmmword [rbp + 0x1b8], xmm0
mov qword [rbp + 0x1b8], rbx
movups xmmword [rbp + 0x1d8], xmm0
mov byte [rbp + 0x1e0], r9b
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1e8], rax
test byte [rcx + 2], 1
je 0x1402f88ae
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1402f88a4
mov rcx, rbx
call fcn.1403126a0
mov rcx, qword [rsp + 0x48]
xor edx, edx
mov word [rbx + 0x14], 0x401
mov dword [rbx], edx
jmp 0x1402f88c2
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, 1
mov word [rbx + 0x14], ax
mov r8d, dword [rcx + 8]
lea rdx, [rbp + 0x1b8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x50], eax
mov r12d, eax
call fcn.1402ff570
cmp dword [rbp + 0x1dc], 0
jle 0x1402f8946
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1402f8915
cmp byte [rbx + 0x16], 1
jne 0x1402f8915
mov rax, qword [rbx + 8]
jmp 0x1402f8928
test cl, 1
je 0x1402f891e
xor eax, eax
jmp 0x1402f8928
mov dl, 1
mov rcx, rbx
call fcn.1403113b0
mov r8, rax
lea rdx, [0x140417fb8]
mov rcx, rsi
call fcn.1402f1260
mov r12d, dword [rbp + 0x1dc]
mov dword [rsp + 0x50], r12d
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
jne 0x1402f8958
mov byte [rbx + 0x16], r9b
jmp 0x1402f8970
cmp byte [rbx + 0x16], r9b
je 0x1402f8970
movzx edx, r9b
mov rcx, rbx
call fcn.1402fc660
movzx r9d, byte [rsp + 0x40]
test r12d, r12d
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f1e82
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1402f19a6
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rcx, qword [rsp + 0x60]
mov rdx, rbx
mov r12d, eax
mov dword [rsp + 0x50], eax
call fcn.1402ff570
test r12d, r12d
jne 0x1402f5cbd
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x1402f89f1
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r14 + rcx*8]
mov qword [rsp + 0x48], rax
mov eax, dword [r13 + 0x198]
mov rdi, qword [rsp + 0x70]
test eax, eax
jne 0x1402f9902
mov r14, qword [rbp - 0x50]
cmp rdi, r14
jb 0x1402f8f54
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r13 + 0x210]
test rdx, rdx
je 0x1402f8f54
mov eax, dword [r13 + 0x220]
mov rcx, qword [r13 + 0x218]
add r14, rax
mov qword [rbp - 0x50], r14
call rdx
test eax, eax
jne 0x1402f9711
cmp rdi, r14
jae 0x1402f8a20
mov rsi, qword [rsp + 0x60]
jmp 0x1402f1e72
mov rcx, qword [rsp + 0x48]
mov edi, dword [r13 + 0x30]
or qword [r13 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 2
jne 0x1402f8a94
mov byte [rbx + 0x16], 1
jmp 0x1402f8aaf
cmp byte [rbx + 0x16], 1
je 0x1402f8aaf
mov dl, 1
mov rcx, rbx
call fcn.1402fc660
mov r12d, eax
test eax, eax
jne 0x1402f5cbd
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x50], eax
mov r12d, eax
test edi, edi
jne 0x1402f8ad2
and qword [r13 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1402ff570
and dword [rsi + 0xc8], 0xfffffffc
test r12d, r12d
jne 0x1402f9347
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov qword [rbp - 0x18], rdx
cmp byte [r13 + 0x67], 0
jne 0x1402f3e50
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1402f9701
mov r10, qword [rbx]
test r10, r10
je 0x1402f9701
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x48]
movsxd rdx, dword [rdx + 8]
je 0x1402f91c1
mov r12, qword [rsp + 0x48]
movzx edi, byte [r13 + 0x6c]
mov r8, qword [rsi + 0x70]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r11
test edx, edx
jle 0x1402f8b80
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1402f8b70
movzx eax, byte [r12 + 2]
lea r9, [rbp - 0x18]
mov rcx, rbx
mov byte [r13 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x6c], dil
mov rcx, rsi
mov dword [rsp + 0x50], eax
mov r12d, eax
call fcn.1402ff570
test r12d, r12d
jne 0x1402f8bc5
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 4], r12d
je 0x1402f8bff
mov rax, qword [rbp - 0x18]
mov qword [r13 + 0x38], rax
jmp 0x1402f8bff
cmp r12b, 0x13
jne 0x1402f8bfa
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x1402f8bfa
mov rcx, qword [rsp + 0x48]
movzx ecx, word [rcx + 2]
cmp ecx, 4
jne 0x1402f972e
xor edx, edx
mov r12d, edx
mov dword [rsp + 0x50], edx
jmp 0x1402f1675
mov r15, qword [rsp + 0x48]
inc qword [rsi + 0x38]
test r12d, r12d
jne 0x1402f9347
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1402f8c3f
mov rcx, rdx
call fcn.14028c590
mov rdx, rax
jmp 0x1402f8c45
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x1402f18ac
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x60]
add rsi, qword [rax + 0x68]
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x1402f8ca4
mov rcx, rsi
call fcn.14028c590
mov rsi, rax
xor edx, edx
jmp 0x1402f8caa
mov word [rsi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov edi, edx
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1402f8cd5
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x1402f8cec
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1402f8cec
mov rcx, rbx
call fcn.14022aaf0
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x1402f8cfd
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x1402f8d17
sub dword [rbx + 0x14], 1
jne 0x1402f8d17
mov rcx, rbx
call fcn.14030ec20
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x60]
jmp 0x1402f18ac
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp qword [r15], rbx
je 0x1402f8d96
mov qword [r15 + 0x18], rsi
mov qword [r15], rbx
mov byte [r15 + 0x28], r9b
movzx eax, byte [r15 + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x1402f8d96
mov r13, qword [rsp + 0x48]
lea r8, [r15 + 0x30]
lea r8, [r8 + rdx*8]
mov eax, dword [r13 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r11
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1402f8d70
mov r13, qword [rsp + 0x68]
movzx eax, word [rbx + 0x14]
lea r8, [r15 + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, r15
or ax, 1
mov word [rbx + 0x14], ax
mov rax, qword [r15 + 8]
movzx edx, byte [r15 + 0x2a]
call qword [rax + 0x18]
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x1402f8f5e
jle 0x1402f8e19
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1402f8deb
cmp byte [rbx + 0x16], 1
jne 0x1402f8deb
mov rax, qword [rbx + 8]
jmp 0x1402f8dfe
test cl, 1
je 0x1402f8df4
xor eax, eax
jmp 0x1402f8dfe
mov dl, 1
mov rcx, rbx
call fcn.1403113b0
mov r8, rax
lea rdx, [0x140417fb8]
mov rcx, rsi
call fcn.1402f1260
mov r12d, dword [r15 + 0x24]
mov dword [rsp + 0x50], r12d
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
mov esi, dword [r15 + 0x20]
add rdi, 0x128
mov r14d, dword [rbx + 4]
mov rbx, qword [rdi]
test rbx, rbx
je 0x1402f8f3b
nop
test esi, esi
js 0x1402f8e63
cmp dword [rbx], esi
jne 0x1402f8e5a
mov eax, dword [rbx + 4]
test eax, eax
js 0x1402f8e5a
cmp eax, 0x1f
jg 0x1402f8e63
bt r14d, eax
jae 0x1402f8e63
lea rdi, [rbx + 0x18]
jmp 0x1402f8f2f
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1402f8e72
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov qword [rdi], rax
cmp rbx, qword [r13 + 0x1f0]
jae 0x1402f8ebd
cmp rbx, qword [r13 + 0x1e0]
jb 0x1402f8ea1
mov rax, qword [r13 + 0x1d8]
mov qword [rbx], rax
mov qword [r13 + 0x1d8], rbx
jmp 0x1402f8f2f
cmp rbx, qword [r13 + 0x1e8]
jb 0x1402f8ebd
mov rax, qword [r13 + 0x1c8]
mov qword [rbx], rax
mov qword [r13 + 0x1c8], rbx
jmp 0x1402f8f2f
cmp qword [r13 + 0x308], 0
je 0x1402f8ed4
mov rdx, rbx
mov rcx, r13
call fcn.1402875f0
jmp 0x1402f8f2f
cmp dword [0x140439d10], 0
je 0x1402f8f26
mov rcx, qword [0x14043f3f0]
test rcx, rcx
je 0x1402f8eef
call qword [0x140439d90]
mov rcx, rbx
call qword [0x140439d48]
dec qword [0x14043f378]
movsxd rcx, eax
sub qword [0x14043f330], rcx
mov rcx, rbx
call qword [0x140439d38]
mov rcx, qword [0x14043f3f0]
test rcx, rcx
je 0x1402f8f2f
call qword [0x140439da0]
jmp 0x1402f8f2f
mov rcx, rbx
call qword [0x140439d38]
mov rbx, qword [rdi]
test rbx, rbx
jne 0x1402f8e40
mov rsi, qword [rsp + 0x60]
xor edx, edx
mov dword [r15 + 0x24], edx
test r12d, r12d
jne 0x1402f9347
jmp 0x1402f583b
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18b2
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18b2
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.14023a3c0
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x58]
div rcx
mov rcx, qword [rbx + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x1402f18ac
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.14023a3c0
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
mov r15, qword [rsp + 0x48]
div rcx
mov rax, qword [rbx + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x1402f9056
inc dword [rsi + 0xf4]
jmp 0x1402f2f8f
inc dword [rsi + 0xf0]
mov r11, qword [rsp + 0x58]
jmp 0x1402f18ac
movzx eax, byte [r13 + 0x6e]
test al, 0x41
je 0x1402f90c3
cmp byte [rsi + 0xc3], 0xfe
je 0x1402f90c3
mov rcx, qword [rsp + 0x48]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x1402f9092
mov r9, qword [rsi + 0xf8]
test r9, r9
je 0x1402f90c3
test al, 0x40
je 0x1402f9134
mov rdx, r9
mov rcx, rsi
call fcn.1402f9f30
mov rcx, qword [r13 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xf8]
mov rcx, rbx
call fcn.14021ea10
xor edx, edx
mov ebx, 1
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x140439eb8]
jl 0x1402f9123
cmp byte [r15], 0xb5
je 0x1402f167a
cmp dword [rsi + 0x90], 1
mov edx, ebx
jle 0x1402f911f
mov eax, 0x18
xor edi, edi
nop dword [rax]
mov rcx, qword [rsi + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x1402f9111
mov dword [rax + rcx + 4], edi
inc edx
add rax, 0x18
cmp edx, dword [rsi + 0x90]
jl 0x1402f9100
xor edx, edx
mov eax, edx
inc eax
mov dword [r15 + 4], eax
inc dword [rsi + 0xec]
jmp 0x1402f2f91
cmp dword [r13 + 0xe4], 1
jle 0x1402f9185
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.1402d7330
mov rdx, qword [r13 + 0x100]
mov r9, rax
mov r8, rsi
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xf8]
test rbx, rbx
je 0x1402f90c1
mov rdx, rbx
mov rcx, r13
call fcn.1402afb40
jmp 0x1402f90c1
mov rdx, qword [r13 + 0x100]
mov ebx, 1
mov ecx, ebx
mov r8, rsi
call qword [r13 + 0xf8]
xor edx, edx
jmp 0x1402f90c8
mov r12d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov r15, qword [rsp + 0x48]
jmp 0x1402f18b2
mov rsi, qword [rsp + 0x60]
jmp 0x1402f584b
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r13, qword [rsp + 0x68]
add r15, 0x18
mov rdi, qword [rsp + 0x70]
jmp 0x1402f1400
mov r12, qword [rsp + 0x48]
mov ecx, dword [r12 + 4]
mov dword [rsi + 0x34], ecx
movzx eax, byte [r12 + 8]
mov byte [rsi + 0xc2], al
test ecx, ecx
je 0x1402f92c4
movzx eax, word [r12 + 2]
mov rcx, rsi
test ax, ax
je 0x1402f926e
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x414680]
call fcn.1402f1260
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x1402f927f
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.1402d7330
mov qword [rsi + 0xa8], rax
jmp 0x1402f927f
mov r8, qword [r12 + 0x10]
lea rdx, [0x140417fb8]
call fcn.1402f1260
mov r9, qword [rsi + 0xf8]
mov rcx, r12
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, dword [r12 + 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.140200de0
mov rcx, rsi
call fcn.1402fa920
mov r8, qword [rsp + 0x68]
mov r12d, eax
mov r14, qword [rsp + 0x48]
mov r13d, 1
cmp eax, 5
jne 0x1402f92ec
mov dword [rsi + 0x34], eax
jmp 0x1402f4183
cmp dword [rsi + 0x34], 0
mov r12d, 0x65
cmovne r12d, r13d
jmp 0x1402f4183
mov r12d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x34], r12d
mov rcx, rsi
mov byte [rsi + 0xc2], 2
call fcn.1402f1260
cmp byte [rsi + 0xc4], 0
mov r13d, 1
mov r15, qword [rsp + 0x68]
cmovge r12d, r13d
jmp 0x1402f4e0b
mov ecx, 0x16c88
call fcn.1402adcc0
mov r12d, eax
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e00
lea r10, [0x140000000]
movsxd rax, esi
mov rsi, qword [rsp + 0x60]
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
mov rax, qword [r15 + rcx*8]
mov rcx, rsi
movzx r8d, byte [rdx + r10 + 0x413240]
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 + 0x43b0c0]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x43a070]
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
mov r12d, 0xc13
jmp 0x1402f4e00
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
mov r12d, 5
jmp 0x1402f4e05
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1402f93c7
mov r12d, dword [rsp + 0x50]
mov byte [r15 + 0x65], 0
jmp 0x1402f4e05
mov r14, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, r14
mov r12d, 5
sub rcx, qword [rsp + 0x78]
mov r8, r15
imul rcx
mov r13, rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
mov byte [r15 + 0x65], 0
mov dword [rsi + 0x34], r12d
jmp 0x1402f4183
mov r15, qword [rsp + 0x68]
bt rax, 0x14
mov eax, 0xb
mov r12d, 8
cmovae r12d, eax
mov r14, rcx
mov r13d, 1
jmp 0x1402f4e15
mov r14, qword [rsp + 0x48]
mov r13d, 1
cmp r12b, 5
jne 0x1402f9980
mov r8, qword [rsp + 0x68]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
mov dword [rsi + 0x34], r12d
jmp 0x1402f4183
mov rdx, qword [rsi + 0xa8]
test rdx, rdx
je 0x1402f94c5
mov rcx, r13
call fcn.1402afb40
mov edx, 0x1c
mov rcx, r13
call fcn.1402afcd0
test rax, rax
je 0x1402f94f7
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140416fa0]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x140416fa8]
mov dword [rax + 0x18], ecx
mov qword [rsi + 0xa8], rax
mov rax, r15
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x80]
cmp dword [rcx], eax
je 0x1402f9524
mov rcx, r13
call fcn.1402e30e0
mov eax, dword [rsi + 0xc8]
mov r12d, 0x11
mov r15, qword [rsp + 0x68]
and eax, 0xffffffed
or eax, 1
mov dword [rsi + 0xc8], eax
jmp 0x1402f4e05
mov r15, qword [rsp + 0x68]
mov r12d, 0x204
jmp 0x1402f4e05
mov rcx, qword [rbx + 0x10]
call fcn.1402a6950
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
jmp 0x1402f4e0b
lea rax, [0x14041fce4]
mov r9d, 0x155c6
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.140200de0
mov r15, qword [rsp + 0x68]
mov eax, 0xb
mov rsi, qword [rsp + 0x60]
mov r12d, eax
mov rdi, qword [rsp + 0x70]
mov r13d, 1
jmp 0x1402f4e10
mov r15, r13
mov rsi, qword [rsp + 0x60]
lea rdx, str.string_or_blob_too_big
mov rcx, rsi
call fcn.1402f1260
mov r12d, 0x12
jmp 0x1402f4e00
mov r15, qword [rsp + 0x68]
jmp 0x1402f95bd
mov r15, qword [rsp + 0x68]
jmp 0x1402f95c2
lea rax, [0x14041fce4]
mov r12d, 0x30b
mov ecx, r12d
mov qword [rsp + 0x20], rax
mov r9d, 0x1797e
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140200de0
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e00
mov ecx, 0x17a4b
call fcn.1402adcc0
mov r15, qword [rsp + 0x68]
mov r12d, eax
jmp 0x1402f4e05
mov r15, qword [rsp + 0x68]
mov r12d, 6
mov byte [rsi + 0xc2], 2
jmp 0x1402f4e00
call fcn.1402e3040
jmp 0x1402f3e50
mov rcx, qword [rbp - 0x10]
call fcn.14021ea10
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e00
mov r13d, 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, rsi
mov r12d, r13d
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e0b
mov rcx, rbx
call fcn.1401f7650
mov rsi, qword [rsp + 0x60]
lea rdx, [0x140417fb8]
mov rcx, rsi
mov r8, rax
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e05
cmp esi, 5
lea rax, str.into
mov rsi, qword [rsp + 0x60]
lea r8, str.out_of
mov r13d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, rsi
mov r12d, r13d
call fcn.1402f1260
mov r15, qword [rsp + 0x68]
jmp 0x1402f4e0b
call qword [rdi + 0x38]
jmp 0x1402f3e4b
mov rdi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x68]
mov r12d, 6
jmp 0x1402f4e05
mov qword [rbp - 0x50], 0xffffffffffffffff
mov r12d, 9
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
jmp 0x1402f4e05
mov r15, qword [rsp + 0x68]
cmp ecx, 5
movzx eax, cl
mov ecx, 2
cmove eax, ecx
mov byte [rsi + 0xc2], al
jmp 0x1402f4e00
mov eax, dword [rsi + 0x2c]
mov r12, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [rsi + 0x2c], eax
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + 0xa0], rcx
cmp byte [r13 + 0x67], 0
jne 0x1402f3e50
test byte [r13 + 0x6e], 4
je 0x1402f979b
mov rdx, qword [r13 + 0x100]
xor r9d, r9d
mov r8, rsi
mov ecx, 4
call qword [r13 + 0xf8]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r14
mov r12d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [rsi + 0x30], edx
mov r8, qword [rsp + 0x68]
mov r13d, 1
mov r14, qword [rsp + 0x48]
jmp 0x1402f4183
mov r12, qword [rsp + 0x48]
movzx eax, byte [r13 + 0x65]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x1402f98c9
test ecx, ecx
je 0x1402f9813
mov edx, 0x204
mov rcx, r13
call fcn.1402e3840
mov al, 1
mov r15d, 1
jmp 0x1402f9851
test ebx, ebx
je 0x1402f982d
cmp dword [r13 + 0xe0], 0
jle 0x1402f982d
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1402f93cc
mov r15d, 1
mov rcx, rsi
mov edx, r15d
call fcn.1402f0990
mov r12d, eax
test eax, eax
jne 0x1402f9bbe
mov r12, qword [rsp + 0x48]
movzx eax, bl
mov rcx, rsi
mov byte [r13 + 0x65], al
call fcn.1402fa920
cmp eax, 5
jne 0x1402f989e
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r14
mov r12d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r15d
mov dword [rsi + 0x30], edx
sub al, bl
mov byte [r13 + 0x65], al
mov dword [rsi + 0x34], r12d
jmp 0x1402f97c7
mov rcx, r13
call fcn.1402aaef0
cmp dword [rsi + 0x34], 0
mov r12d, 0x65
mov r8, qword [rsp + 0x68]
mov r13d, 1
mov r14, qword [rsp + 0x48]
cmovne r12d, r13d
jmp 0x1402f4183
test ebx, ebx
jne 0x1402f98e1
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, rsi
call fcn.1402f1260
jmp 0x1402f42fc
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, rsi
cmovne rdx, rax
call fcn.1402f1260
jmp 0x1402f42fc
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov r12d, 9
jmp 0x1402f4e05
mov r13, qword [rsp + 0x68]
jmp 0x1402f3e46
mov r15, qword [rsp + 0x68]
mov eax, 0xb
mov r14, qword [rsp + 0x48]
mov r13d, 1
mov rdi, qword [rsp + 0x70]
jmp 0x1402f4e17
mov r15, qword [rsp + 0x68]
mov r14, r13
mov rsi, qword [rsp + 0x60]
mov r13d, 1
mov rdi, qword [rsp + 0x70]
mov eax, 0xb
jmp 0x1402f4e15
mov r15, qword [rsp + 0x68]
mov eax, 0xb
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
jmp 0x1402f4e17
mov r15, qword [rsp + 0x68]
mov eax, 0xb
jmp 0x1402f4e15
mov r12d, dword [rsp + 0x50]
jmp 0x1402f5a10
cmp r12d, 0x210a
jne 0x1402f99cf
lea rcx, [0x14041fce4]
mov r9d, 0x182da
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140200de0
mov r12d, 0xb
cmp qword [rsi + 0xa8], 0
jne 0x1402f9a4e
cmp r12d, 0xc0a
je 0x1402f9a4e
mov ecx, r12d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x1402f9a32
sub ecx, 1
je 0x1402f9a29
cmp ecx, 0x19f
je 0x1402f9a20
movzx eax, r12b
cmp eax, 0x1d
jae 0x1402f9a39
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x411ca0]
test rcx, rcx
je 0x1402f9a39
mov r8, rcx
jmp 0x1402f9a39
lea r8, str.abort_due_to_ROLLBACK
jmp 0x1402f9a39
lea r8, str.no_more_rows_available
jmp 0x1402f9a39
lea r8, str.another_row_available
lea rdx, [0x140417fb8]
mov rcx, rsi
call fcn.1402f1260
mov dword [rsi + 0x34], r12d
jmp 0x1402f9a5b
mov dword [rsi + 0x34], r12d
cmp r12d, 0xc0a
je 0x1402f9a87
movzx eax, r12b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x1402f9a87
mov rcx, qword [r15]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x1402f9a81
xor r8d, r8d
xor edx, edx
call rax
jmp 0x1402f9a83
mov eax, ebx
mov dword [r15 + 0x5c], eax
mov r9, qword [rsi + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, r12d
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.140200de0
cmp byte [rsi + 0xc5], 2
jne 0x1402f9add
mov rcx, rsi
call fcn.1402fa920
cmp r12d, 0xc0a
jne 0x1402f9b7a
mov rcx, r15
call fcn.1402d7fe0
mov r8, qword [rsp + 0x68]
movzx eax, byte [rbp - 0x6c]
mov r12d, r13d
test al, al
je 0x1402f4183
cmp eax, 1
jb 0x1402f9b31
mov ecx, eax
mov rax, qword [r8 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax - 8]
or word [rcx + 0x72], 8
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax + 0x38]
or word [rcx + 0x72], 8
and dword [r8 + 0x2c], 0xffffffef
cmp dword [r8 + 0x48], 0
jne 0x1402f4183
cmp dword [r8 + 0x28], 0
mov edi, ebx
jle 0x1402f417e
nop dword [rax]
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax + rbx + 0x18]
test byte [rcx + 0x72], 8
je 0x1402f9b69
call fcn.1402e4bc0
mov r8, qword [rsp + 0x68]
inc edi
add rbx, 0x20
cmp edi, dword [r8 + 0x28]
jl 0x1402f9b50
jmp 0x1402f417e
cmp r12d, 0xb
jne 0x1402f9af2
mov r8, qword [rsp + 0x68]
cmp byte [r8 + 0x65], 0
jne 0x1402f9af7
movabs rax, 0x200000000
or qword [r8 + 0x30], rax
jmp 0x1402f9af7
mov r8, qword [rsp + 0x68]
mov r13, rbx
mov r12d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x1402f4183
mov r8, qword [rsp + 0x68]
mov r13, r15
mov r14, qword [rsp + 0x48]
jmp 0x1402f4183
add dword [rsi + 0xe4], edi
cmp dword [rsi + 0xd0], 0
movaps xmm9, xmmword [rsp + 0x3f0]
movaps xmm8, xmmword [rsp + 0x400]
movaps xmm7, xmmword [rsp + 0x410]
movaps xmm6, xmmword [rsp + 0x420]
mov r15, qword [rsp + 0x430]
mov r14, qword [rsp + 0x438]
mov r13, qword [rsp + 0x478]
mov rdi, qword [rsp + 0x470]
mov rbx, qword [rsp + 0x468]
je 0x1402f9c31
mov rcx, rsi
call fcn.140312570
mov eax, r12d
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.14032a2c0
add rsp, 0x440
pop r12
pop rsi
pop rbp
ret