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

Disassembly:
mov r11, rsp
push rbp
push rsi
push r15
lea rbp, [r11 - 0x128]
sub rsp, 0x210
mov rax, qword [0x140159040]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rax, qword [rcx + 0x88]
mov rsi, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rdi
xor dil, dil
mov qword [r11 + 0x20], r12
mov r12, qword [rcx]
mov qword [r11 - 0x20], r13
mov qword [r11 - 0x28], r14
mov r14, qword [rcx + 0x68]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rax
xor eax, eax
mov byte [rsp + 0x7c], dil
mov r15d, eax
movzx edi, byte [r12 + 0x64]
mov r13d, eax
mov byte [rsp + 0x30], dil
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x68], r14
call fcn.140032d90
cmp qword [r12 + 0x208], r13
je 0x14003acb3
mov ecx, dword [r12 + 0x218]
xor edx, edx
mov eax, dword [rsi + 0xe4]
div ecx
sub ecx, edx
mov ebx, ecx
jmp 0x14003acba
mov rbx, 0xffffffffffffffff
cmp dword [rsi + 0x34], 7
mov r11d, 1
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1d0], xmm8
mov qword [rsp + 0x58], rbx
je 0x1400412c8
xor r10d, r10d
mov dword [rsi + 0x34], r10d
mov qword [rsi + 0x48], r10
mov qword [rsi + 0xa0], r10
mov eax, dword [r12 + 0x198]
mov dword [r12 + 0x290], r10d
test eax, eax
jne 0x1400412a9
movsxd rax, dword [rsi + 0x30]
xorps xmm8, xmm8
mov r9, qword [rsp + 0x50]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
lea r13, [r9 + rcx*8]
lea rcx, [0x140000000]
movzx ebx, byte [r13]
inc rax
mov r8d, dword [0x140159088]
mov edx, 0xffffffff
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], rax
cmp ebx, 0xb5
ja case.default.0x14003ad71
movsxd rax, ebx
mov ecx, dword [rcx + rax*4 + 0x414a8]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r14 + 0x14], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp case.0x14003ad71.8
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 0x14], 4
je case.0x14003ad71.89
mov rax, qword [rax + r14]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
lea r13, [r9 + rcx*8]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov word [rcx + r14 + 0x14], 4
cmp dword [r13 + 8], 0
jne 0x140040482
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
mov word [rdx + r14 + 0x14], r10w
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
lea r13, [r9 + rcx*8]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
movsxd rcx, dword [r8 + r14]
sar rdx, 2
mov rax, rdx
mov word [r8 + r14 + 0x14], 4
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r13, [r9 + rcx*8]
mov qword [r8 + r14], rax
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
je case.0x14003ad71.89
mov rbx, qword [rsi + 0x108]
test rbx, rbx
je 0x140040c79
cmp dword [r13 + 4], 0
jne 0x140040c79
mov rax, qword [rbx + 8]
mov rcx, r12
mov rdx, qword [rsi + 0x38]
dec dword [rsi + 0x118]
mov qword [rsi + 0x108], rax
call fcn.1400369d0
mov rcx, rbx
call fcn.140033af0
cmp dword [r13 + 8], 4
jne 0x14003af26
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [rsi + 0x88]
mov r11d, 1
mov r14, qword [rsi + 0x68]
cdqe
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x68], r14
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14003e702
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x14003af97
call fcn.14003aab0
mov r9, qword [rsp + 0x50]
mov rcx, rax
movsxd rax, dword [r13 + 4]
xor r10d, r10d
mov qword [rcx], rax
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
lea r11d, [r10 + 1]
add r13, 0x18
jmp 0x14003ad33
mov word [rcx + 0x14], 4
movsxd rax, dword [r13 + 4]
mov qword [rcx], rax
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003b006
mov rcx, rdx
call fcn.14003aab0
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov rax, qword [r13 + 0x10]
xor r10d, r10d
mov rcx, qword [rax]
lea r11d, [r10 + 1]
mov rax, qword [rsp + 0x40]
mov qword [rdx], rcx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov word [rdx + 0x14], 4
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x40]
mov qword [rdx], rcx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003b059
mov rcx, rdx
call fcn.14003aab0
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov rdx, rax
lea r11d, [r10 + 1]
mov word [rdx + 0x14], 8
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x40]
mov qword [rdx], rcx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x14003b0a5
mov rcx, rbx
call fcn.14003aab0
mov rbx, rax
xor r10d, r10d
jmp 0x14003b0ab
mov word [rbx + 0x14], 4
mov rdx, qword [r13 + 0x10]
test rdx, rdx
jne 0x14003b0b9
mov eax, r10d
jmp 0x14003b0ce
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x14003b0c0
and eax, 0x3fffffff
mov dword [r13 + 4], eax
cmp dil, 1
je 0x14003b156
mov r9b, 1
mov qword [rsp + 0x20], r10
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.140030d10
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140040f6b
movzx edx, dil
mov rcx, rbx
call fcn.14002fc00
test eax, eax
jne 0x1400412be
mov eax, 0x2000
xor r9d, r9d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x38]
mov dword [rbx + 0x20], r9d
cmp byte [rax + 1], 0xfa
jne 0x14003b13e
mov rdx, qword [rax + 0x10]
mov rcx, r12
call fcn.140006c90
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r13 + 4], eax
cmp eax, dword [r12 + 0x88]
jg 0x140040f6b
mov byte [r13], 0x49
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003b18b
mov rcx, rdx
call fcn.14003aab0
mov rdx, rax
mov word [rdx + 0x14], 0x2202
xor r10d, r10d
mov rax, qword [r13 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r13 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], dil
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x14003db41
imul rcx, rax, 0x38
movzx eax, word [r13 + 2]
cmp qword [rcx + r14], rax
jne 0x14003db41
mov r9, qword [rsp + 0x50]
lea r11d, [r10 + 1]
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
mov word [rdx + 0x14], 0x2210
add r13, 0x18
jmp 0x14003ad33
mov rbx, qword [rsp + 0x38]
mov edx, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], dx
je 0x14003b21c
call fcn.14003aab0
xor r10d, r10d
mov rcx, rax
mov edx, 0x9000
lea r11d, [r10 + 1]
jmp 0x14003b222
mov word [rcx + 0x14], 4
cmp dword [rbx + 4], 0
mov esi, r11d
mov edi, dword [rbx + 0xc]
mov r8d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r8w
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], r10d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x14003db3c
test word [rbx + 0x38], dx
lea rbx, [rbx + 0x38]
je 0x14003b26b
lea rcx, [rbx - 0x14]
call fcn.1400303a0
xor r10d, r10d
mov edx, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], r10d
test edi, edi
jg 0x14003b250
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
mov r11d, 1
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 4]
mov edx, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 0x14]
and ax, dx
or ax, 1
mov word [rcx + r14 + 0x14], ax
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x14003b303
mov rcx, rbx
call fcn.14003aab0
mov rbx, rax
xor r10d, r10d
jmp 0x14003b309
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x38]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
test rdx, rdx
jne 0x14003b337
mov edx, eax
call fcn.140030930
mov rcx, rbx
call fcn.14002ffd0
test eax, eax
jne 0x1400412be
jmp 0x14003b347
mov r8, rax
mov qword [rsp + 0x20], r10
xor r9d, r9d
call fcn.140030d10
mov byte [rbx + 0x16], dil
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
mov r11d, 1
add r13, 0x18
jmp 0x14003ad33
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [rsi + 0x80]
lea rcx, [rdi - 0x38]
call fcn.140030bc0
test eax, eax
jne 0x140040f6b
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r14
test word [rbx + 0x14], ax
je 0x14003b3b6
mov rcx, rbx
call fcn.140030910
movups xmm0, xmmword [rdi - 0x38]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
movzx edi, byte [rsp + 0x30]
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 0x14003b34b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x14003b421
cmp dword [rbx + 0x20], 0
je 0x14003b430
mov rcx, rbx
call fcn.1400303e0
xor r10d, r10d
lea r11d, [r10 + 1]
movups xmm0, xmmword [rdi]
mov eax, 0x4000
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], r11w
mov dword [rdi + 0x20], r10d
test word [rbx + 0x14], ax
je 0x14003b47b
mov rcx, rbx
call fcn.14002ff40
test eax, eax
jne 0x1400412b9
xor r10d, r10d
lea r11d, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x14003b410
mov r13, qword [rsp + 0x38]
lea rcx, [0x140000000]
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rcx, qword [rsp + 0x38]
mov r13, rcx
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, r14
imul rbx, rax, 0x38
add rbx, r14
mov r14d, 0x4000
nop dword [rax + rax]
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.140030c30
test word [rbx + 0x14], r14w
je 0x14003b505
mov rcx, rbx
call fcn.14002ff40
test eax, eax
jne 0x1400412b9
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x14003b523
test byte [r13 + 2], 2
je 0x14003b523
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x1400409c0
add rbx, 0x38
add rdi, 0x38
jmp 0x14003b4e0
mov rcx, qword [rsp + 0x38]
mov r8d, 0x4000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
call fcn.140030c30
jmp 0x14003b34b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x14003b59c
mov rdx, rax
mov rcx, r8
call fcn.140030980
jmp 0x14003b34b
mov qword [r8], rax
mov word [r8 + 0x14], 4
mov r13, qword [rsp + 0x38]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
xor edx, edx
mov rcx, rsi
call fcn.1400346b0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14003b350
mov rdi, qword [rsp + 0x38]
mov r14d, 1
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
mov eax, 0xb
jmp 0x14003dbbb
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rcx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r14, rdx
imul rdi, rax, 0x38
movzx r15d, word [r14 + 0x14]
add rbx, rdx
movzx eax, r15b
add rdi, rdx
or al, byte [rbx + 0x14]
test al, 1
je 0x14003b64f
mov rcx, rdi
call fcn.140030910
mov r15d, dword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b34b
test r15b, 0x12
jne 0x14003b687
movzx r13d, byte [rsp + 0x30]
xor r8d, r8d
movzx edx, r13b
mov rcx, r14
call fcn.140030040
test eax, eax
jne 0x1400412be
movzx r15d, word [r14 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
jmp 0x14003b6bb
mov eax, 0x400
test ax, r15w
je 0x14003b6b5
mov rcx, r14
call fcn.14002ffd0
test eax, eax
jne 0x1400412be
movzx r15d, word [r14 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
movzx r13d, byte [rsp + 0x30]
movzx esi, word [rbx + 0x14]
test sil, 0x12
jne 0x14003b6d6
xor r8d, r8d
movzx edx, r13b
mov rcx, rbx
call fcn.140030040
jmp 0x14003b6e3
test ax, si
je 0x14003b6f7
mov rcx, rbx
call fcn.14002ffd0
test eax, eax
jne 0x1400412b9
movzx esi, word [rbx + 0x14]
mov eax, 0xfffd
and si, ax
mov r8, qword [rsp + 0x70]
mov edx, dword [r14 + 0x10]
add edx, dword [rbx + 0x10]
movsxd r12, edx
movsxd rax, dword [r8 + 0x88]
cmp r12, rax
jg 0x140040f63
xor r9d, r9d
mov rcx, rdi
mov r8d, r9d
cmp rdi, rbx
sete r8b
add edx, 2
call fcn.14002fc20
test eax, eax
jne 0x1400412b4
movzx eax, word [rdi + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rdi + 0x14], ax
cmp rdi, rbx
je 0x14003b764
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi + 8]
call fcn.1401253f0
mov word [rbx + 0x14], si
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rdi + 8]
movsxd r8, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
call fcn.1401253f0
mov word [r14 + 0x14], r15w
cmp r13b, 1
jbe 0x14003b788
and r12, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
mov r15d, dword [rsp + 0x48]
mov byte [r12 + rax], 0
mov rax, qword [rdi + 8]
mov byte [rax + r12 + 1], 0
mov eax, 0x200
or word [rdi + 0x14], ax
mov dword [rdi + 0x10], r12d
mov r12, qword [rsp + 0x70]
mov byte [rdi + 0x16], r13b
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.14003aa90
movsxd rcx, dword [r13 + 8]
movzx ebx, ax
imul rsi, rcx, 0x38
add rsi, r14
mov rcx, rsi
call fcn.14003aa90
movsxd rcx, dword [r13 + 0xc]
and al, bl
imul r14, rcx, 0x38
movzx ecx, word [rsi + 0x14]
add r14, qword [rsp + 0x68]
or cx, word [rdi + 0x14]
test al, 4
je 0x14003b8d3
movzx edx, byte [r13]
mov r8, qword [rsi]
mov rcx, qword [rdi]
mov qword [rbp + 0x68], r8
sub edx, 0x6a
je 0x14003b8a6
sub edx, 1
je 0x14003b898
sub edx, 1
je 0x14003b88a
cmp edx, 1
je 0x14003b85e
test rcx, rcx
je 0x14003b9be
cmp rcx, 0xffffffffffffffff
mov edx, 1
mov rax, r8
cmove rcx, rdx
cqo
idiv rcx
mov qword [rbp + 0x68], rdx
jmp 0x14003b8b6
test rcx, rcx
je 0x14003b9be
cmp rcx, 0xffffffffffffffff
jne 0x14003b87c
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14003b8dc
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x68], rax
jmp 0x14003b8b6
mov rdx, rcx
lea rcx, [rbp + 0x68]
call fcn.14000b7e0
jmp 0x14003b8b2
mov rdx, rcx
lea rcx, [rbp + 0x68]
call fcn.14000b770
jmp 0x14003b8b2
mov rdx, rcx
lea rcx, [rbp + 0x68]
call fcn.14000b720
test eax, eax
jne 0x14003b8dc
mov rax, qword [rbp + 0x68]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
jmp 0x14003b9a5
test cl, 1
jne 0x14003b9be
mov rcx, rdi
call fcn.140030530
mov rcx, rsi
movaps xmm6, xmm0
call fcn.140030530
movzx ecx, byte [r13]
sub ecx, 0x6a
je 0x14003b95f
sub ecx, 1
je 0x14003b959
sub ecx, 1
je 0x14003b953
cmp ecx, 1
je 0x14003b944
mov rcx, rdi
call fcn.1400304d0
mov rcx, rsi
mov rbx, rax
call fcn.1400304d0
mov qword [rbp + 0x68], rax
test rbx, rbx
je 0x14003b9be
cmp rbx, 0xffffffffffffffff
mov edx, 1
xorps xmm0, xmm0
cmove rbx, rdx
cqo
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14003b963
ucomisd xmm6, xmm8
jp 0x14003b94d
je 0x14003b9be
divsd xmm0, xmm6
jmp 0x14003b963
mulsd xmm0, xmm6
jmp 0x14003b963
subsd xmm0, xmm6
jmp 0x14003b963
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
jne 0x14003b9be
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x68]
jmp 0x14003b350
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x14003b9e6
mov rcx, r14
call fcn.1400303a0
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
mov rsi, qword [rsp + 0x60]
mov r11d, 1
mov word [r14 + 0x14], r11w
mov r14, qword [rsp + 0x68]
jmp 0x14003e6f8
movsxd rax, dword [r13 + 4]
test eax, eax
je case.0x14003ad71.89
imul rcx, rax, 0x38
xor edx, edx
add rcx, r14
call fcn.1400309c0
jmp 0x14003b350
mov rcx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r14
imul rsi, rax, 0x38
add rcx, r14
add rsi, r14
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test al, 1
je 0x14003ba9b
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x14003ba77
mov rcx, rsi
call fcn.1400303a0
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
movzx edi, byte [rsp + 0x30]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
mov word [rsi + 0x14], r11w
mov rsi, qword [rsp + 0x60]
add r13, 0x18
jmp 0x14003ad33
call fcn.1400304d0
mov rcx, rdi
mov rbx, rax
call fcn.1400304d0
movzx ecx, byte [r13]
mov rdx, rax
cmp cl, 0x66
jne 0x14003babd
and rbx, rax
jmp 0x14003bb34
cmp cl, 0x67
jne 0x14003bac7
or rbx, rdx
jmp 0x14003bb34
test rdx, rdx
je 0x14003bb34
jns 0x14003bae1
mov eax, 0xd1
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x14003bae7
neg rdx
cmp rdx, 0x40
jl 0x14003bb02
test rbx, rbx
jns 0x14003bafa
cmp cl, 0x68
je 0x14003bafa
mov rbx, 0xffffffffffffffff
jmp 0x14003bb34
xor r9d, r9d
mov ebx, r9d
jmp 0x14003bb34
cmp cl, 0x68
mov rcx, rdx
jne 0x14003bb12
shl rbx, cl
mov r8, rbx
jmp 0x14003bb31
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003bb31
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
movzx eax, word [rsi + 0x14]
mov ecx, 0xf244
movzx edi, byte [rsp + 0x30]
and ax, cx
or ax, 4
mov qword [rsi], rbx
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x60]
jmp 0x14003b350
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400304d0
movzx ecx, word [rbx + 0x14]
mov edx, 0xf244
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 0x14], cx
movsxd rcx, dword [r13 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x14003b350
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14003bc0c
movzx r8d, dil
mov dl, 0x43
mov rcx, rbx
call fcn.14003a8e0
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14003bc00
cmp dword [r13 + 8], 0
je 0x140040d81
mov r11d, 1
mov r9, qword [rsp + 0x50]
mov eax, dword [r13 + 8]
mov rsi, qword [rsp + 0x60]
dec eax
mov r14, qword [rsp + 0x68]
cdqe
lea rcx, [rax + rax*2]
lea r12, [r9 + rcx*8]
mov qword [rsp + 0x38], r12
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x70]
jmp 0x14003e702
mov r9, qword [rsp + 0x50]
xor r10d, r10d
lea r11d, [r10 + 1]
mov ecx, 0xf244
and ax, cx
lea rcx, [0x140000000]
or ax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 0x24
je case.0x14003ad71.89
call fcn.140030620
jmp 0x14003b350
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x14003bc79
mov rcx, rbx
call fcn.14002ffd0
mov r15d, eax
test eax, eax
jne 0x14003dba1
movzx edx, byte [r13 + 8]
movzx r8d, dil
mov rcx, rbx
call fcn.140030750
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
jmp 0x14003b350
mov rcx, qword [rsp + 0x38]
mov r13, rcx
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, r14
imul r14, rax, 0x38
movzx esi, word [r15 + 0x14]
add r14, qword [rsp + 0x68]
movzx edi, word [r14 + 0x14]
movzx eax, di
and ax, si
test al, 4
je 0x14003bd75
mov rcx, qword [r14]
cmp rcx, qword [r15]
lea rcx, [0x140000000]
mov r15d, dword [rsp + 0x48]
movzx edi, byte [rsp + 0x30]
jle 0x14003bd1a
cmp byte [rbx + rcx + 0x13d4b8], 0
jne 0x14003bbd2
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x78], r11d
add r13, 0x18
jmp 0x14003ad33
jge 0x14003bd4a
cmp byte [rbx + rcx + 0x13d4ac], 0
jne 0x14003bbd2
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x78], 0xffffffff
add r13, 0x18
jmp 0x14003ad33
cmp byte [rbx + rcx + 0x13d4b2], 0
jne 0x14003bbd2
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x78], r10d
add r13, 0x18
jmp 0x14003ad33
movzx ecx, di
or cx, si
test cl, 1
je 0x14003be0b
movzx ecx, word [r13 + 2]
test cl, cl
jns 0x14003bdd4
test al, 1
je 0x14003bdb9
mov eax, pe_nt_image_headers64
test ax, di
jne 0x14003bdb9
movzx eax, byte [r13]
lea rcx, [0x140000000]
mov dword [rsp + 0x78], r10d
movzx edx, byte [rax + rcx + 0x13d4b2]
jmp 0x14003bf28
movzx eax, di
not ax
and eax, 1
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x78], r10d
jmp 0x14003bed7
mov r15d, dword [rsp + 0x48]
movzx edi, byte [rsp + 0x30]
test cl, 0x10
jne 0x14003bbd2
mov rsi, qword [rsp + 0x60]
lea rcx, [0x140000000]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x78], r11d
add r13, 0x18
jmp 0x14003ad33
movzx eax, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003be4e
test cl, 2
je 0x14003bebb
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14003be38
xor edx, edx
mov rcx, r15
call fcn.14003a780
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14003bebb
xor edx, edx
mov rcx, r14
call fcn.14003a780
jmp 0x14003bebb
cmp al, 0x42
jne 0x14003bebb
movzx ebx, byte [rsp + 0x30]
test sil, 2
jne 0x14003be8f
test sil, 0x2c
je 0x14003be8f
mov r8b, 1
movzx edx, bl
mov rcx, r15
call fcn.140030040
xor si, word [r15 + 0x14]
mov eax, 0xdbf
and si, ax
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x14003be8f
movzx edi, si
or di, 2
test dil, 2
jne 0x14003bebb
test dil, 0x2c
je 0x14003bebb
mov r8b, 1
movzx edx, bl
mov rcx, r14
call fcn.140030040
xor di, word [r14 + 0x14]
mov eax, 0xdbf
and di, ax
xor di, word [r14 + 0x14]
mov r8, qword [r13 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140035920
mov r10d, eax
mov dword [rsp + 0x78], eax
mov r11d, 1
movzx eax, byte [r13]
mov ecx, r10d
test r10d, r10d
jns 0x14003bef5
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x13d4ac]
jmp 0x14003bf28
mov dword [rsp + 0x78], ecx
test ecx, ecx
jne 0x14003bf0e
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x13d4b2]
jmp 0x14003bf28
lea rdx, [0x140000000]
mov dword [rsp + 0x78], ecx
movzx edx, byte [rax + rdx + 0x13d4b8]
lea rcx, [0x140000000]
mov r9, qword [rsp + 0x50]
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
mov r15d, dword [rsp + 0x48]
test dl, dl
jne 0x140040482
mov rsi, qword [rsp + 0x60]
xor r10d, r10d
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
cmp dword [rsp + 0x78], 0
je 0x14003bbd2
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
test byte [rax + 2], 1
jne 0x14003bf94
mov r15, r10
jmp 0x14003bf9c
mov r15, qword [rax - 8]
add r15, 4
mov rcx, qword [rax + 0x10]
mov edi, r10d
mov r8d, dword [rax + 4]
mov rbx, r10
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp + 0x18], rcx
mov dword [rbp + 8], r8d
mov dword [rbp - 0x70], r9d
mov qword [rbp - 0x80], rax
test rax, rax
jle 0x140040c31
lea r14, [rcx + 0x20]
nop
test r15, r15
je 0x14003bfdb
mov edx, dword [r15 + rbx*4]
jmp 0x14003bfdd
mov edx, edi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r13, rcx, 0x38
movzx esi, byte [rax + rbx]
lea ecx, [rdx + r8]
mov r8, qword [r14]
and esi, 1
add r13, qword [rsp + 0x68]
imul r12, rcx, 0x38
mov rdx, r13
add r12, qword [rsp + 0x68]
mov rcx, r12
call fcn.140035920
mov dword [rsp + 0x78], eax
mov r10d, eax
test eax, eax
jne 0x14003c054
mov rcx, qword [rbp + 0x18]
inc edi
mov r8d, dword [rbp + 8]
inc rbx
mov r9d, dword [rbp - 0x70]
add r14, 8
cmp rbx, qword [rbp - 0x80]
jl 0x14003bfd0
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b34b
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14003c079
test byte [r12 + 0x14], 1
jne 0x14003c071
test byte [r13 + 0x14], 1
je 0x14003c079
neg r10d
mov dword [rsp + 0x78], r10d
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x38]
test esi, esi
je 0x1400409c0
mov rsi, qword [rsp + 0x60]
neg r10d
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
mov dword [rsp + 0x78], r10d
jmp 0x14003b350
mov r10d, dword [rsp + 0x78]
test r10d, r10d
jns 0x14003c0cb
mov eax, dword [r13 + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14003e702
jne 0x14003c0e2
mov eax, dword [r13 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14003e702
mov eax, dword [r13 + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x14003e702
movsxd rax, dword [r13 + 4]
mov edx, 2
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030560
movsxd rcx, dword [r13 + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r14
call fcn.140030560
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd r9, eax
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0x2c
jne 0x14003c147
movzx r9d, byte [r9 + rdx + 0x13ae70]
jmp 0x14003c150
movzx r9d, byte [r9 + rdx + 0x140428]
movsxd rax, dword [rax + 0xc]
imul rdx, rax, 0x38
movzx ecx, word [rdx + r14 + 0x14]
cmp r9b, 2
jne 0x14003c17b
mov eax, 0xf241
and cx, ax
or cx, 1
mov word [rdx + r14 + 0x14], cx
jmp 0x14003b34b
movzx eax, r9b
mov qword [rdx + r14], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + r14 + 0x14], cx
jmp 0x14003b34b
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030560
movsxd rdx, dword [rbx + 0x10]
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r14
call fcn.1400309c0
mov r13, rbx
jmp 0x14003b350
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 0x14], 1
jne 0x14003c214
xor edx, edx
call fcn.140030560
xor r9d, r9d
mov rcx, rbx
test eax, eax
mov edx, r9d
sete dl
call fcn.1400309c0
jmp 0x14003b34b
mov rcx, rbx
call fcn.140030910
jmp 0x14003b34b
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov rcx, rbx
call fcn.140030910
test byte [rdi + 0x14], 1
jne 0x1400409bb
mov rcx, rdi
mov word [rbx + 0x14], 4
call fcn.1400304d0
movzx edi, byte [rsp + 0x30]
not rax
mov qword [rbx], rax
jmp 0x14003b34b
mov r8, qword [rsi + 0x108]
test r8, r8
je 0x14003c2e7
mov r9, qword [r8 + 0x30]
mov rcx, r13
sub rcx, qword [rsi + 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 0x14003bbcd
bts eax, edx
mov byte [rcx + r9], al
mov rax, qword [rsi + 0x88]
mov r9, qword [rsp + 0x50]
mov ecx, dword [rax + 4]
mov rax, qword [rsp + 0x40]
mov dword [r13 + 4], ecx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rcx, qword [rsi + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x14003bbd2
mov rax, rcx
mov ecx, dword [rcx + 4]
mov rax, qword [rsp + 0x40]
mov dword [r13 + 4], ecx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030560
mov r9, qword [rsp + 0x50]
test eax, eax
jne 0x140040482
jmp 0x14003b355
mov rax, qword [rsp + 0x38]
mov edx, r10d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030560
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
test eax, eax
je 0x140040482
jmp 0x14003b355
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14003bbd2
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 1
jne 0x14003bbd2
call fcn.140037300
mov r9, qword [rsp + 0x50]
cmp eax, dword [r13 + 0xc]
je 0x140040482
jmp 0x14003b355
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14003c404
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
jne 0x14003c404
movsxd rax, dword [r13 + 8]
xor edx, edx
imul rcx, rax, 0x38
add rcx, r14
call fcn.1400309c0
jmp 0x14003b350
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030910
jmp 0x14003b350
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 0x14], 1
je 0x14003bbd2
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je case.0x14003ad71.89
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030910
jmp 0x14003bbc7
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov r14d, dword [rcx + 8]
mov dword [rbp + 8], r14d
nop word [rax + rax]
mov eax, dword [rsi + 0x2c]
mov r13, qword [rbx + 0x58]
cmp dword [rbx + 0x20], eax
je 0x14003c4d5
cmp byte [rbx + 2], 0
jne 0x14003c530
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x14003c4ce
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14003c4fa
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14003c4fa
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x14003c482
cmp byte [rdi], 0
je 0x14003c511
jmp 0x14003c4e2
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003c6ad
mov rcx, rbx
call fcn.1400350a0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14003c490
jmp 0x14003dba1
mov rcx, rbx
call fcn.140035030
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rcx, rdi
call fcn.140025230
lea rsi, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, rsi
mov rcx, rdi
call fcn.140025920
mov rcx, rax
jmp 0x14003c55e
cmp byte [rbx], 3
jne 0x14003c689
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x14003c689
imul rcx, rax, 0x38
lea rsi, [rbx + 0x6c]
add rcx, qword [rsp + 0x68]
mov eax, dword [rcx + 0x10]
mov dword [rsi], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x60]
lea r12, [rbx + 0x40]
mov qword [rbx + 0x60], rcx
mov eax, dword [rax + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
cmp eax, 0x80
jae 0x14003c586
mov eax, 1
jmp 0x14003c595
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.14000b5b0
movzx eax, al
xor r10d, r10d
lea rdi, [rbx + 0x4a]
mov rcx, r12
mov dword [rcx], eax
mov word [rdi], r10w
mov eax, dword [r13]
cmp dword [rsi], eax
jae 0x14003c683
mov qword [rbx + 0x60], r10
mov dword [rsi], r10d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x14003c75f
cmp eax, dword [rbx + 0x68]
ja 0x14003c75f
mov rsi, qword [rsp + 0x60]
movzx eax, word [rdi]
cmp eax, r14d
ja 0x14003c7fe
mov eax, dword [r13]
lea r12, [rbx + 0x40]
cmp dword [r12], eax
jae 0x14003c7a5
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x14003c63b
xorps xmm0, xmm0
mov qword [rbp - 0x38], rax
movups xmmword [rbp - 0x68], xmm0
lea r8, [rbp - 0x68]
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
mov edx, dword [r13]
mov rcx, qword [rbx + 0x30]
call fcn.140031120
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x1400412f4
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x70], rax
movzx r15d, word [rdi]
mov edi, dword [r12]
mov r14d, r15d
mov r12d, dword [r13]
add rdi, rax
add r12, rax
mov esi, dword [r13 + r15*4]
nop word [rax + rax]
movzx eax, byte [rdi]
mov dword [rbp - 0x78], eax
mov dword [rbx + r14*4 + 0x70], eax
mov ecx, dword [rbp - 0x78]
cmp ecx, 0x80
jae 0x14003c6b9
inc rdi
call fcn.140035130
movzx eax, al
jmp 0x14003c6dd
mov rax, qword [rbx + 0x60]
jmp 0x14003c637
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030910
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
lea rdi, [rbx + 0x4a]
xor r10d, r10d
jmp 0x14003c5d5
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.14000b5b0
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x78]
mov dword [rbx + r14*4 + 0x70], eax
mov ecx, dword [rbp - 0x78]
call fcn.140035110
mov eax, eax
inc r15d
add rsi, rax
movsxd r14, r15d
mov dword [r13 + r14*4], esi
cmp r15d, dword [rbp + 8]
ja 0x14003c6fc
cmp rdi, r12
jb 0x14003c660
jmp 0x14003c701
cmp rdi, r12
jb 0x14003c732
cmp rdi, r12
ja 0x14003c73a
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jne 0x14003c73a
sub edi, dword [rbp - 0x70]
cmp qword [rbx + 0x60], 0
mov word [rbx + 0x4a], r15w
mov dword [rbx + 0x40], edi
jne 0x14003c729
lea rcx, [rbp - 0x68]
call fcn.140030430
mov edx, dword [rbp - 0x78]
mov r14d, dword [rbp + 8]
jmp 0x14003c7ab
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jbe 0x14003c70e
cmp dword [r13], 0
jne 0x14003c74c
xor r9d, r9d
mov rdi, r12
mov r15d, r9d
jmp 0x14003c70e
cmp qword [rbx + 0x60], 0
jne 0x14003c75c
lea rcx, [rbp - 0x68]
call fcn.140030430
xor r10d, r10d
mov r9, qword [rsp + 0x50]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x140040d8c
mov r12, qword [rsp + 0x70]
dec eax
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [r9 + rax*8]
mov qword [rsp + 0x38], r15
mov r13, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x48]
jmp 0x14003b358
mov edx, r10d
mov dword [rbp - 0x78], edx
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x14003c808
mov rdx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
movsxd rax, dword [rdx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
cmp byte [rdx + 1], 0xf6
jne 0x14003c7f7
mov rdx, qword [rdx + 0x10]
mov r8d, 0x2000
call fcn.140030c30
mov rsi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b34b
call fcn.140030910
jmp 0x14003c7de
mov eax, r14d
mov edx, dword [rbx + rax*4 + 0x70]
mov dword [rbp - 0x78], edx
mov r8, qword [rsp + 0x38]
movsxd rax, dword [r8 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x68]
test word [rdi + 0x14], ax
je 0x14003c835
mov rcx, rdi
call fcn.140030910
mov edx, dword [rbp - 0x78]
mov r8, qword [rsp + 0x38]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x14003c929
mov eax, r14d
mov esi, dword [r13 + rax*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x14003c86d
mov rcx, rsi
mov r8, rdi
call fcn.140035140
mov r14, qword [rsp + 0x68]
jmp 0x14003c7de
movzx r14d, byte [rsp + 0x30]
lea ebx, [rdx - 0xc]
mov r12, qword [rsp + 0x70]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], r14b
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x14003c8b5
cmp ebx, dword [r12 + 0x88]
jg 0x140040f66
xor r8d, r8d
mov word [rdi + 0x14], 1
mov rcx, rdi
call fcn.14002fc20
test eax, eax
jne 0x1400412b9
jmp 0x14003c8bd
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.1401253f0
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r15d, dword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov r9, qword [rsp + 0x50]
mov byte [rbx + rax], 0
mov rax, qword [rdi + 8]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x78]
and eax, 1
xor r10d, r10d
movzx eax, word [rcx + rax*2 + 0x13ba58]
mov word [rdi + 0x14], ax
lea r11d, [r10 + 1]
movzx edi, byte [rsp + 0x30]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
movzx eax, byte [rsp + 0x30]
mov byte [rdi + 0x16], al
movzx eax, word [r8 + 2]
mov edx, dword [rbp - 0x78]
test al, 0xc0
je 0x14003c94b
cmp edx, 0xc
jb 0x14003c947
test dl, 1
je 0x14003c959
test al, al
js 0x14003c959
mov ecx, edx
call fcn.140035110
test eax, eax
jne 0x14003c972
mov edx, dword [rbp - 0x78]
lea rcx, [0x14013c2b0]
mov r8, rdi
call fcn.140035140
mov r14, qword [rsp + 0x68]
jmp 0x14003c7de
mov r12, qword [rsp + 0x70]
cmp eax, dword [r12 + 0x88]
jg 0x140040f66
mov rcx, qword [rbx + 0x30]
mov r9, rdi
mov edx, r14d
mov r8d, eax
mov edx, dword [r13 + rdx*4]
call fcn.140031010
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003db9c
mov edx, dword [rbp - 0x78]
mov r8, rdi
mov rcx, qword [rdi + 8]
call fcn.140035140
mov ecx, 0xbfff
and word [rdi + 0x14], cx
jmp 0x14003b7b6
mov rax, qword [rsp + 0x38]
mov edi, r10d
mov r13, qword [rsp + 0x38]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov r15, qword [r14 + 8]
add rsi, qword [rsp + 0x68]
cmp r10w, word [r14 + 0x36]
jge 0x140040c08
lea rbx, [r15 + 0xc]
nop dword [rax]
movzx eax, word [rbx + 6]
test al, 0x60
je 0x14003ca1b
test al, 0x20
jne 0x14003cac9
cmp dword [r13 + 0xc], 0
jne 0x14003cac5
movzx r8d, byte [rsp + 0x30]
mov rcx, rsi
movzx edx, byte [rbx]
call fcn.14003a8e0
movzx ecx, word [rsi + 0x14]
test cl, 1
jne 0x14003cac5
mov eax, dword [rbx - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x14003cabc
sub eax, 1
je 0x14003cab7
sub eax, 1
je 0x14003cab7
sub eax, 1
je 0x14003ca60
cmp eax, 1
jne 0x14003cac5
test cl, 2
jmp 0x14003cabf
test cl, 4
je 0x14003cab2
mov rdx, qword [rsi]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rsi
ja 0x14003ca8d
or cx, 0x20
jmp 0x14003ca9d
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rsi], xmm0
mov edx, 0x14
mov r8d, 0xfffb
and cx, r8w
mov word [rdx + rax], cx
jmp 0x14003cac5
test cl, 0x28
jmp 0x14003cabf
test cl, 4
jmp 0x14003cabf
test cl, 0x10
je 0x140040d9e
add rsi, 0x38
movsx eax, word [r14 + 0x36]
inc edi
add rbx, 0x18
cmp edi, eax
jl 0x14003ca00
mov r15d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r14
movzx r14d, byte [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
movzx r8d, r14b
movzx edx, al
mov rcx, rbx
call fcn.14003a8e0
cmp byte [rdi], 0x45
jne 0x14003cb81
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x14003cb81
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14003cb6a
and cx, ax
or cx, 0x20
jmp 0x14003cb7d
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x1400409bb
add rbx, 0x38
jmp 0x14003cb20
mov rcx, qword [rsp + 0x38]
mov rsi, r10
mov r12d, r10d
mov r13, r10
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
add r15, r14
dec eax
cdqe
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add r14, r15
mov qword [rbp - 0x70], r15
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0x18], r14
mov qword [rbp - 0x80], rcx
test rdi, rdi
je 0x14003cc31
lea rbx, [r15 + 0x14]
mov r14d, 0xfffb
movzx r15d, byte [rsp + 0x30]
nop
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r15b
call fcn.14003a8e0
cmp byte [rdi], 0x45
jne 0x14003cc17
movzx eax, word [rbx]
test al, 4
je 0x14003cc17
and ax, r14w
or ax, 0x20
mov word [rbx], ax
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x14003cbf0
mov r15, qword [rbp - 0x70]
mov r11d, 1
mov r14, qword [rbp + 0x18]
lea rdi, [r14 + 0x24]
movzx ecx, word [rdi - 0x10]
test cl, 1
je 0x14003cc56
inc r12d
mov eax, 0x400
and cx, ax
neg cx
sbb ebx, ebx
and ebx, 0xa
jmp 0x14003cd9f
test cl, 0x24
je 0x14003cd39
mov r8, qword [rdi - 0x24]
mov rdx, r8
test r8, r8
jns 0x14003cc6e
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14003cca3
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14003cc98
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0xc3], 4
jb 0x14003cc98
lea ebx, [rdx + 8]
jmp 0x14003cd9f
inc rsi
mov ebx, r11d
jmp 0x14003cd9f
cmp rdx, 0x7fff
ja 0x14003ccba
add rsi, 2
mov ebx, 2
jmp 0x14003cd9f
cmp rdx, 0x7fffff
ja 0x14003ccd1
add rsi, 3
mov ebx, 3
jmp 0x14003cd9f
cmp rdx, 0x7fffffff
ja 0x14003cce8
add rsi, 4
mov ebx, 4
jmp 0x14003cd9f
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003cd05
add rsi, 6
mov ebx, 5
jmp 0x14003cd9f
add rsi, 8
test cl, 0x20
je 0x14003cd32
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
and cx, ax
mov ebx, 7
or cx, 8
mov word [rdi - 0x10], cx
movsd qword [rdi - 0x24], xmm0
jmp 0x14003cd9f
mov ebx, 6
jmp 0x14003cd9f
test cl, 8
je 0x14003cd4c
inc r12d
mov ebx, 7
add rsi, 8
jmp 0x14003cd9f
mov r14d, dword [rdi - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea ebx, [r14 + 6]
lea ebx, [rax + rbx*2]
jae 0x14003cd8f
movsxd rax, dword [rdi - 0x24]
lea ebx, [rbx + rax*2]
test rsi, rsi
je 0x14003cd88
lea rcx, [rdi - 0x24]
call fcn.14002ffd0
test eax, eax
jne 0x1400412b4
add r14d, dword [rdi - 0x24]
jmp 0x14003cd8b
add r13, rax
mov r15, qword [rbp - 0x70]
mov eax, r14d
mov ecx, ebx
add rsi, rax
call fcn.14000b630
add r12d, eax
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, r15
je 0x14003cdbc
sub rdi, 0x38
mov r11d, 1
jmp 0x14003cc35
cmp r12d, 0x7e
jle 0x14003cddb
movsxd rcx, r12d
call fcn.14000b630
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.14000b630
cmp ebx, eax
jge 0x14003cdde
inc r12d
mov rdi, qword [rbp - 0x80]
movsxd r14, r12d
movsxd rax, dword [rdi + 0x20]
lea rbx, [rsi + r14]
lea rcx, [rbx + r13]
cmp rcx, rax
jg 0x14003ce00
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
jmp 0x14003ce27
mov r8, qword [rsp + 0x70]
movsxd rax, dword [r8 + 0x88]
cmp rcx, rax
jg 0x140040f63
mov edx, ebx
mov rcx, rdi
call fcn.14002fec0
test eax, eax
jne 0x1400412b4
mov dword [rdi + 0x10], ebx
mov word [rdi + 0x14], 0x10
test r13, r13
je 0x14003ce3e
mov dword [rdi], r13d
mov word [rdi + 0x14], 0x410
mov rdi, qword [rdi + 8]
lea rsi, [r14 + rdi]
cmp r12d, 0x80
jge 0x14003ce57
mov byte [rdi], r12b
inc rdi
jmp 0x14003ce68
movsxd rdx, r12d
mov rcx, rdi
call fcn.14000b380
movsxd rcx, eax
add rdi, rcx
mov r14, qword [rbp + 0x18]
lea rbx, [r15 + 0x10]
mov eax, dword [rbx + 0x14]
cmp eax, 7
ja 0x14003cec5
mov byte [rdi], al
inc rdi
test eax, eax
je 0x14003cf0c
mov rdx, qword [rbx - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x13ca20]
mov r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x14003cec0
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x14003ceb0
add rsi, r9
jmp 0x14003cf0c
cmp eax, 0x80
jae 0x14003cedf
mov byte [rdi], al
inc rdi
cmp eax, 0xe
jb 0x14003cf0c
movsxd rax, dword [rbx]
test eax, eax
jle 0x14003cf0c
jmp 0x14003cef7
mov rdx, rax
mov rcx, rdi
call fcn.14000b380
movsxd rcx, eax
movsxd rax, dword [rbx]
add rdi, rcx
test eax, eax
je 0x14003cf0c
mov rdx, qword [rbx - 8]
mov r8, rax
mov rcx, rsi
call fcn.1401253f0
movsxd rax, dword [rbx]
add rsi, rax
lea rax, [rbx - 0x10]
cmp rax, r14
je 0x1400409b1
add rbx, 0x38
jmp 0x14003ce70
cmp dword [r13 + 0xc], 0
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x14003cf4a
mov rcx, rdx
call fcn.1400266f0
mov qword [rbp + 0x88], rax
jmp 0x14003cf6f
lea r8, [rbp + 0x88]
mov qword [rbp + 0x88], r10
mov rcx, r12
call fcn.14002d7a0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rdx, r13
mov rcx, rsi
call fcn.14003aae0
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
jmp 0x14003eab1
mov rax, qword [rsp + 0x38]
mov r13d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
test r13d, r13d
jne 0x14003d05f
cmp dword [r12 + 0xe0], r13d
jg 0x140040dff
mov rcx, rdi
call fcn.14000a400
mov r8d, dword [r12 + 0x2ec]
xor edx, edx
add r8d, dword [r12 + 0x2e8]
mov rcx, r12
movsxd rsi, eax
call fcn.1400a3380
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003db9c
lea rdx, [rsi + 0x21]
mov rcx, r12
call fcn.140006fb0
mov rbx, rax
test rax, rax
je 0x14003d055
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1401253f0
cmp byte [r12 + 0x65], r15b
je 0x14003d021
mov byte [r12 + 0x65], r15b
mov byte [r12 + 0x6d], 1
jmp 0x14003d029
inc dword [r12 + 0x2e8]
mov rax, qword [r12 + 0x2d8]
mov qword [rbx + 0x18], rax
mov rax, qword [r12 + 0x2f0]
mov qword [r12 + 0x2d8], rbx
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x2f8]
mov qword [rbx + 0x10], rax
mov rsi, qword [rsp + 0x60]
jmp 0x14003d2fb
mov rbx, qword [r12 + 0x2d8]
mov r14d, r10d
test rbx, rbx
je 0x14003d08b
nop
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.14000a790
test eax, eax
je 0x14003d0b0
mov rbx, qword [rbx + 0x18]
inc r14d
test rbx, rbx
jne 0x14003d070
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, rsi
call fcn.1400319e0
mov rdi, qword [rsp + 0x38]
mov r14d, 1
mov r15d, r14d
jmp 0x14003dbac
cmp dword [r12 + 0xe0], 0
jle 0x14003d0c5
cmp r13d, 1
je 0x140040e19
cmp qword [rbx + 0x18], 0
jne 0x14003d128
cmp byte [r12 + 0x6d], 0
je 0x14003d128
mov edi, 1
mov dword [rbp + 8], edi
cmp r13d, edi
jne 0x14003d12f
mov edx, edi
mov rcx, rsi
call fcn.1400346b0
mov r15d, eax
test eax, eax
jne 0x140040e81
mov rcx, rsi
mov byte [r12 + 0x65], dil
call fcn.140034720
cmp eax, 5
je 0x140040e3e
mov r15d, dword [rsi + 0x34]
mov dword [rsp + 0x48], r15d
test r15d, r15d
jne 0x140040e33
mov byte [r12 + 0x6d], r15b
jmp 0x14003d24a
xor ecx, ecx
mov dword [rbp + 8], ecx
jmp 0x14003d131
xor ecx, ecx
mov eax, dword [r12 + 0x2e8]
sub eax, r14d
lea r14d, [rax - 1]
mov rax, qword [rsp + 0x70]
cmp r13d, 2
jne 0x14003d1ab
mov r12d, dword [r12 + 0x2c]
mov esi, ecx
and r12d, 1
cmp dword [rax + 0x28], 0
jle 0x14003d1ae
mov r15d, r12d
mov rdi, rcx
xor r15d, 1
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, 0x204
mov rcx, qword [rdi + rcx + 8]
call fcn.140024a70
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x1400412ea
mov rax, qword [rsp + 0x70]
inc esi
add rdi, 0x20
cmp esi, dword [rax + 0x28]
jl 0x14003d170
mov r15d, dword [rsp + 0x48]
xor ecx, ecx
jmp 0x14003d1ae
mov r12d, ecx
cmp dword [rax + 0x28], 0
mov esi, ecx
jle 0x14003d1f3
mov rdi, rcx
nop dword [rax]
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, r13d
mov rcx, qword [rdi + rcx + 8]
call fcn.140024d60
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003db97
mov rax, qword [rsp + 0x70]
inc esi
add rdi, 0x20
cmp esi, dword [rax + 0x28]
jl 0x14003d1c0
test r12d, r12d
mov r12, qword [rsp + 0x70]
je 0x14003d239
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x14003d22b
nop word [rax + rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14003d210
mov rcx, r12
call fcn.1400607f0
or dword [r12 + 0x2c], 1
mov rsi, qword [rsp + 0x60]
test r15d, r15d
jne 0x14003dba1
mov edi, dword [rbp + 8]
mov rcx, qword [r12 + 0x2d8]
cmp rcx, rbx
je 0x14003d28c
nop word [rax + rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r12
mov qword [r12 + 0x2d8], rax
call fcn.140006bb0
dec dword [r12 + 0x2e8]
mov rcx, qword [r12 + 0x2d8]
cmp rcx, rbx
jne 0x14003d260
cmp r13d, 1
jne 0x14003d2b7
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, r12
mov qword [r12 + 0x2d8], rax
call fcn.140006bb0
test edi, edi
jne 0x14003d2f6
dec dword [r12 + 0x2e8]
jmp 0x14003d2d9
mov rax, qword [rbx + 8]
mov qword [r12 + 0x2f0], rax
mov rax, qword [rbx + 0x10]
mov qword [r12 + 0x2f8], rax
test edi, edi
je 0x14003d2d9
cmp r13d, 2
jne 0x14003d2f6
mov r8d, r14d
mov edx, r13d
mov rcx, r12
call fcn.1400a3380
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r14, qword [rsp + 0x68]
cmp byte [rsi + 0xc5], 3
je 0x140040e7b
mov r13, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
mov rcx, qword [rsp + 0x38]
mov dword [rbp + 8], r10d
mov edx, dword [rcx + 8]
test edx, edx
je 0x14003d33f
mov rax, qword [r12 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x140040edc
movsxd rbx, dword [rcx + 4]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14003d40b
lea r8, [rbp + 8]
mov rcx, rdi
call fcn.140023450
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140040efc
test byte [rsi + 0xc8], 0x20
mov r13, qword [rsp + 0x38]
je 0x14003d417
cmp dword [r13 + 8], eax
je 0x14003d417
cmp byte [r12 + 0x65], al
je 0x14003d3a2
cmp dword [r12 + 0xdc], 1
jle 0x14003d417
mov r8d, dword [rsi + 0x40]
test r8d, r8d
jne 0x14003d3c7
inc dword [r12 + 0x2ec]
mov r8d, dword [r12 + 0x2ec]
add r8d, dword [r12 + 0x2e8]
mov dword [rsi + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r12
call fcn.1400a3380
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003d3f1
mov edx, dword [rsi + 0x40]
mov rcx, rdi
call fcn.140024cf0
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rax, qword [r12 + 0x2f0]
mov qword [rsi + 0x58], rax
mov rax, qword [r12 + 0x2f8]
mov qword [rsi + 0x60], rax
jmp 0x14003d40e
mov r13, rcx
test r15d, r15d
jne 0x14003dba1
cmp word [r13 + 2], 0
je 0x14003e429
mov eax, dword [r13 + 0xc]
cmp dword [rbp + 8], eax
jne 0x14003d43d
mov rcx, qword [rbx + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x14003b7c5
mov rdx, qword [rsi + 0xa8]
mov rcx, r12
call fcn.140006c90
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140007130
mov qword [rsi + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 8]
cmp dword [rcx], eax
je 0x14003d48b
mov rcx, r12
call fcn.140060760
mov eax, dword [rsi + 0xc8]
mov r15d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [rsi + 0xc8], eax
jmp 0x14003dba1
movsxd rax, dword [r13 + 4]
lea r8, [rbp + 0x84]
mov rcx, qword [r12 + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002d620
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x14003d4f8
call fcn.14003aab0
mov rcx, rax
movsxd rax, dword [rbp + 0x84]
mov qword [rcx], rax
jmp 0x14003b350
mov word [rcx + 0x14], 4
movsxd rax, dword [rbp + 0x84]
mov qword [rcx], rax
jmp 0x14003b350
mov rax, qword [rsp + 0x38]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002d6b0
mov r13, qword [rsp + 0x38]
mov r15d, eax
mov dword [rsp + 0x48], eax
mov eax, dword [r13 + 8]
cmp eax, 1
jne 0x14003d569
movzx eax, word [r13 + 2]
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r12
or dword [r12 + 0x2c], 1
mov edx, dword [r13 + 4]
call fcn.140074190
jmp 0x14003d57a
cmp eax, 2
jne 0x14003d57a
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], 1
jne 0x14003d592
xor edx, edx
mov rcx, r12
call fcn.1400369e0
and dword [rsi + 0xc8], 0xfffffffc
test r15d, r15d
jne 0x140040df7
jmp 0x14003b350
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je case.0x14003ad71.112
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x44], eax
jne case.0x14003ad71.112
mov rcx, qword [rdi + 0x30]
call fcn.14001fe10
jmp 0x14003d6e2
mov eax, dword [rsi + 0xc8]
and al, 3
cmp al, 1
je 0x140040f4a
mov rax, qword [rsp + 0x38]
mov edi, r10d
mov r8, qword [rsp + 0x70]
mov r14, r10
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 + 0x38]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x14003d631
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 + 0x60]
cmp cl, byte [rax + 0xc3]
jae 0x14003d634
mov byte [rax + 0xc3], cl
jmp 0x14003d634
mov esi, r10d
test byte [r8 + 2], 0x10
je 0x14003d654
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1400305c0
mov r8, qword [rsp + 0x38]
mov r15d, dword [rbx]
movzx eax, byte [r8 + 1]
cmp al, 0xf8
jne 0x14003d668
mov r14, qword [r8 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14003d670
cmp al, 0xfd
jne 0x14003d670
mov edi, dword [r8 + 0x10]
mov rbx, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, qword [rsp + 0x60]
mov r8d, edi
mov edx, dword [rbx + 4]
call fcn.14003a650
mov rdi, rax
test rax, rax
je 0x1400412b4
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.140024f50
mov r12, qword [rsp + 0x70]
mov r15d, eax
mov rsi, qword [rsp + 0x60]
mov qword [rdi + 0x38], r14
cmp byte [rbx + 1], 0xf8
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x48], eax
setne al
mov byte [rdi + 4], al
mov rax, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x30]
movzx edx, word [rax + 2]
and edx, 3
call fcn.1400200c0
test r15d, r15d
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b350
mov r15, qword [rsp + 0x38]
xor r9d, r9d
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 8]
mov edx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
movsx r8d, word [rbx + 0x48]
call fcn.14003a650
mov r10, rax
test rax, rax
je 0x1400412be
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
mov ecx, edx
movzx eax, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140024f50
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14003b34b
mov r15, qword [rsp + 0x38]
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x14003d7db
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0x10], r10d
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140133e28]
mov qword [rcx + r14 + 8], rax
movsxd rdx, dword [r15 + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14003d82b
test byte [rbx + 8], 8
jne 0x14003d82b
movsx eax, word [rbx + 0x48]
cmp dword [r15 + 8], eax
jg 0x14003d82b
mov edx, dword [rbx + 0x44]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x20], r10d
call fcn.14002d050
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov byte [rbx + 2], 1
jmp 0x14003b34b
mov r8d, dword [r15 + 8]
xor r9d, r9d
mov rcx, rsi
call fcn.14003a650
mov rbx, rax
test rax, rax
je 0x1400412be
or dword [rax + 8], 1
lea rdi, [rax + 0x10]
movzx ecx, word [r15 + 2]
mov r9, rdi
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov r8, r12
mov rcx, qword [r12]
xor edx, edx
call fcn.140021d30
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rcx, qword [rdi]
mov r13d, 1
mov edx, r13d
xor r8d, r8d
call fcn.140023450
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003d92c
mov rax, qword [rsp + 0x38]
mov rcx, qword [rdi]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x14003d8fb
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.14002cd10
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003d8f5
mov rax, qword [rbx + 0x30]
lea r8d, [r13 + 3]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140024f50
mov r15d, eax
mov dword [rsp + 0x48], eax
mov byte [rbx + 4], 0
jmp 0x14003d922
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r13d
mov dword [rbx + 0x44], r13d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140024f50
mov r15d, eax
mov dword [rsp + 0x48], eax
mov byte [rbx + 4], r13b
mov r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
xor r9d, r9d
mov ecx, r9d
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 r15d, r15d
jne 0x140040f55
movzx edi, byte [rsp + 0x30]
mov byte [rbx + 2], 1
jmp 0x14003b34b
mov r15, qword [rsp + 0x38]
mov r9b, 1
mov rcx, rsi
mov r8d, dword [r15 + 8]
mov edx, dword [r15 + 4]
call fcn.14003a650
test rax, rax
je 0x1400412be
mov rcx, qword [r15 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r12
mov edx, dword [r15 + 0xc]
call fcn.140042eb0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
jmp 0x14003b34b
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x140040482
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
mov r9b, 3
mov rcx, rsi
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14003a650
test rax, rax
je 0x1400412be
mov r13, qword [rsp + 0x38]
mov byte [rax + 2], 1
mov ecx, dword [r13 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14015f45c]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], 1
jmp 0x14003b350
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003da60
mov rcx, rsi
call fcn.140033990
mov r9, qword [rsp + 0x50]
xor r10d, r10d
lea r11d, [r10 + 1]
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], r10
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsi + 0x78]
mov r12d, r10d
mov r15, qword [rsp + 0x38]
movsxd rcx, dword [r15 + 4]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov word [rsi + 2], 0
mov dword [rsi + 0x20], r10d
je 0x14003dbd2
movsxd rax, dword [r15 + 0xc]
imul rdi, rax, 0x38
add rdi, r14
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x14003dad7
xor edx, edx
mov rcx, rdi
call fcn.14003a780
mov rcx, rdi
call fcn.1400304d0
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x14003db6d
test cl, 8
jne 0x14003db4b
test cl, 1
jne 0x140040473
cmp ebx, 0x16
jae 0x140040473
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp + 0xc]
call fcn.140025e10
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003db97
cmp dword [rbp + 0xc], 0
jne 0x140040478
xor r10d, r10d
test r12d, r12d
mov r12, qword [rsp + 0x70]
je 0x14003db3c
add qword [rsp + 0x38], 0x18
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
jmp 0x14003b27d
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.1400358d0
test eax, eax
jle 0x14003db64
test bl, 1
je 0x14003db6d
dec ebx
jmp 0x14003db6d
jns 0x14003db6d
test bl, 1
jne 0x14003db6d
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp + 0xc]
xor r8d, r8d
mov rdx, r15
call fcn.140025ef0
mov qword [rsi + 0x50], r15
mov r15d, eax
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14003dc46
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
mov r14d, 1
mov eax, 0xb
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
cmp byte [r12 + 0x67], 0
je 0x140041316
mov r15d, 7
jmp 0x14004134c
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r8, [rbp + 0xc]
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x20], rax
movzx eax, word [r15 + 0x10]
setne r12b
mov word [rbp + 0x3c], ax
test bl, 1
mov eax, r11d
mov byte [rbp + 0x42], 0
cmovne eax, edx
lea rdx, [rbp + 0x20]
mov byte [rbp + 0x3e], al
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x68]
mov qword [rbp + 0x28], rcx
mov rcx, qword [rdi]
call fcn.140026170
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003db97
test r14b, r14b
je 0x14003dc46
cmp byte [rbp + 0x42], al
je 0x14003db1f
mov eax, dword [rbp + 0xc]
cmp ebx, 0x16
jl 0x14003dcac
test eax, eax
js 0x14003dc65
jne 0x14003dc59
cmp ebx, 0x17
je 0x14003dc65
xor r10d, r10d
mov dword [rbp + 0xc], r10d
jmp 0x14003db2c
xor ebx, ebx
xor edx, edx
mov dword [rbp + 0xc], ebx
mov rcx, qword [rdi]
call fcn.140026950
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14003db1f
cmp eax, 0x65
jne 0x14003db97
mov r13, qword [rsp + 0x38]
mov r11d, 1
movzx edi, byte [rsp + 0x30]
mov r15d, ebx
mov dword [rbp + 0xc], r11d
mov dword [rsp + 0x48], ebx
jmp 0x14003bbcd
test eax, eax
jg 0x14003dcc7
jne 0x14003dcb7
cmp ebx, 0x14
je 0x14003dcc7
mov rcx, qword [rdi]
call fcn.1400266e0
mov dword [rbp + 0xc], eax
jmp 0x14003db1f
xor ebx, ebx
xor edx, edx
mov dword [rbp + 0xc], ebx
mov rcx, qword [rdi]
call fcn.140026b20
jmp 0x14003dc74
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x140040c5a
mov rax, qword [rdi + 0x38]
mov rcx, qword [rsp + 0x38]
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x3e], 0
mov dword [rbp + 0x70], r10d
movzx eax, word [rcx + 0x28]
mov ebx, dword [rcx + 4]
mov word [rbp + 0x3c], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x28], rcx
nop word [rax + rax]
lea r9, [rbp + 0x70]
mov rdx, rdi
lea r8, [rbp + 0x20]
mov rcx, r12
call fcn.1400368a0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov eax, dword [rbp + 0x70]
test eax, eax
jg 0x14003dd8f
je 0x140040478
test ebx, ebx
jle 0x1400409bb
mov rcx, qword [rdi + 0x30]
xor edx, edx
dec ebx
call fcn.140026950
mov r15d, eax
test eax, eax
je 0x14003dd30
cmp eax, 0x65
jne 0x14003dba1
xor r9d, r9d
mov r15d, r9d
mov dword [rsp + 0x48], r9d
mov r13, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
add r13, 0x18
jmp 0x14003bbc7
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x14003dde1
mov word [rdx + 0xc], ax
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp ecx, eax
lea rcx, [0x140000000]
jle 0x14003e70c
mov word [rdx + 0xc], ax
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x14003ad71.8
mov r13, qword [rsp + 0x38]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r13 + 0x10]
jge case.0x14003ad71.89
mov r15, qword [rsp + 0x38]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r15 + 0x10]
add rcx, r14
mov word [rbp + 0x3c], ax
mov qword [rbp + 0x28], rcx
test ax, ax
je 0x14003deb7
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x20], rax
lea rdx, [rbp + 0x20]
mov byte [rbp + 0x3e], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.140026170
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14003df29
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14003decf
call fcn.14002ffd0
test eax, eax
jne 0x1400412be
mov rcx, qword [rbx + 0x38]
call fcn.1400353b0
mov rdi, rax
test rax, rax
je 0x1400412be
mov rdx, qword [rbp + 0x28]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.140035410
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.140026170
mov rdx, rdi
mov dword [rsp + 0x48], eax
mov rcx, r12
mov r15d, eax
call fcn.140006bb0
movzx edi, byte [rsp + 0x30]
test r15d, r15d
jne 0x14003db9c
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r15b
setne al
xor r10d, r10d
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x38]
mov dword [rbx + 0x20], r10d
movzx eax, byte [rax]
cmp al, 0x1c
jne 0x14003df6f
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
test ecx, ecx
je 0x140040482
mov rsi, qword [rsp + 0x60]
jmp 0x14003b28c
test ecx, ecx
jne 0x140040478
cmp al, 0x1a
jne 0x14003dfb7
movzx edx, word [rbp + 0x3c]
mov rcx, r10
test rdx, rdx
je 0x14003db3c
mov rax, qword [rbp + 0x28]
add rax, 0x14
test byte [rax], 1
jne 0x140040478
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14003df93
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
jmp 0x14003b287
mov r13, qword [rsp + 0x38]
cmp byte [r13], 0x19
jne 0x14003db41
movzx eax, word [r13 + 0x10]
mov rsi, qword [rsp + 0x60]
mov word [rbx + 0xc], ax
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 0x14], 0x24
jne case.0x14003ad71.30
movups xmm0, xmmword [rcx]
movzx r8d, dil
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x30], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x20]
movups xmmword [rbp + 0x40], xmm0
movsd qword [rbp + 0x50], xmm1
call fcn.14003a8e0
test byte [rbp + 0x34], 4
je 0x140040478
mov rdi, qword [rbp + 0x20]
xor r10d, r10d
jmp 0x14003e044
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
mov rax, qword [rsp + 0x38]
lea r9, [rbp + 0x58]
xor r8d, r8d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0x58], r10d
call fcn.140025ef0
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov dword [rbx + 0x20], r10d
mov r15d, eax
mov qword [rbx + 0x50], rdi
mov word [rbx + 2], 0
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x58]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0x58], r10d
je 0x14003e0b3
cmp dword [r13 + 8], r10d
jne 0x14004047d
mov ecx, 0x16d79
call fcn.1400c9430
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
test r15d, r15d
jne 0x14003dba1
jmp 0x14003b282
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003e0f6
mov rcx, rdx
call fcn.14003aab0
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov rdx, rax
lea r11d, [r10 + 1]
jmp 0x14003e0fc
mov word [rdx + 0x14], 4
mov rax, qword [rsi + 0x78]
mov r13, rbx
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
inc qword [rdx + 0x18]
add r13, 0x18
jmp 0x14003ad33
mov rbx, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov qword [rbp - 0x70], r10
mov dword [rbp + 8], r10d
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [r14 + 0x68]
test word [rsi + 0x14], ax
je 0x14003e16d
mov rcx, rsi
call fcn.14003aab0
mov rsi, rax
jmp 0x14003e173
mov word [rsi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
test byte [rdi + 8], 2
jne 0x14003e1af
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 8]
call fcn.140025e10
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14004130b
cmp dword [rbp + 8], eax
je 0x14003e1fa
mov eax, 1
mov qword [rbp - 0x70], rax
movabs r13, 0x7fffffffffffffff
movsxd rax, dword [rbx + 0xc]
test eax, eax
je 0x14003e26f
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x14003e225
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003e1ec
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003e1e0
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14003e22e
mov rcx, qword [rdi + 0x30]
call fcn.1400251f0
movabs r13, 0x7fffffffffffffff
mov qword [rbp - 0x70], rax
cmp rax, r13
jl 0x14003e21c
or dword [rdi + 8], 2
jmp 0x14003e1b9
inc rax
mov qword [rbp - 0x70], rax
jmp 0x14003e1b9
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1400304d0
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, r13
je 0x14003e2cd
test byte [rdi + 8], 2
jne 0x14003e2cd
lea rcx, [rax + 1]
mov rax, qword [rbp - 0x70]
cmp rax, rcx
jge 0x14003e26c
mov rax, rcx
mov qword [rbp - 0x70], rcx
mov qword [rbx], rax
test byte [rdi + 8], 2
je 0x14003e2db
xor r9d, r9d
mov ebx, r9d
nop dword [rax + rax]
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.140009b20
mov rdx, qword [rbp - 0x70]
lea r9, [rbp + 8]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x70], rdx
mov rcx, qword [rdi + 0x30]
call fcn.140025ef0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003e2d3
cmp dword [rbp + 8], eax
jne 0x14003e2db
inc ebx
cmp ebx, 0x64
jl 0x14003e280
mov r15d, 0xd
mov rsi, r14
jmp 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov dword [rdi + 0x20], r10d
mov byte [rdi + 3], 0
mov rax, qword [rbp - 0x70]
mov qword [rsi], rax
mov rsi, r14
mov r14, qword [rsp + 0x68]
jmp 0x14003b282
mov r15, qword [rsp + 0x38]
movsxd rax, dword [r15 + 8]
movsxd rcx, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
cmp byte [r15 + 1], 0xfb
mov r8, qword [rcx + r14]
mov qword [rbp + 0x28], r8
jne 0x14003e355
cmp qword [r12 + 0x140], 0
je 0x14003e355
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov rdi, qword [r15 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14003e35b
mov rdi, r10
mov rsi, r10
test byte [r15 + 2], 1
je 0x14003e36b
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x38]
test byte [r15 + 2], 0x20
je 0x14003e377
mov qword [r12 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r15 + 2]
mov qword [rbp + 0x30], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x44], eax
test r8b, 0x10
je 0x14003e396
mov r9d, dword [rbx + 0x24]
jmp 0x14003e399
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x14003e3ab
mov eax, dword [rdx]
mov dword [rbp + 0x48], eax
jmp 0x14003e3af
mov dword [rbp + 0x48], r10d
mov qword [rbp + 0x20], r10
lea rdx, [rbp + 0x20]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.14002b4f0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov byte [rbx + 3], 0
mov r15d, eax
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14003db9c
test rdi, rdi
je 0x14003db3c
mov rax, qword [rsp + 0x38]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r12 + 0x138]
test byte [rax + 2], 4
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
call qword [r12 + 0x140]
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
xor r10d, r10d
jmp 0x14003b287
mov r15, qword [rsp + 0x38]
mov rcx, qword [rsi + 0x78]
movsxd rax, dword [r15 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r15 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r15 + 0xc]
test eax, eax
je 0x14003e461
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
jmp 0x14003e464
mov r8, r10
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.14002bb70
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov r9, qword [rsp + 0x50]
jmp 0x14003b28c
mov r15, qword [rsp + 0x38]
mov rax, qword [rsi + 0x78]
cmp byte [r15 + 1], 0xfb
movsxd rcx, dword [r15 + 4]
mov r14d, dword [r15 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14003e4eb
cmp qword [r12 + 0x140], 0
je 0x14003e4eb
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov rdi, qword [r15 + 0x10]
shl rcx, 5
test byte [r15 + 2], 2
mov rsi, qword [rcx + rax]
je 0x14003e4f1
cmp byte [rbx + 4], 0
je 0x14003e4f1
mov rcx, qword [rbx + 0x30]
call fcn.1400251f0
mov qword [rbx + 0x50], rax
jmp 0x14003e4f1
mov rsi, r10
mov rdi, r10
movzx edx, byte [r15 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.14002c0f0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov qword [rbx + 0x20], r10
mov r15d, eax
test eax, eax
jne 0x14003db9c
test r14b, 1
je 0x14003db3c
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x38]
mov r10, qword [r12 + 0x140]
test r10, r10
je 0x1400409bb
test rdi, rdi
je 0x1400409bb
test byte [rdi + 0x30], 0x80
jne 0x1400409bb
mov rax, qword [rbx + 0x50]
lea edx, [r15 + 9]
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r12 + 0x138]
mov qword [rsp + 0x20], rax
call r10
mov r14, qword [rsp + 0x68]
xor r10d, r10d
jmp 0x14003b278
mov rdx, qword [rsi + 0x38]
mov rcx, r12
call fcn.1400369d0
xor r10d, r10d
mov qword [rsi + 0x38], r10
jmp 0x14003b287
mov r15, qword [rsp + 0x38]
lea r9, [rbp + 0x74]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov r8d, dword [r15 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r15 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x74], r10d
add rdx, r14
call fcn.1400459c0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x74], eax
jne 0x140040482
xor r10d, r10d
jmp 0x14003b28c
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.1400458f0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rax, qword [rsp + 0x38]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x14003b287
mov r15, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, r15
call fcn.14003aae0
mov rcx, qword [rsi + 0x78]
mov rbx, rax
movsxd rdx, dword [r15 + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.140025230
cmp eax, dword [r12 + 0x88]
ja 0x140040f6b
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.140031120
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
cmp dword [r13 + 0xc], eax
jne 0x1400409c0
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1400409c0
mov rcx, rbx
call fcn.14002ff40
test eax, eax
jne 0x1400412be
xor r10d, r10d
jmp 0x14003b282
mov rbx, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, rbx
call fcn.14003aae0
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [rsi + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x14003e71a
mov r11d, 1
mov word [rax + 0x14], r11w
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
movzx edi, byte [rsp + 0x30]
xor r10d, r10d
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
cmp byte [rbx + 3], 0
je 0x14003e73b
mov rax, qword [rbx + 0x50]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
mov qword [rbp + 0x90], rax
mov qword [rdi], rax
jmp 0x14003b282
cmp byte [rbx], 2
jne 0x14003e786
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x90]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, rsi
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.140036c40
test r15d, r15d
jne 0x14003dba1
mov rax, qword [rbp + 0x90]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
mov qword [rdi], rax
jmp 0x14003b282
mov rcx, rbx
call fcn.140035100
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
cmp byte [rbx + 2], al
je 0x14003e7b2
mov r11d, 1
mov word [rdi + 0x14], r11w
jmp 0x14003e6f3
mov rcx, qword [rbx + 0x30]
call fcn.1400251f0
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov qword [rbp + 0x90], rax
mov qword [rdi], rax
jmp 0x14003b282
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14003e819
mov r9b, 3
mov r8d, r11d
mov rcx, rsi
call fcn.14003a650
test rax, rax
je 0x1400412be
xor r10d, r10d
mov byte [rax + 4], 1
or dword [rax + 8], 8
lea rcx, [0x14015f45c]
mov dword [rax + 0x24], r10d
mov qword [rax + 0x30], rcx
cmp byte [rax], 0
mov byte [rax + 2], 1
mov dword [rax + 0x20], r10d
jne 0x14003db3c
mov rcx, qword [rax + 0x30]
call fcn.14001fe10
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x30]
mov dword [rbp + 0x5c], r10d
cmp bl, 0x89
jne 0x14003e875
mov rcx, rsi
mov dword [rdi + 0x24], 0xffffffff
call fcn.1400251e0
test eax, eax
jne 0x1400409bb
lea rdx, [rbp + 0x5c]
mov rcx, rsi
call fcn.140025e10
mov r15d, eax
mov dword [rsp + 0x48], eax
movzx eax, byte [rbp + 0x5c]
xor r10d, r10d
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r10d
test r15d, r15d
jne 0x14003db9c
mov r13, qword [rsp + 0x38]
cmp dword [r13 + 8], r10d
jle 0x14003db41
mov r9, qword [rsp + 0x50]
cmp dword [rbp + 0x5c], r10d
jne 0x140040482
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b28c
mov rax, qword [rsp + 0x38]
lea rdx, [rbp + 0x60]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140025d80
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
cmp dword [rbp + 0x60], eax
jne 0x140040478
mov rcx, rbx
call fcn.1400266f0
test rax, rax
js 0x14003e93b
mov rcx, rax
call fcn.14000b880
mov r13, qword [rsp + 0x38]
movsx ecx, ax
cmp ecx, dword [r13 + 0xc]
jge 0x14003e940
mov r11d, 1
mov dword [rbp + 0x60], r11d
jmp 0x14003bbcd
mov r13, qword [rsp + 0x38]
cmp dword [rbp + 0x60], 0
mov r9, qword [rsp + 0x50]
jne 0x140040482
xor r10d, r10d
jmp 0x14003b28c
inc dword [rsi + 0xdc]
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x10], r11d
cmp byte [rbx], 1
jne 0x14003e98f
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.140045730
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
jmp 0x14003e9cc
mov rdi, qword [rbx + 0x30]
mov rcx, rdi
call fcn.140025a90
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003e9f5
xor r9d, r9d
mov rcx, rdi
mov dword [rbp + 0x10], r9d
call fcn.140025d20
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], r10d
test r15d, r15d
jne 0x14003dba1
movzx eax, byte [rbp + 0x10]
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov byte [rbx + 2], al
cmp dword [rbp + 0x10], r15d
jne 0x140040482
jmp 0x14003b28c
cmp eax, 0x10
jne 0x14003e9bc
xor r10d, r10d
mov eax, 1
mov dword [rbp + 0x10], eax
mov r15d, r10d
mov dword [rsp + 0x48], r10d
jmp 0x14003e9bf
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.140045800
jmp 0x14003ea6b
mov r15, qword [rsp + 0x38]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov edx, dword [r15 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140026b20
jmp 0x14003ea6b
mov r15, qword [rsp + 0x38]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov edx, dword [r15 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140026950
mov r15d, eax
mov dword [rsp + 0x48], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14003ea96
mov rax, qword [rsp + 0x38]
mov byte [rbx + 2], r10b
movzx eax, word [rax + 2]
inc dword [rsi + rax*4 + 0xd4]
jmp 0x1400405ea
cmp r15d, 0x65
jne 0x14003dba1
mov r15d, r10d
mov dword [rsp + 0x48], r10d
mov byte [rbx + 2], 1
mov r13, qword [rsp + 0x38]
mov eax, dword [r12 + 0x198]
mov rbx, qword [rsp + 0x58]
test eax, eax
jne 0x14004129f
mov rdi, qword [rsp + 0x40]
cmp rdi, rbx
jb 0x1400409c0
mov rdx, qword [r12 + 0x208]
test rdx, rdx
je 0x1400409c0
mov eax, dword [r12 + 0x218]
mov rcx, qword [r12 + 0x210]
add rbx, rax
mov qword [rsp + 0x58], rbx
call rdx
test eax, eax
jne 0x1400410a9
cmp rdi, rbx
jae 0x14003ead4
mov rsi, qword [rsp + 0x60]
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
jmp 0x14003b287
mov r15, qword [rsp + 0x38]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [r15 + 2], 1
je 0x14003eb45
inc qword [rsi + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14003eb6b
mov rcx, rbx
call fcn.14002ffd0
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r15, qword [rsp + 0x38]
xor r10d, r10d
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r15 + 2]
mov qword [rbp + 0x28], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x20], rax
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r15 + 0x10]
add rcx, r14
mov word [rbp + 0x40], ax
mov qword [rbp + 0x38], rcx
test r8b, 0x10
je 0x14003eba4
mov r9d, dword [rdi + 0x24]
jmp 0x14003eba7
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x20]
and r8d, 0x8a
call fcn.14002b4f0
xor r10d, r10d
mov dword [rsp + 0x48], eax
mov dword [rdi + 0x20], r10d
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
jmp 0x14003b282
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r14
test word [rbx + 0x14], ax
je 0x14003ec15
mov rcx, rbx
call fcn.14002ffd0
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rdx, rbx
mov rcx, rdi
call fcn.140044230
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b282
mov r15, qword [rsp + 0x38]
lea r8, [rbp + 0x80]
mov rax, qword [rsi + 0x78]
lea rdx, [rbp + 0x20]
movsxd rcx, dword [r15 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x20], rax
movzx eax, word [r15 + 0xc]
mov word [rbp + 0x3c], ax
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x3e], 0
add rcx, r14
mov qword [rbp + 0x28], rcx
mov rcx, rdi
call fcn.140026170
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
cmp dword [rbp + 0x80], eax
jne 0x14003ecc9
mov dl, 4
mov rcx, rdi
call fcn.14002c0f0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov qword [rbx + 0x20], r10
jmp 0x14003b282
mov r13, qword [rsp + 0x38]
cmp word [r13 + 2], 0
je 0x14003ece6
mov rcx, r12
call fcn.1400611a0
test eax, eax
je 0x140040f85
xor r10d, r10d
mov qword [rbx + 0x20], r10
jmp 0x14003b282
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003ed28
mov rcx, rbx
call fcn.1400350a0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
xor r10d, r10d
jmp 0x14003ed30
mov r15d, r10d
mov dword [rsp + 0x48], r10d
cmp byte [rbx + 2], 0
jne 0x14003edd0
mov qword [rbp + 0x98], r10
lea r8, [rbp + 0x98]
mov rdx, qword [rbx + 0x30]
mov rcx, r12
call fcn.140036650
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0x8d
jne 0x14003edae
movsxd rcx, dword [rax + 0xc]
xor r10d, r10d
mov rax, qword [rsi + 0x78]
mov r13, qword [rsp + 0x38]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r15b
mov rax, qword [rbp + 0x98]
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x38]
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], r10d
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x14003b287
mov rdx, rax
mov rcx, rsi
call fcn.14003aae0
mov rcx, qword [rbp + 0x98]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
mov qword [rax], rcx
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030910
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14003b5a6
call fcn.140035030
jmp 0x14003e471
mov r15, qword [rsp + 0x38]
cmp bl, 0x29
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [r15 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp + 0x20], rax
movzx eax, word [r15 + 0x10]
mov word [rbp + 0x3c], ax
sbb al, al
mov byte [rbp + 0x3e], al
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x28], rcx
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.1400251a0
mov edi, dword [rbx + 0x40]
lea eax, [rdi - 1]
cmp eax, 0x7ffffffe
ja 0x140040fa6
xor r8d, r8d
lea rcx, [rbp - 0x30]
mov rdx, r12
call fcn.1400308f0
lea r8, [rbp - 0x30]
mov edx, edi
mov rcx, rbx
call fcn.140031120
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov rdx, qword [rbp - 0x28]
lea r8, [rbp + 0x20]
mov ecx, dword [rbp - 0x20]
xor r9d, r9d
call fcn.140035a70
lea rcx, [rbp - 0x30]
mov ebx, eax
call fcn.140030450
mov r13, qword [rsp + 0x38]
lea ecx, [rbx + 1]
mov r9, qword [rsp + 0x50]
neg ebx
test byte [r13], 1
cmove ebx, ecx
test ebx, ebx
jg 0x140040482
movzx edi, byte [rsp + 0x30]
xor r10d, r10d
jmp 0x14003b28c
mov r15, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, r15
call fcn.14003aae0
mov rbx, rax
mov word [rax + 0x14], 1
mov ecx, dword [r12 + 0xe8]
inc ecx
cmp dword [r12 + 0xdc], ecx
jg 0x140040fe6
movsxd rdi, dword [r15 + 0xc]
lea r8, [rbp + 0x64]
mov rcx, qword [r12 + 0x20]
xor r9d, r9d
mov edx, dword [r15 + 4]
mov dword [rbp + 0x64], r9d
mov r9, rdi
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.14002d5c0
mov r15d, eax
mov dword [rsp + 0x48], eax
mov word [rbx + 0x14], 4
movsxd rax, dword [rbp + 0x64]
mov qword [rbx], rax
test r15d, r15d
jne 0x14003dba1
mov r8d, dword [rbp + 0x64]
test r8d, r8d
je 0x1400409bb
mov rax, qword [rsp + 0x38]
mov edx, edi
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.140065620
mov r13, qword [rsp + 0x38]
inc dil
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov byte [rsp + 0x7c], dil
movzx edi, byte [rsp + 0x30]
jmp 0x14003b28c
mov r15, qword [rsp + 0x38]
lea r8, [rbp + 0x18]
mov rcx, qword [r12 + 0x20]
mov qword [rbp + 0x18], r10
movsxd rax, dword [r15 + 8]
mov edx, dword [r15 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002d050
mov r13, qword [rsp + 0x38]
mov r15d, eax
mov dword [rsp + 0x48], eax
cmp dword [r13 + 0xc], 0
je 0x14003efec
mov rdx, qword [rbp + 0x18]
add qword [rsi + 0x38], rdx
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x14003efec
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
test r15d, r15d
jne 0x140040df7
mov r9, qword [rsp + 0x50]
xor r10d, r10d
jmp 0x14003b28c
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003f036
mov rdx, qword [rcx + 0x30]
mov rcx, r12
call fcn.1400433f0
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
jmp 0x14003b28c
mov rcx, qword [rcx + 0x30]
call fcn.14002d130
jmp 0x14003e471
mov r15, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, r15
call fcn.14003aae0
movsxd rcx, dword [r15 + 4]
lea rdx, [rbp + 0x78]
mov r8d, dword [r15 + 0xc]
xor r9d, r9d
shl rcx, 5
mov rbx, rax
add rcx, qword [r12 + 0x20]
mov dword [rbp + 0x78], r9d
mov rcx, qword [rcx + 8]
call fcn.14002cd10
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov eax, dword [rbp + 0x78]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov qword [rbx], rax
jmp 0x14003b28c
mov rax, qword [rsp + 0x38]
xor r9d, r9d
inc byte [r12 + 0x70]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r10
mov rdx, qword [rax + 0x10]
call fcn.14007dd80
dec byte [r12 + 0x70]
jmp 0x14003e471
mov r15, qword [rsp + 0x38]
mov rcx, qword [r12 + 0x20]
cmp qword [r15 + 0x10], 0
movsxd rbx, dword [r15 + 4]
jne 0x14003f129
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14006b030
and dword [r12 + 0x2c], 0xffffffef
lea r8, [rsi + 0xa8]
movzx r9d, word [r15 + 2]
mov edx, ebx
mov rcx, r12
call fcn.1400863a0
or dword [r12 + 0x2c], 1
mov r15d, eax
and dword [rsi + 0xc8], 0xfffffffc
mov dword [rsp + 0x48], eax
jmp 0x14003f1f4
mov dword [rbp + 0x30], ebx
lea rax, [rsi + 0xa8]
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x38], r10d
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.1400219c0
mov r8, qword [r12 + 0x20]
lea r9, str.sqlite_master
mov dword [rbp + 0x40], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r15 + 0x10]
mov rcx, r12
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rbx]
call fcn.140009730
mov rbx, rax
mov rcx, r12
test rax, rax
je 0x140040ff8
xor eax, eax
mov byte [r12 + 0xc5], 1
lea r9, [rbp + 0x20]
mov dword [rbp + 0x34], eax
lea r8, [fcn.140086050]
mov dword [rbp + 0x3c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14007dd80
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003f1e0
mov r15d, dword [rbp + 0x34]
mov dword [rsp + 0x48], r15d
test r15d, r15d
jne 0x14003f1e0
cmp dword [rbp + 0x3c], r15d
jne 0x14003f1e0
mov ecx, 0x17367
call fcn.1400c9430
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rdx, rbx
mov rcx, r12
call fcn.140006bb0
mov byte [r12 + 0xc5], 0
test r15d, r15d
je 0x14003e480
mov rcx, r12
call fcn.1400607f0
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
cmp r15d, 7
je 0x1400412c8
mov rdi, qword [rsp + 0x38]
mov eax, 0xb
lea r14d, [rax - 0xa]
jmp 0x14003dbbb
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.14005df20
jmp 0x14003e471
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140060ea0
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
jmp 0x14003b28c
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140060550
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
jmp 0x14003b28c
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14009ad20
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
jmp 0x14003b28c
mov rcx, qword [rsp + 0x38]
lea r10, [rbp + 0x7c]
mov r9, qword [rsp + 0x38]
mov rdx, qword [r12 + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r14]
add rbx, r14
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r12
mov rdx, qword [rax + rdx + 8]
call fcn.14002e4d0
mov rcx, rbx
mov rsi, rax
call fcn.140030910
mov ecx, dword [rbp + 0x7c]
test ecx, ecx
je 0x14003f34f
test rsi, rsi
je 0x1400412b9
dec ecx
lea rax, [fcn.140006ad0]
movsxd rdx, ecx
mov r9b, 1
sub qword [rdi + r14], rdx
mov r8, 0xffffffffffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140030d10
movzx edx, byte [rsp + 0x30]
mov rcx, rbx
call fcn.14002fc00
jmp 0x14003eaac
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
test byte [rbx + 0x14], 0x10
jne 0x14003f392
mov rcx, rbx
call fcn.140030ac0
test eax, eax
jne 0x1400412be
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.140015e50
mov r9, qword [rsp + 0x50]
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
mov r13, qword [rsp + 0x38]
jmp 0x14003b28c
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 0x14], 0x10
je 0x14003f400
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xa8]
call fcn.1400162e0
test eax, eax
je 0x14003f400
mov rax, qword [rsp + 0x38]
mov rdx, qword [rbp + 0xa8]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1400309c0
jmp 0x14003eaac
mov rcx, rbx
call fcn.140030910
jmp 0x1400405ea
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add rbx, r14
add rdi, r14
test byte [rbx + 0x14], 0x10
jne 0x14003f441
mov rcx, rbx
call fcn.140030ac0
test eax, eax
jne 0x1400412b9
test esi, esi
je 0x14003f45d
mov r8, qword [rdi]
mov edx, esi
mov rcx, qword [rbx + 8]
call fcn.1400163a0
test eax, eax
jne 0x140040478
test esi, esi
js 0x14003e41f
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.140015e50
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b287
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, qword [rsp + 0x68]
cmp word [rcx + 2], 0
je 0x14003f4c6
mov rax, qword [rsi + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x14003f4c6
cmp qword [rax + 0x38], rcx
je 0x140040be4
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003f4b3
mov eax, dword [r12 + 0xb0]
cmp dword [rsi + 0x118], eax
jge 0x140041002
test byte [r14 + 0x14], 0x10
jne 0x14003f5f4
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
mov eax, dword [r15 + 8]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
imul ecx, edi, 7
add ecx, 0xf
add eax, 7
jns 0x14003f509
add eax, 7
add ecx, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r12
movsxd rdx, esi
call fcn.140006f20
mov rbx, rax
test rax, rax
je 0x1400412b9
mov rcx, r14
call fcn.140030430
mov dword [r14 + 0x10], esi
lea rax, [0x140032fb0]
mov rsi, qword [rsp + 0x60]
xor r10d, r10d
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r14 + 0x14], 0x1010
mov qword [r14 + 8], rbx
mov qword [rbx], rsi
mov dword [rbx + 0x60], edi
mov ecx, dword [r15 + 0x10]
mov dword [rbx + 0x64], ecx
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x54], edx
mov rax, qword [rsi + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [rsi + 0x24]
mov dword [rbx + 0x5c], eax
mov rax, qword [rsi + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x50], eax
mov rax, qword [rsi + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [rsi + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, edi
imul rdx, rax, 0x38
lea rax, [rbx + 0x78]
add rdx, 0x78
add rdx, rbx
cmp rax, rdx
je 0x14003f5f8
nop word [rax + rax]
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], r12
add rax, 0x38
cmp rax, rdx
jne 0x14003f5e0
jmp 0x14003f5f8
mov rbx, qword [r14 + 8]
inc dword [rsi + 0x118]
lea r14, [rbx + 0x78]
mov rax, qword [rsi + 0x108]
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rbx + 0x40], rax
mov rax, qword [rsi + 0x38]
mov qword [rbx + 0x68], rax
mov rax, qword [rsi]
mov qword [rsp + 0x68], r14
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x70], rcx
mov rax, qword [rsi + 0x128]
mov qword [rbx + 0x48], rax
mov qword [rsi + 0x128], r10
mov qword [rsi + 0x38], r10
mov qword [rsi + 0x108], rbx
mov qword [rsi + 0x68], r14
movsxd rcx, dword [rbx + 0x60]
mov dword [rsi + 0x24], ecx
movzx eax, word [rbx + 0x64]
mov dword [rsi + 0x28], eax
imul rcx, rcx, 0x38
add rcx, r14
mov qword [rsi + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rbx + 0x30], 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.140125030
mov r9, qword [r15]
mov qword [rsi + 0x88], r9
mov eax, dword [r15 + 8]
mov r15d, dword [rsp + 0x48]
mov dword [rsi + 0x90], eax
lea rax, [r9 - 0x18]
mov qword [rsp + 0x38], rax
mov r13, rax
mov qword [rsp + 0x50], r9
jmp 0x14003eab1
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.14003aae0
mov r9, qword [rsi + 0x108]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r13 + 4]
movsxd rcx, r8d
mov r8d, 0x4000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140030c30
xor r10d, r10d
jmp 0x14003b287
mov eax, dword [r12 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x38]
mov r13, rax
jae 0x14003f741
movsxd rax, dword [rax + 8]
lea rcx, [0x140000000]
add qword [r12 + 0x2f8], rax
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
cmp dword [rax + 4], 0
lea rcx, [0x140000000]
movsxd rax, dword [rax + 8]
je 0x14003f768
add qword [r12 + 0x2f0], rax
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
add qword [rsi + 0x50], rax
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
cmp dword [r13 + 4], 0
je 0x14003f7b4
cmp qword [r12 + 0x2f0], 0
jne case.0x14003ad71.89
cmp qword [r12 + 0x2f8], 0
je 0x14003bbd2
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
cmp qword [rsi + 0x50], 0
jmp 0x14003f78a
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x14003f7ef
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003f7dc
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003f7d0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14003f7ff
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1400304d0
mov qword [rdi], rax
mov r13d, 0xf244
movzx eax, word [rdi + 0x14]
and ax, r13w
or ax, 4
mov word [rdi + 0x14], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400304d0
movzx ecx, word [rbx + 0x14]
xor r10d, r10d
and cx, r13w
mov qword [rbx], rax
mov r13, qword [rsp + 0x38]
or cx, 4
mov word [rbx + 0x14], cx
cmp qword [rdi], rax
jge 0x14003db41
mov qword [rdi], rax
jmp 0x14003b282
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle case.0x14003ad71.89
mov rax, r13
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14003bbd2
mov rcx, qword [rsp + 0x38]
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, r14
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x60]
add rbx, qword [rax + 0x68]
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14003f8da
mov rcx, rbx
call fcn.14003aab0
mov rbx, rax
xor r10d, r10d
jmp 0x14003f8e0
mov word [rbx + 0x14], 4
mov rax, qword [rdi]
mov qword [rbp + 0xa0], rax
test rax, rax
jle 0x14003f92b
mov rdx, qword [rsi + r14]
lea rcx, [rbp + 0xa0]
test rdx, rdx
cmovle rdx, r10
call fcn.14000b720
test eax, eax
jne 0x14003f92b
mov rax, qword [rbp + 0xa0]
xor r10d, r10d
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
mov qword [rbx], rax
jmp 0x14003b287
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
mov qword [rbx], 0xffffffffffffffff
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x14003b5a6
mov r13, qword [rsp + 0x38]
jle 0x14003bbd2
dec rax
mov qword [rcx + r14], rax
jmp 0x14003bbd2
mov rax, qword [rsp + 0x38]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdx
jle 0x14003f9a1
dec rax
mov qword [rcx + r14], rax
mov r13, qword [rsp + 0x38]
test rax, rax
je 0x14003bbd2
mov rax, qword [rsp + 0x40]
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
mov rcx, r12
movzx edi, word [rax + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.140006fb0
mov rbx, rax
test rax, rax
je 0x1400412b9
xor r13d, r13d
add rsi, 6
mov rdx, r12
mov qword [rax + 0x10], r13
lea rcx, [rax + rsi*8]
lea r8d, [r13 + 1]
mov qword [rax], rcx
call fcn.1400308f0
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov byte [rbx + 0x2a], dil
movzx edi, byte [rsp + 0x30]
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], rsi
shr rax, 0x3f
add rdx, rax
mov byte [rbx + 0x29], r13b
movzx eax, byte [rsp + 0x30]
mov byte [rbx + 0x28], al
mov rax, qword [rsp + 0x38]
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], r13d
mov word [rax], 0xf1a3
mov qword [rax + 0x10], rbx
jmp 0x14003fa73
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x14003fad7
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003fad7
mov r12, qword [rsp + 0x38]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14003fab0
mov r12, qword [rsp + 0x70]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov r13, qword [rsp + 0x38]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r13 + 4], 0
je 0x14003fafb
call qword [rax + 0x30]
jmp 0x14003fafe
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1400409c0
jle 0x14003fb30
mov rcx, qword [rbx]
mov dl, 1
call fcn.140031230
mov r8, rax
lea rdx, [0x140134d40]
mov rcx, rsi
call fcn.1400319e0
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x48], r15d
cmp byte [rbx + 0x29], 0
je 0x14003fb53
movsxd rax, dword [r13 - 0x14]
test eax, eax
je 0x14003fb4f
imul rcx, rax, 0x38
mov edx, 1
add rcx, r14
call fcn.1400309c0
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x14003fb67
cmp dword [rcx + 0x20], 0
je 0x14003fb6c
call fcn.1400303e0
mov rax, qword [rbx]
xor r10d, r10d
mov r11d, 1
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r10d
test r15d, r15d
jne 0x1400412fe
mov r9, qword [rsp + 0x50]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, qword [rcx + 0x10]
add rbx, r14
test eax, eax
je 0x14003fbeb
imul rdx, rax, 0x38
mov r8, rcx
mov rcx, rbx
add rdx, r14
call fcn.140030300
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x14003fbfd
mov rdx, rcx
mov rcx, rbx
call fcn.140030220
mov r15d, eax
mov dword [rsp + 0x48], eax
mov rcx, rbx
test r15d, r15d
jne 0x140041019
movzx edx, dil
call fcn.14002fc00
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
lea rax, [rbp + 0xb8]
mov dword [rbp + 0xb0], r10d
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xb4]
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov qword [rbp + 0xb4], 0xffffffffffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1400c75a0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x14003fc86
cmp eax, 5
jne 0x14003dba1
xor r9d, r9d
mov eax, 1
mov r15d, r9d
mov dword [rsp + 0x48], r9d
mov ecx, eax
mov dword [rbp + 0xb0], eax
jmp 0x14003fc8c
mov ecx, dword [rbp + 0xb0]
mov rax, qword [rsp + 0x38]
mov r13d, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, r14
test word [rbx + 0x14], r13w
je 0x14003fcbe
mov rdx, rax
mov rcx, rbx
call fcn.140030980
mov edx, 4
jmp 0x14003fcca
mov edx, 4
mov qword [rbx], rax
mov word [rbx + 0x14], dx
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0xb4]
test word [rbx + 0x4c], r13w
je 0x14003fceb
mov rdx, rax
call fcn.140030980
mov edx, 4
jmp 0x14003fcf2
mov qword [rcx], rax
mov word [rbx + 0x4c], dx
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0xb8]
test word [rbx + 0x84], r13w
je 0x14003fd1c
mov rdx, rax
call fcn.140030980
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov qword [rcx], rax
mov word [rbx + 0x84], dx
jmp 0x14003b287
mov r15, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, r15
call fcn.14003aae0
movsxd rdx, dword [r15 + 4]
mov r14, rax
mov rcx, qword [r12 + 0x20]
mov ebx, dword [r15 + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.14002d8b0
mov rcx, rax
mov rsi, rax
call fcn.14001bda0
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.14001bdb0
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.14001b930
cmp ebx, 5
jne 0x14003fdc3
mov rcx, rax
call fcn.14000a400
test eax, eax
je 0x14003fdae
mov rcx, rsi
call fcn.14001bde0
test eax, eax
jne 0x14003fdc3
mov ebx, edi
mov r15d, dword [rsp + 0x48]
test r15d, r15d
je 0x14003fe50
jmp 0x14003fe4e
cmp ebx, edi
je 0x14003fdb0
cmp edi, 5
je 0x14003fdd1
cmp ebx, 5
jne 0x14003fdb0
cmp byte [r12 + 0x65], 0
je 0x140041035
cmp dword [r12 + 0xdc], 1
jg 0x140041035
cmp edi, 5
jne 0x14003fe10
mov rdx, r12
mov rcx, rsi
call fcn.14001bfa0
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x14003fe49
mov edx, ebx
mov rcx, rsi
call fcn.14001bc10
jmp 0x14003fe27
cmp edi, 4
jne 0x14003fe20
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.14001bc10
cmp dword [rsp + 0x48], 0
jne 0x14003fe49
xor r9d, r9d
mov rcx, r15
mov edx, r9d
cmp ebx, 5
sete dl
inc edx
call fcn.14002ec60
mov r15d, eax
mov dword [rsp + 0x48], eax
jmp 0x14003fdb5
mov r15d, dword [rsp + 0x48]
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.14001bc10
mov ecx, eax
mov word [r14 + 0x14], 0x2202
call fcn.14007f520
mov rcx, rax
mov qword [r14 + 8], rax
call fcn.14000a400
movzx edi, byte [rsp + 0x30]
mov rcx, r14
mov edx, edi
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x16], 1
call fcn.14002fc00
mov rsi, qword [rsp + 0x60]
test r15d, r15d
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
mov r14, qword [rsp + 0x68]
jmp 0x14003b287
mov r15, qword [rsp + 0x38]
movsxd rax, dword [r15 + 8]
test eax, eax
je 0x14003fec2
imul r9, rax, 0x38
add r9, r14
jmp 0x14003fec5
mov r9, r10
mov r8d, dword [r15 + 4]
lea rcx, [rsi + 0xa8]
mov rdx, r12
call fcn.1400a1170
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400242c0
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
je 0x1400409bb
cmp eax, 0x65
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r9d, r9d
mov r15d, r9d
mov dword [rsp + 0x48], r9d
jmp 0x14003bbc7
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 4], 0
jne 0x14003ff60
mov edx, dword [rcx + 8]
mov rcx, r12
call fcn.1400369e0
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov ecx, dword [rcx + 8]
mov eax, dword [rsi + 0xc8]
inc ecx
mov r13, qword [rsp + 0x38]
xor ecx, eax
and ecx, 3
xor ecx, eax
mov rax, qword [rsp + 0x40]
mov dword [rsi + 0xc8], ecx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.140025210
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.140025220
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x14003ffff
mov eax, dword [r12 + 0x30]
bt rax, 0xa
jb 0x14003b5a6
mov r15, qword [rsp + 0x38]
mov rcx, qword [r12 + 0x20]
movsxd rax, dword [r15 + 4]
mov edx, dword [r15 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002ea60
mov dword [rsp + 0x48], eax
mov r15d, eax
test eax, eax
jne 0x140041071
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1400a3280
mov dword [rsp + 0x48], eax
mov r15d, eax
test rbx, rbx
je 0x140040067
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140036c40
test r15d, r15d
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
lea rcx, [rbp + 0x20]
xorps xmm0, xmm0
mov qword [rbp + 0x20], r10
xorps xmm1, xmm1
mov qword [rbp + 0x50], r10
movdqu xmmword [rbp + 0x28], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x38], r12
add rdx, r14
call fcn.140030c70
lea rcx, [rbp + 0x20]
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140037240
test rax, rax
je 0x1400400e8
mov r8, rax
lea r9, [rsi + 0xa8]
mov rax, qword [rsp + 0x38]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.1400a2c40
mov r15d, eax
mov dword [rsp + 0x48], eax
mov eax, 0x9000
test word [rbp + 0x34], ax
jne 0x1400400f9
cmp dword [rbp + 0x40], 0
je 0x140040102
lea rcx, [rbp + 0x20]
call fcn.1400303e0
test r15d, r15d
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
mov rcx, r12
inc dword [r12 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1400a3090
dec dword [r12 + 0xe8]
mov r15d, eax
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x70], r10
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004109e
mov rdi, qword [rbx]
test rdi, rdi
je 0x14004109e
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, rsi
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.140036c40
test r15d, r15d
jne 0x14003dba1
mov rax, qword [rbp - 0x70]
mov r9b, 2
xor r8d, r8d
mov rcx, rsi
mov qword [rax], rbx
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
call fcn.14003a650
mov rcx, qword [rbp - 0x70]
test rax, rax
je 0x140041096
mov r13, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
xor r10d, r10d
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
call fcn.1400c4770
test eax, eax
jne 0x1400412be
lea ecx, [rax + 0x10]
call fcn.1400068e0
mov rbx, rax
test rax, rax
je 0x1400412be
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
mov rcx, rsi
add rdx, r14
mov qword [rbx + 8], rdx
mov rdx, rax
call fcn.14003aae0
lea r9, [fcn.140006ad0]
mov rdx, rbx
lea r8, str.ValueList
mov rcx, rax
mov word [rax + 0x14], 1
call fcn.1400309e0
mov r13, qword [rsp + 0x38]
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
jmp 0x14003b287
mov rcx, qword [rsp + 0x38]
mov r9d, r10d
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r14
movsxd rdi, dword [rdx + 0x38]
lea rbx, [rdx + 0x38]
movq xmm4, rbx
mov r13, qword [rax + rcx*8]
mov rax, qword [rsp + 0x60]
mov r12d, dword [rdx]
mov rdx, r10
punpcklqdq xmm4, xmm4
mov rsi, qword [r13 + 0x30]
mov r11, qword [rax + 0x70]
mov r15, qword [rsi]
mov r14, qword [r15]
test edi, edi
jle 0x1400403db
cmp edi, 8
jb 0x1400403db
cmp r8d, 6
jl 0x1400403db
movdqa xmm7, xmmword [0x1401433d0]
mov eax, edi
and eax, 0x80000007
jge 0x1400402eb
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm5, xmmword [0x1401433b0]
lea rcx, [r11 + 0x20]
movdqa xmm6, xmmword [0x1401433c0]
mov r10d, edi
sub r10d, eax
mov r8d, 4
nop dword [rax + rax]
movq xmm3, xmm7
movd xmm1, r9d
pshufd xmm1, xmm1, 0
lea eax, [r8 - 2]
paddd xmm1, xmm3
movd xmm2, eax
pshufd xmm2, xmm2, 0
lea eax, [r8 + 2]
paddd xmm2, xmm3
lea rcx, [rcx + 0x40]
movq xmm0, xmm6
add r9d, 8
paddd xmm1, xmm0
add rdx, 8
pmovsxdq xmm0, xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movdqu xmmword [rcx - 0x60], xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movd xmm2, r8d
movdqu xmmword [rcx - 0x50], xmm1
add r8d, 8
pshufd xmm2, xmm2, 0
movq xmm0, xmm6
paddd xmm2, xmm3
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm1
pmovsxdq xmm0, xmm2
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movdqu xmmword [rcx - 0x30], xmm1
cmp r9d, r10d
jl 0x140040310
cmp rdx, rdi
jge 0x140040409
lea r8d, [r9 + 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, rbx
mov qword [r11 + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x1400403f0
mov rax, qword [rsp + 0x38]
mov r9d, edi
mov edx, r12d
mov qword [rsp + 0x20], r11
mov rcx, rsi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x60]
mov rdx, r15
mov dword [rsp + 0x48], eax
call fcn.140036c40
mov r15d, dword [rsp + 0x48]
test r15d, r15d
jne 0x14003db97
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], r15b
test eax, eax
jne 0x140040478
mov r12, qword [rsp + 0x70]
xor r10d, r10d
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x30]
jmp 0x14003b287
mov r15d, dword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
movzx edi, byte [rsp + 0x30]
mov r11d, 1
jmp 0x14003bbd2
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], 0
je 0x1400404d3
mov rcx, rbx
call fcn.140030910
mov r13, qword [rsp + 0x38]
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
jmp 0x14003b287
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov rsi, qword [rax]
xor eax, eax
test byte [rcx + 2], 1
mov r14, qword [rsi]
mov qword [rbp + 0x50], rax
movzx eax, byte [rsp + 0x30]
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x20], rbx
movups xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x48], al
movups xmmword [rbp + 0x30], xmm0
je 0x14004051e
mov rcx, rbx
call fcn.140030910
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
mov dword [rbx], r9d
mov eax, 0x401
jmp 0x14004052e
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, 1
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x20]
mov r8d, dword [rcx + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140036c40
cmp dword [rbp + 0x44], 0
jle 0x140040582
mov rcx, rbx
call fcn.140037240
mov r8, rax
lea rdx, [0x140134d40]
mov rcx, rsi
call fcn.1400319e0
mov r15d, dword [rbp + 0x44]
mov dword [rsp + 0x48], r15d
movzx edi, byte [rsp + 0x30]
mov rcx, rbx
mov edx, edi
call fcn.14002fc00
jmp 0x14003fe91
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x140040c5a
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rcx, qword [rsp + 0x60]
mov rdx, rbx
mov r15d, eax
mov dword [rsp + 0x48], eax
call fcn.140036c40
test r15d, r15d
jne 0x14003db9c
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14003eaac
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r9 + rcx*8]
mov qword [rsp + 0x38], rax
mov r13, rax
jmp 0x14003eab1
mov rcx, qword [rsp + 0x38]
mov edi, dword [r12 + 0x30]
or qword [r12 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 0x14], 2
jne 0x140040648
mov byte [rbx + 0x16], 1
jmp 0x140040663
cmp byte [rbx + 0x16], 1
je 0x140040663
mov dl, 1
mov rcx, rbx
call fcn.140009df0
mov r15d, eax
test eax, eax
jne 0x14003db9c
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x48], eax
mov r15d, eax
test edi, edi
jne 0x140040687
and qword [r12 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.140036c40
and dword [rsi + 0xc8], 0xfffffffc
test r15d, r15d
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
jmp 0x14003b287
cmp byte [r12 + 0x67], 0
mov qword [rbp + 0x18], r10
jne 0x1400412be
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004109e
mov r10, qword [rbx]
test r10, r10
je 0x14004109e
cmp qword [r10 + 0x68], 0
mov r13, qword [rsp + 0x38]
movsxd rdx, dword [r13 + 8]
je 0x14003e702
movsxd rax, dword [r13 + 0xc]
xor r9d, r9d
movzx edi, byte [r12 + 0x6c]
mov r8, qword [rsi + 0x70]
imul rcx, rax, 0x38
mov eax, r9d
add rcx, r14
test edx, edx
jle 0x140040730
nop
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x140040720
movzx eax, byte [r13 + 2]
lea r9, [rbp + 0x18]
mov rcx, rbx
mov byte [r12 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r12 + 0x6c], dil
mov rcx, rsi
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140036c40
test r15d, r15d
jne 0x14004078a
cmp dword [r13 + 4], r15d
je 0x140040770
mov rax, qword [rbp + 0x18]
mov qword [r12 + 0x38], rax
inc qword [rsi + 0x38]
test r15d, r15d
jne 0x14003dba1
movzx edi, byte [rsp + 0x30]
xor r10d, r10d
jmp 0x14003b287
cmp r15b, 0x13
jne 0x140040770
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140040770
movzx ecx, word [r13 + 2]
cmp ecx, 4
jne 0x1400410ca
xor r10d, r10d
mov r15d, r10d
mov dword [rsp + 0x48], r10d
jmp 0x14003b282
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1400407ed
mov rcx, rdx
call fcn.14003aab0
mov r9, qword [rsp + 0x50]
xor r10d, r10d
mov rdx, rax
lea r11d, [r10 + 1]
jmp 0x1400407f3
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov rax, qword [rsp + 0x40]
mov qword [rdx], rcx
lea rcx, [0x140000000]
add r13, 0x18
jmp 0x14003ad33
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x14004085a
mov rcx, rbx
call fcn.14003aab0
mov rbx, rax
xor r10d, r10d
jmp 0x140040860
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x38]
mov edx, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x14004089b
mov rcx, rdi
call fcn.1400219c0
mov edx, eax
mov rax, qword [rsp + 0x38]
cmp edx, dword [rax + 0xc]
cmovb edx, dword [rax + 0xc]
mov rcx, rdi
call fcn.140022e40
mov r13, qword [rsp + 0x38]
xor r10d, r10d
movzx edi, byte [rsp + 0x30]
mov eax, eax
mov qword [rbx], rax
jmp 0x14003b287
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r14
cmp qword [rbx], rdi
je 0x140040927
movzx eax, byte [rsp + 0x30]
mov byte [rbx + 0x28], al
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x18], rsi
sub rdx, 1
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x140040927
mov r12, qword [rsp + 0x38]
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
nop
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r14
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140040900
mov r12, qword [rsp + 0x70]
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 0x1400409bb
jle 0x14004097b
mov dl, 1
mov rcx, rdi
call fcn.140031230
mov r8, rax
lea rdx, [0x140134d40]
mov rcx, rsi
call fcn.1400319e0
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x48], r15d
mov rax, qword [rsp + 0x38]
lea rdx, [rsi + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.140034d90
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test r15d, r15d
jne 0x14003dba1
mov r13, qword [rsp + 0x38]
jmp 0x14003b282
mov r15d, dword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
xor r10d, r10d
jmp 0x14003b27d
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r14 + 0x14], ax
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.14003ab10
movsxd rcx, dword [rbx + r14 + 0x10]
xor edx, edx
mov r13, qword [rsp + 0x38]
div rcx
mov rcx, qword [rbx + r14 + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
xor r10d, r10d
jmp 0x14003b287
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.14003ab10
movsxd rcx, dword [rbx + r14 + 0x10]
xor edx, edx
mov r13, qword [rsp + 0x38]
mov r11d, 1
mov r9, qword [rsp + 0x50]
div rcx
mov rax, qword [rbx + r14 + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x140040aa5
inc dword [rsi + 0xf4]
jmp 0x14003bbd2
inc dword [rsi + 0xf0]
jmp 0x14003e702
movzx eax, byte [r12 + 0x6e]
test al, 0x41
je 0x140040b7d
cmp byte [rsi + 0xc3], 0xfe
je 0x140040b7d
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x140040ae4
mov r9, qword [rsi + 0xf8]
test r9, r9
je 0x140040b78
test al, 0x40
je 0x140040b13
mov rdx, r9
mov rcx, rsi
call fcn.14003a100
mov rcx, qword [r12 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r12 + 0xf8]
mov rcx, rbx
call fcn.140006ad0
jmp 0x140040b71
cmp dword [r12 + 0xe4], 1
jle 0x140040b5b
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.140009730
mov rdx, qword [r12 + 0x100]
mov r9, rax
mov r8, rsi
mov ecx, 1
mov rbx, rax
call qword [r12 + 0xf8]
mov rdx, rbx
mov rcx, r12
call fcn.140006c90
jmp 0x140040b71
mov rdx, qword [r12 + 0x100]
mov r8, rsi
mov ecx, r11d
call qword [r12 + 0xf8]
xor r10d, r10d
lea r11d, [r10 + 1]
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
mov eax, dword [rax + 4]
cmp eax, dword [0x14015a078]
jl 0x140040bd3
cmp byte [r13], 0xb5
je case.0x14003ad71.89
cmp dword [rsi + 0x90], 1
mov edx, r11d
jle 0x140040bd0
mov eax, 0x18
nop
mov rcx, qword [rsi + 0x88]
cmp byte [rax + rcx], 0xe
jne 0x140040bc2
mov dword [rax + rcx + 4], r10d
inc edx
add rax, 0x18
cmp edx, dword [rsi + 0x90]
jl 0x140040bb0
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
inc dword [rsi + 0xec]
jmp 0x14003bbd2
mov r15d, dword [rsp + 0x48]
lea rcx, [0x140000000]
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov r15d, dword [rsp + 0x48]
lea rcx, [0x140000000]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x30]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov r15d, dword [rsp + 0x48]
lea rcx, [0x140000000]
mov r13, qword [rsp + 0x38]
movzx edi, byte [rsp + 0x30]
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov r13, qword [rsp + 0x38]
lea rcx, [0x140000000]
movzx edi, byte [rsp + 0x30]
mov rax, qword [rsp + 0x40]
add r13, 0x18
jmp 0x14003ad33
mov r15, qword [rsp + 0x38]
mov ecx, dword [r15 + 4]
mov dword [rsi + 0x34], ecx
movzx eax, byte [r15 + 8]
mov byte [rsi + 0xc2], al
test ecx, ecx
je 0x140040d41
movzx eax, word [r15 + 2]
mov rcx, rsi
test ax, ax
je 0x140040ceb
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x13bb28]
call fcn.1400319e0
mov r9, qword [r15 + 0x10]
test r9, r9
je 0x140040cfb
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.140009730
mov qword [rsi + 0xa8], rax
jmp 0x140040cfb
mov r8, qword [r15 + 0x10]
lea rdx, [0x140134d40]
call fcn.1400319e0
mov r9, qword [rsi + 0xf8]
mov rcx, r15
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, dword [r15 + 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.140009a20
mov rcx, rsi
call fcn.140034720
mov rdi, qword [rsp + 0x38]
mov r15d, eax
mov rbx, qword [rsp + 0x58]
mov r14d, 1
mov r13, qword [rsp + 0x40]
cmp eax, 5
jne 0x140040d6e
mov dword [rsi + 0x34], eax
jmp 0x140040e96
cmp dword [rsi + 0x34], 0
mov r15d, 0x65
cmovne r15d, r14d
jmp 0x140040e96
mov r15d, 0x14
jmp 0x14003dba1
mov ecx, 0x164e3
call fcn.1400c9430
mov r15d, eax
jmp 0x14003db97
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.14003abe0
mov rsi, qword [rsp + 0x60]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov r8, rax
mov rcx, rsi
mov rax, qword [r15 + rdi*8]
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x15b980]
call fcn.1400319e0
mov r15d, 0xc13
mov rdi, r13
jmp 0x14003dba6
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, rsi
call fcn.1400319e0
mov r15d, 5
jmp 0x14003dba1
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, rsi
call fcn.1400319e0
mov r15d, 5
jmp 0x14003dba1
mov byte [r12 + 0x65], 0
jmp 0x14003dba1
mov rdi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, rdi
mov r15d, 5
sub rcx, qword [rsp + 0x50]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
mov byte [r12 + 0x65], 0
mov dword [rsi + 0x34], r15d
jmp 0x140040e86
mov r15d, 0x65
mov rdi, qword [rsp + 0x38]
mov r14d, 1
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
cmp r13, rbx
jb 0x14004142e
mov rdx, qword [r12 + 0x208]
test rdx, rdx
je 0x14004142e
mov eax, dword [r12 + 0x218]
mov rcx, qword [r12 + 0x210]
add rbx, rax
call rdx
test eax, eax
je 0x140040e96
mov rbx, 0xffffffffffffffff
lea eax, [rbx + 0xc]
lea r15d, [rbx + 0xa]
jmp 0x14003dbbb
bt rax, 0x14
mov r15d, 8
mov eax, 0xb
mov rdi, rcx
cmovae r15d, eax
lea r14d, [rax - 0xa]
jmp 0x14003dbb1
mov rdi, qword [rsp + 0x38]
mov r14d, 1
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
cmp r15b, 5
jne 0x14003b5ee
mov rcx, rdi
mov dword [rsi + 0x34], r15d
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x30], edx
jmp 0x140040e96
mov r15d, 0x204
jmp 0x14003dba1
mov rcx, qword [rbx + 0x10]
call fcn.140022810
jmp 0x14003dba1
mov r12, r8
mov rsi, qword [rsp + 0x60]
lea rdx, str.string_or_blob_too_big
mov rcx, rsi
call fcn.1400319e0
mov r15d, 0x12
jmp 0x14003dba1
lea r8, str.index_corruption
mov edx, 0x1719e
mov ecx, 0x30b
call fcn.1400c9400
mov r15d, eax
mov rdi, r13
jmp 0x14003dba6
lea rax, [0x14013abd4]
mov r9d, 0x1726b
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.140009a20
mov rdi, qword [rsp + 0x38]
mov eax, 0xb
mov r15d, eax
lea r14d, [rax - 0xa]
jmp 0x14003dbb1
mov r15d, 6
mov byte [rsi + 0xc2], 2
jmp 0x14003dba1
call fcn.1400607f0
jmp 0x1400412be
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, rsi
mov r15d, r11d
call fcn.1400319e0
jmp 0x14003dba1
call fcn.140037240
mov r8, rax
lea rdx, [0x140134d40]
mov rcx, rsi
call fcn.1400319e0
jmp 0x14003dba1
mov rsi, qword [rsp + 0x60]
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
mov r14d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, rsi
mov r15d, r14d
call fcn.1400319e0
mov rdi, qword [rsp + 0x38]
jmp 0x14003dbac
mov rdi, qword [rsp + 0x38]
cmp al, 6
jne 0x14003dba6
mov r8, qword [rdi + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, rsi
call fcn.1400319e0
jmp 0x14003dba6
call qword [rdi + 0x38]
jmp 0x1400412be
mov r15d, 6
jmp 0x14003dba1
mov rdi, qword [rsp + 0x38]
mov rbx, 0xffffffffffffffff
mov rsi, qword [rsp + 0x60]
lea r15d, [rbx + 0xa]
lea eax, [rbx + 0xc]
lea r14d, [rbx + 2]
jmp 0x14003dbb6
cmp ecx, 5
movzx eax, cl
mov edx, 2
mov rdi, r13
cmove eax, edx
mov byte [rsi + 0xc2], al
jmp 0x14003dba6
mov eax, dword [rsi + 0x2c]
mov r15, qword [rsp + 0x38]
add eax, 2
or eax, 1
mov dword [rsi + 0x2c], eax
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rsi + 0xa0], rcx
cmp byte [r12 + 0x67], 0
jne 0x1400412be
test byte [r12 + 0x6e], 4
je 0x14004113c
mov rdx, qword [r12 + 0x100]
xor r9d, r9d
mov r8, rsi
lea ecx, [r9 + 4]
call qword [r12 + 0xf8]
mov r9, qword [rsp + 0x50]
mov rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
mov r15d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [rsi + 0x30], edx
jmp 0x140040e81
mov r15, qword [rsp + 0x38]
movzx eax, byte [r12 + 0x65]
mov ebx, dword [r15 + 4]
mov ecx, dword [r15 + 8]
cmp ebx, eax
je 0x140041266
test ecx, ecx
je 0x14004119d
mov edx, 0x204
mov rcx, r12
call fcn.1400c6150
mov al, 1
jmp 0x1400411e4
test ebx, ebx
je 0x1400411c6
cmp dword [r12 + 0xe0], 0
jle 0x1400411c6
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, rsi
call fcn.1400319e0
mov r15d, 5
jmp 0x14003dba1
mov edx, r11d
mov rcx, rsi
call fcn.1400346b0
mov r15d, eax
test eax, eax
jne 0x140040e81
mov r15, qword [rsp + 0x38]
movzx eax, bl
mov rcx, rsi
mov byte [r12 + 0x65], al
call fcn.140034720
cmp eax, 5
jne 0x140041240
mov rdi, qword [rsp + 0x38]
mov rcx, r15
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov r14d, 1
mov r15d, 5
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r14d
sub al, bl
mov dword [rsi + 0x30], edx
mov byte [r12 + 0x65], al
mov dword [rsi + 0x34], r15d
jmp 0x140040e8c
mov rcx, r12
call fcn.1400c59a0
cmp dword [rsi + 0x34], 0
mov r15d, 0x65
mov rdi, qword [rsp + 0x38]
mov r14d, 1
cmovne r15d, r14d
jmp 0x140040e8c
test ebx, ebx
jne 0x14004127e
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, rsi
call fcn.1400319e0
jmp 0x14003d09d
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, rsi
cmovne rdx, rax
call fcn.1400319e0
jmp 0x14003d09d
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x40]
mov r15d, 9
jmp 0x14003f219
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
mov rcx, r12
call fcn.1400072c0
lea rdx, [0x140133e10]
mov rcx, rsi
call fcn.1400319e0
mov r15d, 7
jmp 0x14003f219
mov r15d, dword [rsp + 0x48]
jmp 0x14003db97
mov r12, qword [rsp + 0x70]
jmp 0x14003dba1
mov rdi, qword [rsp + 0x38]
mov r14, r11
jmp 0x14003dbac
mov rdi, rbx
mov rsi, r14
jmp 0x14003dba6
cmp r15d, 0x210a
jne 0x14004134c
lea rcx, [0x14013abd4]
mov r9d, 0x17aff
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009a20
mov r15d, 0xb
cmp qword [rsi + 0xa8], 0
jne 0x140041379
cmp r15d, 0xc0a
je 0x140041379
mov ecx, r15d
call fcn.1400c62c0
mov r8, rax
lea rdx, [0x140134d40]
mov rcx, rsi
call fcn.1400319e0
mov edx, r15d
mov dword [rsi + 0x34], r15d
mov rcx, r12
call fcn.14000a4a0
mov r9, qword [rsi + 0xf8]
mov rcx, rdi
sub rcx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 0xa8]
mov ecx, r15d
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.140009a20
cmp byte [rsi + 0xc5], 2
jne 0x1400413de
mov rcx, rsi
call fcn.140034720
cmp r15d, 0xc0a
jne 0x1400413f1
mov rcx, r12
call fcn.1400072c0
jmp 0x14004140e
cmp r15d, 0xb
jne 0x14004140e
cmp byte [r12 + 0x65], 0
jne 0x14004140e
movabs rax, 0x200000000
or qword [r12 + 0x30], rax
movzx eax, byte [rsp + 0x7c]
mov r15d, r14d
test al, al
je 0x140040e96
lea edx, [rax - 1]
mov rcx, r12
call fcn.140060760
jmp 0x140040e96
add dword [rsi + 0xe4], r13d
cmp dword [rsi + 0xd0], 0
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
mov r14, qword [rsp + 0x200]
mov r13, qword [rsp + 0x208]
mov r12, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x238]
je 0x140041487
mov rcx, rsi
call fcn.140032e30
mov eax, r15d
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400fbcf0
add rsp, 0x210
pop r15
pop rsi
pop rbp
ret