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

Disassembly:
mov r11, rsp
push rbp
push r13
push r15
lea rbp, [r11 - 0x138]
sub rsp, 0x220
mov rax, qword [0x14014c0a8]
xor rax, rsp
mov qword [rbp + 0xe0], rax
xor r8d, r8d
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
xor al, al
mov r15, rcx
mov rsi, qword [rcx + 0x88]
mov r13d, r8d
mov qword [r11 + 0x20], rdi
mov r10d, r8d
mov rdi, qword [rcx]
mov qword [r11 - 0x28], r14
mov r14d, r8d
mov r11, qword [rcx + 0x68]
mov qword [rsp + 0x78], rcx
movzx r9d, byte [rdi + 0x64]
mov byte [rsp + 0x40], r9b
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x54], r8d
mov qword [rsp + 0x58], rdi
mov byte [rbp - 0x80], al
mov dword [rsp + 0x50], r8d
mov qword [rbp - 0x70], r8
mov qword [rsp + 0x60], r11
mov dword [rbp - 0x7c], r8d
cmp dword [rcx + 0xd0], r8d
je 0x1400466dd
call fcn.14003e3a0
mov r11, qword [rsp + 0x60]
mov r10d, r13d
movzx r9d, byte [rsp + 0x40]
xor r8d, r8d
cmp qword [rdi + 0x210], r13
je 0x1400466fd
mov ecx, dword [rdi + 0x220]
xor edx, edx
mov eax, dword [r15 + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x140046704
mov rbx, 0xffffffffffffffff
cmp dword [r15 + 0x34], 7
mov edx, 1
mov qword [rsp + 0x218], r12
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm7
mov qword [rsp + 0x68], rbx
je 0x14004cf72
mov dword [r15 + 0x34], r8d
mov qword [r15 + 0x48], r8
mov eax, dword [rdi + 0x198]
mov dword [rdi + 0x298], r8d
test eax, eax
jne 0x14004cd6b
movsxd rax, dword [r15 + 0x30]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
mov eax, dword [rbp + 0x9c]
lea r12, [rsi + rcx*8]
mov dword [rbp - 0x78], eax
lea rcx, [0x140000000]
movzx ebx, byte [r12]
inc r14
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x70], r14
cmp ebx, 0xb6
ja case.default.0x14004679e
movsxd rax, ebx
mov ecx, dword [rcx + rax*4 + 0x4d16c]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, rsi
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r11 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp case.0x14004679e.9
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 0x14], 4
je case.0x14004679e.89
mov rax, qword [rax + r11]
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r11], rax
mov eax, 4
mov word [rcx + r11 + 0x14], ax
cmp dword [r12 + 8], 0
jne 0x14004c079
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [rsi + rcx*8 + 8]
dec eax
mov word [rdx + r11 + 0x14], r8w
cdqe
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp 0x1400468aa
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, rsi
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r11]
mov word [r8 + r11 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [rsi + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
xor r8d, r8d
mov edx, 1
lea rcx, [0x140000000]
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je case.0x14004679e.89
mov rbx, qword [r15 + 0x108]
test rbx, rbx
je 0x14004c880
cmp dword [r12 + 4], 0
jne 0x14004c880
mov rax, qword [rbx + 8]
mov rcx, rdi
mov rdx, qword [r15 + 0x38]
dec dword [r15 + 0x118]
mov qword [r15 + 0x108], rax
call fcn.140041fe0
mov rcx, rbx
call fcn.14003f0a0
cmp dword [r12 + 8], 4
jne 0x140046936
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov rsi, qword [r15 + 0x88]
mov r11, qword [r15 + 0x68]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
cdqe
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x60], r11
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp 0x1400468a7
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x14004698e
call fcn.140046210
xor r8d, r8d
mov rcx, rax
lea edx, [r8 + 1]
jmp 0x140046997
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x1400469dc
mov rcx, rdx
call fcn.140046210
mov rdx, rax
xor r8d, r8d
jmp 0x1400469e5
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1400468aa
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x140046a2b
mov rcx, rdx
call fcn.140046210
mov rdx, rax
xor r8d, r8d
mov eax, 8
jmp 0x1400469e1
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x140046a5a
mov rcx, rbx
call fcn.140046210
mov rbx, rax
xor r8d, r8d
jmp 0x140046a63
mov eax, 4
mov word [rbx + 0x14], ax
mov rdx, qword [r12 + 0x10]
test rdx, rdx
jne 0x140046a72
mov eax, r8d
jmp 0x140046a8e
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140046a80
and eax, 0x3fffffff
movzx esi, byte [rsp + 0x40]
mov dword [r12 + 4], eax
cmp sil, 1
je 0x140046b1a
mov qword [rsp + 0x20], r8
mov r9b, 1
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.14003c2a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cbc7
mov edx, esi
mov rcx, rbx
call fcn.14003b0d0
test eax, eax
jne 0x14004cf6d
mov eax, 0x2000
xor ecx, ecx
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov dword [rbx + 0x20], ecx
cmp byte [rax + 1], 0xfa
jne 0x140046b00
mov rdx, qword [rax + 0x10]
mov rcx, rdi
call fcn.14000f9a0
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r12 + 4], eax
cmp eax, dword [rdi + 0x88]
jg 0x14004cbc7
mov byte [r12], 0x49
jmp 0x140046b32
movzx esi, byte [rsp + 0x40]
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x140046b55
mov rcx, rdx
call fcn.140046210
mov rdx, rax
mov r11, qword [rsp + 0x60]
mov eax, 0x2202
mov r10d, dword [rsp + 0x50]
xor r8d, r8d
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], sil
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x140049b76
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
cmp qword [rcx + r11], rax
jne 0x140049b76
movzx r9d, byte [rsp + 0x40]
mov eax, 0x2210
mov rsi, qword [rsp + 0x70]
mov word [rdx + 0x14], ax
jmp 0x1400468aa
mov rbx, qword [rsp + 0x48]
mov r9d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], r9w
je 0x140046bef
call fcn.140046210
xor r8d, r8d
mov rcx, rax
mov r9d, 0x9000
lea edx, [r8 + 1]
jmp 0x140046bf8
mov eax, 4
mov word [rcx + 0x14], ax
cmp dword [rbx + 4], 0
mov esi, edx
mov edi, dword [rbx + 0xc]
mov edx, 0x101
mov eax, dword [rbx + 8]
cmovne si, dx
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], r8d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x14004c606
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x140046c40
lea rcx, [rbx - 0x14]
call fcn.14003b7d0
xor r8d, r8d
mov r9d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], r8d
test edi, edi
jg 0x140046c23
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
movsxd rax, dword [r12 + 4]
mov ebx, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + r11 + 0x14]
and ax, bx
or ax, 1
mov word [rcx + r11 + 0x14], ax
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x140046cbc
mov rcx, rbx
call fcn.140046210
mov rbx, rax
jmp 0x140046cc5
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
test rdx, rdx
jne 0x140046cf3
mov edx, eax
mov rcx, rbx
call fcn.14003be80
mov rcx, rbx
call fcn.14003b530
test eax, eax
jne 0x14004cf6d
jmp 0x140046d08
xor ecx, ecx
mov r8, rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, rbx
call fcn.14003c2a0
movzx r9d, byte [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov byte [rbx + 0x16], r9b
jmp 0x1400468a7
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [r15 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.14003c120
test eax, eax
jne 0x14004cbde
movsxd rax, dword [rbx + 8]
mov r11, qword [rsp + 0x60]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r11
test word [rbx + 0x14], ax
je 0x140046d73
mov rcx, rbx
call fcn.14003be60
mov r11, qword [rsp + 0x60]
movups xmm0, xmmword [rdi - 0x38]
mov r12, qword [rsp + 0x48]
mov ecx, 0xafff
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
mov rdi, qword [rsp + 0x58]
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 0x1400468a7
mov rcx, qword [rsp + 0x48]
mov r14d, 0x4000
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x140046df1
cmp dword [rbx + 0x20], 0
je 0x140046e00
mov rcx, rbx
call fcn.14003b810
xor r8d, r8d
lea edx, [r8 + 1]
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], dx
mov dword [rdi + 0x20], r8d
test word [rbx + 0x14], r14w
je 0x140046e45
mov rcx, rbx
call fcn.14003b4d0
test eax, eax
jne 0x14004cf68
xor r8d, r8d
lea edx, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x140046de0
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
jmp case.0x14004679e.89
mov rcx, qword [rsp + 0x48]
mov r14d, 0x4000
mov r12, rcx
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r11
add rbx, r11
nop dword [rax]
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.14003c190
test word [rbx + 0x14], r14w
je 0x140046ec5
mov rcx, rbx
call fcn.14003b4d0
test eax, eax
jne 0x14004cf68
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x140046ee4
test byte [r12 + 2], 2
je 0x140046ee4
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x14004c5f9
add rbx, 0x38
add rdi, 0x38
jmp 0x140046ea0
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, r11
add rcx, r11
call fcn.14003c190
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
jmp 0x1400468a7
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r11
mov rax, qword [rcx + r11]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x140046f87
mov rdx, rax
mov rcx, r8
call fcn.14003bed0
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
jmp 0x1400468a7
mov r12, qword [rsp + 0x48]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
xor r8d, r8d
jmp case.0x14004679e.89
xor edx, edx
mov rcx, r15
call fcn.14003fce0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
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, r11
imul rsi, rax, 0x38
movzx r14d, word [r13 + 0x14]
add rbx, r11
movzx eax, r14b
add rsi, r11
or al, byte [rbx + 0x14]
test al, 1
je 0x140047031
mov rcx, rsi
call fcn.14003be60
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468a7
test r14b, 0x12
jne 0x140047064
xor r8d, r8d
movzx edx, r9b
mov rcx, r13
call fcn.14003b5a0
test eax, eax
jne 0x14004cf6d
movzx r14d, word [r13 + 0x14]
mov r12d, 0xfffd
and r14w, r12w
mov eax, 0x400
jmp 0x14004707f
mov eax, 0x400
test ax, r14w
je 0x140047079
mov rcx, r13
call fcn.14003b530
jmp 0x140047046
mov r12d, 0xfffd
movzx edi, word [rbx + 0x14]
test dil, 0x12
jne 0x14004709b
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rbx
call fcn.14003b5a0
jmp 0x1400470a8
test ax, di
je 0x1400470b8
mov rcx, rbx
call fcn.14003b530
test eax, eax
jne 0x14004cf68
movzx edi, word [rbx + 0x14]
and di, r12w
mov r8, qword [rsp + 0x58]
mov edx, dword [rbx + 0x10]
add edx, dword [r13 + 0x10]
movsxd r15, edx
movsxd rax, dword [r8 + 0x88]
cmp r15, rax
jg 0x14004cbbf
xor ecx, ecx
mov r8d, ecx
cmp rsi, rbx
mov rcx, rsi
sete r8b
add edx, 2
call fcn.14003b0f0
test eax, eax
jne 0x14004cf63
movzx eax, word [rsi + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rsi + 0x14], ax
cmp rsi, rbx
je 0x140047124
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rsi + 8]
call fcn.1400f7820
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.1400f7820
movzx r9d, byte [rsp + 0x40]
mov word [r13 + 0x14], r14w
cmp r9b, 1
jbe 0x14004714e
and r15, 0xfffffffffffffffe
mov rax, qword [rsi + 8]
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
mov byte [r15 + rax], 0
mov rax, qword [rsi + 8]
mov byte [rax + r15 + 1], 0
mov eax, 0x200
or word [rsi + 0x14], ax
mov dword [rsi + 0x10], r15d
mov byte [rsi + 0x16], r9b
mov rsi, qword [rsp + 0x70]
jmp 0x1400468a7
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rsi, r11
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, r11
add r14, r11
movzx ecx, word [rdi + 0x14]
movzx eax, cl
and al, bl
test al, 4
jne 0x14004720a
or cl, bl
test cl, 1
jne 0x1400473a2
and bx, 0x2d
jne 0x1400471ee
mov rcx, rsi
call fcn.140046160
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x140047200
mov rcx, rdi
call fcn.140046160
and al, bl
test al, 4
je 0x1400472e9
movzx edx, byte [r12]
mov r8, qword [rdi]
mov rcx, qword [rsi]
mov qword [rbp + 0x88], r8
sub edx, 0x6a
je 0x1400472ac
sub edx, 1
je 0x14004729b
sub edx, 1
je 0x14004728a
cmp edx, 1
je 0x14004725b
mov edx, 1
test rcx, rcx
je 0x14004739f
cmp rcx, 0xffffffffffffffff
mov rax, r8
cmove rcx, rdx
cqo
idiv rcx
mov qword [rbp + 0x88], rdx
jmp 0x1400472bf
test rcx, rcx
je 0x14004739a
cmp rcx, 0xffffffffffffffff
jne 0x140047279
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1400472e9
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x88], rax
jmp 0x1400472bf
mov rdx, rcx
lea rcx, [rbp + 0x88]
call fcn.140015da0
jmp 0x1400472bb
mov rdx, rcx
lea rcx, [rbp + 0x88]
call fcn.140015d30
jmp 0x1400472bb
mov rdx, rcx
lea rcx, [rbp + 0x88]
call fcn.140015ce0
test eax, eax
jne 0x1400472e9
mov rax, qword [rbp + 0x88]
mov ecx, 0xf244
mov rdi, qword [rsp + 0x58]
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov word [r14 + 0x14], ax
jmp 0x140047017
mov rcx, rsi
call fcn.14003b950
mov rcx, rdi
movaps xmm6, xmm0
call fcn.14003b950
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x14004736a
sub ecx, 1
je 0x140047364
sub ecx, 1
je 0x14004735e
cmp ecx, 1
je 0x140047350
mov rcx, rsi
call fcn.14003b8c0
mov rcx, rdi
mov rbx, rax
call fcn.14003b8c0
mov qword [rbp + 0x88], rax
mov edx, 1
test rbx, rbx
je 0x14004739f
cmp rbx, 0xffffffffffffffff
xorps xmm0, xmm0
cmove rbx, rdx
cqo
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14004736e
ucomisd xmm6, xmm7
jp 0x140047358
je 0x14004739a
divsd xmm0, xmm6
jmp 0x14004736e
mulsd xmm0, xmm6
jmp 0x14004736e
subsd xmm0, xmm6
jmp 0x14004736e
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 0x1400473ca
mov edx, 1
xor r8d, r8d
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x1400473c0
mov rcx, r14
call fcn.14003b7d0
mov rdi, qword [rsp + 0x58]
jmp 0x140047017
mov word [r14 + 0x14], dx
jmp 0x140046e57
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
mov rdi, qword [rsp + 0x58]
and ax, cx
or ax, 8
movsd qword [r14], xmm0
mov word [r14 + 0x14], ax
jmp 0x140047017
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x14004679e.89
imul rcx, rax, 0x38
xor edx, edx
add rcx, r11
call fcn.14003bf10
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rdi, r11
imul rsi, rax, 0x38
add rcx, r11
add rsi, r11
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test al, 1
je 0x140047486
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x140047473
mov rcx, rsi
call fcn.14003b7d0
mov rdi, qword [rsp + 0x58]
jmp 0x140047017
mov word [rsi + 0x14], dx
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
jmp case.0x14004679e.89
call fcn.14003b8c0
mov rcx, rdi
mov rbx, rax
call fcn.14003b8c0
movzx edx, byte [r12]
mov rcx, rax
cmp dl, 0x66
jne 0x1400474a8
and rbx, rax
jmp 0x14004751d
cmp dl, 0x67
jne 0x1400474b2
or rbx, rcx
jmp 0x14004751d
test rcx, rcx
je 0x14004751d
jns 0x1400474cc
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1400474d2
neg rcx
cmp rcx, 0x40
jl 0x1400474eb
test rbx, rbx
jns 0x1400474e5
cmp dl, 0x68
je 0x1400474e5
mov rbx, 0xffffffffffffffff
jmp 0x14004751d
xor ecx, ecx
mov ebx, ecx
jmp 0x14004751d
cmp dl, 0x68
jne 0x1400474f8
shl rbx, cl
mov r8, rbx
jmp 0x14004751a
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14004751a
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 rdi, qword [rsp + 0x58]
and ax, cx
or ax, 4
mov qword [rsi], rbx
mov word [rsi + 0x14], ax
jmp 0x140047017
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14003b8c0
movzx ecx, word [rbx + 0x14]
mov edx, 0xf244
mov r11, qword [rsp + 0x60]
and cx, dx
movzx r9d, byte [rsp + 0x40]
or cx, 4
mov r10d, dword [rsp + 0x50]
mov word [rbx + 0x14], cx
mov qword [rbx], rax
movsxd rcx, dword [r12 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x1400468a7
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x1400475f9
movzx r8d, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.1400460a0
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x1400475ed
cmp dword [r12 + 8], 0
je 0x14004c985
xor r8d, r8d
mov edx, 1
mov eax, dword [r12 + 8]
mov r11, qword [rsp + 0x60]
dec eax
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
cdqe
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp case.0x14004679e.89
mov r11, qword [rsp + 0x60]
xor r8d, r8d
lea edx, [r8 + 1]
movzx r9d, byte [rsp + 0x40]
mov ecx, 0xf244
mov r10d, dword [rsp + 0x50]
and ax, cx
or ax, 4
mov word [rbx + 0x14], ax
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
je case.0x14004679e.89
call fcn.14003bb00
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x140047673
mov rcx, rbx
call fcn.14003b530
mov r13d, eax
test eax, eax
jne 0x14004cb77
movzx r8d, byte [rsp + 0x40]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.14003bcb0
jmp 0x140046fab
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r11
add r14, r11
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x14004775d
mov rcx, qword [r14]
mov edx, 1
cmp rcx, qword [r15]
lea rcx, [0x140000000]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
jle 0x140047708
cmp byte [rbx + rcx + 0x1340a8], 0
jne 0x1400475c7
mov r10d, edx
mov dword [rsp + 0x50], edx
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
jge 0x140047735
cmp byte [rbx + rcx + 0x13409c], 0
jne 0x1400475c7
mov r10d, 0xffffffff
mov dword [rsp + 0x50], r10d
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
cmp byte [rbx + rcx + 0x1340a2], 0
jne 0x1400475c7
mov r10d, r8d
mov dword [rsp + 0x50], r8d
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
movzx ecx, di
or cx, si
test cl, 1
je 0x1400477ce
movzx eax, word [r12 + 2]
test al, al
jns 0x1400477ab
test dl, 1
je 0x140047790
mov eax, 0x100
test ax, di
jne 0x140047790
movzx eax, byte [r12]
mov dword [rsp + 0x50], r8d
jmp 0x1400478ca
movzx eax, di
not ax
and eax, 1
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x50], r10d
jmp 0x1400478a0
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov rsi, qword [rsp + 0x70]
test al, 0x10
jne 0x1400475c7
mov r10d, edx
mov dword [rsp + 0x50], edx
jmp case.0x14004679e.89
movzx eax, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140047812
test cl, 2
je 0x140047884
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1400477fc
xor edx, edx
mov rcx, r15
call fcn.140045f30
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x140047884
xor edx, edx
mov rcx, r14
call fcn.140045f30
jmp 0x140047884
cmp al, 0x42
jne 0x140047884
test cl, 2
je 0x140047884
test sil, 2
jne 0x140047856
test sil, 0x2c
je 0x140047856
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.14003b5a0
xor si, word [r15 + 0x14]
mov ebx, 0xdbf
and si, bx
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x14004785b
movzx edi, si
or di, 2
jmp 0x14004785b
mov ebx, 0xdbf
test dil, 2
jne 0x140047884
test dil, 0x2c
je 0x140047884
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.14003b5a0
xor di, word [r14 + 0x14]
and di, bx
xor di, word [r14 + 0x14]
mov r8, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140040ed0
mov r11, qword [rsp + 0x60]
mov r10d, eax
mov dword [rsp + 0x50], eax
movzx eax, byte [r12]
mov ecx, r10d
movzx r9d, si
test r10d, r10d
jns 0x1400478c2
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x13409c]
jmp 0x1400478fa
mov dword [rsp + 0x50], ecx
test ecx, ecx
jne 0x1400478e0
mov r10d, dword [rsp + 0x50]
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x1340a2]
jmp 0x1400478fa
lea rdx, [0x140000000]
mov dword [rsp + 0x50], ecx
movzx edx, byte [rax + rdx + 0x1340a8]
lea rcx, [0x140000000]
xor r8d, r8d
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
mov rsi, qword [rsp + 0x70]
test dl, dl
jne 0x14004c079
mov rdi, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov edx, 1
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
test r10d, r10d
je 0x1400475c7
jmp case.0x14004679e.89
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x140047954
mov r13, r8
jmp 0x14004795c
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
xor edx, edx
mov r8d, dword [rax + 4]
mov edi, edx
mov r9d, dword [rax + 8]
mov ebx, edx
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x58], rcx
mov dword [rbp + 0x28], r8d
mov dword [rbp - 0x60], r9d
mov qword [rbp + 0x30], rax
test rax, rax
jle 0x14004c857
lea r14, [rcx + 0x20]
nop
test r13, r13
je 0x14004799c
mov edx, dword [r13 + rbx*4]
jmp 0x14004799e
mov edx, edi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r12, rcx, 0x38
movzx esi, byte [rax + rbx]
lea ecx, [rdx + r8]
mov r8, qword [r14]
add r12, r11
imul r15, rcx, 0x38
mov rdx, r12
and esi, 1
add r15, r11
mov rcx, r15
call fcn.140040ed0
mov dword [rsp + 0x50], eax
mov r10d, eax
test eax, eax
jne 0x140047a17
mov rcx, qword [rbp - 0x58]
inc edi
mov r8d, dword [rbp + 0x28]
inc rbx
mov r9d, dword [rbp - 0x60]
add r14, 8
mov r11, qword [rsp + 0x60]
cmp rbx, qword [rbp + 0x30]
jl 0x140047990
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468a7
mov rax, qword [rbp - 0x58]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x140047a3c
test byte [r15 + 0x14], 1
jne 0x140047a34
test byte [r12 + 0x14], 1
je 0x140047a3c
neg r10d
mov dword [rsp + 0x50], r10d
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
test esi, esi
je 0x14004c5bc
movzx r9d, byte [rsp + 0x40]
neg r10d
mov rsi, qword [rsp + 0x70]
mov dword [rsp + 0x50], r10d
jmp 0x1400468a7
test r10d, r10d
jns 0x140047a8b
mov eax, dword [r12 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp case.0x14004679e.89
jne 0x140047aa3
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp case.0x14004679e.89
mov eax, dword [r12 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [rsi + rcx*8]
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 4]
mov r14d, 2
imul rcx, rax, 0x38
mov edx, r14d
add rcx, r11
call fcn.14003b980
movsxd rcx, dword [r12 + 8]
mov edx, r14d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x60]
call fcn.14003b980
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x2c
jne 0x140047b0f
movzx r8d, byte [rcx + rdx + 0x137020]
jmp 0x140047b18
movzx r8d, byte [rcx + rdx + 0x138280]
movsxd rax, dword [rax + 0xc]
mov r11, qword [rsp + 0x60]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r11 + 0x14]
cmp r8b, r14b
jne 0x140047b57
mov r12, qword [rsp + 0x48]
mov eax, 0xf241
movzx r9d, byte [rsp + 0x40]
and cx, ax
mov r10d, dword [rsp + 0x50]
or cx, 1
mov word [rdx + r11 + 0x14], cx
jmp 0x1400468a7
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
movzx eax, r8b
mov qword [rdx + r11], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r11 + 0x14], cx
jmp 0x1400468a7
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14003b980
movsxd rdx, dword [rbx + 0x10]
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.14003bf10
mov r11, qword [rsp + 0x60]
mov r12, rbx
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
test byte [rcx + 0x14], 1
jne 0x140047c25
xor edx, edx
call fcn.14003b980
xor ecx, ecx
mov edx, ecx
test eax, eax
mov rcx, rbx
sete dl
call fcn.14003bf10
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
jmp 0x1400468a7
mov rcx, rbx
call fcn.14003be60
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
jmp 0x1400468a7
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, r11
add rbx, r11
mov rcx, rbx
call fcn.14003be60
test byte [rdi + 0x14], 1
jne 0x14004c5a8
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.14003b8c0
mov rdi, qword [rsp + 0x58]
not rax
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov qword [rbx], rax
jmp 0x1400468a7
mov r8, qword [r15 + 0x108]
test r8, r8
je 0x140047d04
mov r9, qword [r8 + 0x28]
mov rcx, r12
sub rcx, qword [r15 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1400475bf
bts eax, edx
mov edx, 1
mov byte [rcx + r9], al
jmp 0x140047d19
mov rcx, qword [r15 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x14004c707
mov rax, qword [r15 + 0x88]
xor r8d, r8d
movzx r9d, byte [rsp + 0x40]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
jmp case.0x14004679e.89
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14003b980
xor r8d, r8d
test eax, eax
jne 0x14004c079
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
mov edx, r8d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.14003b980
xor r8d, r8d
test eax, eax
mov r12, qword [rsp + 0x48]
je 0x14004c079
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x1400475c7
jmp case.0x14004679e.89
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x140047e35
mov r12, qword [rsp + 0x48]
mov rcx, rax
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
movsxd rcx, dword [r12 + 0xc]
movzx eax, word [rdx + 0x4a]
cmp ecx, eax
jge 0x140047e24
mov ecx, dword [rdx + rcx*4 + 0x78]
cmp ecx, 0xc
jb 0x140047e10
test cl, 1
mov edx, 4
mov eax, 8
cmove dx, ax
jmp 0x140047e58
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x1334b8]
jmp 0x140047e5f
mov ecx, dword [r12 + 0x10]
mov edx, 1
dec ecx
shl dx, cl
jmp 0x140047e58
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1400428c0
mov r12, qword [rsp + 0x48]
mov edx, 1
lea ecx, [rax - 1]
shl dx, cl
xor r8d, r8d
lea rcx, [0x140000000]
test word [r12 + 2], dx
jne 0x1400475c2
mov r11, qword [rsp + 0x60]
mov edx, 1
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x140047edc
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
jne 0x140047edc
movsxd rax, dword [r12 + 8]
xor edx, edx
imul rcx, rax, 0x38
add rcx, r11
call fcn.14003bf10
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14003be60
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 0x14], 1
je 0x1400475c7
jmp case.0x14004679e.89
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x1400468aa
cmp byte [rdx + 2], 0
je 0x1400468aa
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.14003be60
jmp 0x1400475bf
mov rdi, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14d, dword [rdi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x28], r14d
nop dword [rax + rax]
mov r12, qword [rbx + 0x58]
mov eax, dword [r15 + 0x2c]
mov qword [rbp + 0x30], r12
cmp dword [rbx + 0x20], eax
je 0x140047fba
cmp byte [rbx + 2], 0
jne 0x14004801a
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x140047fb3
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140047fe4
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140047fe4
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x140047f67
cmp byte [rdi], 0
je 0x140047ffb
jmp 0x140047fc7
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1400480f5
mov rcx, rbx
call fcn.140040620
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x140047f70
mov rdi, qword [rsp + 0x58]
jmp 0x14004cb77
mov rcx, rbx
call fcn.1400405b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
mov rcx, rdi
call fcn.14002fd90
lea rsi, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, rsi
mov rcx, rdi
call fcn.140030470
mov rcx, rax
jmp 0x140048048
cmp byte [rbx], 3
jne 0x1400480c3
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x1400480c3
imul rcx, rax, 0x38
lea rsi, [rbx + 0x6c]
add rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x10]
mov dword [rsi], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 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 - 0x58], rdi
cmp eax, 0x80
jae 0x140048070
mov eax, 1
jmp 0x14004807f
mov rcx, qword [rbx + 0x60]
mov rdx, r12
call fcn.140015b70
movzx eax, al
mov dword [rdi], eax
lea r13, [rbx + 0x4a]
xor r8d, r8d
mov word [r13], r8w
mov eax, dword [r12]
cmp dword [rsi], eax
jae 0x1400480b6
mov qword [rbx + 0x60], r8
mov dword [rsi], r8d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140048259
cmp eax, dword [rbx + 0x68]
ja 0x140048259
jmp 0x1400480fc
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
jmp 0x140048169
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.14003be60
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x1400468a7
lea r13, [rbx + 0x4a]
xor r8d, r8d
movzx eax, word [r13]
cmp eax, r14d
ja 0x1400482f9
mov eax, dword [r12]
lea rdi, [rbx + 0x40]
mov qword [rbp - 0x58], rdi
cmp dword [rdi], eax
jae 0x14004829f
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140048165
xorps xmm0, xmm0
mov qword [rbp - 0x18], rax
movups xmmword [rbp - 0x48], xmm0
lea r8, [rbp - 0x48]
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
mov edx, dword [r12]
mov rcx, qword [rbx + 0x30]
call fcn.14003c6f0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14004cfb2
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x60], rax
jmp 0x140048169
mov qword [rbp - 0x58], 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
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 0x1400481a6
inc rdi
movzx ecx, al
call fcn.1400406b0
movzx eax, al
jmp 0x1400481ca
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.140015b70
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.140040690
mov eax, eax
mov rcx, qword [rbp + 0x30]
inc r15d
add rsi, rax
movsxd r14, r15d
mov dword [rcx + r14*4], esi
cmp r15d, dword [rbp + 0x28]
ja 0x1400481e8
cmp rdi, r12
jb 0x140048181
jmp 0x1400481ed
cmp rdi, r12
jb 0x14004822a
cmp rdi, r12
ja 0x140048232
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jne 0x140048232
sub edi, dword [rbp - 0x60]
cmp qword [rbx + 0x60], 0
mov rax, qword [rbp - 0x58]
mov word [r13], r15w
mov dword [rax], edi
jne 0x140048218
lea rcx, [rbp - 0x48]
call fcn.14003b860
mov edx, dword [rbp - 0x68]
mov r12, qword [rbp + 0x30]
mov r14d, dword [rbp + 0x28]
mov r15, qword [rsp + 0x78]
jmp 0x1400482a5
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jbe 0x1400481fa
cmp dword [rcx], 0
jne 0x140048241
xor ecx, ecx
mov rdi, r12
mov r15d, ecx
jmp 0x1400481fa
cmp qword [rbx + 0x60], 0
jne 0x140048251
lea rcx, [rbp - 0x48]
call fcn.14003b860
mov r15, qword [rsp + 0x78]
xor r8d, r8d
mov rsi, qword [rsp + 0x70]
mov eax, dword [rsi + 0xc]
test eax, eax
jle 0x14004c990
mov r13d, dword [rsp + 0x54]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [rsi + rax*8]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
mov edx, r8d
mov dword [rbp - 0x68], edx
movzx eax, word [r13]
cmp eax, r14d
ja 0x1400482f4
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
cmp byte [rdx + 1], 0xf6
jne 0x1400482e5
mov rdx, qword [rdx + 0x10]
mov r8d, 0x2000
call fcn.14003c190
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
jmp 0x140047012
call fcn.14003be60
mov rdi, qword [rsp + 0x58]
jmp 0x14004700d
mov esi, r14d
jmp 0x140048303
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 + 0x60]
test word [rdi + 0x14], ax
je 0x140048330
mov rcx, rdi
call fcn.14003be60
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 0x140048429
mov esi, dword [r12 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x140048363
mov r8, rdi
mov rcx, rsi
call fcn.1400406c0
mov rdi, qword [rsp + 0x58]
jmp 0x14004700d
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 0x1400483ab
mov r8, qword [rsp + 0x58]
cmp ebx, dword [r8 + 0x88]
jg 0x14004cbc4
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.14003b0f0
test eax, eax
jne 0x14004cf68
jmp 0x1400483b3
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.1400f7820
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
mov byte [rbx + rax], 0
mov rax, qword [rdi + 8]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x68]
and eax, 1
xor r8d, r8d
movzx eax, word [rcx + rax*2 + 0x131810]
mov word [rdi + 0x14], ax
lea edx, [r8 + 1]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
movzx eax, byte [rsp + 0x40]
mov byte [rdi + 0x16], al
movzx eax, byte [r8 + 2]
mov edx, dword [rbp - 0x68]
and al, 0xc0
je 0x14004844f
cmp al, 0x80
je 0x14004845d
cmp edx, 0xc
jb 0x14004844f
test dl, 1
je 0x14004845d
cmp al, 0xc0
je 0x14004845d
mov ecx, edx
call fcn.140040690
test eax, eax
jne 0x140048476
mov edx, dword [rbp - 0x68]
mov r8, rdi
lea rcx, [0x140132ee0]
call fcn.1400406c0
mov rdi, qword [rsp + 0x58]
jmp 0x14004700d
mov eax, dword [rbp - 0x7c]
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.140046370
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
je 0x140047012
cmp eax, 7
je 0x14004cf6d
cmp eax, 0x12
je 0x14004cbc7
jmp 0x14004cb77
mov rax, qword [rsp + 0x48]
mov edi, r8d
mov r12, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov r15, qword [r14 + 8]
add rsi, r11
cmp r8w, word [r14 + 0x36]
jge 0x140047477
lea rbx, [r15 + 0xc]
movzx eax, word [rbx + 6]
test al, 0x60
je 0x140048513
test al, 0x20
jne 0x1400485c1
cmp dword [r12 + 0xc], 0
jne 0x1400485bd
movzx edx, byte [rbx]
movzx r8d, r9b
mov rcx, rsi
call fcn.1400460a0
movzx ecx, word [rsi + 0x14]
test cl, 1
jne 0x1400485bd
mov eax, dword [rbx - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x1400485b4
sub eax, 1
je 0x1400485af
sub eax, 1
je 0x1400485af
sub eax, 1
je 0x140048556
cmp eax, 1
jne 0x1400485bd
test cl, 2
jmp 0x1400485b7
test cl, 4
je 0x1400485aa
mov rdx, qword [rsi]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14004858c
or cx, 0x20
mov eax, 0xfffb
and cx, ax
mov word [rsi + 0x14], cx
jmp 0x1400485bd
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 0x1400485bd
test cl, 0x28
jmp 0x1400485b7
test cl, 4
jmp 0x1400485b7
test cl, 0x10
je 0x14004c9a7
add rsi, 0x38
movsx eax, word [r14 + 0x36]
inc edi
movzx r9d, byte [rsp + 0x40]
add rbx, 0x18
cmp edi, eax
jl 0x1400484f7
mov rdi, qword [rsp + 0x58]
jmp 0x140047017
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r11
nop dword [rax + rax]
movzx r8d, r9b
movzx edx, al
mov rcx, rbx
call fcn.1400460a0
cmp byte [rdi], 0x45
jne 0x140048666
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x140048666
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14004864a
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x140048662
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 0x14004c5a8
movzx r9d, byte [rsp + 0x40]
add rbx, 0x38
jmp 0x140048600
mov rbx, qword [rsp + 0x48]
mov r14, r8
mov r12d, r8d
mov r13, r8
movsxd rax, dword [rbx + 4]
mov rdi, qword [rbx + 0x10]
imul rcx, rax, 0x38
mov eax, dword [rbx + 8]
dec eax
add rcx, r11
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
add rsi, rcx
mov qword [rbp + 0x30], rcx
add rdx, r11
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x60], rdx
test rdi, rdi
je 0x14004871f
movzx eax, byte [rdi]
lea rbx, [rcx + 0x14]
mov esi, 0xfffb
nop word [rax + rax]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
movzx edx, al
call fcn.1400460a0
cmp byte [rdi], 0x45
jne 0x140048706
movzx eax, word [rbx]
test al, 4
je 0x140048706
and ax, si
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
movzx r9d, byte [rsp + 0x40]
add rbx, 0x38
test al, al
jne 0x1400486e0
mov rsi, qword [rbp - 0x58]
lea r15, [rsi + 0x24]
movzx ecx, word [r15 - 0x10]
test cl, 1
je 0x140048748
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r15], eax
inc r12d
jmp 0x1400488ac
test cl, 0x24
je 0x140048847
mov r8, qword [r15 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140048760
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14004879d
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14004878d
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0xc5], 4
jb 0x14004878d
lea eax, [rdx + 8]
mov dword [r15], eax
jmp 0x1400488ac
mov eax, 1
inc r14
mov dword [r15], eax
jmp 0x1400488ac
cmp rdx, 0x7fff
ja 0x1400487b7
mov eax, 2
add r14, 2
mov dword [r15], eax
jmp 0x1400488ac
cmp rdx, 0x7fffff
ja 0x1400487d1
mov eax, 3
add r14, 3
mov dword [r15], eax
jmp 0x1400488ac
cmp rdx, 0x7fffffff
ja 0x1400487eb
mov eax, 4
add r14, 4
mov dword [r15], eax
jmp 0x1400488ac
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14004880b
mov eax, 5
add r14, 6
mov dword [r15], eax
jmp 0x1400488ac
add r14, 8
test cl, 0x20
je 0x14004883d
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 0x1400488ac
mov eax, 6
mov dword [r15], eax
jmp 0x1400488ac
test cl, 8
je 0x14004885c
inc r12d
mov dword [r15], 7
add r14, 8
jmp 0x1400488ac
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 0x14004889a
movsxd rax, dword [r15 - 0x24]
lea esi, [rsi + rax*2]
test r14, r14
je 0x140048897
lea rcx, [r15 - 0x24]
call fcn.14003b530
test eax, eax
jne 0x14004cf63
add edi, dword [r15 - 0x24]
jmp 0x14004889a
add r13, rax
mov eax, edi
mov ecx, esi
add r14, rax
call fcn.140015bf0
add r12d, eax
mov dword [r15], esi
lea rax, [r15 - 0x24]
cmp rax, qword [rbp + 0x30]
je 0x1400488bf
sub r15, 0x38
jmp 0x140048723
cmp r12d, 0x7e
jle 0x1400488de
movsxd rcx, r12d
call fcn.140015bf0
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.140015bf0
cmp ebx, eax
jge 0x1400488e1
inc r12d
mov rsi, qword [rbp - 0x60]
movsxd rdi, r12d
movsxd rax, dword [rsi + 0x20]
lea rbx, [r14 + rdi]
lea rcx, [rbx + r13]
cmp rcx, rax
jg 0x140048903
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
jmp 0x14004892a
mov r8, qword [rsp + 0x58]
movsxd rax, dword [r8 + 0x88]
cmp rcx, rax
jg 0x14004cbbf
mov edx, ebx
mov rcx, rsi
call fcn.14003b390
test eax, eax
jne 0x14004cf63
mov dword [rsi + 0x10], ebx
mov eax, 0x10
mov word [rsi + 0x14], ax
test r13, r13
je 0x140048947
mov eax, 0x410
mov dword [rsi], r13d
mov word [rsi + 0x14], ax
mov rsi, qword [rsi + 8]
lea rbx, [rdi + rsi]
cmp r12d, 0x80
jge 0x140048960
mov byte [rsi], r12b
inc rsi
jmp 0x140048971
mov rdx, rdi
mov rcx, rsi
call fcn.140015940
movsxd rcx, eax
add rsi, rcx
mov rdi, qword [rbp + 0x30]
mov r14, qword [rbp - 0x58]
add rdi, 0x10
nop dword [rax]
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x1400489fb
mov byte [rsi], al
inc rsi
test eax, eax
je 0x140048a42
mov rcx, qword [rdi - 0x10]
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x133660]
mov eax, edx
sub eax, 1
je 0x1400489f4
sub eax, 1
je 0x1400489ed
sub eax, 1
je 0x1400489e6
sub eax, 1
je 0x1400489df
cmp eax, 2
je 0x1400489d1
mov byte [rbx + 7], cl
shr rcx, 8
mov byte [rbx + 6], cl
shr rcx, 8
mov byte [rbx + 5], cl
shr rcx, 8
mov byte [rbx + 4], cl
shr rcx, 8
mov byte [rbx + 3], cl
shr rcx, 8
mov byte [rbx + 2], cl
shr rcx, 8
mov byte [rbx + 1], cl
shr rcx, 8
mov byte [rbx], cl
add rbx, rdx
jmp 0x140048a42
cmp eax, 0x80
jae 0x140048a15
mov byte [rsi], al
inc rsi
cmp eax, 0xe
jb 0x140048a42
movsxd rax, dword [rdi]
test eax, eax
jle 0x140048a42
jmp 0x140048a2d
mov rdx, rax
mov rcx, rsi
call fcn.140015940
movsxd rcx, eax
movsxd rax, dword [rdi]
add rsi, rcx
test eax, eax
je 0x140048a42
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rbx
call fcn.1400f7820
movsxd rax, dword [rdi]
add rbx, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x14004c5a3
add rdi, 0x38
jmp 0x140048980
cmp dword [r12 + 0xc], 0
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x140048a82
mov rcx, rdx
call fcn.140031350
mov qword [rbp + 0xa8], rax
jmp 0x140048aa7
mov qword [rbp + 0xa8], r8
mov rcx, rdi
lea r8, [rbp + 0xa8]
call fcn.140038840
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
mov rdx, r12
mov rcx, r15
call fcn.140046240
mov rcx, qword [rbp + 0xa8]
mov qword [rax], rcx
jmp 0x14004afd9
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x60], r14d
test r14d, r14d
jne 0x140048b97
mov rbx, qword [rsp + 0x58]
cmp dword [rbx + 0xe0], r14d
jg 0x14004ca0d
mov rcx, rdi
call fcn.1400133e0
mov r8d, dword [rbx + 0x2f4]
xor edx, edx
add r8d, dword [rbx + 0x2f0]
mov rcx, rbx
movsxd rsi, eax
call fcn.1400b4400
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004ca22
lea rdx, [rsi + 0x21]
mov rcx, rbx
call fcn.14000fce0
mov rbx, rax
test rax, rax
je 0x140048e87
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400f7820
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x65], r13b
je 0x140048b64
mov byte [rdi + 0x65], r13b
mov byte [rdi + 0x6d], 1
jmp 0x140048b6a
inc dword [rdi + 0x2f0]
mov rax, qword [rdi + 0x2e0]
mov qword [rbx + 0x18], rax
mov rax, qword [rdi + 0x2f8]
mov qword [rdi + 0x2e0], rbx
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x300]
mov qword [rbx + 0x10], rax
jmp 0x140048e1c
mov r12d, r8d
mov r8, qword [rsp + 0x58]
mov rsi, qword [r8 + 0x2e0]
test rsi, rsi
je 0x140048bcb
nop dword [rax + rax]
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.140013830
test eax, eax
je 0x140048bf5
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x140048bb0
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r15
call fcn.14003cfe0
mov r12d, 1
mov r13d, r12d
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
mov rdi, qword [rsp + 0x58]
cmp dword [rdi + 0xe0], 0
jle 0x140048c0d
cmp r14d, 1
je 0x14004ca2a
cmp qword [rsi + 0x18], 0
jne 0x140048c72
cmp byte [rdi + 0x6d], 0
je 0x140048c72
mov ebx, 1
mov dword [rbp + 0x28], ebx
cmp r14d, ebx
jne 0x140048c79
mov edx, ebx
mov rcx, r15
call fcn.14003fce0
mov r13d, eax
test eax, eax
jne 0x140048e30
mov rcx, r15
mov byte [rdi + 0x65], bl
call fcn.14003fd50
cmp eax, 5
je 0x14004ca4d
mov r13d, dword [r15 + 0x34]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x14004ca44
mov byte [rdi + 0x6d], r13b
lea r15, [rdi + 0x2f0]
jmp 0x140048d7b
xor ecx, ecx
mov dword [rbp + 0x28], ecx
jmp 0x140048c7b
xor ecx, ecx
lea r15, [rdi + 0x2f0]
mov eax, dword [r15]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x140048ceb
mov r13d, dword [rdi + 0x2c]
mov edi, ecx
mov rax, qword [rsp + 0x58]
and r13d, 1
cmp dword [rax + 0x28], 0
jle 0x140048cee
mov r14d, r13d
mov rbx, rcx
xor r14d, 1
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14002f5e0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14004cfa8
mov rax, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x140048cb1
mov r14d, dword [rbp - 0x60]
xor ecx, ecx
jmp 0x140048cee
mov r13d, ecx
mov rax, qword [rsp + 0x58]
mov edi, ecx
cmp dword [rax + 0x28], 0
jle 0x140048d30
mov rbx, rcx
nop
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.14002f8d0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14004cfa8
mov rax, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x140048d00
mov rdi, qword [rsp + 0x58]
test r13d, r13d
je 0x140048d6a
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140048d5e
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 0x140048d43
mov rcx, rdi
call fcn.14006dc00
or dword [rdi + 0x2c], 1
mov r13d, dword [rsp + 0x54]
test r13d, r13d
jne 0x14004cb72
mov ebx, dword [rbp + 0x28]
mov rcx, qword [rdi + 0x2e0]
cmp rcx, rsi
je 0x140048db5
nop word [rax + rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rdi
mov qword [rdi + 0x2e0], rax
call fcn.14000f7e0
dec dword [r15]
mov rcx, qword [rdi + 0x2e0]
cmp rcx, rsi
jne 0x140048d90
cmp r14d, 1
jne 0x140048dda
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2e0], rax
call fcn.14000f7e0
test ebx, ebx
jne 0x140048e17
dec dword [r15]
jmp 0x140048dfa
mov rax, qword [rsi + 8]
mov qword [rdi + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x300], rax
test ebx, ebx
je 0x140048dfa
cmp r14d, 2
jne 0x140048e17
mov r8d, r12d
mov edx, r14d
mov rcx, rdi
call fcn.1400b4400
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb72
mov r15, qword [rsp + 0x78]
cmp byte [r15 + 0xc7], 3
jne 0x140047012
mov r13d, 0x65
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
mov r12d, 1
mov r14, qword [rbp - 0x70]
cmp r14, rbx
jb 0x14004d0fb
mov rdx, qword [rdi + 0x210]
test rdx, rdx
je 0x14004d0fb
mov eax, dword [rdi + 0x220]
mov rcx, qword [rdi + 0x218]
add rbx, rax
call rdx
test eax, eax
je 0x140048e44
mov rbx, 0xffffffffffffffff
lea r13d, [rbx + 0xa]
lea r14d, [rbx + 0xc]
jmp 0x14004cb8d
mov rdi, qword [rsp + 0x58]
jmp 0x140048e1c
mov rcx, qword [rsp + 0x48]
mov dword [rbp + 0x28], r8d
mov edx, dword [rcx + 8]
test edx, edx
je 0x140048eb5
mov rax, qword [rdi + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x14004ca8c
movsxd r14, dword [rcx + 4]
shl r14, 5
add r14, qword [rdi + 0x20]
mov rsi, qword [r14 + 8]
test rsi, rsi
je 0x140048f91
lea r8, [rbp + 0x28]
mov rcx, rsi
call fcn.14002e230
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004caad
mov r12, qword [rsp + 0x48]
lea rbx, [r15 + 0xc8]
test byte [rbx], 0x20
mov rdi, rbx
mov r15, qword [rsp + 0x58]
je 0x140048fa9
cmp dword [r12 + 8], eax
je 0x140048fa9
cmp byte [r15 + 0x65], al
je 0x140048f25
cmp dword [r15 + 0xdc], 1
jle 0x140048fa9
mov rdi, qword [rsp + 0x78]
mov r8d, dword [rdi + 0x40]
test r8d, r8d
jne 0x140048f4c
inc dword [r15 + 0x2f4]
mov r8d, dword [r15 + 0x2f4]
add r8d, dword [r15 + 0x2f0]
mov dword [rdi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.1400b4400
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x140048f76
mov edx, dword [rdi + 0x40]
mov rcx, rsi
call fcn.14002f860
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [r15 + 0x2f8]
mov qword [rdi + 0x58], rax
mov rax, qword [r15 + 0x300]
mov qword [rdi + 0x60], rax
mov rdi, rbx
jmp 0x140048fa0
lea rdi, [r15 + 0xc8]
mov r12, rcx
mov r15, qword [rsp + 0x58]
test r13d, r13d
jne 0x14004cb6d
cmp word [r12 + 2], 0
je 0x1400473b6
mov eax, dword [r12 + 0xc]
mov rbx, rdi
cmp dword [rbp + 0x28], eax
jne 0x14004cb05
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
jne 0x14004caf7
mov rdi, qword [rsp + 0x58]
jmp 0x140047017
movsxd rax, dword [r12 + 4]
lea r8, [rbp + 0xa4]
mov rcx, qword [rdi + 0x20]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400386c0
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x140049045
call fcn.140046210
mov r11, qword [rsp + 0x60]
mov rcx, rax
movsxd rax, dword [rbp + 0xa4]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x1400468a7
mov r11, qword [rsp + 0x60]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp + 0xa4]
mov qword [rcx], rax
jmp 0x1400468a7
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 [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140038750
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x1400490ca
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rdi
or dword [rdi + 0x2c], 1
mov edx, dword [r12 + 4]
call fcn.140082770
jmp 0x1400490dc
cmp eax, 2
jne 0x1400490dc
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x1400490f6
xor edx, edx
mov rcx, rdi
call fcn.140041ff0
and dword [r15 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14004ca05
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14004913e
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x44], eax
jne 0x14004913e
mov rcx, qword [rdi + 0x30]
call fcn.14002ab00
jmp 0x140049258
mov rdi, qword [rsp + 0x58]
mov eax, dword [r15 + 0xc8]
and al, 3
cmp al, 1
je 0x14004cba2
mov rax, qword [rsp + 0x48]
mov edi, r8d
mov r14, r8
mov r8, qword [rsp + 0x58]
movsxd r12, dword [rax + 0xc]
mov r15d, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r8 + 0x20]
mov r8, qword [rsp + 0x48]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x1400491ad
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 + 0x78]
cmp cl, byte [rax + 0xc5]
jae 0x1400491b1
mov byte [rax + 0xc5], cl
jmp 0x1400491b1
xor ecx, ecx
mov esi, ecx
test byte [r8 + 2], 0x10
je 0x1400491cf
imul rbx, r15, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14003ba70
mov r8, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [r8 + 1]
cmp al, 0xf8
jne 0x1400491e3
mov r14, qword [r8 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1400491eb
cmp al, 0xfd
jne 0x1400491eb
mov edi, dword [r8 + 0x10]
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, qword [rsp + 0x78]
mov r8d, edi
mov edx, dword [rbx + 4]
call fcn.140045e00
mov rdi, rax
test rax, rax
je 0x14004cf63
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.14002fab0
mov r15, qword [rsp + 0x78]
mov r13d, eax
mov rsi, qword [rsp + 0x70]
mov qword [rdi + 0x38], r14
cmp byte [rbx + 1], 0xf8
mov dword [rsp + 0x54], 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.14002adb0
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov r13, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 8]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
movsx r8d, word [rbx + 0x48]
call fcn.140045e00
mov r10, rax
test rax, rax
je 0x14004cf6d
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.14002fab0
mov r11, qword [rsp + 0x60]
mov r13d, eax
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x54], eax
jmp 0x1400468a7
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x140049375
imul rcx, rax, 0x38
mov dword [rcx + r11 + 0x10], r8d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140129c4b]
mov qword [rcx + r11 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x1400493da
test byte [rbx + 8], 8
jne 0x1400493da
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x1400493da
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r8
mov dword [rbx + 0x20], r8d
xor r8d, r8d
call fcn.1400380f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov byte [rbx + 2], 1
jmp 0x1400468a7
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r15
call fcn.140045e00
mov rbx, rax
test rax, rax
je 0x14004cf6d
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
xor edx, edx
mov rax, qword [rsp + 0x58]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r8, rax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax]
call fcn.14002c830
mov r13d, eax
mov r12d, 1
test eax, eax
jne 0x140048be6
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r12d
call fcn.14002e230
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1400494db
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x10]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1400494af
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.140037db0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1400494a9
mov rax, qword [rbx + 0x30]
lea r8d, [r12 + 3]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14002fab0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rbx + 4], 0
jmp 0x1400494d6
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r12d
mov dword [rbx + 0x44], r12d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14002fab0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rbx + 4], r12b
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
xor ecx, ecx
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 r13d, r13d
jne 0x14004cbaa
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov byte [rbx + 2], 1
jmp 0x1400468a7
mov r13, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r15
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.140045e00
test rax, rax
je 0x14004cf6d
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, rdi
mov edx, dword [r13 + 0xc]
call fcn.14004ec00
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14004c079
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r15
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140045e00
test rax, rax
je 0x14004cf6d
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov byte [rax + 2], 1
mov ecx, dword [r12 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x140153d9c]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], 1
jmp 0x1400468a7
mov rdx, qword [r15 + 0x78]
mov rcx, r15
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.14003eec0
mov rax, qword [rsp + 0x48]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov qword [rax + rcx*8], r8
jmp 0x140048285
mov rax, qword [r15 + 0x78]
mov r12d, r8d
mov rdi, qword [rsp + 0x48]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov word [rsi + 2], 0
mov dword [rsi + 0x20], r8d
je 0x14004976d
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r11
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x14004968a
xor edx, edx
mov rcx, rdi
call fcn.140045f30
mov rcx, rdi
call fcn.14003b8c0
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x14004973c
test cl, 8
jne 0x14004971a
test cl, 1
jne 0x14004c06c
cmp ebx, 0x17
jae 0x14004c06c
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp + 0x2c]
call fcn.140030a20
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb6d
xor r8d, r8d
cmp dword [rbp + 0x2c], r8d
jne 0x14004c049
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
test r12d, r12d
je 0x14004c615
add qword [rsp + 0x48], 0x18
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140040e40
test eax, eax
jle 0x140049733
test bl, 1
jne 0x14004973c
dec ebx
jmp 0x14004973c
jns 0x14004973c
test bl, 1
je 0x14004973c
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp + 0x2c]
xor r8d, r8d
mov rdx, r15
call fcn.140030a40
mov qword [rsi + 0x50], r15
mov r13d, eax
mov r15, qword [rsp + 0x78]
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14004c99d
jmp 0x1400497e9
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x2c]
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x40], rax
movzx eax, word [rcx + 0x10]
setne r12b
mov word [rbp + 0x5c], ax
lea eax, [rbx - 1]
test al, 1
mov byte [rbp + 0x62], 0
mov eax, edx
mov edx, 0xffffffff
cmovne eax, edx
lea rdx, [rbp + 0x40]
mov byte [rbp + 0x5e], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x48], rcx
mov rcx, qword [rdi]
call fcn.140030cc0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
test r14b, r14b
je 0x1400497e9
cmp byte [rbp + 0x62], al
je 0x1400496da
mov eax, dword [rbp + 0x2c]
cmp ebx, 0x17
jl 0x140049856
test eax, eax
js 0x140049808
jne 0x1400497fc
cmp ebx, 0x18
je 0x140049808
xor r8d, r8d
mov dword [rbp + 0x2c], r8d
jmp 0x1400496e7
xor ecx, ecx
xor edx, edx
mov dword [rbp + 0x2c], ecx
mov rcx, qword [rdi]
call fcn.1400315b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x1400496da
mov rdi, qword [rsp + 0x58]
cmp eax, 0x65
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov rsi, qword [rsp + 0x70]
mov edx, 1
mov r13d, r8d
mov dword [rsp + 0x54], r8d
mov dword [rbp + 0x2c], edx
jmp 0x1400475c7
test eax, eax
jg 0x140049871
jne 0x140049861
cmp ebx, 0x15
je 0x140049871
mov rcx, qword [rdi]
call fcn.140031340
mov dword [rbp + 0x2c], eax
jmp 0x1400496da
xor ecx, ecx
xor edx, edx
mov dword [rbp + 0x2c], ecx
mov rcx, qword [rdi]
call fcn.140031780
jmp 0x140049817
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
jne case.0x14004679e.89
mov rax, qword [rbx + 0x38]
mov rcx, r12
mov qword [rbp + 0x40], rax
mov byte [rbp + 0x5e], 0
mov dword [rbp + 0x90], r8d
movzx eax, word [rcx + 0x28]
mov edi, dword [rcx + 4]
mov word [rbp + 0x5c], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x48], rcx
nop word [rax + rax]
mov rcx, qword [rsp + 0x58]
lea r9, [rbp + 0x90]
lea r8, [rbp + 0x40]
mov rdx, rbx
call fcn.140041eb0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004ca00
mov eax, dword [rbp + 0x90]
test eax, eax
jle 0x14004991b
cmp word [r12 + 2], r13w
je 0x14004996b
test eax, eax
jns 0x14004c076
test edi, edi
jle 0x14004c5f9
mov rcx, qword [rbx + 0x30]
xor eax, eax
xor edx, edx
mov dword [rbx + 0x20], eax
dec edi
call fcn.1400315b0
mov r13d, eax
test eax, eax
je 0x1400498e0
cmp eax, 0x65
jne 0x14004ca00
mov rdi, qword [rsp + 0x58]
xor r8d, r8d
add qword [rsp + 0x48], 0x18
mov r13d, r8d
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x54], r8d
jmp 0x1400475c2
xor r8d, r8d
add qword [rsp + 0x48], 0x18
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x1400475c2
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 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 0x1400499b2
mov word [rdx + 0xc], ax
mov r12, qword [rsp + 0x48]
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp ecx, eax
lea rcx, [0x140000000]
jle 0x14004791f
mov word [rdx + 0xc], ax
mov edx, 1
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x14004679e.9
cmp byte [rdx + 2], 0
je 0x1400499a8
jmp case.0x14004679e.9
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x14004679e.89
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp + 0x5c], ax
mov qword [rbp + 0x48], rcx
test ax, ax
je 0x140049a8a
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
mov byte [rbp + 0x5e], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.140030cc0
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x140049afc
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x140049aa2
call fcn.14003b530
test eax, eax
jne 0x14004cf6d
mov rcx, qword [rbx + 0x38]
call fcn.140040930
mov rdi, rax
test rax, rax
je 0x14004cf68
mov rcx, qword [rbp + 0x48]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.140040990
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.140030cc0
mov rdx, rdi
mov dword [rsp + 0x54], eax
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov rcx, rdi
call fcn.14000f7e0
test r13d, r13d
jne 0x14004cb77
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r13b
setne al
xor r8d, r8d
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x48]
mov dword [rbx + 0x20], r8d
movzx eax, byte [rax]
cmp al, 0x1d
jne 0x140049b32
mov rsi, qword [rsp + 0x70]
test ecx, ecx
jmp 0x140047d90
test ecx, ecx
jne 0x14004c049
cmp al, 0x1b
jne 0x140049b86
movzx edx, word [rbp + 0x5c]
mov rcx, r8
test rdx, rdx
je 0x140049b67
mov rax, qword [rbp + 0x48]
add rax, 0x14
test byte [rax], 1
jne 0x14004c049
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x140049b52
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
cmp al, 0x1a
jne 0x140049b76
movzx r9d, byte [rsp + 0x40]
mov rax, r12
mov rsi, qword [rsp + 0x70]
movzx eax, word [rax + 0x10]
mov word [rbx + 0xc], ax
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 0x14], 0x24
jne case.0x14004679e.31
movups xmm0, xmmword [rcx]
movzx r8d, r9b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x50], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x60], xmm0
movsd qword [rbp + 0x70], xmm1
call fcn.1400460a0
xor r8d, r8d
test byte [rbp + 0x54], 4
je 0x14004c05d
mov rdi, qword [rbp + 0x40]
jmp 0x140049c1e
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r11]
mov rax, qword [rsp + 0x48]
lea r9, [rbp + 0x7c]
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0x7c], r8d
xor r8d, r8d
call fcn.140030a40
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov dword [rbx + 0x20], r8d
mov r13d, eax
mov qword [rbx + 0x50], rdi
mov word [rbx + 2], 0
mov dword [rsp + 0x54], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0x7c], r8d
je 0x140049c8e
cmp dword [r12 + 8], r8d
jne 0x14004c079
mov ecx, 0x17d2e
call fcn.1400db8e0
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r8d, r8d
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14004cb77
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x140049cdd
mov rcx, rdx
call fcn.140046210
mov rdx, rax
xor r8d, r8d
jmp 0x140049ce6
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r15 + 0x78]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x1400468aa
mov rdi, qword [rsp + 0x48]
mov rcx, r15
mov rdx, rdi
mov qword [rbp - 0x60], r8
mov dword [rbp + 0x28], r8d
call fcn.140046240
movsxd rdx, dword [rdi + 4]
mov rsi, rax
mov rcx, qword [r15 + 0x78]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x140049dac
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x28]
call fcn.140030a20
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
cmp dword [rbp + 0x28], eax
je 0x140049d7b
mov r12d, 1
mov qword [rbp - 0x60], r12
jmp 0x140049db2
mov rcx, qword [rdi + 0x30]
call fcn.14002fd50
movabs r14, 0x7fffffffffffffff
mov qword [rbp - 0x60], rax
mov r12d, 1
cmp rax, r14
jl 0x140049da3
or dword [rdi + 8], 2
jmp 0x140049dbc
inc rax
mov qword [rbp - 0x60], rax
jmp 0x140049dbc
mov r12d, 1
movabs r14, 0x7fffffffffffffff
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x140049e3e
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x140049df6
mov rax, qword [rcx + 8]
test rax, rax
je 0x140049dec
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140049de0
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x18]
jmp 0x140049dff
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14003b8c0
movzx ecx, word [rbx + 0x14]
mov edx, 0xf244
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 0x14], cx
cmp rax, r14
je 0x140049ea1
test byte [rdi + 8], 2
jne 0x140049ea1
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 0x140049eb6
xor eax, eax
mov ebx, eax
nop dword [rax + rax]
lea rdx, [rbp - 0x60]
mov ecx, 8
call fcn.140012b50
mov rdx, qword [rbp - 0x60]
lea r9, [rbp + 0x28]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x60], rdx
mov rcx, qword [rdi + 0x30]
call fcn.140030a40
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x140048be6
cmp dword [rbp + 0x28], eax
jne 0x140049eb6
inc ebx
cmp ebx, 0x64
jl 0x140049e50
mov rdi, qword [rsp + 0x58]
mov r13d, 0xd
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov dword [rdi + 0x20], r8d
mov byte [rdi + 3], 0
mov rax, qword [rbp - 0x60]
mov rdi, qword [rsp + 0x58]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + r11]
mov qword [rbp + 0x48], r8
jne 0x140049f42
cmp qword [rdi + 0x140], 0
je 0x140049f42
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
xor ecx, ecx
jmp 0x140049f48
xor ecx, ecx
mov edi, ecx
mov esi, ecx
test byte [r13 + 2], 1
je 0x140049f63
inc qword [r15 + 0x38]
test byte [r13 + 2], 0x20
je 0x140049f63
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x50], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x64], eax
test r8b, 0x10
je 0x140049f82
mov r9d, dword [rbx + 0x24]
jmp 0x140049f85
mov r9d, ecx
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140049f97
mov eax, dword [rdx]
mov dword [rbp + 0x68], eax
jmp 0x140049f9a
mov dword [rbp + 0x68], ecx
mov qword [rbp + 0x40], rcx
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1400365f0
inc dword [rbp - 0x7c]
xor r8d, r8d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], r8d
test eax, eax
jne 0x14004c99d
test rdi, rdi
je 0x14004c606
mov rax, qword [rsp + 0x48]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rdi, qword [rsp + 0x58]
test byte [rax + 2], 4
mov eax, 0x17
mov rcx, qword [rdi + 0x138]
cmovne edx, eax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x20], rax
call qword [rdi + 0x140]
jmp 0x140047012
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r13 + 0xc]
test eax, eax
je 0x14004a03d
imul rcx, rax, 0x38
mov r8, qword [rcx + r11]
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.140036cc0
jmp 0x14004955e
mov r13, qword [rsp + 0x48]
add rdi, 0x140
mov r12, qword [rsp + 0x78]
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov r15d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14004a0b4
cmp qword [rdi], 0
je 0x14004a0b4
mov rax, qword [rsp + 0x58]
movsx rcx, byte [rbx + 1]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
test byte [r13 + 2], 2
mov rax, qword [rax + 0x20]
mov r14, qword [rcx + rax]
je 0x14004a0ba
cmp byte [rbx + 4], 0
je 0x14004a0ba
mov rcx, qword [rbx + 0x30]
call fcn.14002fd50
mov qword [rbx + 0x50], rax
jmp 0x14004a0ba
mov r14, r8
mov rsi, r8
movzx edx, byte [r13 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.140037260
inc dword [rbp - 0x7c]
xor r8d, r8d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov qword [rbx + 0x20], r8
test eax, eax
jne 0x14004cfce
test r15b, 1
je 0x14004c606
inc qword [r12 + 0x38]
mov r10, qword [rdi]
test r10, r10
je 0x14004c606
test rsi, rsi
je 0x14004c606
test byte [rsi + 0x30], 0x80
mov rdi, qword [rsp + 0x58]
jne 0x140049b67
mov rax, qword [rbx + 0x50]
lea edx, [r13 + 9]
mov r9, qword [rsi]
mov r8, r14
mov rcx, qword [rdi + 0x138]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140047012
mov rdx, qword [r15 + 0x38]
mov rcx, rdi
call fcn.140041fe0
mov r11, qword [rsp + 0x60]
xor r8d, r8d
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov qword [r15 + 0x38], r8
jmp 0x1400468aa
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 0x94]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x94], r8d
mov r8d, dword [r13 + 0x10]
add rdx, r11
call fcn.140051720
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
xor r8d, r8d
cmp dword [rbp + 0x94], r8d
jmp 0x140047d51
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r11
mov rcx, qword [rax + rcx*8]
call fcn.140051650
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
mov rax, qword [rsp + 0x48]
xor r8d, r8d
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r15 + 0x78]
mov r10d, dword [rsp + 0x50]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r8d
jmp 0x1400468aa
mov rdi, qword [rsp + 0x48]
mov rcx, r15
mov rdx, rdi
call fcn.140046240
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r15 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.14002fd90
mov r8, qword [rsp + 0x58]
cmp eax, dword [r8 + 0x88]
ja 0x14004cbc4
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.14003c6f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 0xc], eax
jne 0x14004c5f9
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14004c5f9
mov rcx, rbx
call fcn.14003b4d0
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x14004cf6d
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov rbx, qword [rsp + 0x48]
mov rcx, r15
mov rdx, rbx
call fcn.140046240
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r15 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x14004a308
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov word [rax + 0x14], dx
jmp case.0x14004679e.89
cmp byte [rbx + 3], 0
je 0x14004a326
mov rax, qword [rbx + 0x50]
mov qword [rbp + 0xb0], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x14004956d
cmp byte [rbx], 2
jne 0x14004a36e
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0xb0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1400421f0
test r13d, r13d
jne 0x14004c99d
mov rax, qword [rbp + 0xb0]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x14004956d
mov rcx, rbx
call fcn.140040680
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
cmp byte [rbx + 2], al
je 0x14004a3b5
mov r12, qword [rsp + 0x48]
mov edx, 1
mov r11, qword [rsp + 0x60]
xor r8d, r8d
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov word [rdi + 0x14], dx
mov rdi, qword [rsp + 0x58]
jmp case.0x14004679e.89
mov rcx, qword [rbx + 0x30]
call fcn.14002fd50
mov qword [rbp + 0xb0], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14004a41a
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r15
call fcn.140045e00
test rax, rax
je 0x14004cf6d
xor r8d, r8d
mov byte [rax + 4], 1
or dword [rax + 8], 8
lea rcx, [0x140153d9c]
mov dword [rax + 0x24], r8d
mov qword [rax + 0x30], rcx
cmp byte [rax], 0
mov byte [rax + 2], 1
mov dword [rax + 0x20], r8d
jne 0x140049b67
mov rcx, qword [rax + 0x30]
call fcn.14002ab00
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
mov dword [rbp + 0x78], r8d
cmp bl, 0x89
jne 0x14004a4cb
mov dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x14004c610
lea rdx, [rbp + 0x78]
call fcn.140030960
mov r13d, eax
mov dword [rsp + 0x54], eax
movzx eax, byte [rbp + 0x78]
xor r8d, r8d
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r8d
test r13d, r13d
jne 0x14004c99d
lea edx, [r13 + 1]
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 8], 0
jle 0x14004c5ef
cmp dword [rbp + 0x78], 0
jne 0x14004c079
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp case.0x14004679e.89
cmp byte [rcx], 0
jne 0x14004a467
test byte [rcx + 1], 8
je 0x14004a467
mov dword [rbp + 0x78], r8d
mov r13d, r8d
mov word [rdi + 2], 0
mov dword [rdi + 0x20], r8d
mov dword [rsp + 0x54], r8d
jmp 0x14004a496
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1400306c0
mov r13d, eax
test eax, eax
jne 0x14004a524
xor eax, eax
mov rcx, rdi
mov r14d, eax
call fcn.140030900
mov r13d, eax
jmp 0x14004a54f
cmp eax, 0x10
jne 0x14004a54b
mov rdi, qword [rsp + 0x58]
xor r8d, r8d
mov r12, qword [rsp + 0x48]
mov edx, 1
mov dword [rbp - 0x78], edx
mov r13d, r8d
mov dword [rsp + 0x54], r8d
jmp 0x1400475c7
mov r14d, dword [rbp - 0x78]
mov dword [rbp - 0x78], r14d
mov ebx, r13d
test r13d, r13d
jne 0x14004c99d
mov dword [rsp + 0x54], ebx
test r14d, r14d
jne 0x14004c071
mov rcx, rdi
call fcn.140031350
test rax, rax
js 0x14004a5a9
mov rcx, rax
call fcn.140015e40
mov r12, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14004a5ae
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov dword [rbp - 0x78], edx
xor r8d, r8d
mov dword [rsp + 0x54], ebx
jmp 0x1400475c7
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov dword [rbp - 0x78], r14d
mov dword [rsp + 0x54], ebx
jmp 0x1400468a7
inc dword [r15 + 0xdc]
mov rax, qword [rsp + 0x48]
mov r12d, 1
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x38], r12d
cmp byte [rbx], r12b
jne 0x14004a60f
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140051490
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r8d, r8d
jmp 0x14004a64a
mov rdi, qword [rbx + 0x30]
mov rcx, rdi
call fcn.1400306c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004a673
xor eax, eax
mov rcx, rdi
mov dword [rbp + 0x38], eax
call fcn.140030900
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r8d, r8d
mov rdi, qword [rsp + 0x58]
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], r8d
test r13d, r13d
jne 0x140048beb
mov r12, qword [rsp + 0x48]
movzx eax, byte [rbp + 0x38]
mov byte [rbx + 2], al
cmp dword [r12 + 8], r13d
jle 0x140049b6c
cmp dword [rbp + 0x38], r13d
jmp 0x140047d51
cmp eax, 0x10
jne 0x14004a63a
xor r8d, r8d
mov dword [rbp + 0x38], r12d
mov r13d, r8d
mov dword [rsp + 0x54], r8d
jmp 0x14004a63d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
call fcn.140051560
jmp 0x14004a6e5
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140031780
jmp 0x14004a6e5
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1400315b0
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r8d, r8d
mov dword [rbx + 0x20], r8d
test eax, eax
jne 0x14004a711
mov rax, qword [rsp + 0x48]
mov byte [rbx + 2], r8b
movzx eax, word [rax + 2]
inc dword [r15 + rax*4 + 0xd4]
jmp case.0x14004679e.9
cmp r13d, 0x65
jne 0x14004cb77
mov r13d, r8d
mov dword [rsp + 0x54], r8d
mov byte [rbx + 2], 1
jmp 0x14004afd4
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [r13 + 2], 1
je 0x14004a753
inc qword [r15 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14004a77b
mov rcx, rbx
call fcn.14003b530
mov r13d, eax
test eax, eax
jne 0x14004c99d
mov r13, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x48], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x40], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r11
mov word [rbp + 0x60], ax
mov qword [rbp + 0x58], rcx
test r8b, 0x10
je 0x14004a7b4
mov r9d, dword [rdi + 0x24]
jmp 0x14004a7b9
xor eax, eax
mov r9d, eax
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x40]
and r8d, 0x8a
call fcn.1400365f0
xor r8d, r8d
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x20], r8d
mov r13d, eax
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r11
test word [rbx + 0x14], ax
je 0x14004a83c
mov rcx, rbx
call fcn.14003b530
mov r13d, eax
test eax, eax
jne 0x14004c99d
mov rdx, rbx
mov rcx, rdi
call fcn.14004ffd0
mov rdi, qword [rsp + 0x58]
jmp 0x14004955e
mov r13, qword [rsp + 0x48]
lea r8, [rbp + 0xa0]
mov rax, qword [r15 + 0x78]
lea rdx, [rbp + 0x40]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x40], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x5c], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x5e], 0
add rcx, r11
mov qword [rbp + 0x48], rcx
mov rcx, rdi
call fcn.140030cc0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
cmp dword [rbp + 0xa0], eax
jne 0x14004a8f3
mov dl, 4
mov rcx, rdi
call fcn.140037260
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov qword [rbx + 0x20], r8
jmp 0x1400468aa
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
cmp word [r12 + 2], 0
je 0x14004a916
mov rcx, rdi
call fcn.14006e570
test eax, eax
je 0x14004cbe5
mov r11, qword [rsp + 0x60]
xor r8d, r8d
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
mov qword [rbx + 0x20], r8
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14004a968
mov rcx, rbx
call fcn.140040620
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
xor r8d, r8d
jmp 0x14004a970
mov r13d, r8d
mov dword [rsp + 0x54], r8d
cmp byte [rbx + 2], 0
jne 0x14004aa18
mov qword [rbp + 0xb8], r8
mov rcx, rdi
mov rdx, qword [rbx + 0x30]
lea r8, [rbp + 0xb8]
call fcn.140041af0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004cb77
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x14004a9fe
movsxd rcx, dword [rax + 0xc]
xor r8d, r8d
mov rax, qword [r15 + 0x78]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdx, qword [rax + rcx*8]
mov r10d, dword [rsp + 0x50]
mov byte [rdx + 2], r13b
mov rax, qword [rbp + 0xb8]
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x48]
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], r8d
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x1400468aa
mov rdx, rax
mov rcx, r15
call fcn.140046240
mov rcx, qword [rbp + 0xb8]
mov qword [rax], rcx
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.14003be60
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14004b44c
call fcn.1400405b0
jmp 0x14004955e
mov rdi, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp + 0x40], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x5c], ax
sbb al, al
mov byte [rbp + 0x5e], al
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
mov qword [rbp + 0x48], rcx
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.14002fd10
mov edi, dword [rbx + 0x40]
lea eax, [rdi - 1]
cmp eax, 0x7ffffffe
ja 0x14004cc06
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp - 0x10]
xor r8d, r8d
call fcn.14003be40
lea r8, [rbp - 0x10]
mov edx, edi
mov rcx, rbx
call fcn.14003c6f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004c99d
mov rdx, qword [rbp - 8]
lea r8, [rbp + 0x40]
mov ecx, dword [rbp]
xor r9d, r9d
call fcn.140040fc0
lea rcx, [rbp - 0x10]
mov ebx, eax
call fcn.14003b880
mov r12, qword [rsp + 0x48]
lea ecx, [rbx + 1]
neg ebx
test byte [r12], 1
cmovne ebx, ecx
xor r8d, r8d
test ebx, ebx
jg 0x14004c079
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
mov r13, qword [rsp + 0x48]
mov rcx, r15
mov rdx, r13
call fcn.140046240
mov r12d, 1
mov rbx, rax
mov word [rax + 0x14], r12w
mov ecx, dword [rdi + 0xe8]
inc ecx
cmp dword [rdi + 0xdc], ecx
jg 0x14004cc4a
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp + 0x80]
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov edx, dword [r13 + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp + 0x80], eax
mov rcx, qword [rsi + 0x20]
mov rcx, qword [r9 + rcx + 8]
call fcn.140038660
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rax, dword [rbp + 0x80]
mov qword [rbx], rax
test r13d, r13d
jne 0x14004cfc1
mov r8d, dword [rbp + 0x80]
test r8d, r8d
je 0x14004c5e4
mov rax, qword [rsp + 0x48]
mov edx, edi
mov rcx, rsi
mov r9d, dword [rax + 4]
call fcn.140072df0
lea eax, [rdi + 1]
mov rdi, rsi
mov byte [rbp - 0x80], al
jmp 0x140047012
mov r13, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x20]
mov qword [rbp + 0x30], r8
lea r8, [rbp + 0x30]
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400380f0
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x54], eax
cmp dword [r12 + 0xc], 0
je 0x14004ac41
mov rdx, qword [rbp + 0x30]
add qword [r15 + 0x38], rdx
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14004ac41
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test r13d, r13d
jne 0x14004ca05
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14004ac81
mov rdx, qword [rcx + 0x30]
mov rcx, rdi
call fcn.14004f150
jmp 0x14004956d
mov rcx, qword [rcx + 0x30]
call fcn.1400381d0
jmp 0x14004955e
mov r13, qword [rsp + 0x48]
mov rcx, r15
mov rdx, r13
call fcn.140046240
mov rcx, qword [rdi + 0x20]
mov rsi, rax
movsxd rdx, dword [r13 + 4]
xor eax, eax
mov ebx, dword [r13 + 0xc]
shl rdx, 5
mov dword [rbp + 0x98], eax
mov rdi, qword [rdx + rcx + 8]
mov rcx, rdi
call fcn.14002a630
mov r8d, ebx
lea rdx, [rbp + 0x98]
mov rcx, rdi
call fcn.140037860
mov rcx, rdi
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.14002a720
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14004cb77
mov eax, dword [rbp + 0x98]
mov qword [rsi], rax
jmp 0x140047012
inc byte [rdi + 0x70]
mov rax, qword [rsp + 0x48]
mov rbx, qword [rdi + 0x200]
movzx edi, byte [rdi + 0x6e]
mov rsi, qword [rsp + 0x58]
cmp dword [rax + 4], 0
mov qword [rbp - 0x58], r8
je 0x14004ad31
mov qword [rsi + 0x200], r8
mov byte [rsi + 0x6e], 0
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, rsi
xor r8d, r8d
call fcn.14008c2a0
mov r8, qword [rbp - 0x58]
mov r13d, eax
dec byte [rsi + 0x70]
mov dword [rsp + 0x54], eax
mov qword [rsi + 0x200], rbx
mov byte [rsi + 0x6e], dil
test r8, r8
jne 0x14004cc62
test eax, eax
jne 0x14004cc62
mov rdi, qword [rsp + 0x58]
jmp 0x140047012
mov r13, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x20]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x14004add7
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140078810
and dword [rdi + 0x2c], 0xffffffef
lea r8, [r15 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, rdi
call fcn.140096110
or dword [rdi + 0x2c], 1
mov r13d, eax
and dword [r15 + 0xc8], 0xfffffffc
mov dword [rsp + 0x54], eax
jmp 0x14004ae9d
mov dword [rbp + 0x50], ebx
lea rax, [r15 + 0xa8]
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x58], r8d
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.14002c520
mov r8, qword [rdi + 0x20]
lea r9, str.sqlite_master
mov dword [rbp + 0x60], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r13 + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rbx]
call fcn.1400123d0
mov rbx, rax
mov rcx, rdi
test rax, rax
je 0x14004cca3
xor eax, eax
mov byte [rdi + 0xc5], 1
lea r9, [rbp + 0x40]
mov dword [rbp + 0x54], eax
lea r8, [fcn.140095db0]
mov dword [rbp + 0x5c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14008c2a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004ae8b
mov r13d, dword [rbp + 0x54]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x14004ae8b
cmp dword [rbp + 0x5c], r13d
jne 0x14004ae8b
mov ecx, 0x1834d
call fcn.1400db8e0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdx, rbx
mov rcx, rdi
call fcn.14000f7e0
mov byte [rdi + 0xc5], 0
test r13d, r13d
je 0x14004956d
mov rcx, rdi
call fcn.14006dc00
jmp 0x14004cc7f
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov edx, dword [rax + 4]
call fcn.14006b3b0
jmp 0x14004955e
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14006e270
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14006d960
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400abca0
jmp 0x14004956d
mov r13, qword [rsp + 0x48]
lea r9, [rbp - 0x50]
mov r10, qword [rsp + 0x58]
mov qword [rsp + 0x30], r9
lea r9, [rbp + 0x9c]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r13 + 0xc]
mov rdx, qword [r10 + 0x20]
mov r8, qword [r13 + 0x10]
mov r9d, dword [r13 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
add rdi, r11
shl rax, 5
add rbx, r11
mov ecx, dword [rdi]
mov rdx, qword [rax + rdx + 8]
inc ecx
mov dword [rsp + 0x20], ecx
mov rcx, r10
call fcn.140039710
mov rcx, rbx
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.14003be60
mov eax, dword [rbp + 0x9c]
test eax, eax
je 0x14004afc2
test r13d, r13d
jne 0x14004ccad
dec eax
mov r9b, 1
movsxd rcx, eax
mov r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.14000f700]
mov rdx, qword [rbp - 0x50]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14003c2a0
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.14003b0d0
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov eax, dword [rdi + 0x198]
mov rbx, qword [rsp + 0x68]
test eax, eax
jne 0x14004cd6b
cmp r14, rbx
jb 0x14004c5b2
nop word [rax + rax]
mov rdx, qword [rdi + 0x210]
test rdx, rdx
je 0x14004c5b2
mov eax, dword [rdi + 0x220]
mov rcx, qword [rdi + 0x218]
add rbx, rax
mov qword [rsp + 0x68], rbx
call rdx
test eax, eax
jne 0x14004cd64
cmp r14, rbx
jae 0x14004b000
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468a7
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 0x14], 0x10
jne 0x14004b07a
mov rcx, rbx
call fcn.14003c010
test eax, eax
jne 0x14004cf68
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.140020170
mov rdi, qword [rsp + 0x58]
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 0x10
je 0x14004b0dd
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xc8]
call fcn.140020600
test eax, eax
je 0x14004b0dd
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbp + 0xc8]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
call fcn.14003bf10
jmp 0x14004afd4
mov rcx, rbx
call fcn.14003be60
jmp case.0x14004679e.9
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add rbx, r11
add rsi, r11
test byte [rbx + 0x14], 0x10
jne 0x14004b11e
mov rcx, rbx
call fcn.14003c010
test eax, eax
jne 0x14004cf68
test edi, edi
je 0x14004b13a
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.1400206c0
test eax, eax
jne 0x14004c06c
test edi, edi
js 0x1400482db
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.140020170
mov rdi, qword [rsp + 0x58]
jmp 0x140047012
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, r11
cmp word [rcx + 2], 0
je 0x14004b1a3
mov rax, qword [r12 + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x14004b1a3
nop word [rax + rax]
cmp qword [rax + 0x30], rcx
je 0x14004b44c
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004b190
mov eax, dword [rdi + 0xb0]
cmp dword [r12 + 0x118], eax
jge 0x14004ccc0
test byte [r14 + 0x14], 0x10
jne 0x14004b2e4
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 0x14004b1e8
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, qword [rsp + 0x58]
movsxd rdx, ebx
call fcn.14000fc50
mov rsi, rax
test rax, rax
je 0x14004cf63
mov rcx, r14
call fcn.14003b860
mov qword [r14 + 8], rsi
mov eax, 0x1010
mov word [r14 + 0x14], ax
xor r8d, r8d
mov dword [r14 + 0x10], ebx
lea rax, [0x14003e5c0]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [rsi + 0x58], edi
mov qword [rsi], r12
mov ecx, dword [r15 + 0x10]
mov dword [rsi + 0x5c], ecx
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x70]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x4c], edx
mov rax, qword [r12 + 0x68]
mov qword [rsi + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rsi + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rsi + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rsi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x30], rax
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x14004b2e8
nop dword [rax]
nop word [rax + rax]
mov word [rax + 0x14], r8w
mov qword [rax + 0x18], rdi
add rax, 0x38
cmp rax, rcx
jne 0x14004b2d0
jmp 0x14004b2e8
mov rsi, qword [r14 + 8]
inc dword [r12 + 0x118]
lea rdx, [rsi + 0x70]
mov rax, qword [r12 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x60], rax
mov rax, qword [r12]
mov qword [rsp + 0x60], rdx
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x68], rcx
mov rax, qword [r12 + 0x128]
mov qword [rsi + 0x40], rax
mov qword [r12 + 0x68], rdx
mov qword [r12 + 0x128], r8
mov qword [r12 + 0x38], r8
mov qword [r12 + 0x108], rsi
movsxd rcx, dword [rsi + 0x58]
mov dword [r12 + 0x24], ecx
movzx eax, word [rsi + 0x5c]
mov dword [r12 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r12 + 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.1400f7ed0
mov rsi, qword [r15]
mov r14, qword [rbp - 0x70]
mov qword [r12 + 0x88], rsi
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x78]
mov qword [rsp + 0x70], rsi
mov dword [r15 + 0x90], eax
lea rax, [rsi - 0x18]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x14004afd9
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
mov eax, 0x9000
add r9, qword [r15 + 0x68]
test word [r9 + 0x14], ax
je 0x14004b3eb
mov rcx, r9
call fcn.140046210
mov r9, rax
jmp 0x14004b3f5
mov eax, 4
mov word [r9 + 0x14], ax
mov r8, qword [r15 + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r9
mov rax, qword [rsp + 0x48]
add edx, dword [rax + 4]
movsxd rax, edx
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
mov r8d, 0x4000
call fcn.14003c190
jmp 0x14004956d
mov eax, dword [rdi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
jae 0x14004b456
movsxd rax, dword [rax + 8]
add qword [rdi + 0x300], rax
mov r12, qword [rsp + 0x48]
jmp case.0x14004679e.89
cmp dword [rax + 4], 0
lea rcx, [0x140000000]
movsxd rax, dword [rax + 8]
mov r12, qword [rsp + 0x48]
je 0x14004b485
add qword [rdi + 0x2f8], rax
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
add qword [r15 + 0x50], rax
mov r15, qword [rsp + 0x78]
add r12, 0x18
mov r14, qword [rbp - 0x70]
jmp 0x14004676d
cmp dword [r12 + 4], 0
je 0x14004b4c4
cmp qword [rdi + 0x2f8], 0
jne case.0x14004679e.89
cmp qword [rdi + 0x300], 0
je 0x1400475c7
jmp case.0x14004679e.89
cmp qword [r15 + 0x50], 0
jne case.0x14004679e.89
cmp qword [rdi + 0x300], 0
je 0x1400475c7
jmp case.0x14004679e.89
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x14004b51f
mov rax, qword [rcx + 8]
test rax, rax
je 0x14004b50c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14004b500
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14004b52f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r11
mov rcx, rdi
call fcn.14003b8c0
mov qword [rdi], rax
mov r14d, 0xf244
movzx eax, word [rdi + 0x14]
and ax, r14w
or ax, 4
mov word [rdi + 0x14], ax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14003b8c0
movzx ecx, word [rbx + 0x14]
xor r8d, r8d
mov r12, qword [rsp + 0x48]
and cx, r14w
mov r11, qword [rsp + 0x60]
or cx, 4
mov r10d, dword [rsp + 0x50]
mov word [rbx + 0x14], cx
mov qword [rbx], rax
cmp qword [rdi], rax
jge 0x14004c5cf
movzx r9d, byte [rsp + 0x40]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle 0x1400468aa
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x1400475c2
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]
add rdi, r11
imul rbx, rax, 0x38
add rsi, r11
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x14004b61f
mov rcx, rbx
call fcn.140046210
mov rbx, rax
xor r8d, r8d
jmp 0x14004b628
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rdi]
mov qword [rbp + 0xc0], rax
test rax, rax
jle 0x14004b665
mov rdx, qword [rsi]
lea rcx, [rbp + 0xc0]
test rdx, rdx
cmovle rdx, r8
call fcn.140015ce0
test eax, eax
jne 0x14004b665
mov rax, qword [rbp + 0xc0]
mov rdi, qword [rsp + 0x58]
mov qword [rbx], rax
jmp 0x140047012
mov rdi, qword [rsp + 0x58]
mov qword [rbx], 0xffffffffffffffff
jmp 0x140047012
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x14004b44c
mov r12, qword [rsp + 0x48]
jle 0x1400475c7
dec rax
mov qword [rcx + r11], rax
jmp 0x1400475c7
mov rax, qword [rsp + 0x48]
movabs rbx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, rbx
jle 0x14004b6ce
dec rax
mov qword [rcx + r11], rax
mov r12, qword [rsp + 0x48]
test rax, rax
je 0x1400475c7
jmp case.0x14004679e.89
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.14000fce0
mov r8, rax
test rax, rax
je 0x14004cf68
xor r9d, r9d
add rdi, 6
lea rcx, [rax + rdi*8]
mov qword [rax + 0x10], r9
mov rdi, qword [rsp + 0x58]
mov r14d, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
mov word [rcx + 0x14], r14w
mov qword [rcx + 0x18], rdi
mov dword [rcx + 0x20], r9d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, rsi
mov qword [r8 + 0x18], r15
mov byte [r8 + 0x29], r9b
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r8 + 0x24], r9d
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
movzx eax, byte [rsp + 0x40]
mov byte [r8 + 0x28], al
mov rax, qword [rsp + 0x48]
mov dword [r8 + 0x20], edx
mov word [rax], 0xf1a3
mov qword [rax + 0x10], r8
jmp 0x14004b79a
mov rax, qword [rsp + 0x48]
mov r14d, 1
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov rsi, qword [rsp + 0x60]
imul r10, rax, 0x38
add r10, rsi
cmp qword [rbx + 0x10], r10
je 0x14004b805
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14004b805
mov rdi, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop word [rax + rax]
mov eax, dword [rdi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14004b7e0
mov rdi, qword [rsp + 0x58]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov r12, qword [rsp + 0x48]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r12 + 4], 0
je 0x14004b82a
call qword [rax + 0x30]
jmp 0x14004b82d
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14004c62a
jle 0x14004b85f
mov rcx, qword [rbx]
mov dl, 1
call fcn.14003c850
mov r8, rax
lea rdx, [0x14012b650]
mov rcx, r15
call fcn.14003cfe0
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
cmp byte [rbx + 0x29], 0
je 0x14004b881
movsxd rax, dword [r12 - 0x14]
test eax, eax
je 0x14004b87d
imul rcx, rax, 0x38
mov rdx, r14
add rcx, rsi
call fcn.14003bf10
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x14004b895
cmp dword [rcx + 0x20], 0
je 0x14004b89a
call fcn.14003b810
mov rax, qword [rbx]
xor r8d, r8d
mov edx, 1
mov word [rax + 0x14], dx
mov dword [rbx + 0x24], r8d
test r13d, r13d
jne 0x14004cfdb
movzx r9d, byte [rsp + 0x40]
mov r11, rsi
mov rsi, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x50]
jmp case.0x14004679e.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, r11
test eax, eax
je 0x14004b917
imul rdx, rax, 0x38
mov r8, rcx
mov rcx, rbx
add rdx, r11
call fcn.14003b730
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
jmp 0x14004b929
mov rdx, rcx
mov rcx, rbx
call fcn.14003b650
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rcx, rbx
test r13d, r13d
jne 0x14004cce7
movzx edx, byte [rsp + 0x40]
call fcn.14003b0d0
jmp 0x14004956d
lea rax, [rbp + 0xd8]
mov dword [rbp + 0xd0], r8d
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd4]
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov qword [rbp + 0xd4], 0xffffffffffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1400d97d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14004b9a5
cmp eax, 5
jne 0x14004cb77
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rbp + 0xd0], eax
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
xor eax, eax
mov edi, eax
lea esi, [rax + 4]
nop dword [rax]
nop word [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0xd0]
test word [rbx + 0x14], cx
je 0x14004b9f0
mov rdx, rax
mov rcx, rbx
call fcn.14003bed0
mov ecx, 0x9000
jmp 0x14004b9f7
mov qword [rbx], rax
mov word [rbx + 0x14], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14004b9d0
mov rdi, qword [rsp + 0x58]
jmp 0x140047012
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.140046240
mov rcx, qword [rdi + 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.140038950
mov rcx, rax
mov rsi, rax
call fcn.1400260a0
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.1400260b0
test eax, eax
mov r12d, 1
mov edx, r12d
mov rcx, rsi
cmove ebx, edi
call fcn.140025c20
cmp ebx, 5
jne 0x14004ba94
mov rcx, rax
call fcn.1400133e0
test eax, eax
je 0x14004ba8d
mov rcx, rsi
call fcn.1400260e0
test eax, eax
jne 0x14004ba94
mov ebx, edi
jmp 0x14004bb15
cmp ebx, edi
je 0x14004bb15
cmp edi, 5
je 0x14004baa2
cmp ebx, 5
jne 0x14004bb15
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x65], 0
je 0x14004cd03
cmp dword [rax + 0xdc], r12d
jg 0x14004cd03
cmp edi, 5
jne 0x14004bae5
mov rdx, rax
mov rcx, rsi
call fcn.1400262b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004bb1a
mov edx, ebx
mov rcx, rsi
call fcn.140025f10
jmp 0x14004bafa
cmp edi, 4
jne 0x14004baf5
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.140025f10
test r13d, r13d
jne 0x14004bb1a
xor eax, eax
mov rcx, r15
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.140039ed0
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
je 0x14004bb1c
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.140025f10
mov ecx, 0x2202
mov word [r14 + 0x14], cx
mov ecx, eax
call fcn.14008d890
mov rcx, rax
mov qword [r14 + 8], rax
call fcn.1400133e0
movzx edx, byte [rsp + 0x40]
mov rcx, r14
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x16], r12b
call fcn.14003b0d0
mov rdi, qword [rsp + 0x58]
test r13d, r13d
je 0x140047012
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x78]
jmp 0x14004cb82
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x14004bb8b
imul r9, rax, 0x38
add r9, r11
jmp 0x14004bb8e
mov r9, r8
mov r8d, dword [r13 + 4]
lea rcx, [r15 + 0xa8]
mov rdx, rdi
call fcn.1400b2090
jmp 0x14004955e
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002ee20
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14004c5ad
cmp eax, 0x65
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov r13d, r8d
mov dword [rsp + 0x54], r8d
jmp 0x1400475c2
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x14004bc09
mov edx, dword [rax + 8]
mov rcx, rdi
call fcn.140041ff0
jmp 0x14004956d
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x48]
inc eax
xor eax, dword [r15 + 0xc8]
and eax, 3
xor dword [r15 + 0xc8], eax
jmp case.0x14004679e.89
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.14002fd70
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.14002fd80
jmp 0x14004956d
movzx r8d, byte [r12 + 0xc]
test r8b, r8b
jne 0x14004bc86
movabs rax, 0x400000000
test qword [rdi + 0x30], rax
jne 0x140046f99
mov r13, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140039ce0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14004956d
mov rsi, qword [rsp + 0x48]
cmp al, 6
jne 0x14004cb7c
mov r8, qword [rsi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r15
call fcn.14003cfe0
jmp 0x14004cb7c
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1400b4300
mov dword [rsp + 0x54], eax
mov r13d, eax
test rbx, rbx
je 0x14004bd05
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.1400421f0
test r13d, r13d
jmp 0x140049567
mov rax, qword [rsp + 0x48]
lea rcx, [rbp + 0x40]
xorps xmm0, xmm0
mov qword [rbp + 0x40], r8
xorps xmm1, xmm1
mov qword [rbp + 0x70], r8
movdqu xmmword [rbp + 0x48], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x60], xmm1
mov qword [rbp + 0x58], rdi
add rdx, r11
call fcn.14003c1d0
lea rcx, [rbp + 0x40]
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.140042800
test rax, rax
je 0x14004bd78
mov r8, rax
lea r9, [r15 + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov edx, dword [rax + 4]
call fcn.1400b3c30
mov r13d, eax
mov dword [rsp + 0x54], eax
lea rcx, [rbp + 0x40]
call fcn.14003b860
test r13d, r13d
jmp 0x140049567
mov rax, qword [rsp + 0x48]
mov rcx, rdi
inc dword [rdi + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400b40b0
dec dword [rdi + 0xe8]
jmp 0x14004955e
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x60], r8
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004cd4b
mov rdi, qword [rbx]
test rdi, rdi
je 0x14004cd46
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1400421f0
test r13d, r13d
jne 0x14004c99d
mov rax, qword [rbp - 0x60]
mov r9b, 2
xor r8d, r8d
mov rcx, r15
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.140045e00
mov rcx, qword [rbp - 0x60]
test rax, rax
je 0x14004cd3e
mov rdi, qword [rsp + 0x58]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x14004956d
mov r13, qword [rsp + 0x48]
mov qword [rbp - 0x58], r8
movsxd rax, dword [r13 + 8]
imul r14, rax, 0x38
add r14, r11
mov rcx, r14
call fcn.14003be60
mov rsi, qword [r13 + 0x10]
mov rcx, qword [rsi + 0x50]
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rbx]
inc dword [rsi + 0x2c]
call fcn.1400b2cf0
mov r8, qword [rsp + 0x58]
lea rcx, [rbp - 0x58]
movsxd rax, dword [r13 + 4]
mov r9d, dword [r13 + 0xc]
shl rax, 5
mov rdx, qword [r8 + 0x20]
mov r8, qword [rsi]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, qword [rax + rdx]
call qword [rdi + 0xc0]
mov rcx, qword [rsi + 0x50]
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1400b2d00
mov rdi, qword [rsp + 0x58]
cmp qword [rdi + 0x308], 0
jne 0x14004bebe
mov eax, 0xffffffff
add dword [rsi + 0x2c], eax
jne 0x14004bec9
mov rdx, rsi
mov rcx, rdi
call fcn.14006df60
test r13d, r13d
jne 0x14004cd56
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x14004c5ad
lea rax, [fcn.14000f700]
mov r9b, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.14003c2a0
jmp 0x140047012
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
call fcn.1400d6860
test eax, eax
jne 0x14004cf68
lea ecx, [rax + 0x10]
call fcn.14000f510
mov rbx, rax
test rax, rax
je 0x14004cf68
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, r15
add rdx, qword [rsp + 0x60]
mov qword [rbx + 8], rdx
mov rdx, rax
call fcn.140046240
mov edx, 1
lea r9, [0x140043730]
lea r8, str.ValueList
mov rcx, rax
mov word [rax + 0x14], dx
mov rdx, rbx
call fcn.14003bf30
mov rdi, qword [rsp + 0x58]
jmp 0x14004956d
mov rcx, qword [rsp + 0x48]
mov r12d, 1
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r11
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov rax, qword [rsp + 0x78]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x30]
mov rdi, qword [rax + 0x70]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14004bfe9
mov r10d, r12d
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 0x14004bfd0
mov rax, qword [rsp + 0x48]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov r15, qword [rsp + 0x78]
mov rcx, r15
mov dword [rsp + 0x54], eax
mov ebx, eax
call fcn.1400421f0
test ebx, ebx
jne 0x14004cf94
mov rcx, rsi
call qword [r14 + 0x50]
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov rsi, qword [rsp + 0x70]
mov byte [r13 + 2], bl
mov r13d, ebx
test eax, eax
je 0x14004ab17
mov rdi, qword [rsp + 0x58]
jmp 0x1400475c2
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
jmp 0x1400475c2
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x1400475c2
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x48]
xor r8d, r8d
mov rdi, qword [rsp + 0x58]
jmp 0x1400475c2
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp byte [rdi + 2], 0
je 0x14004c0bc
mov rcx, rbx
call fcn.14003be60
mov rdi, qword [rsp + 0x58]
jmp 0x14004956d
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rsi, qword [rax]
xor eax, eax
test byte [rcx + 2], 1
mov r14, qword [rsi]
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x40], rbx
movups xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x68], r9b
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x70], rax
je 0x14004c101
mov rcx, rbx
call fcn.14003be60
mov rcx, qword [rsp + 0x48]
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x14004c111
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, 1
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x40]
mov r8d, dword [rcx + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1400421f0
cmp dword [rbp + 0x64], 0
jle 0x14004c160
mov rcx, rbx
call fcn.140042800
mov r8, rax
lea rdx, [0x14012b650]
mov rcx, r15
call fcn.14003cfe0
mov r13d, dword [rbp + 0x64]
mov dword [rsp + 0x54], r13d
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.14003b0d0
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14004cb77
jmp 0x140047012
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x14004c871
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.1400421f0
test r13d, r13d
jne 0x14004c99d
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x70]
test eax, eax
jne 0x14004afcf
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rsi + rcx*8]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x14004afd9
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov edi, dword [rdi + 0x30]
and edi, 0x4000000
or qword [rax + 0x30], 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r11
test byte [rbx + 0x14], 2
jne 0x14004c237
mov byte [rbx + 0x16], 1
jmp 0x14004c252
cmp byte [rbx + 0x16], 1
je 0x14004c252
mov dl, 1
mov rcx, rbx
call fcn.140012d90
mov r13d, eax
test eax, eax
jne 0x14004c99d
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
test edi, edi
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
jne 0x14004c27a
and qword [rdi + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r15
call fcn.1400421f0
and dword [r15 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14004cb77
jmp 0x140047012
cmp byte [rdi + 0x67], 0
mov qword [rbp + 0x30], r8
jne 0x14004cf6d
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004cd4b
mov r10, qword [rbx]
test r10, r10
je 0x14004cd4b
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x48]
movsxd rdx, dword [r12 + 8]
je 0x140047d62
movsxd rax, dword [r12 + 0xc]
movzx edi, byte [rdi + 0x6c]
mov r8, qword [r15 + 0x70]
imul rcx, rax, 0x38
xor eax, eax
add rcx, r11
test edx, edx
jle 0x14004c310
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x14004c300
movzx eax, byte [r12 + 2]
lea r9, [rbp + 0x30]
mov rsi, qword [rsp + 0x58]
mov rcx, rbx
mov byte [rsi + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x6c], dil
mov rcx, r15
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.1400421f0
test r13d, r13d
jne 0x14004c358
mov rdi, rsi
cmp dword [r12 + 4], r13d
je 0x14004c38e
mov rax, qword [rbp + 0x30]
mov qword [rsi + 0x38], rax
jmp 0x14004c38e
cmp r13b, 0x13
jne 0x14004c38b
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14004c38b
movzx ecx, word [r12 + 2]
mov rdi, rsi
cmp ecx, 4
jne 0x14004cd87
xor r8d, r8d
mov r13d, r8d
mov dword [rsp + 0x54], r8d
jmp 0x140049b6c
mov rdi, rsi
inc qword [r15 + 0x38]
test r13d, r13d
jne 0x14004cb77
jmp 0x140047017
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x14004c3cc
mov rcx, rdx
call fcn.140046210
mov rdx, rax
xor r8d, r8d
jmp 0x14004c3d5
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
mov r10d, dword [rsp + 0x50]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x14004c43b
mov rcx, rbx
call fcn.140046210
mov rbx, rax
xor r8d, r8d
jmp 0x14004c444
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov edx, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
je 0x14004c47e
mov rcx, rdi
call fcn.14002c520
mov edx, eax
mov rax, qword [rsp + 0x48]
cmp edx, dword [rax + 0xc]
cmovb edx, dword [rax + 0xc]
mov rcx, rdi
call fcn.14002d860
mov rdi, qword [rsp + 0x58]
mov eax, eax
mov qword [rbx], rax
jmp 0x14004956d
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r11
mov qword [rbp + 0x30], rdi
cmp qword [rbx], rdi
je 0x14004c504
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov byte [rbx + 0x28], r9b
sub rdx, 1
mov qword [rbx + 0x18], r15
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x14004c504
mov rdi, qword [rsp + 0x48]
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
nop word [rax + rax]
mov eax, dword [rdi + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r11
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14004c4e0
mov rdi, qword [rbp + 0x30]
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 0x14004c5a8
jle 0x14004c558
mov dl, 1
mov rcx, rdi
call fcn.14003c850
mov r8, rax
lea rdx, [0x14012b650]
mov rcx, r15
call fcn.14003cfe0
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
mov rax, qword [rsp + 0x48]
lea rdx, [r15 + 0x128]
mov rdi, qword [rsp + 0x58]
mov r8d, dword [rbx + 0x20]
mov rcx, rdi
mov r9d, dword [rax + 4]
call fcn.140040350
xor r8d, r8d
mov dword [rbx + 0x24], r8d
test r13d, r13d
jne 0x14004cb77
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp 0x1400468aa
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
xor r8d, r8d
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
mov rdi, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
mov rdi, rsi
xor r8d, r8d
jmp 0x140049b67
mov rdi, qword [rsp + 0x58]
jmp 0x140049b6c
mov rdi, qword [rsp + 0x58]
xor r8d, r8d
jmp 0x140049b6c
mov rdi, qword [rsp + 0x58]
jmp 0x140049b67
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
jmp 0x1400468aa
mov r10d, dword [rsp + 0x50]
mov r11, rsi
mov rsi, qword [rsp + 0x70]
xor r8d, r8d
movzx r9d, byte [rsp + 0x40]
jmp 0x1400468aa
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r11 + 0x14], ax
jmp case.0x14004679e.89
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.140046270
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 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
jmp 0x14004956d
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r11
imul rbx, rax, 0x38
add rbx, r11
call fcn.140046270
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x48]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 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
jb 0x14004c70f
inc dword [r15 + 0xf4]
xor r8d, r8d
jmp 0x1400475c7
inc dword [r15 + 0xf0]
mov r11, qword [rsp + 0x60]
xor r8d, r8d
movzx r9d, byte [rsp + 0x40]
mov r10d, dword [rsp + 0x50]
jmp case.0x14004679e.89
movzx eax, byte [rdi + 0x6e]
test al, 0x41
je 0x14004c7ed
cmp byte [r15 + 0xc5], 0xfe
je 0x14004c7ed
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x14004c762
mov r9, qword [r15 + 0xf8]
test r9, r9
je 0x14004c7ed
test al, 0x40
je 0x14004c78e
mov rdx, r9
mov rcx, r15
call fcn.1400458b0
mov rcx, qword [rdi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rdi + 0xf8]
mov rcx, rbx
call fcn.14000f700
jmp 0x14004c7e6
cmp dword [rdi + 0xe4], 1
jle 0x14004c7d1
mov r8, r9
lea rdx, str.____s
mov rcx, rdi
call fcn.1400123d0
mov rdx, qword [rdi + 0x100]
mov r9, rax
mov r8, r15
mov ecx, 1
mov rbx, rax
call qword [rdi + 0xf8]
mov rdx, rbx
mov rcx, rdi
call fcn.14000f9a0
jmp 0x14004c7e6
mov rdx, qword [rdi + 0x100]
mov r8, r15
mov ecx, 1
call qword [rdi + 0xf8]
xor r8d, r8d
lea edx, [r8 + 1]
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x14014d018]
jl 0x14004c844
cmp byte [r12], 0xb6
je 0x14004699f
cmp dword [r15 + 0x90], 1
jle 0x14004c841
mov eax, 0x18
nop dword [rax]
mov rcx, qword [r15 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x14004c832
mov dword [rax + rcx + 4], r8d
inc edx
add rax, 0x18
cmp edx, dword [r15 + 0x90]
jl 0x14004c820
mov eax, r8d
inc eax
mov dword [r12 + 4], eax
inc dword [r15 + 0xec]
jmp 0x1400475c2
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
jmp 0x1400468a7
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp case.0x14004679e.89
mov r13, qword [rsp + 0x48]
mov ecx, dword [r13 + 4]
mov dword [r15 + 0x34], ecx
movzx eax, byte [r13 + 8]
mov byte [r15 + 0xc4], al
test ecx, ecx
je 0x14004c948
movzx eax, word [r13 + 2]
mov rcx, r15
test ax, ax
je 0x14004c8f4
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x131e30]
call fcn.14003cfe0
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x14004c904
mov r8, qword [r15 + 0xa8]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.1400123d0
mov qword [r15 + 0xa8], rax
jmp 0x14004c904
mov r8, qword [r13 + 0x10]
lea rdx, [0x14012b650]
call fcn.14003cfe0
mov r9, qword [r15 + 0xf8]
mov rcx, r13
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, dword [r13 + 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.1400126c0
mov rcx, r15
call fcn.14003fd50
mov rsi, qword [rsp + 0x48]
mov r13d, eax
mov rbx, qword [rsp + 0x68]
mov r12d, 1
cmp eax, 5
jne 0x14004c971
mov dword [r15 + 0x34], eax
jmp 0x140048e44
cmp dword [r15 + 0x34], 0
mov r13d, 0x65
cmovne r13d, r12d
jmp 0x140048e44
mov r13d, 0x14
jmp 0x14004cb77
mov ecx, 0x17466
call fcn.1400db8e0
mov r13d, eax
mov rdi, qword [rsp + 0x58]
jmp 0x14004cb77
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.140046610
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r15 + rdi*8]
mov r15, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rcx, r15
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x14ebe0]
call fcn.14003cfe0
mov r13d, 0xc13
mov rdi, qword [rsp + 0x58]
mov rsi, r12
jmp 0x14004cb7c
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.14003cfe0
mov r13d, 5
mov rdi, rbx
jmp 0x14004cb77
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.14003cfe0
mov r13d, 5
jmp 0x14004cb77
mov byte [rdi + 0x65], 0
jmp 0x14004cb77
mov rsi, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, rsi
mov r13d, 5
sub rcx, qword [rsp + 0x70]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
mov byte [rdi + 0x65], 0
mov dword [r15 + 0x34], r13d
jmp 0x140048e35
mov r14d, 0xb
bt rax, 0x14
mov r13d, 8
mov rsi, rcx
cmovae r13d, r14d
lea r12d, [r14 - 0xa]
jmp 0x14004cb88
mov rsi, qword [rsp + 0x48]
mov r12d, 1
mov rbx, qword [rsp + 0x68]
cmp r13b, 5
jne 0x14004cd7c
mov rcx, rsi
mov dword [r15 + 0x34], r13d
sub rcx, qword [rsp + 0x70]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
jmp 0x140048e40
mov rsi, qword [rsp + 0x78]
lea rbx, [rsi + 0xc8]
jmp 0x14004cb0a
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rsi + 0xa8]
mov rcx, r15
call fcn.14000f9a0
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.14000fe60
mov qword [rsi + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x28]
cmp dword [rcx], eax
je 0x14004cb5a
mov rcx, r15
call fcn.14006db70
mov rbx, rdi
mov eax, dword [rbx]
mov r13d, 0x11
and eax, 0xfffffffd
or eax, 1
and eax, 0xffffffef
mov dword [rbx], eax
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x48]
mov r12d, 1
mov r14d, 0xb
mov rbx, qword [rsp + 0x68]
cmp byte [rdi + 0x67], 0
je 0x14004cfe8
mov r13d, 7
jmp 0x14004d01c
mov r13d, 0x204
jmp 0x14004cb77
mov rcx, qword [rbx + 0x10]
call fcn.14002d330
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
mov r15, qword [rsp + 0x78]
mov rdi, r8
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.14003cfe0
mov r13d, 0x12
jmp 0x14004cb77
mov rdi, qword [rsp + 0x58]
jmp 0x14004cbc7
lea r8, str.index_corruption
mov edx, 0x18168
mov ecx, 0x30b
call fcn.1400db8b0
mov r13d, eax
mov rsi, r12
jmp 0x14004cb7c
lea rax, [0x1401317b4]
mov r14d, 0xb
mov ecx, r14d
mov qword [rsp + 0x20], rax
mov r9d, 0x18235
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400126c0
mov rdi, qword [rsp + 0x58]
lea r12d, [r14 - 0xa]
mov rsi, qword [rsp + 0x48]
mov r13d, r14d
jmp 0x14004cb88
mov rsi, qword [rsp + 0x48]
mov r13d, 6
mov byte [r15 + 0xc4], 2
jmp 0x14004cb82
lea rdx, [0x14012b650]
mov rcx, r15
call fcn.14003cfe0
mov rcx, qword [rbp - 0x58]
call fcn.14000f700
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
cmp r13d, 7
je 0x14004cf72
mov rsi, qword [rsp + 0x48]
mov r12d, 1
lea r14d, [r12 + 0xa]
jmp 0x14004cb8d
call fcn.14006dc00
jmp 0x14004cf6d
mov rcx, qword [rbp - 0x50]
call fcn.14000f700
mov rdi, qword [rsp + 0x58]
jmp 0x14004cb77
mov r15, qword [rsp + 0x78]
lea rdx, str.too_many_levels_of_trigger_recursion
mov r12d, 1
mov rcx, r15
mov r13d, r12d
call fcn.14003cfe0
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
call fcn.140042800
mov r8, rax
lea rdx, [0x14012b650]
mov rcx, r15
call fcn.14003cfe0
jmp 0x14004cb77
mov r15, qword [rsp + 0x78]
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r15
cmove r8, rax
mov r13d, r12d
call fcn.14003cfe0
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
call qword [rdi + 0x38]
jmp 0x14004cf68
mov rdi, qword [rsp + 0x58]
mov r13d, 6
jmp 0x14004cb77
mov rcx, qword [rbp - 0x58]
call fcn.14000f700
jmp 0x14004cb77
mov rbx, 0xffffffffffffffff
mov r13d, 9
mov rsi, qword [rsp + 0x48]
mov r12d, 1
mov r14d, 0xb
jmp 0x14004cb8d
movzx eax, cl
cmp ecx, 5
mov ecx, 2
mov rsi, r12
cmove eax, ecx
mov byte [r15 + 0xc4], al
jmp 0x14004cb7c
mov eax, dword [r15 + 0x2c]
mov r13, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [r15 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r11
mov qword [r15 + 0xa0], rcx
cmp byte [rdi + 0x67], 0
jne 0x14004cf6d
test byte [rdi + 0x6e], 4
je 0x14004cdf0
mov rdx, qword [rdi + 0x100]
xor r9d, r9d
mov r8, r15
lea ecx, [r9 + 4]
call qword [rdi + 0xf8]
mov rbx, qword [rsp + 0x68]
mov rcx, r13
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x48]
mov r13d, 0x64
imul rcx
lea r12d, [r13 - 0x63]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r15 + 0x30], edx
jmp 0x140048e44
mov r13, qword [rsp + 0x48]
movzx eax, byte [rdi + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x14004cf27
test ecx, ecx
je 0x14004ce64
mov edx, 0x204
mov rcx, rdi
call fcn.1400d8330
mov al, 1
mov r12d, 1
jmp 0x14004ceab
test ebx, ebx
je 0x14004ce8b
cmp dword [rdi + 0xe0], 0
jle 0x14004ce8b
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.14003cfe0
mov r13d, 5
jmp 0x14004cb77
mov r12d, 1
mov rcx, r15
mov edx, r12d
call fcn.14003fce0
mov r13d, eax
test eax, eax
jne 0x14004cef2
mov r13, qword [rsp + 0x48]
movzx eax, bl
mov rcx, r15
mov byte [rdi + 0x65], al
call fcn.14003fd50
cmp eax, 5
jne 0x14004cf01
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rsi
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r12d
sub al, bl
mov dword [r15 + 0x30], edx
mov byte [rdi + 0x65], al
mov dword [r15 + 0x34], r13d
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
jmp 0x140048e44
mov rcx, rdi
call fcn.1400d7ad0
cmp dword [r15 + 0x34], 0
mov r13d, 0x65
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
cmovne r13d, r12d
jmp 0x140048e44
test ebx, ebx
jne 0x14004cf34
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14004cf48
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, r15
call fcn.14003cfe0
mov rsi, qword [rsp + 0x48]
mov r12d, 1
mov r13d, r12d
jmp 0x14004cb82
mov r15, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14000fff0
lea rdx, [0x14012a6f8]
mov rcx, r15
call fcn.14003cfe0
mov r13d, 7
jmp 0x14004cd71
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
mov r13d, dword [rsp + 0x54]
jmp 0x14004cb6d
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
jmp 0x14004cb77
mov rdi, rsi
mov rsi, qword [rsp + 0x48]
jmp 0x14004cb82
mov rdi, qword [rsp + 0x58]
mov r15, r12
jmp 0x14004cb77
mov rsi, qword [rsp + 0x48]
mov r12, rdx
jmp 0x14004cb82
cmp r13d, 0x210a
jne 0x14004d01c
lea rax, [0x1401317b4]
mov r9d, 0x18b12
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, r14d
call fcn.1400126c0
mov r13d, r14d
cmp qword [r15 + 0xa8], 0
jne 0x14004d049
cmp r13d, 0xc0a
je 0x14004d049
mov ecx, r13d
call fcn.1400d84a0
mov r8, rax
lea rdx, [0x14012b650]
mov rcx, r15
call fcn.14003cfe0
mov edx, r13d
mov dword [r15 + 0x34], r13d
mov rcx, rdi
call fcn.140013450
mov r9, qword [r15 + 0xf8]
mov rcx, rsi
sub rcx, qword [rsp + 0x70]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, r13d
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.1400126c0
cmp byte [r15 + 0xc7], 2
jne 0x14004d0af
mov rcx, r15
call fcn.14003fd50
cmp r13d, 0xc0a
jne 0x14004d0c2
mov rcx, rdi
call fcn.14000fff0
jmp 0x14004d0dc
cmp r13d, 0xb
jne 0x14004d0dc
cmp byte [rdi + 0x65], 0
jne 0x14004d0dc
movabs rax, 0x200000000
or qword [rdi + 0x30], rax
movzx eax, byte [rbp - 0x80]
mov r13d, r12d
test al, al
je 0x140048e40
lea edx, [rax - 1]
mov rcx, rdi
call fcn.14006db70
jmp 0x140048e40
add dword [r15 + 0xe4], r14d
cmp dword [r15 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm6, xmmword [rsp + 0x200]
mov r14, qword [rsp + 0x210]
mov r12, qword [rsp + 0x218]
mov rdi, qword [rsp + 0x258]
mov rsi, qword [rsp + 0x250]
mov rbx, qword [rsp + 0x248]
je 0x14004d14c
mov rcx, r15
call fcn.14003e440
mov eax, r13d
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1400f5310
add rsp, 0x220
pop r15
pop r13
pop rbp
ret