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

Disassembly:
mov r11, rsp
push rbp
push rdi
push r14
lea rbp, [r11 - 0x128]
sub rsp, 0x210
mov rax, qword [0x140143020]
xor rax, rsp
mov qword [rbp + 0xd8], rax
mov r9, qword [rcx + 0x88]
xor edi, edi
mov qword [r11 + 0x10], rbx
xor al, al
mov r14, rcx
mov qword [r11 + 0x18], rsi
mov r8d, edi
mov qword [r11 + 0x20], r12
mov esi, edi
mov r12, qword [rcx + 0x68]
mov qword [r11 - 0x20], r13
mov r11d, edi
mov r13, qword [rcx]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x48], r9
movzx r10d, byte [r13 + 0x64]
mov byte [rsp + 0x40], r10b
mov dword [rsp + 0x44], edi
mov qword [rbp - 0x80], r13
mov byte [rbp - 0x78], al
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x78], r12
mov dword [rbp - 0x74], edi
cmp dword [rcx + 0xd0], edi
je 0x14003f4d1
call fcn.140037150
movzx r10d, byte [rsp + 0x40]
mov r8d, edi
mov r9, qword [rsp + 0x58]
mov r11d, edi
cmp qword [r13 + 0x210], rdi
je 0x14003f4f2
mov ecx, dword [r13 + 0x220]
xor edx, edx
mov eax, dword [r14 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x14003f4f9
mov rbx, 0xffffffffffffffff
cmp dword [r14 + 0x34], 7
mov edx, 1
mov qword [rsp + 0x200], r15
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm7
mov qword [rsp + 0x60], rbx
je 0x140045bc9
mov dword [r14 + 0x34], edi
mov qword [r14 + 0x48], rdi
mov eax, dword [r13 + 0x198]
mov dword [r13 + 0x298], edi
test eax, eax
jne 0x1400459de
movsxd rax, dword [r14 + 0x30]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
lea rcx, [0x140000000]
movzx ebx, byte [r15]
inc rsi
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x70], rsi
cmp ebx, 0xb5
ja case.default.0x14003f58b
movsxd rax, ebx
mov ecx, dword [rcx + rax*4 + 0x45d84]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r12 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
jmp 0x140044e7d
movsxd rax, dword [r15 + 4]
imul rax, rax, 0x38
test byte [rax + r12 + 0x14], 4
je case.0x14003f58b.89
mov rax, qword [rax + r12]
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
jmp case.0x14003f58b.89
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
mov eax, dword [r15 + 0xc]
dec eax
cdqe
mov qword [rcx + r12], rax
mov eax, 4
mov word [rcx + r12 + 0x14], ax
cmp dword [r15 + 8], 0
jne 0x140044d17
jmp case.0x14003f58b.89
movsxd rax, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + r12 + 0x14], di
cdqe
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
jmp 0x1400401d3
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r12]
mov word [r8 + r12 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
lea r8, [r9 + rcx*8]
mov qword [rsp + 0x48], r8
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401d3
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
je case.0x14003f58b.89
mov rbx, qword [r14 + 0x108]
mov r8, qword [rsp + 0x48]
test rbx, rbx
je 0x1400454f4
cmp dword [r8 + 4], 0
jne 0x1400454f4
mov rax, qword [rbx + 8]
mov rcx, r13
mov rdx, qword [r14 + 0x38]
dec dword [r14 + 0x118]
mov qword [r14 + 0x108], rax
call fcn.14003add0
mov rcx, rbx
call fcn.140037de0
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 8], 4
jne 0x14003f723
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r14 + 0x88]
mov r12, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x78], r12
lea rcx, [rax + rax*2]
lea r8, [r9 + rcx*8]
mov r11d, dword [rsp + 0x50]
mov r15, r8
mov qword [rsp + 0x48], r8
mov r8d, dword [rsp + 0x44]
jmp 0x1400401cd
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x14003f784
call fcn.14003f010
mov r9, qword [rsp + 0x58]
mov rcx, rax
mov edx, 1
jmp 0x14003f78d
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [r15 + 4]
mov qword [rcx], rax
mov r8d, dword [rsp + 0x44]
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x14003f7e9
mov rcx, rdx
call fcn.14003f010
mov r9, qword [rsp + 0x58]
mov rdx, rax
mov rax, qword [r15 + 0x10]
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1400401cd
mov eax, 4
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov word [rdx + 0x14], ax
mov rax, qword [r15 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1400401cd
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x14003f832
mov rcx, rdx
call fcn.14003f010
mov r9, qword [rsp + 0x58]
mov rdx, rax
mov eax, 8
jmp 0x14003f7ee
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x14003f867
mov rcx, rbx
call fcn.14003f010
mov r8, qword [rsp + 0x48]
mov rbx, rax
jmp 0x14003f870
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [r8 + 0x10]
test rdx, rdx
jne 0x14003f87d
mov eax, edi
jmp 0x14003f892
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x14003f884
and eax, 0x3fffffff
movzx edi, byte [rsp + 0x40]
mov dword [r8 + 4], eax
cmp dil, 1
je 0x14003f919
xor r15d, r15d
mov r9b, 1
mov rcx, rbx
mov qword [rsp + 0x20], r15
lea r8, [r15 - 1]
call fcn.140034c00
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140045889
mov edx, edi
mov rcx, rbx
call fcn.140033a60
test eax, eax
jne 0x140045bc4
mov r8, qword [rsp + 0x48]
mov eax, 0x2000
or word [rbx + 0x14], ax
mov dword [rbx + 0x20], r15d
cmp byte [r8 + 1], 0xfa
jne 0x14003f900
mov rdx, qword [r8 + 0x10]
mov rcx, r13
call fcn.1400083c0
mov r8, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
mov byte [r8 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r8 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r8 + 4], eax
cmp eax, dword [r13 + 0x88]
jg 0x140045889
mov byte [r8], 0x49
jmp 0x14003f936
mov r8, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x40]
movsxd rax, dword [r8 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x14003f95d
mov rcx, rdx
call fcn.14003f010
mov r8, qword [rsp + 0x48]
mov rdx, rax
mov eax, 0x2202
mov word [rdx + 0x14], ax
mov rax, qword [r8 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r8 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], dil
movsxd rax, dword [r8 + 0xc]
test eax, eax
jle 0x14004521c
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
imul rcx, rax, 0x38
movzx eax, word [r8 + 2]
mov r8d, dword [rsp + 0x44]
cmp qword [rcx + r12], rax
jne 0x14004525f
mov eax, 0x2210
mov word [rdx + 0x14], ax
jmp 0x1400401c6
mov rbx, qword [rsp + 0x48]
mov r8d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], r8w
je 0x14003f9e8
call fcn.14003f010
mov rcx, rax
mov edx, 1
mov r8d, 0x9000
jmp 0x14003f9f1
mov eax, 4
mov word [rcx + 0x14], ax
cmp dword [rbx + 4], 0
mov esi, edx
mov edi, dword [rbx + 0xc]
mov r9d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r9w
xor r15d, r15d
mov word [rcx + 0x14], si
sub edi, eax
mov dword [rcx + 0x10], r15d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x140045253
test word [rbx + 0x38], r8w
lea rbx, [rbx + 0x38]
je 0x14003fa3b
lea rcx, [rbx - 0x14]
call fcn.140034160
mov r8d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], r15d
test edi, edi
jg 0x14003fa21
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
movsxd rax, dword [r15 + 4]
mov ebx, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + r12 + 0x14]
and ax, bx
or ax, 1
mov word [rcx + r12 + 0x14], ax
jmp case.0x14003f58b.89
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x14003faa0
mov rcx, rbx
call fcn.14003f010
mov rbx, rax
jmp 0x14003faa9
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
test rdx, rdx
jne 0x14003fad7
mov edx, eax
call fcn.1400347e0
mov rcx, rbx
call fcn.140033ec0
test eax, eax
jne 0x140045bc4
jmp 0x14003fae7
mov r8, rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
call fcn.140034c00
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov byte [rbx + 0x16], r10b
jmp 0x1400401d3
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [r14 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.140034a80
test eax, eax
jne 0x140045889
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r12
test word [rbx + 0x14], ax
je 0x14003fb4d
mov rcx, rbx
call fcn.1400347c0
movups xmm0, xmmword [rdi - 0x38]
mov r8d, dword [rsp + 0x44]
mov ecx, 0xafff
mov r15, qword [rsp + 0x48]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x1400401c1
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, r12
add rbx, r12
xor r15d, r15d
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x14003fbc1
cmp dword [rbx + 0x20], r15d
je 0x14003fbce
mov rcx, rbx
call fcn.1400341a0
mov edx, 1
movups xmm0, xmmword [rdi]
mov eax, 0x4000
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], dx
mov dword [rdi + 0x20], r15d
test word [rbx + 0x14], ax
je 0x14003fc14
mov rcx, rbx
call fcn.140033e60
test eax, eax
jne 0x140045bbf
lea edx, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x14003fbb0
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
xor edi, edi
mov r11d, dword [rsp + 0x50]
movzx r10d, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
jmp case.0x14003f58b.89
mov rcx, qword [rsp + 0x48]
mov r15, rcx
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, r12
imul rbx, rax, 0x38
add rbx, r12
mov r12d, 0x4000
nop dword [rax]
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.140034af0
test word [rbx + 0x14], r12w
je 0x14003fc95
mov rcx, rbx
call fcn.140033e60
test eax, eax
jne 0x140045bbf
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x14003fcb3
test byte [r15 + 2], 2
je 0x14003fcb3
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x14004524c
add rbx, 0x38
add rdi, 0x38
jmp 0x14003fc70
mov rcx, qword [rsp + 0x48]
mov r8d, 0x4000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r12
add rcx, r12
call fcn.140034af0
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
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, r12
mov rax, qword [rcx + r12]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x14003fd4a
mov rdx, rax
mov rcx, r8
call fcn.140034830
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp case.0x14003f58b.89
xor edx, edx
mov rcx, r14
call fcn.140038b00
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul r13, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r13, r12
imul rsi, rax, 0x38
movzx r14d, word [r13 + 0x14]
add rbx, r12
movzx eax, r14b
add rsi, r12
or al, byte [rbx + 0x14]
test al, 1
je 0x14003fde0
mov rcx, rsi
call fcn.1400347c0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
test r14b, 0x12
jne 0x14003fe13
xor r8d, r8d
movzx edx, r10b
mov rcx, r13
call fcn.140033f30
test eax, eax
jne 0x140045bb6
movzx r14d, word [r13 + 0x14]
mov r15d, 0xfffd
and r14w, r15w
mov eax, 0x400
jmp 0x14003fe2e
mov eax, 0x400
test ax, r14w
je 0x14003fe28
mov rcx, r13
call fcn.140033ec0
jmp 0x14003fdf5
mov r15d, 0xfffd
movzx edi, word [rbx + 0x14]
test dil, 0x12
jne 0x14003fe4a
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rbx
call fcn.140033f30
jmp 0x14003fe57
test ax, di
je 0x14003fe67
mov rcx, rbx
call fcn.140033ec0
test eax, eax
jne 0x140045bb6
movzx edi, word [rbx + 0x14]
and di, r15w
mov rax, qword [rbp - 0x80]
mov edx, dword [rbx + 0x10]
add edx, dword [r13 + 0x10]
movsxd r15, edx
movsxd rax, dword [rax + 0x88]
cmp r15, rax
jg 0x14004587b
xor eax, eax
mov rcx, rsi
mov r8d, eax
cmp rsi, rbx
sete r8b
add edx, 2
call fcn.140033a80
test eax, eax
jne 0x140045bb6
movzx eax, word [rsi + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rsi + 0x14], ax
cmp rsi, rbx
je 0x14003fed2
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rsi + 8]
call fcn.1400f3380
mov word [rbx + 0x14], di
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rsi + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.1400f3380
movzx r10d, byte [rsp + 0x40]
mov word [r13 + 0x14], r14w
cmp r10b, 1
jbe 0x14003fefc
and r15, 0xfffffffffffffffe
mov rax, qword [rsi + 8]
mov r8d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov byte [r15 + rax], 0
mov rax, qword [rsi + 8]
mov byte [r15 + rax + 1], 0
mov eax, 0x200
or word [rsi + 0x14], ax
mov dword [rsi + 0x10], r15d
xor edi, edi
mov r15, qword [rsp + 0x48]
mov byte [rsi + 0x16], r10b
jmp 0x1400401d3
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r8 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r8 + 0xc]
add rsi, r12
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, r12
add r14, r12
movzx ecx, word [rdi + 0x14]
movzx eax, cl
and al, bl
test al, 4
jne 0x14003ffaf
or cl, bl
test cl, 1
jne 0x140040174
and bx, 0x2d
jne 0x14003ff93
mov rcx, rsi
call fcn.14003ef60
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x14003ffa5
mov rcx, rdi
call fcn.14003ef60
and al, bl
test al, 4
je 0x140040088
mov r15, qword [rsp + 0x48]
mov r8, qword [rdi]
mov rcx, qword [rsi]
mov qword [rbp + 0x80], r8
movzx edx, byte [r15]
sub edx, 0x6a
je 0x140040055
sub edx, 1
je 0x140040044
sub edx, 1
je 0x140040033
cmp edx, 1
je 0x140040004
mov edx, 1
test rcx, rcx
je 0x140040142
cmp rcx, 0xffffffffffffffff
mov rax, r8
cmove rcx, rdx
cqo
idiv rcx
mov qword [rbp + 0x80], rdx
jmp 0x140040068
test rcx, rcx
je 0x14004013d
cmp rcx, 0xffffffffffffffff
jne 0x140040022
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14004008d
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x80], rax
jmp 0x140040068
mov rdx, rcx
lea rcx, [rbp + 0x80]
call fcn.14000e710
jmp 0x140040064
mov rdx, rcx
lea rcx, [rbp + 0x80]
call fcn.14000e6a0
jmp 0x140040064
mov rdx, rcx
lea rcx, [rbp + 0x80]
call fcn.14000e650
test eax, eax
jne 0x14004008d
mov rax, qword [rbp + 0x80]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
jmp 0x1400401b2
mov r15, qword [rsp + 0x48]
mov rcx, rsi
call fcn.1400342e0
mov rcx, rdi
movaps xmm6, xmm0
call fcn.1400342e0
movzx ecx, byte [r15]
sub ecx, 0x6a
je 0x14004010d
sub ecx, 1
je 0x140040107
sub ecx, 1
je 0x140040101
cmp ecx, 1
je 0x1400400f3
mov rcx, rsi
call fcn.140034250
mov rcx, rdi
mov rbx, rax
call fcn.140034250
mov qword [rbp + 0x80], rax
mov edx, 1
test rbx, rbx
je 0x140040142
cmp rbx, 0xffffffffffffffff
xorps xmm0, xmm0
cmove rbx, rdx
cqo
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140040111
ucomisd xmm6, xmm7
jp 0x1400400fb
je 0x14004013d
divsd xmm0, xmm6
jmp 0x140040111
mulsd xmm0, xmm6
jmp 0x140040111
subsd xmm0, xmm6
jmp 0x140040111
addsd xmm0, xmm6
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rdx, 0x7ff0000000000000
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x14004019c
mov edx, 1
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x140040179
mov rcx, r14
call fcn.140034160
mov r8d, dword [rsp + 0x44]
movzx r10d, byte [rsp + 0x40]
xor edi, edi
mov r14, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
jmp 0x1400401d3
mov r15, r8
jmp 0x140040142
mov r8d, dword [rsp + 0x44]
xor edi, edi
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov word [r14 + 0x14], dx
mov r14, qword [rsp + 0x68]
jmp case.0x14003f58b.89
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov r8d, dword [rsp + 0x44]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x50]
xor edi, edi
mov r9, qword [rsp + 0x58]
movzx r10d, byte [rsp + 0x40]
mov edx, 1
lea rcx, [0x140000000]
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
movsxd rax, dword [r15 + 4]
test eax, eax
je case.0x14003f58b.89
imul rcx, rax, 0x38
xor edx, edx
add rcx, r12
call fcn.140034870
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rcx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r15 + 0xc]
add rdi, r12
imul rsi, rax, 0x38
add rcx, r12
add rsi, r12
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test al, 1
je 0x140040271
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x140040266
mov rcx, rsi
call fcn.140034160
mov r8d, dword [rsp + 0x44]
jmp 0x1400401c1
mov word [rsi + 0x14], dx
xor edi, edi
jmp case.0x14003f58b.89
call fcn.140034250
mov rcx, rdi
mov rbx, rax
call fcn.140034250
movzx edx, byte [r15]
mov rcx, rax
cmp dl, 0x66
jne 0x140040292
and rbx, rax
jmp 0x140040307
cmp dl, 0x67
jne 0x14004029c
or rbx, rcx
jmp 0x140040307
test rcx, rcx
je 0x140040307
jns 0x1400402b6
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1400402bc
neg rcx
cmp rcx, 0x40
jl 0x1400402d5
test rbx, rbx
jns 0x1400402cf
cmp dl, 0x68
je 0x1400402cf
mov rbx, 0xffffffffffffffff
jmp 0x140040307
xor eax, eax
mov ebx, eax
jmp 0x140040307
cmp dl, 0x68
jne 0x1400402e2
shl rbx, cl
mov r8, rbx
jmp 0x140040304
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140040304
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
movzx eax, word [rsi + 0x14]
mov ecx, 0xf244
mov r8d, dword [rsp + 0x44]
and ax, cx
or ax, 4
mov qword [rsi], rbx
mov word [rsi + 0x14], ax
jmp 0x1400401c1
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.140034370
movsxd rax, dword [r15 + 8]
add qword [rbx], rax
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14004039f
movzx r8d, r10b
mov dl, 0x43
mov rcx, rbx
call fcn.14003ee00
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x140040395
cmp dword [r15 + 8], 0
jne 0x140040cff
mov r8d, 0x14
mov dword [rsp + 0x44], r8d
jmp 0x140045678
mov r9, qword [rsp + 0x58]
mov edx, 1
mov r8d, dword [rsp + 0x44]
mov ecx, 0xf244
movzx r10d, byte [rsp + 0x40]
and ax, cx
mov r11d, dword [rsp + 0x50]
or ax, 4
mov word [rbx + 0x14], ax
jmp case.0x14003f58b.89
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 0x14], 0x24
je case.0x14003f58b.89
call fcn.140034400
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r12
test word [rbx + 0x14], ax
je 0x14004041a
mov rcx, rbx
call fcn.140033ec0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
movzx r8d, byte [rsp + 0x40]
mov rcx, rbx
movzx edx, byte [r15 + 8]
call fcn.1400345b0
jmp 0x14003fd70
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, r12
add r14, r12
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x140040514
mov rcx, qword [r14]
cmp rcx, qword [r15]
lea rcx, [0x140000000]
mov r15, qword [rsp + 0x48]
jle 0x1400404ad
xor edi, edi
cmp byte [rbx + rcx + 0x124728], dil
jne 0x140040d09
mov r14, qword [rsp + 0x68]
mov edx, 1
mov r11d, edx
mov dword [rsp + 0x50], edx
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
mov edx, 1
jge 0x1400404e6
xor edi, edi
cmp byte [rbx + rcx + 0x12471c], dil
jne 0x140040d0e
mov r14, qword [rsp + 0x68]
mov r11d, 0xffffffff
mov dword [rsp + 0x50], r11d
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
xor edi, edi
cmp byte [rbx + rcx + 0x124722], dil
jne 0x140040d0e
mov r14, qword [rsp + 0x68]
mov r11d, edi
mov dword [rsp + 0x50], edi
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
movzx ecx, di
or cx, si
test cl, 1
je 0x140040589
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
test al, al
jns 0x140040564
test dl, 1
je 0x14004054e
mov eax, 0x100
test ax, di
jne 0x14004054e
xor eax, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
jmp 0x14004068a
movzx eax, di
not ax
and eax, 1
lea r11d, [rax*2 - 1]
jmp 0x14004065c
mov r15, qword [rsp + 0x48]
xor edi, edi
mov edx, 1
test al, 0x10
jne 0x140040d0e
mov r14, qword [rsp + 0x68]
mov r11d, edx
mov dword [rsp + 0x50], edx
jmp case.0x14003f58b.89
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jb 0x1400405d4
test cl, 2
je 0x14004064a
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1400405ba
xor edx, edx
mov rcx, r15
call fcn.14003ec90
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14004064a
xor edx, edx
mov rcx, r14
call fcn.14003ec90
jmp 0x14004064a
cmp al, 0x42
jne 0x14004064a
test cl, 2
je 0x14004064a
test sil, 2
jne 0x14004061a
test sil, 0x2c
je 0x14004061a
mov r8b, 1
movzx edx, r10b
mov rcx, r15
call fcn.140033f30
xor si, word [r15 + 0x14]
mov r13d, 0xdbf
and si, r13w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x140040620
movzx edi, si
or di, 2
jmp 0x140040620
mov r13d, 0xdbf
test dil, 2
jne 0x14004064a
test dil, 0x2c
je 0x14004064a
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.140033f30
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.140039cf0
mov r11d, eax
mov rax, qword [rsp + 0x48]
mov ecx, r11d
mov dword [rsp + 0x50], r11d
movzx eax, byte [rax]
test r11d, r11d
jns 0x140040682
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x12471c]
jmp 0x1400406bb
mov dword [rsp + 0x50], ecx
test ecx, ecx
jne 0x1400406a0
mov r11d, dword [rsp + 0x50]
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x124722]
jmp 0x1400406bb
lea r13, [0x140000000]
mov dword [rsp + 0x50], ecx
movzx edx, byte [rax + r13 + 0x124728]
lea rcx, [0x140000000]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x58]
mov word [r14 + 0x14], di
xor edi, edi
mov word [r15 + 0x14], si
test dl, dl
mov r15, qword [rsp + 0x48]
lea edx, [rdi + 1]
jne 0x140044d17
mov r14, qword [rsp + 0x68]
movzx r10d, byte [rsp + 0x40]
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
test r11d, r11d
je 0x140040d0e
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x14004071c
mov r13, rdi
jmp 0x140040724
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
xor r15d, r15d
mov r8d, dword [rax + 4]
mov ebx, r15d
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x70], rcx
mov dword [rbp + 0x20], r8d
mov dword [rbp - 0x60], r9d
mov qword [rbp + 0x28], rax
test rax, rax
jle 0x140045499
lea r14, [rcx + 0x20]
test r13, r13
je 0x140040763
mov edx, dword [r13 + rbx*4]
jmp 0x140040765
mov edx, edi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
movzx esi, byte [rbx + rax]
imul rax, rcx, 0x38
lea ecx, [rdx + r8]
and esi, 1
mov r8, qword [r14]
add r12, rax
imul r15, rcx, 0x38
mov rdx, r12
add r15, qword [rsp + 0x78]
mov rcx, r15
call fcn.140039cf0
mov dword [rsp + 0x50], eax
mov r11d, eax
test eax, eax
jne 0x1400407d5
mov rcx, qword [rbp - 0x70]
inc edi
mov r8d, dword [rbp + 0x20]
inc rbx
mov r9d, dword [rbp - 0x60]
add r14, 8
mov r12, qword [rsp + 0x78]
cmp rbx, qword [rbp + 0x28]
jl 0x140040757
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x1400401c6
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x1400407fa
test byte [r15 + 0x14], 1
jne 0x1400407f2
test byte [r12 + 0x14], 1
je 0x1400407fa
neg r11d
mov dword [rsp + 0x50], r11d
mov r8d, dword [rsp + 0x44]
mov edx, 1
mov r15, qword [rsp + 0x48]
test esi, esi
je 0x140045230
mov r14, qword [rsp + 0x68]
neg r11d
mov r12, qword [rsp + 0x78]
xor edi, edi
movzx r10d, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x50], r11d
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
test r11d, r11d
jns 0x140040853
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
jmp case.0x14003f58b.89
jne 0x140040869
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
jmp case.0x14003f58b.89
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
jmp case.0x14003f58b.89
mov r13, qword [rsp + 0x48]
mov esi, 2
mov edx, esi
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034310
movsxd rcx, dword [r13 + 8]
mov edx, esi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r12
call fcn.140034310
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd rcx, eax
mov rax, r13
lea r13, [0x140000000]
jne 0x1400408d1
movzx r8d, byte [rcx + r13 + 0x1276a8]
jmp 0x1400408da
movzx r8d, byte [rcx + r13 + 0x1289a8]
movsxd rax, dword [rax + 0xc]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r12 + 0x14]
cmp r8b, sil
jne 0x140040913
mov r8d, dword [rsp + 0x44]
mov eax, 0xf241
mov r15, qword [rsp + 0x48]
and cx, ax
mov r11d, dword [rsp + 0x50]
or cx, 1
mov word [rdx + r12 + 0x14], cx
jmp 0x1400401c8
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
movzx eax, r8b
mov r8d, dword [rsp + 0x44]
mov qword [rdx + r12], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r12 + 0x14], cx
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 4]
mov edx, dword [r8 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034310
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0x10]
movsxd rax, dword [rax + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034870
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r8 + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
test byte [rcx + 0x14], 1
jne 0x1400409d9
xor edx, edx
call fcn.140034310
test eax, eax
mov rdx, rdi
mov rcx, rbx
sete dl
call fcn.140034870
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rcx, rbx
call fcn.1400347c0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
mov rcx, rbx
call fcn.1400347c0
test byte [rdi + 0x14], 1
jne 0x14004521c
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.140034250
mov r15, qword [rsp + 0x48]
not rax
mov r8d, dword [rsp + 0x44]
mov qword [rbx], rax
jmp 0x1400401c1
mov r8, qword [r14 + 0x108]
test r8, r8
je 0x140040aa9
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r14 + 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 0x140040cfa
bts eax, edx
mov edx, 1
mov byte [rcx + r9], al
mov r9, qword [rsp + 0x58]
jmp 0x140040ac1
mov rax, qword [rsp + 0x48]
mov rcx, qword [r14 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14004548a
mov rax, qword [r14 + 0x88]
mov r15, qword [rsp + 0x48]
mov ecx, dword [rax + 4]
mov dword [r15 + 4], ecx
mov r8d, dword [rsp + 0x44]
jmp case.0x14003f58b.89
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 4]
mov edx, dword [r8 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034310
mov r8d, dword [rsp + 0x44]
mov edx, 1
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
test eax, eax
jne 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
mov edx, edi
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034310
mov r8d, dword [rsp + 0x44]
mov edx, 1
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
test eax, eax
je 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
jne 0x140040d0e
jmp case.0x14003f58b.89
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 4]
test eax, eax
js 0x140040bec
mov rcx, rax
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
movsxd rcx, dword [r8 + 0xc]
movzx eax, word [rdx + 0x4a]
cmp ecx, eax
jge 0x140040be4
mov ecx, dword [rdx + rcx*4 + 0x78]
cmp ecx, 0xc
jb 0x140040bd0
test cl, 1
mov edx, 4
mov eax, 8
cmove dx, ax
jmp 0x140040c11
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x123b40]
jmp 0x140040c18
mov ecx, dword [r8 + 0x10]
dec ecx
jmp 0x140040c09
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.14003b6b0
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
lea ecx, [rax - 1]
mov edx, 1
shl dx, cl
lea rcx, [0x140000000]
test word [r8 + 2], dx
mov edx, 1
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jne 0x140040d0e
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
jne 0x1400436ef
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
jne 0x1400436ef
movsxd rax, dword [r8 + 8]
xor edx, edx
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034870
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
je 0x140040d0e
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003f6a0
cmp byte [rdx + 2], 0
je 0x14003f6a0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.1400347c0
mov r15, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x58]
mov edx, 1
mov eax, dword [r15 + 8]
mov r14, qword [rsp + 0x68]
dec eax
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
cdqe
lea rcx, [rax + rax*2]
lea r15, [r9 + rcx*8]
jmp case.0x14003f58b.89
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
mov r15, qword [rsp + 0x68]
movsxd rcx, dword [r8 + 4]
mov r14d, dword [r8 + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x20], r14d
mov r12, qword [rbx + 0x58]
mov eax, dword [r15 + 0x2c]
mov qword [rbp + 0x28], r12
cmp dword [rbx + 0x20], eax
je 0x140040d9b
cmp byte [rbx + 2], 0
jne 0x140040df9
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x140040d94
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140040dc3
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140040dc3
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x140040d4d
cmp byte [rdi], 0
je 0x140040dda
jmp 0x140040da8
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x140040ecd
mov rcx, rbx
call fcn.140039480
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x140040d51
mov r14, r15
jmp 0x140045678
mov rcx, rbx
call fcn.140039410
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045bef
mov rcx, rdi
call fcn.1400284d0
lea rsi, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, rsi
mov rcx, rdi
call fcn.140028bb0
mov rcx, rax
jmp 0x140040e29
cmp byte [rbx], 3
jne 0x140040ea9
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x140040ea9
mov rdx, qword [rsp + 0x78]
lea rsi, [rbx + 0x6c]
imul rcx, rax, 0x38
mov eax, dword [rcx + rdx + 0x10]
mov dword [rsi], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + rdx + 8]
mov qword [rbx + 0x60], rcx
lea rdi, [rbx + 0x40]
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r12], eax
mov qword [rbp - 0x70], rdi
cmp eax, 0x80
jae 0x140040e51
mov eax, 1
jmp 0x140040e60
mov rcx, qword [rbx + 0x60]
mov rdx, r12
call fcn.14000e4e0
movzx eax, al
mov dword [rdi], eax
lea r13, [rbx + 0x4a]
xor eax, eax
mov word [r13], ax
mov eax, dword [r12]
cmp dword [rsi], eax
jae 0x140040e9c
xor edi, edi
mov qword [rbx + 0x60], rdi
mov dword [rsi], edi
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140041034
cmp eax, dword [rbx + 0x68]
ja 0x140041034
mov rsi, qword [rsp + 0x70]
jmp 0x140040ed1
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
jmp 0x140040f41
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.1400347c0
mov r15, qword [rsp + 0x48]
jmp 0x140040156
lea r13, [rbx + 0x4a]
movzx eax, word [r13]
cmp eax, r14d
ja 0x1400410be
mov eax, dword [r12]
lea rdi, [rbx + 0x40]
mov qword [rbp - 0x70], rdi
cmp dword [rdi], eax
jae 0x140041061
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140040f3d
xorps xmm0, xmm0
mov qword [rbp - 0x20], rax
movups xmmword [rbp - 0x50], xmm0
lea r8, [rbp - 0x50]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov edx, dword [r12]
mov rcx, qword [rbx + 0x30]
call fcn.140035050
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045beb
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x60], rax
jmp 0x140040f41
mov qword [rbp - 0x70], rdi
movzx r15d, word [r13]
mov edi, dword [rdi]
mov r14d, r15d
add rdi, rax
mov esi, dword [r12 + r15*4]
mov r12d, dword [r12]
add r12, rax
nop dword [rax]
movzx eax, byte [rdi]
mov dword [rbp - 0x68], eax
mov dword [rbx + r14*4 + 0x78], eax
mov eax, dword [rbp - 0x68]
cmp eax, 0x80
jae 0x140040f85
inc rdi
movzx ecx, al
call fcn.140039510
movzx eax, al
jmp 0x140040fa9
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.14000e4e0
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x68]
mov dword [rbx + r14*4 + 0x78], eax
mov ecx, dword [rbp - 0x68]
call fcn.1400394f0
mov eax, eax
mov rcx, qword [rbp + 0x28]
inc r15d
add rsi, rax
movsxd r14, r15d
mov dword [rcx + r14*4], esi
cmp r15d, dword [rbp + 0x20]
ja 0x140040fc7
cmp rdi, r12
jb 0x140040f60
jmp 0x140040fcc
cmp rdi, r12
jb 0x14004100b
cmp rdi, r12
ja 0x140041013
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jne 0x140041013
sub edi, dword [rbp - 0x60]
cmp qword [rbx + 0x60], 0
mov rax, qword [rbp - 0x70]
mov word [r13], r15w
mov dword [rax], edi
jne 0x140040ff7
lea rcx, [rbp - 0x50]
call fcn.1400341f0
mov edx, dword [rbp - 0x68]
xor edi, edi
mov r12, qword [rbp + 0x28]
mov r14d, dword [rbp + 0x20]
mov r15, qword [rsp + 0x68]
jmp 0x140041068
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jbe 0x140040fd9
cmp dword [rcx], 0
jne 0x140041022
xor eax, eax
mov rdi, r12
mov r15d, eax
jmp 0x140040fd9
cmp qword [rbx + 0x60], 0
jne 0x140041032
lea rcx, [rbp - 0x50]
call fcn.1400341f0
xor edi, edi
mov r9, qword [rsp + 0x58]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x1400455f9
mov r14, qword [rsp + 0x68]
dec eax
mov r12, qword [rsp + 0x78]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r8, [r9 + rax*8]
jmp 0x14003f742
xor edi, edi
mov edx, edi
mov dword [rbp - 0x68], edx
movzx eax, word [r13]
cmp eax, r14d
ja 0x1400410b9
mov rdx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
movsxd rax, dword [rdx + 0xc]
imul rcx, rax, 0x38
add rcx, r12
cmp byte [rdx + 1], 0xf6
jne 0x14003fdc2
mov rdx, qword [rdx + 0x10]
mov r8d, 0x2000
call fcn.140034af0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov esi, r14d
jmp 0x1400410c8
mov esi, r14d
mov edx, dword [rbx + rsi*4 + 0x78]
mov dword [rbp - 0x68], edx
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x78]
test word [rdi + 0x14], ax
je 0x1400410f5
mov rcx, rdi
call fcn.1400347c0
mov edx, dword [rbp - 0x68]
mov r8, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r12 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x1400411f5
mov esi, dword [r12 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x140041132
mov rcx, rsi
mov r8, rdi
call fcn.140039520
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
jmp 0x14004015b
movzx eax, byte [rsp + 0x40]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x140041179
mov r13, qword [rbp - 0x80]
cmp ebx, dword [r13 + 0x88]
jg 0x14004587f
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.140033a80
test eax, eax
jne 0x140045bba
jmp 0x140041181
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.1400f3380
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov byte [rbx + rax], 0
mov rax, qword [rdi + 8]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x68]
and eax, 1
movzx eax, word [rcx + rax*2 + 0x121f70]
mov word [rdi + 0x14], ax
xor edi, edi
lea edx, [rdi + 1]
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
movzx eax, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
movzx eax, byte [r8 + 2]
mov edx, dword [rbp - 0x68]
and al, 0xc0
je 0x14004121b
cmp al, 0x80
je 0x140041229
cmp edx, 0xc
jb 0x14004121b
test dl, 1
je 0x140041229
cmp al, 0xc0
je 0x140041229
mov ecx, edx
call fcn.1400394f0
test eax, eax
jne 0x140041235
mov edx, dword [rbp - 0x68]
lea rcx, [0x140123560]
jmp 0x140041116
mov eax, dword [rbp - 0x74]
mov edx, r14d
mov r9d, dword [r12 + rsi*4]
mov rcx, rbx
mov r8d, dword [rbp - 0x68]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.14003f170
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x140041123
mov r13, qword [rbp - 0x80]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
cmp eax, 7
je 0x140045bc4
cmp eax, 0x12
je 0x140045889
jmp 0x140045678
mov rax, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov r15, qword [r14 + 8]
xor eax, eax
add rsi, r12
cmp ax, word [r14 + 0x36]
jge 0x1400454d7
lea rbx, [r15 + 0xc]
nop dword [rax]
movzx eax, word [rbx + 6]
test al, 0x60
je 0x1400412df
test al, 0x20
jne 0x14004138d
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
jne 0x140041389
movzx edx, byte [rbx]
movzx r8d, r10b
mov rcx, rsi
call fcn.14003ee00
movzx ecx, word [rsi + 0x14]
test cl, 1
jne 0x140041389
mov eax, dword [rbx - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x140041380
sub eax, 1
je 0x14004137b
sub eax, 1
je 0x14004137b
sub eax, 1
je 0x140041322
cmp eax, 1
jne 0x140041389
test cl, 2
jmp 0x140041383
test cl, 4
je 0x140041376
mov rdx, qword [rsi]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140041358
or cx, 0x20
mov eax, 0xfffb
and cx, ax
mov word [rsi + 0x14], cx
jmp 0x140041389
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
mov eax, 0xfffb
and cx, ax
movsd qword [rsi], xmm0
mov word [rsi + 0x14], cx
jmp 0x140041389
test cl, 0x28
jmp 0x140041383
test cl, 4
jmp 0x140041383
test cl, 0x10
je 0x140045615
add rsi, 0x38
movsx eax, word [r14 + 0x36]
inc edi
movzx r10d, byte [rsp + 0x40]
add rbx, 0x18
cmp edi, eax
jl 0x1400412c0
mov r8d, dword [rsp + 0x44]
xor edi, edi
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
jmp 0x1400401d3
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, r12
nop dword [rax]
movzx r8d, r10b
movzx edx, al
mov rcx, rbx
call fcn.14003ee00
cmp byte [rdi], 0x45
jne 0x140041446
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x140041446
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14004142a
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x140041442
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x14004521c
movzx r10d, byte [rsp + 0x40]
add rbx, 0x38
jmp 0x1400413e0
mov r8, qword [rsp + 0x48]
mov r14, rdi
mov r12d, edi
mov r13, rdi
movsxd rax, dword [r8 + 4]
mov rdi, qword [r8 + 0x10]
imul rcx, rax, 0x38
mov eax, dword [r8 + 8]
add rcx, qword [rsp + 0x78]
dec eax
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [r8 + 0xc]
imul rdx, rax, 0x38
add rsi, rcx
mov qword [rbp + 0x28], rcx
add rdx, qword [rsp + 0x78]
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x60], rdx
test rdi, rdi
je 0x1400414ff
movzx eax, byte [rdi]
lea rbx, [rcx + 0x14]
mov esi, 0xfffb
nop dword [rax]
lea rcx, [rbx - 0x14]
movzx r8d, r10b
movzx edx, al
call fcn.14003ee00
cmp byte [rdi], 0x45
jne 0x1400414e6
movzx eax, word [rbx]
test al, 4
je 0x1400414e6
and ax, si
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
movzx r10d, byte [rsp + 0x40]
add rbx, 0x38
test al, al
jne 0x1400414c0
mov rsi, qword [rbp - 0x70]
lea r15, [rsi + 0x24]
movzx ecx, word [r15 - 0x10]
test cl, 1
je 0x140041528
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r15], eax
inc r12d
jmp 0x14004168c
test cl, 0x24
je 0x140041627
mov r8, qword [r15 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140041540
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14004157d
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14004156d
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0xc5], 4
jb 0x14004156d
lea eax, [rdx + 8]
mov dword [r15], eax
jmp 0x14004168c
mov eax, 1
inc r14
mov dword [r15], eax
jmp 0x14004168c
cmp rdx, 0x7fff
ja 0x140041597
mov eax, 2
add r14, 2
mov dword [r15], eax
jmp 0x14004168c
cmp rdx, 0x7fffff
ja 0x1400415b1
mov eax, 3
add r14, 3
mov dword [r15], eax
jmp 0x14004168c
cmp rdx, 0x7fffffff
ja 0x1400415cb
mov eax, 4
add r14, 4
mov dword [r15], eax
jmp 0x14004168c
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1400415eb
mov eax, 5
add r14, 6
mov dword [r15], eax
jmp 0x14004168c
add r14, 8
test cl, 0x20
je 0x14004161d
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
mov word [r15 - 0x10], cx
movsd qword [r15 - 0x24], xmm0
mov dword [r15], eax
jmp 0x14004168c
mov eax, 6
mov dword [r15], eax
jmp 0x14004168c
test cl, 8
je 0x14004163c
inc r12d
mov dword [r15], 7
add r14, 8
jmp 0x14004168c
mov edi, dword [r15 - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x14004167a
movsxd rax, dword [r15 - 0x24]
lea esi, [rsi + rax*2]
test r14, r14
je 0x140041677
lea rcx, [r15 - 0x24]
call fcn.140033ec0
test eax, eax
jne 0x140045bb6
add edi, dword [r15 - 0x24]
jmp 0x14004167a
add r13, rax
mov eax, edi
mov ecx, esi
add r14, rax
call fcn.14000e560
add r12d, eax
mov dword [r15], esi
lea rax, [r15 - 0x24]
cmp rax, qword [rbp + 0x28]
je 0x14004169f
sub r15, 0x38
jmp 0x140041503
cmp r12d, 0x7e
jle 0x1400416be
movsxd rcx, r12d
call fcn.14000e560
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.14000e560
cmp ebx, eax
jge 0x1400416c1
inc r12d
mov rdi, qword [rbp - 0x60]
movsxd r15, r12d
movsxd rax, dword [rdi + 0x20]
lea rbx, [r14 + r15]
lea rcx, [rbx + r13]
cmp rcx, rax
jg 0x1400416e3
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
jmp 0x140041709
mov rax, qword [rbp - 0x80]
movsxd rax, dword [rax + 0x88]
cmp rcx, rax
jg 0x14004587b
mov edx, ebx
mov rcx, rdi
call fcn.140033d20
test eax, eax
jne 0x140045bb6
mov dword [rdi + 0x10], ebx
mov eax, 0x10
mov word [rdi + 0x14], ax
test r13, r13
je 0x140041726
mov eax, 0x410
mov dword [rdi], r13d
mov word [rdi + 0x14], ax
mov rdi, qword [rdi + 8]
lea rsi, [r15 + rdi]
cmp r12d, 0x80
jge 0x14004173f
mov byte [rdi], r12b
inc rdi
jmp 0x140041750
mov rdx, r15
mov rcx, rdi
call fcn.14000e2b0
movsxd rcx, eax
add rdi, rcx
mov rbx, qword [rbp + 0x28]
lea r13, [0x140000000]
mov r14, qword [rbp - 0x70]
add rbx, 0x10
mov eax, dword [rbx + 0x14]
cmp eax, 7
ja 0x1400417b5
mov byte [rdi], al
inc rdi
test eax, eax
je 0x1400417fc
movzx ecx, byte [rax + r13 + 0x123cc0]
mov r10d, 0xffffffff
mov rdx, qword [rbx - 0x10]
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x1400417b0
nop word [rax + rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x1400417a0
add rsi, r9
jmp 0x1400417fc
cmp eax, 0x80
jae 0x1400417cf
mov byte [rdi], al
inc rdi
cmp eax, 0xe
jb 0x1400417fc
movsxd rax, dword [rbx]
test eax, eax
jle 0x1400417fc
jmp 0x1400417e7
mov rdx, rax
mov rcx, rdi
call fcn.14000e2b0
movsxd rcx, eax
movsxd rax, dword [rbx]
add rdi, rcx
test eax, eax
je 0x1400417fc
mov rdx, qword [rbx - 8]
mov r8, rax
mov rcx, rsi
call fcn.1400f3380
movsxd rax, dword [rbx]
add rsi, rax
lea rax, [rbx - 0x10]
cmp rax, r14
je 0x14004521c
add rbx, 0x38
jmp 0x140041763
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
cmp dword [r8 + 0xc], 0
movsxd rcx, dword [r8 + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x14004183f
mov rcx, rdx
call fcn.140029a90
mov qword [rbp + 0xa0], rax
jmp 0x140041864
lea r8, [rbp + 0xa0]
mov qword [rbp + 0xa0], rdi
mov rcx, r13
call fcn.140030fa0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov rdx, qword [rsp + 0x48]
mov rcx, r14
call fcn.14003f040
mov rcx, qword [rbp + 0xa0]
mov qword [rax], rcx
jmp 0x140043cfe
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x60], r14d
test r14d, r14d
jne 0x14004194f
cmp dword [r13 + 0xe0], r14d
jg 0x1400456aa
mov rcx, rdi
call fcn.14000be00
mov r8d, dword [r13 + 0x2f4]
xor edx, edx
add r8d, dword [r13 + 0x2f0]
mov rcx, r13
movsxd rsi, eax
call fcn.1400ab620
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004560e
lea rdx, [rsi + 0x21]
mov rcx, r13
call fcn.140008700
mov rbx, rax
test rax, rax
je 0x140041945
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400f3380
cmp byte [r13 + 0x65], r14b
je 0x140041916
mov byte [r13 + 0x65], r14b
mov byte [r13 + 0x6d], 1
jmp 0x14004191d
inc dword [r13 + 0x2f0]
mov rax, qword [r13 + 0x2e0]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x2f8]
mov qword [r13 + 0x2e0], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x300]
mov qword [rbx + 0x10], rax
mov r8d, dword [rsp + 0x44]
jmp 0x140041bd8
mov rsi, qword [r13 + 0x2e0]
xor ebx, ebx
mov r12d, ebx
test rsi, rsi
je 0x14004197b
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.14000c1a0
test eax, eax
je 0x1400419aa
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x140041960
mov r14, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r14
mov r8, rdi
call fcn.140035950
mov rsi, qword [rsp + 0x70]
mov r15d, 1
mov r8d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x14004567e
cmp dword [r13 + 0xe0], ebx
jle 0x1400419bd
cmp r14d, 1
je 0x1400456cb
cmp qword [rsi + 0x18], rbx
jne 0x140041a2c
cmp byte [r13 + 0x6d], bl
je 0x140041a2c
mov r15d, 1
mov dword [rbp + 0x20], r15d
cmp r14d, r15d
jne 0x140041a2f
mov rbx, qword [rsp + 0x68]
mov edx, r15d
mov rcx, rbx
call fcn.140038b00
mov edi, eax
test eax, eax
jne 0x14004572b
mov rcx, rbx
mov byte [r13 + 0x65], r15b
call fcn.140038b70
cmp eax, 5
je 0x1400456f6
mov r8d, dword [rbx + 0x34]
mov dword [rsp + 0x44], r8d
test r8d, r8d
jne 0x1400456e7
mov byte [r13 + 0x6d], r8b
lea r15, [r13 + 0x2f0]
lea ebx, [rdi + 1]
jmp 0x140041b39
mov dword [rbp + 0x20], ebx
lea r15, [r13 + 0x2f0]
mov eax, dword [r15]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x140041a9c
mov rax, qword [rbp - 0x80]
mov edi, ebx
mov r13d, dword [r13 + 0x2c]
and r13d, 1
cmp dword [rax + 0x28], ebx
jle 0x140041a9f
mov r14d, r13d
xor r14d, 1
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140027d10
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004560a
mov rax, qword [rbp - 0x80]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x140041a60
mov r14d, dword [rbp - 0x60]
xor ebx, ebx
jmp 0x140041a9f
mov r13d, ebx
mov rax, qword [rbp - 0x80]
mov edi, ebx
cmp dword [rax + 0x28], 0
jle 0x140041ae4
nop dword [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.140028000
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004560a
mov rax, qword [rbp - 0x80]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x140041ab0
jmp 0x140041ae9
mov r8d, dword [rsp + 0x44]
test r13d, r13d
mov r13, qword [rbp - 0x80]
je 0x140041b2d
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140041b1b
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 0x140041b00
mov rcx, r13
call fcn.140066550
or dword [r13 + 0x2c], 1
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x14004560e
mov ebx, dword [rbp + 0x20]
mov rcx, qword [r13 + 0x2e0]
cmp rcx, rsi
je 0x140041b6a
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r13
mov qword [r13 + 0x2e0], rax
call fcn.140008200
dec dword [r15]
mov rcx, qword [r13 + 0x2e0]
cmp rcx, rsi
jne 0x140041b45
cmp r14d, 1
jne 0x140041b8f
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r13
mov qword [r13 + 0x2e0], rax
call fcn.140008200
test ebx, ebx
jne 0x140041bce
dec dword [r15]
jmp 0x140041baf
mov rax, qword [rsi + 8]
mov qword [r13 + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x300], rax
test ebx, ebx
je 0x140041baf
cmp r14d, 2
jne 0x140041bce
mov r8d, r12d
mov edx, r14d
mov rcx, r13
call fcn.1400ab620
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004560e
jmp 0x140041bd3
mov r8d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
cmp byte [r14 + 0xc7], 3
jne 0x14003fa4d
mov edi, 0x65
lea r15d, [rdi - 0x64]
jmp 0x14004572e
mov rbx, qword [rsp + 0x48]
mov dword [rbp + 0x20], edi
mov edx, dword [rbx + 8]
test edx, edx
je 0x140041c1f
mov rax, qword [r13 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x140045780
movsxd r14, dword [rbx + 4]
shl r14, 5
add r14, qword [r13 + 0x20]
mov rsi, qword [r14 + 8]
test rsi, rsi
je 0x140041d08
lea r8, [rbp + 0x20]
mov rcx, rsi
call fcn.140026960
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x1400457a2
mov r15, qword [rsp + 0x68]
test byte [r15 + 0xc8], 0x20
lea rdi, [r15 + 0xc8]
je 0x140041d1d
lea rdi, [r15 + 0xc8]
cmp dword [rbx + 8], eax
je 0x140041d1d
cmp byte [r13 + 0x65], al
je 0x140041c98
cmp dword [r13 + 0xdc], 1
lea rdi, [r15 + 0xc8]
jle 0x140041d1d
mov r8d, dword [r15 + 0x40]
test r8d, r8d
jne 0x140041cba
inc dword [r13 + 0x2f4]
mov r8d, dword [r13 + 0x2f4]
add r8d, dword [r13 + 0x2f0]
mov dword [r15 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.1400ab620
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140041cdf
mov edx, dword [r15 + 0x40]
mov rcx, rsi
call fcn.140027f90
mov dword [rsp + 0x44], eax
mov rax, qword [r13 + 0x2f8]
lea rdi, [r15 + 0xc8]
mov r8d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
mov qword [r15 + 0x58], rax
mov rax, qword [r13 + 0x300]
mov qword [r15 + 0x60], rax
jmp 0x140041d14
mov rdi, qword [rsp + 0x68]
add rdi, 0xc8
test r8d, r8d
jne 0x14004560e
cmp word [rbx + 2], 0
mov r15, rbx
je 0x1400401bc
mov eax, dword [r15 + 0xc]
mov rbx, rdi
cmp dword [rbp + 0x20], eax
jne 0x1400457f0
mov rcx, qword [r14 + 0x18]
mov eax, dword [r15 + 0x10]
mov r14, qword [rsp + 0x68]
cmp dword [rcx + 4], eax
je 0x1400401c1
lea rbx, [r14 + 0xc8]
jmp 0x1400457f5
mov rcx, qword [r13 + 0x20]
lea r8, [rbp + 0x9c]
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov edx, dword [r15 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140030e20
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x140041dc0
call fcn.14003f010
mov r8d, dword [rsp + 0x44]
mov rcx, rax
movsxd rax, dword [rbp + 0x9c]
mov r11d, dword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x1400401c8
mov r8d, dword [rsp + 0x44]
mov eax, 4
mov r11d, dword [rsp + 0x50]
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp + 0x9c]
mov qword [rcx], rax
jmp 0x1400401c8
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.140030eb0
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x44], eax
mov eax, dword [r8 + 8]
cmp eax, 1
jne 0x140041e3e
movzx eax, word [r8 + 2]
mov ecx, dword [r8 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r13
or dword [r13 + 0x2c], 1
mov edx, dword [r8 + 4]
call fcn.14007a960
mov r8, qword [rsp + 0x48]
jmp 0x140041e4f
cmp eax, 2
jne 0x140041e4f
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r8 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r8 + 4], 1
jne 0x140044adb
xor edx, edx
mov rcx, r13
call fcn.14003ade0
and dword [r14 + 0xc8], 0xfffffffc
jmp 0x140044adb
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x140041ea5
mov eax, dword [r8 + 8]
cmp dword [rdi + 0x44], eax
jne 0x140041ea5
mov rcx, qword [rdi + 0x30]
call fcn.140023020
jmp 0x140041fb2
mov r8, qword [rsp + 0x48]
jmp 0x140041ea7
xor edi, edi
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, 1
je 0x140045858
movsxd r12, dword [r8 + 0xc]
xor ecx, ecx
mov r15d, dword [r8 + 8]
mov rax, r12
shl rax, 5
mov r14d, ecx
add rax, qword [r13 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x140041f01
mov rax, qword [rax + 0x18]
movzx esi, word [r8 + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc5]
jae 0x140041f03
mov byte [rax + 0xc5], cl
jmp 0x140041f03
mov esi, ecx
test byte [r8 + 2], 0x10
je 0x140041f23
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140034370
mov r8, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [r8 + 1]
cmp al, 0xf8
jne 0x140041f37
mov r14, qword [r8 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x140041f3f
cmp al, 0xfd
jne 0x140041f3f
mov edi, dword [r8 + 0x10]
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, edi
mov edx, dword [rbx + 4]
call fcn.14003eb60
mov rdi, rax
test rax, rax
je 0x140045bb6
mov rcx, qword [rax + 0x30]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 1], r12b
mov byte [rax + 2], 1
mov dword [rax + 0x44], r15d
call fcn.1400281e0
mov r13, qword [rbp - 0x80]
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov qword [rdi + 0x38], r14
cmp byte [rbx + 1], 0xf8
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x44], eax
setne al
mov byte [rdi + 4], al
mov rax, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x30]
movzx edx, word [rax + 2]
and edx, 3
call fcn.140023430
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045678
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rax, qword [rsp + 0x48]
xor r9d, r9d
movsxd rcx, dword [rax + 8]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
mov rax, qword [rsp + 0x48]
movsx r8d, word [rbx + 0x48]
mov edx, dword [rax + 4]
call fcn.14003eb60
mov r10, rax
test rax, rax
je 0x140045bc4
mov edx, dword [rax + 8]
mov r8d, 4
mov byte [rax + 2], 1
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, edx
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.1400281e0
mov r11d, dword [rsp + 0x50]
mov r8d, eax
mov r15, qword [rsp + 0x48]
mov dword [rsp + 0x44], eax
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 0xc]
test eax, eax
jle 0x1400420b8
imul rcx, rax, 0x38
mov dword [rcx + r12 + 0x10], edi
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140121ec0]
mov qword [rcx + r12 + 8], rax
movsxd rdx, dword [r8 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x140042111
test byte [rbx + 8], 8
jne 0x140042111
movsx eax, word [rbx + 0x48]
cmp dword [r8 + 8], eax
jg 0x140042111
mov edx, dword [rbx + 0x44]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], rdi
mov dword [rbx + 0x20], edi
call fcn.140030850
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov byte [rbx + 2], 1
jmp 0x1400401c8
mov r8d, dword [r8 + 8]
xor r9d, r9d
mov rcx, r14
call fcn.14003eb60
mov rbx, rax
test rax, rax
je 0x140045bc4
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov rax, qword [rsp + 0x48]
mov r8, r13
mov dword [rsp + 0x28], 0x41e
xor edx, edx
movzx ecx, word [rax + 2]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
call fcn.140024f60
mov dword [rsp + 0x44], eax
mov r8d, eax
mov r15d, 1
test eax, eax
jne 0x14004567e
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.140026960
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004221a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x10]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1400421e9
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.140030510
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x1400421e3
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 3]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.1400281e0
mov r8d, eax
mov dword [rsp + 0x44], eax
mov byte [rbx + 4], 0
jmp 0x140042210
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r15d
mov dword [rbx + 0x44], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.1400281e0
mov r8d, eax
mov dword [rsp + 0x44], eax
mov byte [rbx + 4], r15b
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
xor eax, eax
mov ecx, eax
mov rax, qword [rsp + 0x48]
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 r8d, r8d
jne 0x140045868
mov r15, qword [rsp + 0x48]
xor edi, edi
mov r11d, dword [rsp + 0x50]
mov byte [rbx + 2], 1
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r14
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.14003eb60
test rax, rax
je 0x140045bc4
mov rdx, qword [rsp + 0x48]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x38], rcx
mov rcx, r13
mov edx, dword [rdx + 0xc]
call fcn.1400477c0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
mov edx, 1
test rcx, rcx
je 0x140044d17
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r14
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14003eb60
test rax, rax
je 0x140045bc4
mov r15, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov byte [rax + 2], 1
mov ecx, dword [r15 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14014ad0c]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], 1
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140042358
mov rcx, r14
call fcn.140037cd0
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov qword [rax + rcx*8], rdi
jmp 0x1400401cd
mov rax, qword [r14 + 0x78]
mov r12d, edi
mov r8, qword [rsp + 0x48]
movsxd rcx, dword [r8 + 4]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov word [rsi + 2], 0
mov dword [rsi + 0x20], edi
je 0x1400424af
movsxd rax, dword [r8 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x78]
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x1400423ca
xor edx, edx
mov rcx, rdi
call fcn.14003ec90
mov rcx, rdi
call fcn.140034250
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x14004247d
test cl, 8
jne 0x14004245b
test cl, 1
jne 0x140044d01
cmp ebx, 0x17
jae 0x140044d01
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp + 0x24]
call fcn.140029160
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004560e
xor edi, edi
cmp dword [rbp + 0x24], edi
jne 0x140044d26
mov r15, qword [rsp + 0x48]
mov edx, 1
mov r11d, dword [rsp + 0x50]
test r12d, r12d
je 0x140045230
mov r14, qword [rsp + 0x68]
add r15, 0x18
mov r12, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
jmp case.0x14003f58b.89
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140039ca0
test eax, eax
jle 0x140042474
test bl, 1
jne 0x14004247d
dec ebx
jmp 0x14004247d
jns 0x14004247d
test bl, 1
je 0x14004247d
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp + 0x24]
xor r8d, r8d
mov rdx, r15
call fcn.140029180
mov dword [rsp + 0x44], eax
mov r8d, eax
mov qword [rsi + 0x50], r15
test eax, eax
jne 0x14004560e
xor r15d, r15d
jmp 0x140042533
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
mov r15d, 0
mov ecx, 0xffffffff
mov r12d, r15d
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x38], rax
movzx eax, word [r8 + 0x10]
setne r12b
mov word [rbp + 0x54], ax
lea eax, [rbx - 1]
test al, 1
mov byte [rbp + 0x5a], r15b
mov eax, edx
lea rdx, [rbp + 0x38]
cmovne eax, ecx
mov byte [rbp + 0x56], al
movsxd rax, dword [r8 + 0xc]
lea r8, [rbp + 0x24]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x78]
mov qword [rbp + 0x40], rcx
mov rcx, qword [rdi]
call fcn.140029400
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004560e
test r14b, r14b
je 0x140042533
cmp byte [rbp + 0x5a], r15b
je 0x14004241a
mov eax, dword [rbp + 0x24]
cmp ebx, 0x17
jl 0x14004259b
test eax, eax
js 0x140042550
jne 0x140042546
cmp ebx, 0x18
je 0x140042550
xor edi, edi
mov dword [rbp + 0x24], edi
jmp 0x140042425
mov dword [rbp + 0x24], r15d
xor edx, edx
mov rcx, qword [rdi]
call fcn.140029da0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x14004241a
cmp eax, 0x65
jne 0x14004560e
mov r15, qword [rsp + 0x48]
xor edi, edi
mov r12, qword [rsp + 0x78]
mov edx, 1
mov r9, qword [rsp + 0x58]
mov r8d, edi
mov dword [rsp + 0x44], edi
mov dword [rbp + 0x24], edx
jmp 0x140040d0e
test eax, eax
jg 0x1400425bb
jne 0x1400425a6
cmp ebx, 0x15
je 0x1400425bb
mov rcx, qword [rdi]
call fcn.140029a80
mov r8d, dword [rsp + 0x44]
mov dword [rbp + 0x24], eax
jmp 0x14004241a
mov dword [rbp + 0x24], r15d
xor edx, edx
mov rcx, qword [rdi]
call fcn.14002a040
jmp 0x14004255e
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
jne case.0x14003f58b.89
mov rax, qword [rbx + 0x38]
mov rcx, r15
mov qword [rbp + 0x38], rax
mov byte [rbp + 0x56], 0
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x54], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r12
xor eax, eax
mov qword [rbp + 0x40], rcx
mov dword [rbp + 0x88], eax
nop
lea r9, [rbp + 0x88]
mov rdx, rbx
lea r8, [rbp + 0x38]
mov rcx, r13
call fcn.14003aca0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov eax, dword [rbp + 0x88]
test eax, eax
jle 0x140042658
cmp word [r15 + 2], r8w
je 0x14004269e
test eax, eax
jns 0x140044d0b
test edi, edi
jle 0x140045226
mov rcx, qword [rbx + 0x30]
xor eax, eax
xor edx, edx
mov dword [rbx + 0x20], eax
dec edi
call fcn.140029da0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x140042620
cmp eax, 0x65
jne 0x140045678
xor edi, edi
mov r8d, edi
mov dword [rsp + 0x44], edi
add r15, 0x18
jmp 0x140040d04
xor edi, edi
add r15, 0x18
jmp 0x140040d04
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 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 0x1400426d8
mov word [rdx + 0xc], ax
jmp 0x1400401d3
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp ecx, eax
lea rcx, [0x140000000]
jle 0x1400426ef
mov word [rdx + 0xc], ax
mov edx, 1
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x14003f58b.9
cmp byte [rdx + 2], 0
je 0x14003f6a0
jmp case.0x14003f58b.9
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r15 + 0x10]
jge case.0x14003f58b.89
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r8 + 0x10]
add rcx, r12
mov word [rbp + 0x54], ax
mov qword [rbp + 0x40], rcx
test ax, ax
je 0x1400427aa
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x38]
mov byte [rbp + 0x56], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.140029400
mov r8d, eax
mov dword [rsp + 0x44], eax
jmp 0x140042820
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x1400427c2
call fcn.140033ec0
test eax, eax
jne 0x140045bc4
mov rcx, qword [rbx + 0x38]
call fcn.140039790
mov rdi, rax
test rax, rax
je 0x140045bc4
mov rcx, qword [rbp + 0x40]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.1400397f0
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.140029400
mov rdx, rdi
mov dword [rsp + 0x44], eax
mov rcx, r13
call fcn.140008200
mov r8d, dword [rsp + 0x44]
xor edi, edi
mov r12, qword [rsp + 0x78]
test r8d, r8d
jne 0x140045673
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r8b
setne al
mov dword [rbx + 0x20], edi
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp al, 0x1d
jne 0x14004286c
mov r15, qword [rsp + 0x48]
lea edx, [r8 + 1]
mov r9, qword [rsp + 0x58]
test ecx, ecx
je 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
test ecx, ecx
jne 0x140044d26
cmp al, 0x1b
jne 0x1400428b4
movzx edx, word [rbp + 0x54]
mov rcx, rdi
test rdx, rdx
je 0x140045221
mov rax, qword [rbp + 0x40]
add rax, 0x14
test byte [rax], 1
jne 0x140044d26
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x140042890
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov r15, qword [rsp + 0x48]
mov edx, 1
mov r11d, dword [rsp + 0x50]
cmp al, 0x1a
jne 0x140045230
movzx r10d, byte [rsp + 0x40]
mov rax, r15
mov r9, qword [rsp + 0x58]
movzx eax, word [rax + 0x10]
mov word [rbx + 0xc], ax
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 0x14], 0x24
jne case.0x14003f58b.31
movups xmm0, xmmword [rcx]
movzx r8d, r10b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x38], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x48], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x38]
movups xmmword [rbp + 0x58], xmm0
movsd qword [rbp + 0x68], xmm1
call fcn.14003ee00
test byte [rbp + 0x4c], 4
je 0x140044d21
mov rdi, qword [rbp + 0x38]
jmp 0x14004294d
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r12]
mov rax, qword [rsp + 0x48]
lea r9, [rbp + 0x74]
xor r8d, r8d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0x74], eax
call fcn.140029180
mov r15, qword [rsp + 0x48]
mov r8d, eax
mov qword [rbx + 0x50], rdi
xor edi, edi
mov dword [rbx + 0x20], edi
mov word [rbx + 2], 0
mov dword [rsp + 0x44], eax
mov eax, dword [rbp + 0x74]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0x74], edi
je 0x1400429b7
cmp dword [r15 + 8], edi
jne 0x140044d0d
mov ecx, 0x17bb3
call fcn.1400d27a0
mov r8d, eax
mov dword [rsp + 0x44], eax
test r8d, r8d
jne 0x140045678
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x1400429fd
mov rcx, rdx
call fcn.14003f010
mov r8, qword [rsp + 0x48]
mov rdx, rax
mov r9, qword [rsp + 0x58]
jmp 0x140042a06
mov eax, 4
mov word [rdx + 0x14], ax
movsxd rcx, dword [r8 + 4]
mov rax, qword [r14 + 0x78]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [r8 + 4]
mov rax, qword [r14 + 0x78]
mov r8d, dword [rsp + 0x44]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x1400401cd
mov rbx, qword [rsp + 0x48]
mov qword [rbp - 0x60], rdi
mov dword [rbp + 0x20], edi
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [r14 + 0x68]
test word [rsi + 0x14], ax
je 0x140042a6d
mov rcx, rsi
call fcn.14003f010
mov rsi, rax
jmp 0x140042a76
mov eax, 4
mov word [rsi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
test byte [rdi + 8], 2
jne 0x140042ae6
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x20]
call fcn.140029160
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045673
cmp dword [rbp + 0x20], eax
je 0x140042ab5
mov r15d, 1
mov qword [rbp - 0x60], r15
jmp 0x140042aec
mov rcx, qword [rdi + 0x30]
call fcn.140028490
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x60], rax
mov r15d, 1
cmp rax, rcx
jl 0x140042add
or dword [rdi + 8], 2
jmp 0x140042aec
inc rax
mov qword [rbp - 0x60], rax
jmp 0x140042aec
mov r15d, 1
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x140042b76
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x140042b26
mov rax, qword [rcx + 8]
test rax, rax
je 0x140042b1c
nop dword [rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140042b10
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x140042b2d
imul rbx, rdx, 0x38
add rbx, r12
mov rcx, rbx
call fcn.140034250
movzx ecx, word [rbx + 0x14]
mov edx, 0xf244
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 0x14], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140042bd1
test byte [rdi + 8], 2
jne 0x140042bd1
mov rcx, qword [rbp - 0x60]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x60], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x140042be6
xor eax, eax
mov ebx, eax
lea rdx, [rbp - 0x60]
mov ecx, 8
call fcn.14000b570
mov rdx, qword [rbp - 0x60]
lea r9, [rbp + 0x20]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x60], rdx
mov rcx, qword [rdi + 0x30]
call fcn.140029180
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x1400456ef
cmp dword [rbp + 0x20], eax
jne 0x140042beb
inc ebx
cmp ebx, 0x64
jl 0x140042b80
mov rsi, qword [rsp + 0x70]
mov r8d, 0xd
mov dword [rsp + 0x44], r8d
jmp 0x14004567e
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
xor eax, eax
mov dword [rdi + 0x20], eax
mov byte [rdi + 3], 0
mov rax, qword [rbp - 0x60]
mov qword [rsi], rax
jmp 0x1400401c1
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 8]
movsxd rcx, dword [r8 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r12
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r12]
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x40], r8
cmp byte [rcx + 1], 0xfb
jne 0x140042c65
cmp qword [r13 + 0x140], 0
je 0x140042c65
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
shl rcx, 5
xor r15d, r15d
mov rsi, qword [rcx + rax]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rcx + 0x10]
jmp 0x140042c6b
xor r15d, r15d
mov esi, r15d
test byte [rcx + 2], 1
je 0x140042c7f
inc qword [r14 + 0x38]
test byte [rcx + 2], 0x20
je 0x140042c7f
mov qword [r13 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [rcx + 2]
mov qword [rbp + 0x48], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x5c], eax
test r8b, 0x10
je 0x140042c9e
mov r9d, dword [rbx + 0x24]
jmp 0x140042ca1
mov r9d, r15d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140042cb3
mov eax, dword [rdx]
mov dword [rbp + 0x60], eax
jmp 0x140042cb7
mov dword [rbp + 0x60], r15d
mov qword [rbp + 0x38], r15
lea rdx, [rbp + 0x38]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.14002edc0
inc dword [rbp - 0x74]
mov r8d, eax
mov dword [rsp + 0x44], eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], r15d
test eax, eax
jne 0x140045673
test rdi, rdi
je 0x140045221
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 + 0x40]
mov qword [rsp + 0x20], rax
call qword [r13 + 0x140]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov r8, qword [rsp + 0x48]
mov rcx, qword [r14 + 0x78]
movsxd rax, dword [r8 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r8 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r8 + 0xc]
test eax, eax
je 0x140042d5f
imul rcx, rax, 0x38
mov r8, qword [rcx + r12]
jmp 0x140042d62
mov r8, rdi
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.14002f420
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
lea rdi, [r13 + 0x140]
mov rax, qword [r14 + 0x78]
cmp byte [r8 + 1], 0xfb
movsxd rcx, dword [r8 + 4]
mov r15d, dword [r8 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x140042dec
cmp qword [rdi], 0
je 0x140042dec
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rsi, qword [r8 + 0x10]
shl rcx, 5
test byte [r8 + 2], 2
mov r14, qword [rcx + rax]
je 0x140042df3
cmp byte [rbx + 4], 0
je 0x140042df3
mov rcx, qword [rbx + 0x30]
call fcn.140028490
mov r8, qword [rsp + 0x48]
mov qword [rbx + 0x50], rax
jmp 0x140042df3
xor eax, eax
mov r14d, eax
mov esi, eax
movzx edx, byte [r8 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.14002f9c0
inc dword [rbp - 0x74]
mov r8d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov qword [rbx + 0x20], rax
test r8d, r8d
jne 0x14004560e
test r15b, 1
je 0x140045221
mov rax, qword [rsp + 0x68]
inc qword [rax + 0x38]
mov r10, qword [rdi]
test r10, r10
je 0x140045221
test rsi, rsi
je 0x140045221
test byte [rsi + 0x30], 0x80
jne 0x140045221
mov rax, qword [rbx + 0x50]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r13 + 0x138]
mov qword [rsp + 0x20], rax
call r10
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401bc
mov rdx, qword [r14 + 0x38]
mov rcx, r13
call fcn.14003add0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov qword [r14 + 0x38], rdi
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
lea r9, [rbp + 0x8c]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r8 + 0xc]
mov r8d, dword [r8 + 0x10]
imul rdx, rax, 0x38
mov dword [rbp + 0x8c], edi
add rdx, r12
call fcn.14004a1a0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
lea edx, [rax + 1]
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
cmp dword [rbp + 0x8c], eax
jne 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r12
mov rcx, qword [rax + rcx*8]
call fcn.14004a0d0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], edi
jmp 0x1400401c8
mov rdx, qword [rsp + 0x48]
mov rcx, r14
call fcn.14003f040
mov rcx, qword [r14 + 0x78]
mov rbx, rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.1400284d0
cmp eax, dword [r13 + 0x88]
ja 0x140045889
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.140035050
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 0xc], eax
jne 0x140045226
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x140045226
mov rcx, rbx
call fcn.140033e60
test eax, eax
jne 0x140045bc4
mov r8d, dword [rsp + 0x44]
jmp 0x1400401c1
mov rbx, qword [rsp + 0x48]
mov rcx, r14
mov rdx, rbx
call fcn.14003f040
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r14 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x140043032
mov r8d, dword [rsp + 0x44]
mov edx, 1
mov r15, qword [rsp + 0x48]
xor edi, edi
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov word [rax + 0x14], dx
jmp case.0x14003f58b.89
cmp byte [rbx + 3], 0
je 0x140043055
mov rax, qword [rbx + 0x50]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov qword [rbp + 0xa8], rax
mov qword [rdi], rax
jmp 0x1400401c1
cmp byte [rbx], 2
jne 0x1400430a4
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0xa8]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.14003afe0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045678
mov rax, qword [rbp + 0xa8]
mov r12, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
mov qword [rdi], rax
jmp 0x1400401c1
mov rcx, rbx
call fcn.1400394e0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
cmp byte [rbx + 2], al
je 0x1400430ce
mov edx, 1
mov word [rdi + 0x14], dx
jmp 0x14003fc26
mov rcx, qword [rbx + 0x30]
call fcn.140028490
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov qword [rbp + 0xa8], rax
mov qword [rdi], rax
jmp 0x1400401c1
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x140043134
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r14
call fcn.14003eb60
test rax, rax
je 0x140045bc4
or dword [rax + 8], 8
lea rcx, [0x14014ad0c]
mov qword [rax + 0x30], rcx
mov dword [rax + 0x24], edi
mov byte [rax + 4], 1
cmp byte [rax], 0
mov byte [rax + 2], 1
mov dword [rax + 0x20], edi
jne 0x14004521c
mov rcx, qword [rax + 0x30]
call fcn.140023020
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
xor r15d, r15d
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x30]
mov dword [rbp + 0x70], r15d
cmp bl, 0x89
jne 0x140043199
mov rcx, rsi
mov dword [rdi + 0x24], 0xffffffff
call fcn.140028480
test eax, eax
jne 0x14004521c
cmp byte [rsi], r15b
jne 0x1400431bb
test byte [rsi + 1], 8
je 0x1400431bb
mov dword [rbp + 0x70], r15d
mov r8d, r15d
mov word [rdi + 2], r15w
mov dword [rdi + 0x20], r15d
mov dword [rsp + 0x44], r15d
jmp 0x1400431e6
lea rdx, [rbp + 0x70]
mov rcx, rsi
call fcn.1400290a0
mov r8d, eax
mov dword [rsp + 0x44], eax
movzx eax, byte [rbp + 0x70]
mov byte [rdi + 2], al
mov byte [rdi + 3], r15b
mov dword [rdi + 0x20], r15d
test r8d, r8d
jne 0x14004566e
mov r15, qword [rsp + 0x48]
cmp dword [r15 + 8], 0
jle 0x140045226
mov r9, qword [rsp + 0x58]
xor edi, edi
lea edx, [rdi + 1]
cmp dword [rbp + 0x70], edi
jne 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x78]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140029010
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
cmp dword [rbp + 0x78], eax
jne 0x140044d26
mov rcx, rbx
call fcn.140029a90
test rax, rax
js 0x14004328c
mov rcx, rax
call fcn.14000e7b0
mov r15, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r15 + 0xc]
jge 0x140043291
mov r8d, dword [rsp + 0x44]
mov edx, 1
mov r9, qword [rsp + 0x58]
mov dword [rbp + 0x78], edx
jmp 0x140040d0e
mov r15, qword [rsp + 0x48]
cmp dword [rbp + 0x78], 0
mov edx, 1
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x58]
jne 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
inc dword [r14 + 0xdc]
mov rax, qword [rsp + 0x48]
mov r15d, 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x30], r15d
cmp byte [rbx], r15b
jne 0x1400432f6
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.140049f10
mov r8d, eax
mov dword [rsp + 0x44], eax
jmp 0x14004332a
mov rdi, qword [rbx + 0x30]
mov rcx, rdi
call fcn.140028d70
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x14004336c
xor eax, eax
mov rcx, rdi
mov dword [rbp + 0x30], eax
call fcn.140028fb0
mov r8d, eax
mov dword [rsp + 0x44], eax
xor edi, edi
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], edi
test r8d, r8d
jne 0x14004567e
mov r15, qword [rsp + 0x48]
movzx eax, byte [rbp + 0x30]
mov byte [rbx + 2], al
cmp dword [r15 + 8], r8d
jle 0x140045226
lea edx, [r8 + 1]
mov r9, qword [rsp + 0x58]
cmp dword [rbp + 0x30], r8d
jne 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
cmp eax, 0x10
jne 0x140043321
xor edi, edi
mov dword [rbp + 0x30], r15d
mov r8d, edi
mov dword [rsp + 0x44], edi
jmp 0x140043323
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rdx, rbx
call fcn.140049fe0
jmp 0x1400433dc
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov edx, dword [r8 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.14002a040
jmp 0x1400433dc
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov edx, dword [r8 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140029da0
mov r8d, eax
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x20], edi
test eax, eax
jne 0x140043408
mov r9, qword [rsp + 0x58]
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
inc dword [r14 + rax*4 + 0xd4]
jmp case.0x14003f58b.9
cmp r8d, 0x65
jne 0x140045678
mov r8d, edi
mov dword [rsp + 0x44], edi
mov byte [rbx + 2], 1
jmp 0x140043d03
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r8 + 8]
imul rbx, rax, 0x38
add rbx, r12
test byte [r8 + 2], 1
je 0x140043449
inc qword [r14 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140043470
mov rcx, rbx
call fcn.140033ec0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r8, qword [rsp + 0x48]
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x40], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x38], rax
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r8 + 0x10]
movzx r8d, word [r8 + 2]
add rcx, r12
mov qword [rbp + 0x50], rcx
mov word [rbp + 0x58], ax
test r8b, 0x10
je 0x1400434a9
mov r9d, dword [rdi + 0x24]
jmp 0x1400434ae
xor eax, eax
mov r9d, eax
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x38]
and r8d, 0x8a
call fcn.14002edc0
mov r8d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov dword [rdi + 0x20], eax
test r8d, r8d
jne 0x140045678
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r8 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r12
test word [rbx + 0x14], ax
je 0x14004351f
mov rcx, rbx
call fcn.140033ec0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov rdx, rbx
mov rcx, rdi
call fcn.140048b40
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov r8, qword [rsp + 0x48]
lea rdx, [rbp + 0x38]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x38], rax
movzx eax, word [r8 + 0xc]
mov word [rbp + 0x54], ax
movsxd rax, dword [r8 + 8]
lea r8, [rbp + 0x98]
imul rcx, rax, 0x38
mov byte [rbp + 0x56], 0
add rcx, r12
mov qword [rbp + 0x40], rcx
mov rcx, rdi
call fcn.140029400
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
cmp dword [rbp + 0x98], eax
jne 0x1400435d4
mov dl, 4
mov rcx, rdi
call fcn.14002f9c0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
xor edi, edi
mov r11d, dword [rsp + 0x50]
mov qword [rbx + 0x20], rdi
jmp 0x1400401c8
mov r15, qword [rsp + 0x48]
cmp word [r15 + 2], 0
je 0x1400435f6
mov rcx, r13
call fcn.140066e00
test eax, eax
je 0x1400458a8
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
xor edi, edi
mov qword [rbx + 0x20], rdi
jmp 0x1400401c8
mov rax, qword [r14 + 0x78]
mov r8, qword [rsp + 0x48]
movsxd rcx, dword [r8 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14004363e
mov rcx, rbx
call fcn.140039480
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r8, qword [rsp + 0x48]
jmp 0x140043647
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0x44], edi
cmp byte [rbx + 2], 0
jne 0x1400436ef
mov qword [rbp + 0xb0], rdi
lea r8, [rbp + 0xb0]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.14003aa50
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x1400436c6
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r14 + 0x78]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r8b
mov rax, qword [rbp + 0xb0]
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x48]
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], edi
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x1400401c8
mov rdx, rax
mov rcx, r14
call fcn.14003f040
mov rcx, qword [rbp + 0xb0]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x1400401c8
movsxd rax, dword [r8 + 8]
imul rcx, rax, 0x38
add rcx, r12
call fcn.1400347c0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14003fd5c
call fcn.140039410
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov r8, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp + 0x38], rax
movzx eax, word [r8 + 0x10]
mov word [rbp + 0x54], ax
sbb al, al
mov byte [rbp + 0x56], al
movsxd rax, dword [r8 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x40], rcx
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.140028440
mov edi, dword [rbx + 0x40]
lea eax, [rdi - 1]
cmp eax, 0x7ffffffe
ja 0x1400458ca
xor r8d, r8d
lea rcx, [rbp - 0x18]
mov rdx, r13
call fcn.1400347a0
lea r8, [rbp - 0x18]
mov edx, edi
mov rcx, rbx
call fcn.140035050
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov rdx, qword [rbp - 0x10]
lea r8, [rbp + 0x38]
mov ecx, dword [rbp - 8]
xor r9d, r9d
call fcn.140039e40
lea rcx, [rbp - 0x18]
mov ebx, eax
call fcn.140034210
mov r15, qword [rsp + 0x48]
lea ecx, [rbx + 1]
mov r8d, dword [rsp + 0x44]
neg ebx
mov r9, qword [rsp + 0x58]
test byte [r15], 1
cmovne ebx, ecx
xor edi, edi
lea edx, [rdi + 1]
test ebx, ebx
jg 0x140044d17
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
mov rdx, qword [rsp + 0x48]
mov rcx, r14
call fcn.14003f040
mov r15d, 1
mov rbx, rax
mov word [rax + 0x14], r15w
mov ecx, dword [r13 + 0xe8]
inc ecx
cmp dword [r13 + 0xdc], ecx
jg 0x140045906
mov rax, qword [rsp + 0x48]
lea r8, [rbp + 0x7c]
mov rcx, qword [r13 + 0x20]
xor r15d, r15d
mov dword [rbp + 0x7c], r15d
movsxd rdi, dword [rax + 0xc]
mov edx, dword [rax + 4]
mov r9, rdi
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.140030dc0
mov r8d, eax
mov dword [rsp + 0x44], eax
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rax, dword [rbp + 0x7c]
mov qword [rbx], rax
test r8d, r8d
jne 0x140045678
mov r8d, dword [rbp + 0x7c]
test r8d, r8d
je 0x14004521c
mov rax, qword [rsp + 0x48]
mov edx, edi
mov rcx, r13
mov r9d, dword [rax + 4]
call fcn.14006b3f0
mov r8d, dword [rsp + 0x44]
lea eax, [rdi + 1]
mov r15, qword [rsp + 0x48]
mov byte [rbp - 0x78], al
jmp 0x1400401c1
mov rcx, qword [r13 + 0x20]
lea r8, [rbp + 0x28]
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov qword [rbp + 0x28], rdi
movsxd rax, dword [rax + 8]
mov edx, dword [r15 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140030850
cmp dword [r15 + 0xc], 0
mov r8d, eax
mov dword [rsp + 0x44], eax
je 0x14004392d
mov rdx, qword [rbp + 0x28]
add qword [r14 + 0x38], rdx
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x14004392d
imul rcx, rax, 0x38
add qword [rcx + r12], rdx
test r8d, r8d
jne 0x140045678
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x140043976
mov rdx, qword [rcx + 0x30]
mov rcx, r13
call fcn.140047d00
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rcx, qword [rcx + 0x30]
call fcn.140030930
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rdx, qword [rsp + 0x48]
mov rcx, r14
call fcn.14003f040
mov rbx, rax
mov dword [rbp + 0x90], edi
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x90]
movsxd rcx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 8]
call fcn.140030510
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov eax, dword [rbp + 0x90]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov qword [rbx], rax
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
xor r9d, r9d
inc byte [r13 + 0x70]
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], rdi
mov rdx, qword [rax + 0x10]
call fcn.140084360
dec byte [r13 + 0x70]
mov r8d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x20]
cmp qword [rax + 0x10], 0
movsxd rbx, dword [rax + 4]
jne 0x140043a9f
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140071030
mov rax, qword [rsp + 0x48]
lea r8, [r14 + 0xa8]
and dword [r13 + 0x2c], 0xffffffef
mov edx, ebx
mov rcx, r13
movzx r9d, word [rax + 2]
call fcn.14008d8e0
or dword [r13 + 0x2c], 1
mov r8d, eax
and dword [r14 + 0xc8], 0xfffffffc
mov dword [rsp + 0x44], eax
jmp 0x140043b6d
mov dword [rbp + 0x48], ebx
lea rax, [r14 + 0xa8]
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x50], edi
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.140024c50
mov r8, qword [r13 + 0x20]
lea r9, str.sqlite_master
mov dword [rbp + 0x58], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [r8 + rbx]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14000adf0
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x14004591e
lea r9, [rbp + 0x38]
mov byte [r13 + 0xc5], 1
lea r8, [fcn.14008d580]
mov dword [rbp + 0x4c], edi
mov rdx, rax
mov dword [rbp + 0x54], edi
mov qword [rsp + 0x20], rdi
call fcn.140084360
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140043b50
mov r12d, dword [rbp + 0x4c]
mov dword [rsp + 0x44], r12d
test r12d, r12d
jne 0x140043b50
cmp dword [rbp + 0x54], r12d
jne 0x140043b50
mov ecx, 0x181b1
call fcn.1400d27a0
mov dword [rsp + 0x44], eax
mov rdx, rbx
mov rcx, r13
call fcn.140008200
mov r8d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x78]
mov byte [r13 + 0xc5], 0
test r8d, r8d
je 0x14003fcf4
mov rcx, r13
call fcn.140066550
mov r8d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x60]
cmp r8d, 7
je 0x140045bc9
jmp 0x1400459e4
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov edx, dword [rax + 4]
call fcn.140063850
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140066bc0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400662b0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400a2fb0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rcx, qword [rsp + 0x48]
lea r10, [rbp - 0x58]
mov r9, qword [rsp + 0x48]
mov rdx, qword [r13 + 0x20]
mov qword [rsp + 0x30], r10
lea r10, [rbp + 0x94]
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
add rdi, r12
mov r9d, dword [r9 + 8]
add rbx, r12
shl rax, 5
mov qword [rsp + 0x28], r10
mov ecx, dword [rdi]
inc ecx
mov rdx, qword [rax + rdx + 8]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.140031ef0
mov rcx, rbx
mov dword [rsp + 0x44], eax
mov r12d, eax
call fcn.1400347c0
mov eax, dword [rbp + 0x94]
test eax, eax
je 0x140043cec
test r12d, r12d
jne 0x140045928
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.140008120]
mov rdx, qword [rbp - 0x58]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140034c00
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.140033a60
mov r12, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x44]
mov eax, dword [r13 + 0x198]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
test eax, eax
jne 0x1400459de
cmp rsi, rbx
jb 0x140045221
nop word [rax + rax]
mov rdx, qword [r13 + 0x210]
test rdx, rdx
je 0x14004521c
mov eax, dword [r13 + 0x220]
mov rcx, qword [r13 + 0x218]
add rbx, rax
mov qword [rsp + 0x60], rbx
call rdx
test eax, eax
jne 0x1400459d7
cmp rsi, rbx
jae 0x140043d30
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r12
imul rdi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x140043da2
mov rcx, rbx
call fcn.140034970
test eax, eax
jne 0x140045bc4
mov rdx, qword [rdi + r12]
mov rcx, qword [rbx + 8]
call fcn.140018a80
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r12
test byte [rbx + 0x14], 0x10
je 0x140043e09
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xc0]
call fcn.140018f10
test eax, eax
je 0x140043e09
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbp + 0xc0]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140034870
jmp 0x140043cfe
mov rcx, rbx
call fcn.1400347c0
jmp 0x140044e78
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r12
imul rsi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x140043e47
mov rcx, rbx
call fcn.140034970
test eax, eax
jne 0x140045bbf
test edi, edi
je 0x140043e64
mov r8, qword [rsi + r12]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140018fd0
test eax, eax
jne 0x140044d01
test edi, edi
js 0x14003fa48
mov rdx, qword [rsi + r12]
mov rcx, qword [rbx + 8]
call fcn.140018a80
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, r12
cmp word [rcx + 2], 0
je 0x140043ec9
mov rax, qword [rsp + 0x68]
mov rcx, qword [r15 + 0x20]
mov rax, qword [rax + 0x108]
test rax, rax
je 0x140043ec9
cmp qword [rax + 0x30], rcx
je 0x1400454c8
mov rax, qword [rax + 8]
test rax, rax
jne 0x140043eb6
mov rcx, qword [rsp + 0x68]
mov eax, dword [r13 + 0xb0]
cmp dword [rcx + 0x118], eax
jge 0x14004593b
test byte [r14 + 0x14], 0x10
jne 0x140044003
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 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 [r15 + 8]
add ecx, edx
add eax, 7
jns 0x140043f12
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, r13
movsxd rdx, ebx
call fcn.140008670
mov rsi, rax
test rax, rax
je 0x140045bba
mov rcx, r14
call fcn.1400341f0
mov qword [r14 + 8], rsi
mov eax, 0x1010
mov word [r14 + 0x14], ax
lea rax, [0x140037370]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r14 + 0x10], ebx
mov r14, qword [rsp + 0x68]
mov dword [rsi + 0x58], edi
mov qword [rsi], r14
mov ecx, dword [r15 + 0x10]
mov dword [rsi + 0x5c], ecx
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x58]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x4c], edx
mov rax, qword [r14 + 0x68]
mov qword [rsi + 0x18], rax
mov eax, dword [r14 + 0x24]
mov dword [rsi + 0x54], eax
mov rax, qword [r14 + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r14 + 0x28]
mov dword [rsi + 0x48], eax
mov rax, qword [r14 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r14 + 0x90]
mov dword [rsi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x30], rax
movsxd rax, edi
xor edi, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x14004400a
nop dword [rax]
nop word [rax + rax]
mov word [rax + 0x14], di
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rcx
jne 0x140043ff0
jmp 0x14004400a
mov rsi, qword [r14 + 8]
mov r14, rcx
inc dword [r14 + 0x118]
lea r12, [rsi + 0x70]
mov rax, qword [r14 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [r14 + 0x38]
mov qword [rsi + 0x60], rax
mov rax, qword [r14]
mov qword [rsp + 0x78], r12
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x68], rcx
mov rax, qword [r14 + 0x128]
mov qword [rsi + 0x40], rax
mov qword [r14 + 0x128], rdi
mov qword [r14 + 0x38], rdi
mov qword [r14 + 0x108], rsi
mov qword [r14 + 0x68], r12
movsxd rcx, dword [rsi + 0x58]
mov dword [r14 + 0x24], ecx
movzx eax, word [rsi + 0x5c]
mov dword [r14 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, r12
mov qword [r14 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rsi + 0x28], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400f3a30
mov r9, qword [r15]
mov qword [r14 + 0x88], r9
mov eax, dword [r15 + 8]
mov dword [r14 + 0x90], eax
lea rax, [r9 - 0x18]
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x48], rax
jmp 0x140043cfe
mov rdx, qword [rsp + 0x48]
mov rcx, r14
call fcn.14003f040
mov r9, qword [r14 + 0x108]
mov r15, qword [rsp + 0x48]
movsxd rcx, dword [r9 + 0x4c]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r15 + 4]
movsxd rcx, r8d
mov r8d, 0x4000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x18]
call fcn.140034af0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov eax, dword [r13 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r15, rax
jae 0x140044143
movsxd rax, dword [rax + 8]
add qword [r13 + 0x300], rax
jmp case.0x14003f58b.89
cmp dword [rax + 4], 0
lea rcx, [0x140000000]
movsxd rax, dword [rax + 8]
je 0x14004416d
add qword [r13 + 0x2f8], rax
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
add qword [r14 + 0x50], rax
mov r13, qword [rbp - 0x80]
add r15, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x14003f55a
cmp dword [r15 + 4], 0
je 0x1400441ab
cmp qword [r13 + 0x2f8], 0
jne case.0x14003f58b.89
cmp qword [r13 + 0x300], 0
je 0x140040d0e
jmp case.0x14003f58b.89
cmp qword [r14 + 0x50], 0
jne case.0x14003f58b.89
cmp qword [r13 + 0x300], 0
je 0x140040d0e
jmp case.0x14003f58b.89
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x1400441ff
mov rax, qword [rcx + 8]
test rax, rax
je 0x1400441ec
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400441e0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14004420f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r12
mov rcx, rdi
call fcn.140034250
mov qword [rdi], rax
mov esi, 0xf244
movzx eax, word [rdi + 0x14]
and ax, si
or ax, 4
mov word [rdi + 0x14], ax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.140034250
movzx ecx, word [rbx + 0x14]
mov edx, 1
mov r8d, dword [rsp + 0x44]
and cx, si
mov r15, qword [rsp + 0x48]
or cx, 4
mov r11d, dword [rsp + 0x50]
mov word [rbx + 0x14], cx
mov qword [rbx], rax
cmp qword [rdi], rax
jge 0x140045230
movzx r10d, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov qword [rdi], rax
xor edi, edi
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle 0x1400401d3
mov rax, r15
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x140040d09
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x1400442f5
mov rcx, rbx
call fcn.14003f010
mov rbx, rax
jmp 0x1400442fe
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rdi + r12]
mov qword [rbp + 0xb8], rax
test rax, rax
jle 0x14004434c
mov rdx, qword [rsi + r12]
lea rcx, [rbp + 0xb8]
test rdx, rdx
mov edi, 0
cmovle rdx, rdi
call fcn.14000e650
test eax, eax
jne 0x14004434e
mov rax, qword [rbp + 0xb8]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov qword [rbx], rax
jmp 0x1400401c8
xor edi, edi
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
mov qword [rbx], 0xffffffffffffffff
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je 0x14003fd5c
mov r15, qword [rsp + 0x48]
jle 0x140040d0e
dec rax
mov qword [rcx + r12], rax
jmp 0x140040d0e
mov rax, qword [rsp + 0x48]
movabs rbx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rbx
jle 0x1400443c1
dec rax
mov qword [rcx + r12], rax
mov r15, qword [rsp + 0x48]
test rax, rax
je 0x140040d0e
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
mov rcx, r13
movzx edi, word [rax + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.140008700
mov rbx, rax
test rax, rax
je 0x140045bbf
xor r15d, r15d
add rsi, 6
mov rdx, r13
mov qword [rax + 0x10], r15
lea rcx, [rax + rsi*8]
lea r8d, [r15 + 1]
mov qword [rax], rcx
call fcn.1400347a0
mov r8, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x70]
mov rcx, qword [r8 + 0x10]
mov qword [rbx + 8], rcx
mov rcx, r8
sub rcx, qword [rsp + 0x58]
imul rcx
mov byte [rbx + 0x2a], dil
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], r14
shr rax, 0x3f
add rdx, rax
mov byte [rbx + 0x29], r15b
movzx eax, byte [rsp + 0x40]
xor edi, edi
mov byte [rbx + 0x28], al
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], r15d
mov word [r8], 0xf1a3
mov qword [r8 + 0x10], rbx
jmp 0x14004447c
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 0xc]
mov rbx, qword [r8 + 0x10]
imul r10, rax, 0x38
add r10, r12
cmp qword [rbx + 0x10], r10
je 0x1400444e5
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x1400444e5
mov r13, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r13 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r12
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x1400444c0
mov r13, qword [rbp - 0x80]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov r15, qword [rsp + 0x48]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r15 + 4], 0
je 0x140044509
call qword [rax + 0x30]
jmp 0x14004450c
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14004524c
jle 0x140044543
mov rcx, qword [rbx]
mov dl, 1
call fcn.1400351b0
mov r8, rax
lea rdx, [0x140129fd8]
mov rcx, r14
call fcn.140035950
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x78]
cmp byte [rbx + 0x29], 0
je 0x140044566
movsxd rax, dword [r15 - 0x14]
test eax, eax
je 0x140044562
imul rcx, rax, 0x38
mov edx, 1
add rcx, r12
call fcn.140034870
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x14004457a
cmp dword [rcx + 0x20], 0
je 0x14004457f
call fcn.1400341a0
mov rax, qword [rbx]
mov edx, 1
mov r8d, dword [rsp + 0x44]
mov word [rax + 0x14], dx
mov dword [rbx + 0x24], edi
test r8d, r8d
jne 0x140045bf7
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
jmp case.0x14003f58b.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, qword [rcx + 0x10]
add rbx, r12
test eax, eax
je 0x1400445fa
imul rdx, rax, 0x38
mov r8, rcx
mov rcx, rbx
add rdx, r12
call fcn.1400340c0
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x78]
jmp 0x14004460c
mov rdx, rcx
mov rcx, rbx
call fcn.140033fe0
mov r12d, eax
mov dword [rsp + 0x44], eax
mov rcx, rbx
test r12d, r12d
jne 0x14004595d
movzx edx, byte [rsp + 0x40]
call fcn.140033a60
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
lea rax, [rbp + 0xd0]
mov dword [rbp + 0xc8], edi
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xcc]
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov qword [rbp + 0xcc], 0xffffffffffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1400d0830
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x14004469b
cmp eax, 5
jne 0x140045678
mov r12, qword [rsp + 0x78]
mov eax, 1
mov dword [rbp + 0xc8], eax
mov dword [rsp + 0x44], edi
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
mov r14d, 4
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
nop word [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0xc8]
test word [rbx + 0x14], cx
je 0x1400446e0
mov rdx, rax
mov rcx, rbx
call fcn.140034830
mov ecx, 0x9000
jmp 0x1400446e8
mov qword [rbx], rax
mov word [rbx + 0x14], r14w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x1400446c0
mov r14, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rdx, qword [rsp + 0x48]
mov rcx, r14
call fcn.14003f040
mov rcx, qword [r13 + 0x20]
mov r14, rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.140031150
mov rcx, rax
mov rsi, rax
call fcn.14001efd0
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.14001efe0
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.14001ea50
cmp ebx, 5
jne 0x1400447f5
mov rcx, rax
call fcn.14000be00
test eax, eax
je 0x140044788
mov rcx, rsi
call fcn.14001f010
test eax, eax
jne 0x1400447f5
mov ebx, edi
mov r12d, dword [rsp + 0x44]
test r12d, r12d
je 0x140044796
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.14001ee40
mov ecx, 0x2202
mov word [r14 + 0x14], cx
mov ecx, eax
call fcn.140085990
mov rcx, rax
mov qword [r14 + 8], rax
call fcn.14000be00
movzx edx, byte [rsp + 0x40]
mov rcx, r14
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x16], 1
call fcn.140033a60
mov r14, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045673
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
jmp 0x1400401c1
cmp ebx, edi
je 0x14004478a
cmp edi, 5
je 0x140044803
cmp ebx, 5
jne 0x14004478a
cmp byte [r13 + 0x65], 0
je 0x14004597e
cmp dword [r13 + 0xdc], 1
jg 0x14004597e
cmp edi, 5
jne 0x140044844
mov rdx, r13
mov rcx, rsi
call fcn.14001f1e0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140044794
mov edx, ebx
mov rcx, rsi
call fcn.14001ee40
jmp 0x14004485f
cmp edi, 4
jne 0x140044854
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.14001ee40
cmp dword [rsp + 0x44], 0
jne 0x140044794
xor eax, eax
mov rcx, r15
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.1400326b0
mov r12d, eax
mov dword [rsp + 0x44], eax
jmp 0x14004478f
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 8]
test eax, eax
je 0x140044895
imul r9, rax, 0x38
add r9, r12
jmp 0x140044898
mov r9, rdi
mov r8d, dword [r8 + 4]
lea rcx, [r14 + 0xa8]
mov rdx, r13
call fcn.1400a92f0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140027550
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x140045221
cmp eax, 0x65
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r8d, edi
mov dword [rsp + 0x44], edi
jmp 0x140040d04
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x140044937
mov edx, dword [rax + 8]
mov rcx, r13
call fcn.14003ade0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov eax, dword [rax + 8]
mov r15, qword [rsp + 0x48]
inc eax
xor eax, dword [r14 + 0xc8]
and eax, 3
xor dword [r14 + 0xc8], eax
jmp case.0x14003f58b.89
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.1400284b0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.1400284c0
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c8
movzx r8d, byte [r15 + 0xc]
test r8b, r8b
jne 0x1400449d1
movabs rax, 0x400000000
test qword [r13 + 0x30], rax
jne 0x140040ad4
movsxd rax, dword [r15 + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [r15 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400324c0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
je 0x14003fcf9
cmp al, 6
jne 0x140045678
mov rax, qword [rsp + 0x48]
lea rdx, str.database_table_is_locked:__s
mov rcx, r14
mov r8, qword [rax + 0x10]
call fcn.140035950
mov r8d, dword [rsp + 0x44]
jmp 0x140045678
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1400ab520
mov dword [rsp + 0x44], eax
mov r8d, eax
test rbx, rbx
je 0x140044a55
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.14003afe0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
lea rcx, [rbp + 0x38]
xorps xmm0, xmm0
mov qword [rbp + 0x38], rdi
xorps xmm1, xmm1
mov qword [rbp + 0x68], rdi
movdqu xmmword [rbp + 0x40], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x58], xmm1
mov qword [rbp + 0x50], r13
add rdx, r12
call fcn.140034b30
lea rcx, [rbp + 0x38]
mov dword [rsp + 0x44], eax
call fcn.14003b5f0
test rax, rax
je 0x140044ad2
mov r8, rax
lea r9, [r14 + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov edx, dword [rax + 4]
call fcn.1400aae80
mov dword [rsp + 0x44], eax
lea rcx, [rbp + 0x38]
call fcn.1400341f0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045678
mov r12, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov rcx, r13
inc dword [r13 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400ab2d0
dec dword [r13 + 0xe8]
mov r8d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x60], rdi
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400459c7
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400459c7
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.14003afe0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045678
mov rax, qword [rbp - 0x60]
mov r9b, 2
mov rcx, r14
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.14003eb60
mov rcx, qword [rbp - 0x60]
test rax, rax
je 0x1400459bf
mov r12, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x1400401c1
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
call fcn.1400cd950
test eax, eax
jne 0x140045bc4
lea ecx, [rax + 0x10]
call fcn.140007f30
mov rbx, rax
test rax, rax
je 0x140045bc4
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
mov rcx, r14
add rdx, r12
mov qword [rbx + 8], rdx
mov rdx, rax
call fcn.14003f040
mov edx, 1
lea r9, [0x14003c520]
lea r8, str.ValueList
mov rcx, rax
mov word [rax + 0x14], dx
mov rdx, rbx
call fcn.140034890
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov rax, qword [rsp + 0x68]
add r11, r12
mov edx, dword [rdx + r12]
mov rsi, qword [r13 + 0x30]
mov rdi, qword [rax + 0x70]
xor eax, eax
movsxd r9, dword [r11]
mov r8d, eax
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x140044cb9
mov r10d, 1
nop
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x140044ca0
mov rax, qword [rsp + 0x48]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x68]
mov rdx, r15
mov dword [rsp + 0x44], eax
call fcn.14003afe0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x14004560a
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1400454af
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
xor edi, edi
mov r9, qword [rsp + 0x58]
mov edx, 1
mov r12, qword [rsp + 0x78]
jmp 0x140040d0e
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x140044d0d
mov r8, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r8 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r8 + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp byte [rdi + 2], 0
je 0x140044d66
mov rcx, rbx
call fcn.1400347c0
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x1400401c1
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rsi, qword [rax]
xor eax, eax
test byte [r8 + 2], 1
mov r14, qword [rsi]
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x38], rbx
movups xmmword [rbp + 0x58], xmm0
mov byte [rbp + 0x60], r10b
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x68], rax
je 0x140044dac
mov rcx, rbx
call fcn.1400347c0
mov r8, qword [rsp + 0x48]
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x140044dbc
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x38]
mov r8d, dword [r8 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov r14, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.14003afe0
cmp dword [rbp + 0x5c], 0
jle 0x140044e0d
mov rcx, rbx
call fcn.14003b5f0
mov r8, rax
lea rdx, [0x140129fd8]
mov rcx, r14
call fcn.140035950
mov r12d, dword [rbp + 0x5c]
mov dword [rsp + 0x44], r12d
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.140033a60
jmp 0x1400447d8
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1400454e8
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.14003afe0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140045673
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x140043cf9
mov r12, qword [rsp + 0x78]
mov r9, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x44]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x48], rax
jmp 0x140043d03
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, r12
test byte [rbx + 0x14], 2
jne 0x140044ed6
mov byte [rbx + 0x16], 1
jmp 0x140044ef5
cmp byte [rbx + 0x16], 1
je 0x140044ef5
mov dl, 1
mov rcx, rbx
call fcn.14000b7b0
mov dword [rsp + 0x44], eax
mov r8d, eax
test eax, eax
jne 0x140045673
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x44], eax
test edi, edi
jne 0x140044f15
and qword [r13 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r14
call fcn.14003afe0
and dword [r14 + 0xc8], 0xfffffffc
jmp 0x1400447d8
cmp byte [r13 + 0x67], 0
mov qword [rbp + 0x28], rdi
jne 0x140045bc4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400459c7
mov r10, qword [rbx]
test r10, r10
je 0x1400459c7
cmp qword [r10 + 0x68], 0
mov r15, qword [rsp + 0x48]
movsxd rdx, dword [r15 + 8]
je 0x1400401cd
movsxd rax, dword [r15 + 0xc]
movzx edi, byte [r13 + 0x6c]
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r12
test edx, edx
jle 0x140044fa0
nop dword [rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140044f90
movzx eax, byte [r15 + 2]
lea r9, [rbp + 0x28]
mov rcx, rbx
mov byte [r13 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x6c], dil
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.14003afe0
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x140044ff6
cmp dword [r15 + 4], r8d
je 0x140044fdf
mov rax, qword [rbp + 0x28]
mov qword [r13 + 0x38], rax
inc qword [r14 + 0x38]
test r8d, r8d
jne 0x140045678
mov r12, qword [rsp + 0x78]
jmp 0x1400401c1
cmp r8b, 0x13
jne 0x140044fdf
mov rax, qword [r15 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140044fdf
movzx ecx, word [r15 + 2]
cmp ecx, 4
jne 0x140045a00
mov r12, qword [rsp + 0x78]
xor edi, edi
mov r11d, dword [rsp + 0x50]
mov r8d, edi
mov dword [rsp + 0x44], edi
jmp 0x1400401c8
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x14004505a
mov rcx, rdx
call fcn.14003f010
mov r9, qword [rsp + 0x58]
mov rdx, rax
jmp 0x140045063
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x50]
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 0x1400401cd
mov r8, qword [rsp + 0x48]
movsxd rax, dword [r8 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x1400450c5
mov rcx, rbx
call fcn.14003f010
mov r8, qword [rsp + 0x48]
mov rbx, rax
jmp 0x1400450ce
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [r8 + 4]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
xor eax, eax
mov edx, eax
cmp dword [r8 + 0xc], eax
je 0x1400450ff
mov rcx, rdi
call fcn.140024c50
mov edx, eax
mov rax, qword [rsp + 0x48]
cmp edx, dword [rax + 0xc]
cmovb edx, dword [rax + 0xc]
mov rcx, rdi
call fcn.140025f90
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov eax, eax
mov qword [rbx], rax
jmp 0x1400401c1
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r12
cmp qword [rbx], rdi
je 0x140045185
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x18], r14
sub rdx, 1
mov qword [rbx], rdi
mov byte [rbx + 0x28], r10b
lea r9d, [rax - 1]
js 0x140045185
mov r13, qword [rsp + 0x48]
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
mov eax, dword [r13 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r12
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140045160
mov r13, qword [rbp - 0x80]
movzx eax, word [rdi + 0x14]
lea r8, [rbx + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, rbx
or ax, 1
mov word [rdi + 0x14], ax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14004521c
jle 0x1400451de
mov dl, 1
mov rcx, rdi
call fcn.1400351b0
mov r8, rax
lea rdx, [0x140129fd8]
mov rcx, r14
call fcn.140035950
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
lea rdx, [r14 + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, r13
mov r9d, dword [rax + 4]
call fcn.140039240
mov r8d, dword [rsp + 0x44]
xor edi, edi
mov dword [rbx + 0x24], edi
test r8d, r8d
jne 0x140045678
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
jmp 0x1400401c8
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
mov edx, 1
mov r11d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
xor edi, edi
mov r12, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x40]
mov r9, qword [rsp + 0x58]
jmp case.0x14003f58b.89
mov r8d, dword [rsp + 0x44]
jmp 0x140045226
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x14004522b
mov edx, 1
jmp 0x140045230
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 + r12 + 0x14], ax
jmp case.0x14003f58b.89
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r12
imul rbx, rax, 0x38
call fcn.14003f070
mov ecx, dword [rbx + r12 + 0x10]
xor edx, edx
mov r15, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + r12 + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
mov r8d, dword [rsp + 0x44]
jmp 0x1400401c8
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r12
imul rbx, rax, 0x38
call fcn.14003f070
mov ecx, dword [rbx + r12 + 0x10]
xor edx, edx
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + r12 + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
mov edx, 1
movzx eax, al
bt r8d, eax
mov r8d, dword [rsp + 0x44]
jb 0x140045346
inc dword [r14 + 0xf4]
jmp 0x140040d0e
inc dword [r14 + 0xf0]
movzx r10d, byte [rsp + 0x40]
mov r11d, dword [rsp + 0x50]
jmp case.0x14003f58b.89
movzx eax, byte [r13 + 0x6e]
test al, 0x41
je 0x140045423
cmp byte [r14 + 0xc5], 0xfe
je 0x140045423
mov r9, qword [r15 + 0x10]
test r9, r9
jne 0x140045391
mov r9, qword [r14 + 0xf8]
test r9, r9
je 0x14004541e
test al, 0x40
je 0x1400453be
mov rdx, r9
mov rcx, r14
call fcn.14003e610
mov rcx, qword [r13 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xf8]
mov rcx, rbx
call fcn.140008120
jmp 0x140045419
cmp dword [r13 + 0xe4], 1
jle 0x140045403
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.14000adf0
mov rdx, qword [r13 + 0x100]
mov r9, rax
mov r8, r14
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xf8]
mov rdx, rbx
mov rcx, r13
call fcn.1400083c0
jmp 0x140045419
mov rdx, qword [r13 + 0x100]
mov r8, r14
mov ecx, 1
call qword [r13 + 0xf8]
mov edx, 1
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x1401440d8]
jl 0x140045473
cmp byte [r15], 0xb5
je 0x14003f794
cmp dword [r14 + 0x90], 1
jle 0x140045471
mov eax, 0x18
mov rcx, qword [r14 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x140045462
mov dword [rax + rcx + 4], edi
inc edx
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x140045451
mov eax, edi
mov r8d, dword [rsp + 0x44]
inc eax
mov dword [r15 + 4], eax
inc dword [r14 + 0xec]
jmp 0x140040d09
mov r8d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
jmp 0x140040d0e
mov r8d, dword [rsp + 0x44]
xor edi, edi
mov r15, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
jmp case.0x14003f58b.89
mov r8d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
jmp 0x1400401c1
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp case.0x14003f58b.89
mov r15, qword [rsp + 0x48]
xor edi, edi
mov r14, qword [rsp + 0x68]
jmp case.0x14003f58b.89
mov r15, qword [rsp + 0x48]
xor edi, edi
jmp case.0x14003f58b.89
mov ecx, dword [r8 + 4]
mov dword [r14 + 0x34], ecx
movzx eax, byte [r8 + 8]
mov byte [r14 + 0xc4], al
test ecx, ecx
je 0x1400455c3
movzx eax, word [r8 + 2]
mov rcx, r14
test ax, ax
je 0x140045568
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x122470]
call fcn.140035950
mov rax, qword [rsp + 0x48]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x140045578
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.14000adf0
mov qword [r14 + 0xa8], rax
jmp 0x140045578
mov r8, qword [r8 + 0x10]
lea rdx, [0x140129fd8]
call fcn.140035950
mov r10, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r9, qword [r14 + 0xf8]
mov rcx, r10
sub rcx, qword [rsp + 0x58]
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, dword [r10 + 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.14000b0e0
mov rcx, r14
call fcn.140038b70
mov rbx, qword [rsp + 0x60]
mov edi, eax
mov r15d, 1
cmp eax, 5
jne 0x1400455e6
mov dword [r14 + 0x34], eax
jmp 0x140045740
cmp dword [r14 + 0x34], 0
mov edi, 0x65
cmovne edi, r15d
jmp 0x140045740
mov ecx, 0x172ef
call fcn.1400d27a0
mov r8d, eax
mov dword [rsp + 0x44], eax
mov r13, qword [rbp - 0x80]
mov r14, qword [rsp + 0x68]
jmp 0x140045673
movsxd rax, edi
mov rcx, rsi
lea rdi, [rax + rax*2]
mov ebx, dword [r15 + rdi*8 + 8]
shr ebx, 4
and ebx, 0xf
dec ebx
call fcn.14003f410
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r15 + rdi*8]
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
mov r14, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov rcx, r14
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x145af0]
call fcn.140035950
mov r8d, 0xc13
mov dword [rsp + 0x44], r8d
mov rsi, qword [rsp + 0x70]
mov r15d, 1
mov edi, 0xb
lea r12, [0x14012ffe4]
mov rbx, qword [rsp + 0x60]
cmp byte [r13 + 0x67], 0
je 0x140045bff
mov r8d, 7
mov dword [rsp + 0x44], r8d
jmp 0x140045c2f
mov r14, qword [rsp + 0x68]
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.140035950
mov r8d, 5
mov dword [rsp + 0x44], r8d
jmp 0x140045678
mov r14, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.140035950
mov r8d, 5
jmp 0x14004566e
mov byte [r13 + 0x65], 0
mov r14, rbx
mov rsi, qword [rsp + 0x70]
jmp 0x14004567e
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x30], edx
mov byte [r13 + 0x65], 0
mov dword [rbx + 0x34], edi
mov r14, rbx
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
nop dword [rax + rax]
cmp rsi, rbx
jb 0x140045d16
mov rdx, qword [r13 + 0x210]
test rdx, rdx
je 0x140045d16
mov eax, dword [r13 + 0x220]
mov rcx, qword [r13 + 0x218]
add rbx, rax
call rdx
test eax, eax
je 0x140045740
mov rbx, 0xffffffffffffffff
lea r8d, [rbx + 0xa]
jmp 0x1400459ea
mov edi, 0xb
bt rax, 0x14
mov r8d, 8
cmovae r8d, edi
mov dword [rsp + 0x44], r8d
lea r15d, [rdi - 0xa]
jmp 0x140045683
mov r14, qword [rsp + 0x68]
mov r15d, 1
mov rsi, qword [rsp + 0x70]
cmp r8b, 5
jne 0x14004567e
mov edi, dword [rsp + 0x44]
mov rcx, rbx
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r14 + 0x34], r8d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
jmp 0x140045733
mov r14, qword [rsp + 0x68]
mov rdx, qword [r14 + 0xa8]
mov rcx, r13
call fcn.1400083c0
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140008880
mov qword [r14 + 0xa8], rax
mov rax, qword [r13 + 0x20]
movsxd rdx, dword [r15 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x20]
cmp dword [rcx], eax
je 0x140045840
mov rcx, r13
call fcn.1400664c0
mov rbx, rdi
mov eax, dword [rbx]
mov r8d, 0x11
and eax, 0xfffffffd
or eax, 1
and eax, 0xffffffef
mov dword [rbx], eax
jmp 0x14004566e
mov r8d, 0x204
mov dword [rsp + 0x44], r8d
jmp 0x140045678
mov rcx, qword [rbx + 0x10]
call fcn.140025a60
mov r8d, dword [rsp + 0x44]
jmp 0x14004567e
mov r13, qword [rbp - 0x80]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.140035950
mov r8d, 0x12
mov dword [rsp + 0x44], r8d
jmp 0x140045678
lea r8, str.index_corruption
mov edx, 0x17fe8
mov ecx, 0x30b
call fcn.1400d2770
mov r8d, eax
mov dword [rsp + 0x44], eax
jmp 0x140045678
mov edi, 0xb
lea r12, [0x14012ffe4]
mov ecx, edi
mov qword [rsp + 0x20], r12
mov r9d, 0x180b5
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14000b0e0
mov r8d, edi
mov dword [rsp + 0x44], edi
lea r15d, [rdi - 0xa]
jmp 0x14004568a
mov r8d, 6
mov byte [r14 + 0xc4], 2
mov dword [rsp + 0x44], r8d
jmp 0x14004567e
call fcn.140066550
jmp 0x140045bc4
mov rcx, qword [rbp - 0x58]
call fcn.140008120
mov r8d, dword [rsp + 0x44]
jmp 0x140045678
mov r15d, 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x44], r15d
mov r14, rcx
call fcn.140035950
mov r8d, r15d
jmp 0x14004567e
call fcn.14003b5f0
mov r8, rax
lea rdx, [0x140129fd8]
mov rcx, r14
call fcn.140035950
mov r8d, dword [rsp + 0x44]
jmp 0x140045678
mov r14, qword [rsp + 0x68]
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
mov r15d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov dword [rsp + 0x44], r15d
mov rcx, r14
call fcn.140035950
mov rsi, qword [rsp + 0x70]
mov r8d, r15d
jmp 0x14004567e
call qword [rdi + 0x38]
jmp 0x140045bc4
mov r8d, 6
mov dword [rsp + 0x44], r8d
jmp 0x140045678
mov rbx, 0xffffffffffffffff
mov r8d, 9
mov r15d, 1
mov edi, 0xb
mov dword [rsp + 0x44], r8d
lea r12, [0x14012ffe4]
jmp 0x14004568f
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r14 + 0xc4], al
jmp 0x140045678
mov eax, dword [r14 + 0x2c]
mov rbx, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [r14 + 0x2c], eax
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
add rcx, r12
mov qword [r14 + 0xa0], rcx
cmp byte [r13 + 0x67], 0
jne 0x140045bc4
test byte [r13 + 0x6e], 4
je 0x140045a6e
mov rdx, qword [r13 + 0x100]
xor r9d, r9d
mov r8, r14
lea ecx, [r9 + 4]
call qword [r13 + 0xf8]
mov r9, qword [rsp + 0x58]
mov rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
mov edi, 0x64
imul rcx
lea r15d, [rdi - 0x63]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r14 + 0x30], edx
jmp 0x140045733
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r13 + 0x65]
cmp ebx, eax
je 0x140045b7a
test ecx, ecx
je 0x140045ad6
mov edx, 0x204
mov rcx, r13
call fcn.1400cf3b0
mov al, 1
mov r15d, 1
jmp 0x140045b0e
test ebx, ebx
je 0x140045af0
cmp dword [r13 + 0xe0], 0
jle 0x140045af0
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1400456b6
mov r15d, 1
mov rcx, r14
mov edx, r15d
call fcn.140038b00
mov edi, eax
test eax, eax
jne 0x140045733
movzx eax, bl
mov rcx, r14
mov byte [r13 + 0x65], al
call fcn.140038b70
cmp eax, 5
jne 0x140045b5f
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov edi, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r15d
sub al, bl
mov dword [r14 + 0x30], edx
mov byte [r13 + 0x65], al
mov dword [r14 + 0x34], edi
jmp 0x140045733
mov rcx, r13
call fcn.1400cec50
cmp dword [r14 + 0x34], 0
mov edi, 0x65
cmovne edi, r15d
jmp 0x140045733
test ebx, ebx
jne 0x140045b87
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140045b9b
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r14
call fcn.140035950
mov r15d, 1
mov r8d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x14004567e
mov r13, qword [rbp - 0x80]
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov rcx, r13
call fcn.140008a10
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.140035950
mov r8d, 7
jmp 0x1400459e4
mov r13, qword [rbp - 0x80]
mov r14, r15
jmp 0x140045678
mov r15, rdx
jmp 0x14004567e
cmp r8d, 0x210a
jne 0x140045c2f
mov r9d, 0x18947
mov qword [rsp + 0x20], r12
lea r8, str.database_corruption
mov ecx, edi
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14000b0e0
mov r8d, edi
mov dword [rsp + 0x44], edi
cmp qword [r14 + 0xa8], 0
jne 0x140045c5c
cmp r8d, 0xc0a
je 0x140045c5c
mov ecx, r8d
call fcn.1400cf520
mov r8, rax
lea rdx, [0x140129fd8]
mov rcx, r14
call fcn.140035950
mov r12d, dword [rsp + 0x44]
mov rcx, r13
mov edx, r12d
mov dword [r14 + 0x34], r12d
call fcn.14000beb0
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r9, qword [r14 + 0xf8]
imul rcx
mov rax, qword [r14 + 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.14000b0e0
cmp byte [r14 + 0xc7], 2
jne 0x140045cc9
mov rcx, r14
call fcn.140038b70
cmp r12d, 0xc0a
jne 0x140045cdc
mov rcx, r13
call fcn.140008a10
jmp 0x140045cf7
cmp r12d, 0xb
jne 0x140045cf7
cmp byte [r13 + 0x65], 0
jne 0x140045cf7
movabs rax, 0x200000000
or qword [r13 + 0x30], rax
movzx eax, byte [rbp - 0x78]
mov edi, r15d
test al, al
je 0x140045740
lea edx, [rax - 1]
mov rcx, r13
call fcn.1400664c0
jmp 0x140045740
add dword [r14 + 0xe4], esi
cmp dword [r14 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
mov r15, qword [rsp + 0x200]
mov r13, qword [rsp + 0x208]
mov r12, qword [rsp + 0x248]
mov rsi, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x238]
je 0x140045d67
mov rcx, r14
call fcn.1400371f0
mov eax, edi
mov rcx, qword [rbp + 0xd8]
xor rcx, rsp
call fcn.1400e2470
add rsp, 0x210
pop r14
pop rdi
pop rbp
ret