Function at 0x14003a720
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push rdi
push r14
lea rbp, [r11 - 0x118]
sub rsp, 0x200
mov rax, qword [0x14015d010]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rax, qword [rcx + 0x88]
mov r14, rcx
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], r12
mov rdi, qword [r14 + 0x68]
mov qword [r11 - 0x20], r13
mov r13, qword [r14]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], rax
xor al, al
mov qword [rsp + 0x50], rcx
xor ecx, ecx
mov byte [rsp + 0x6c], al
mov r12d, ecx
movzx eax, byte [r13 + 0x64]
mov ebx, ecx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x78], rcx
mov rcx, r14
mov byte [rsp + 0x3c], al
mov qword [r11 - 0x28], r15
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x48], rdi
call fcn.140032940
cmp qword [r13 + 0x208], rbx
je 0x14003a7d0
mov ecx, dword [r13 + 0x218]
xor edx, edx
mov eax, dword [r14 + 0xe4]
div ecx
sub ecx, edx
mov esi, ecx
jmp 0x14003a7d7
mov rsi, 0xffffffffffffffff
cmp dword [r14 + 0x34], 7
mov r11d, 1
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm7
mov qword [rsp + 0x40], rsi
je 0x140040d74
xor r10d, r10d
mov dword [r14 + 0x34], r10d
mov qword [r14 + 0x48], r10
mov qword [r14 + 0xa0], r10
mov eax, dword [r13 + 0x198]
mov dword [r13 + 0x290], r10d
test eax, eax
jne 0x140040b74
movsxd rax, dword [r14 + 0x30]
mov r9d, 0x9000
mov rsi, qword [rsp + 0x58]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
lea rcx, [0x140000000]
inc rbx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x78], rbx
mov r8d, 4
movzx ebx, byte [r15]
mov edx, 0xffffffff
cmp ebx, 0xb5
ja case.default.0x14003a882
movsxd rax, ebx
mov ecx, dword [rcx + rax*4 + 0x40f68]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, rsi
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + rdi + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rdi], rax
jmp case.0x14003a882.8
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + rdi + 0x14], 4
je 0x14003ab06
mov rax, qword [rax + rdi]
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
mov word [rcx + rdi + 0x14], r8w
cdqe
mov qword [rcx + rdi], rax
cmp dword [r15 + 8], 0
jne 0x14003feb1
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rdi]
lea rcx, [rax + rax*2]
mov eax, dword [rsi + rcx*8 + 8]
dec eax
mov word [rdx + rdi + 0x14], r10w
cdqe
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
sub rbx, rsi
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + rdi]
mov word [r8 + rdi + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r15, [rsi + rcx*8]
mov rax, rdx
lea rcx, [0x140000000]
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rdi], rax
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rdi + 0x14], 1
je 0x14003ab06
mov rbx, qword [r14 + 0x108]
test rbx, rbx
je 0x1400406d1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x1400406d1
mov rax, qword [rbx + 8]
mov rcx, r13
mov rdx, qword [r14 + 0x38]
dec dword [r14 + 0x118]
mov qword [r14 + 0x108], rax
call fcn.1400364c0
mov rcx, rbx
call fcn.1400336a0
mov r15, qword [rsp + 0x30]
cmp dword [r15 + 8], 4
jne 0x14003aa5f
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov rsi, qword [r14 + 0x88]
mov rdi, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x48], rdi
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
xor r10d, r10d
mov r11d, 1
mov r9d, 0x9000
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], r9w
je 0x14003aaf5
call fcn.14003a5d0
mov r15, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rsp + 0x30]
xor r10d, r10d
mov r9d, 0x9000
movsxd rax, dword [rax + 4]
lea r11d, [r10 + 1]
mov qword [rcx], rax
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
mov word [rcx + 0x14], r8w
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], r9w
je 0x14003ab52
mov rcx, rdx
call fcn.14003a5d0
xor r10d, r10d
mov rdx, rax
mov r9d, 0x9000
lea r11d, [r10 + 1]
jmp 0x14003ab57
mov word [rdx + 0x14], r8w
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], r9w
je 0x14003abb0
mov rcx, rdx
call fcn.14003a5d0
xor r10d, r10d
mov rdx, rax
mov r9d, 0x9000
lea r11d, [r10 + 1]
mov eax, 8
mov word [rdx + 0x14], ax
jmp 0x14003ab57
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], r9w
je 0x14003abe8
mov rcx, rbx
call fcn.14003a5d0
mov rcx, qword [rsp + 0x30]
mov rbx, rax
xor r10d, r10d
jmp 0x14003abed
mov word [rbx + 0x14], r8w
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x14003abfb
mov eax, r10d
jmp 0x14003ac10
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x14003ac02
and eax, 0x3fffffff
movzx esi, byte [rsp + 0x3c]
mov dword [rcx + 4], eax
cmp sil, 1
je 0x14003ac99
mov r9b, 1
mov qword [rsp + 0x20], r10
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.140030800
mov dword [rsp + 0x38], eax
mov r12d, eax
test eax, eax
jne 0x140040a22
mov edx, esi
mov rcx, rbx
call fcn.14002f690
test eax, eax
jne 0x14003ae91
mov eax, 0x2000
xor r9d, r9d
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x30]
mov dword [rbx + 0x20], r9d
cmp byte [rax + 1], 0xfa
jne 0x14003ac82
mov rdx, qword [rax + 0x10]
mov rcx, r13
call fcn.140006a20
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [rcx + 4], eax
cmp eax, dword [r13 + 0x88]
jg 0x140040a22
mov byte [rcx], 0x49
mov r9d, 0x9000
jmp 0x14003acbb
mov rcx, qword [rsp + 0x30]
movzx esi, byte [rsp + 0x3c]
movsxd rax, dword [rcx + 8]
imul rdx, rax, 0x38
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], r9w
je 0x14003ace4
mov rcx, rdx
call fcn.14003a5d0
mov rcx, qword [rsp + 0x30]
mov rdx, rax
mov r9d, 0x9000
mov eax, 0x2202
mov word [rdx + 0x14], ax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [rcx + 4]
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 0x16], sil
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x140040433
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
xor r10d, r10d
movzx eax, word [rax + 2]
cmp qword [rcx + rdi], rax
jne 0x140040436
mov r15, qword [rsp + 0x30]
lea r11d, [r10 + 1]
mov rsi, qword [rsp + 0x58]
lea rcx, [0x140000000]
mov eax, 0x2210
mov word [rdx + 0x14], ax
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], r9w
je 0x14003ad85
call fcn.14003a5d0
xor r10d, r10d
mov rcx, rax
mov r9d, 0x9000
lea r11d, [r10 + 1]
jmp 0x14003ad8a
mov word [rcx + 0x14], r8w
cmp dword [rbx + 4], 0
mov esi, r11d
mov edi, dword [rbx + 0xc]
mov edx, 0x101
mov eax, dword [rbx + 8]
cmovne si, dx
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], r10d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x140040436
nop word [rax + rax]
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x14003addd
lea rcx, [rbx - 0x14]
call fcn.14002fe00
xor r10d, r10d
mov r9d, 0x9000
dec edi
mov word [rbx], si
mov dword [rbx - 4], r10d
test edi, edi
jg 0x14003adc0
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov rdi, qword [rsp + 0x48]
mov r11d, 1
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
mov edx, 0xffc1
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + rdi + 0x14]
and ax, dx
or ax, 1
mov word [rcx + rdi + 0x14], ax
jmp 0x14003ab66
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], r9w
je 0x14003ae64
mov rcx, rbx
call fcn.14003a5d0
mov rbx, rax
xor r10d, r10d
jmp 0x14003ae69
mov word [rbx + 0x14], r8w
mov rax, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
test rdx, rdx
jne 0x14003aebd
mov edx, eax
call fcn.1400303e0
mov rcx, rbx
call fcn.14002fa30
test eax, eax
je 0x14003aecd
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rcx, r13
call fcn.140007070
lea rdx, [0x140138050]
mov rcx, r14
call fcn.1400315d0
mov r8d, 7
jmp 0x140040b7f
mov r8, rax
mov qword [rsp + 0x20], r10
xor r9d, r9d
call fcn.140030800
movzx eax, byte [rsp + 0x3c]
mov r15, qword [rsp + 0x30]
mov byte [rbx + 0x16], al
jmp 0x14003aa7e
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [r14 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.140030680
test eax, eax
jne 0x140040a46
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsp + 0x48]
test word [rbx + 0x14], ax
je 0x14003af24
mov rcx, rbx
call fcn.1400303c0
movups xmm0, xmmword [rdi - 0x38]
mov r15, qword [rsp + 0x30]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
mov rdi, qword [rsp + 0x48]
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 0x14003aa7e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
nop
test word [rbx + 0x14], r9w
jne 0x14003af8d
cmp dword [rbx + 0x20], 0
je 0x14003af9c
mov rcx, rbx
call fcn.14002fe40
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 0x14003afe7
mov rcx, rbx
call fcn.14002f9d0
test eax, eax
jne 0x14003ae91
xor r10d, r10d
lea r11d, [rax + 1]
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x9000
sub esi, 1
jne 0x14003af80
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r12, qword [rsp + 0x30]
mov r15d, 0x4000
movsxd rax, dword [r12 + 4]
mov esi, dword [r12 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
add rdi, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
nop word [rax + rax]
mov r8d, r15d
mov rdx, rdi
mov rcx, rbx
call fcn.1400306f0
test word [rbx + 0x14], r15w
je 0x14003b075
mov rcx, rbx
call fcn.14002f9d0
test eax, eax
jne 0x14003ae96
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x14003b094
test byte [r12 + 2], 2
je 0x14003b094
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x140040433
add rbx, 0x38
add rdi, 0x38
jmp 0x14003b050
mov rcx, qword [rsp + 0x30]
mov r8d, 0x4000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, rdi
add rcx, rdi
call fcn.1400306f0
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, rdi
mov rax, qword [rcx + rdi]
test word [r8 + 0x14], r9w
je 0x14003b112
mov rdx, rax
mov rcx, r8
call fcn.140030430
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
jmp 0x14003ab66
xor edx, edx
mov rcx, r14
call fcn.140034280
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040864
mov r12d, eax
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul r13, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r13, rdi
add rbx, rdi
imul rdi, rax, 0x38
movzx r14d, word [r13 + 0x14]
add rdi, qword [rsp + 0x48]
movzx eax, r14b
or al, byte [rbx + 0x14]
test al, 1
je 0x14003b19e
mov rcx, rdi
call fcn.1400303c0
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
test r14b, 0x12
jne 0x14003b1d6
movzx r15d, byte [rsp + 0x3c]
xor r8d, r8d
movzx edx, r15b
mov rcx, r13
call fcn.14002faa0
test eax, eax
jne 0x140040d60
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x400
jmp 0x14003b20a
mov eax, 0x400
test ax, r14w
je 0x14003b204
mov rcx, r13
call fcn.14002fa30
test eax, eax
jne 0x140040d60
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x400
movzx r15d, byte [rsp + 0x3c]
movzx esi, word [rbx + 0x14]
test sil, 0x12
jne 0x14003b225
xor r8d, r8d
movzx edx, r15b
mov rcx, rbx
call fcn.14002faa0
jmp 0x14003b232
test ax, si
je 0x14003b246
mov rcx, rbx
call fcn.14002fa30
test eax, eax
jne 0x140040d60
movzx esi, word [rbx + 0x14]
mov eax, 0xfffd
and si, ax
mov rax, qword [rsp + 0x60]
mov edx, dword [r13 + 0x10]
add edx, dword [rbx + 0x10]
movsxd r15, edx
movsxd rax, dword [rax + 0x88]
cmp r15, rax
jg 0x140040a18
xor r9d, r9d
mov rcx, rdi
mov r8d, r9d
cmp rdi, rbx
sete r8b
add edx, 2
call fcn.14002f6b0
test eax, eax
jne 0x140040d60
movzx eax, word [rdi + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rdi + 0x14], ax
cmp rdi, rbx
je 0x14003b2b3
movsxd r8, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rdi + 8]
call fcn.1400ff4e0
mov word [rbx + 0x14], si
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rdi + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.1400ff4e0
movzx esi, byte [rsp + 0x3c]
mov word [r13 + 0x14], r14w
cmp sil, 1
jbe 0x14003b2dc
and r15, 0xfffffffffffffffe
mov rax, qword [rdi + 8]
mov byte [r15 + rax], 0
mov rax, qword [rdi + 8]
mov byte [rax + r15 + 1], 0
mov eax, 0x200
or word [rdi + 0x14], ax
mov dword [rdi + 0x10], r15d
mov byte [rdi + 0x16], sil
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.14003a5b0
movzx ebx, ax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 8]
imul rsi, rcx, 0x38
add rsi, qword [rsp + 0x48]
mov rcx, rsi
call fcn.14003a5b0
mov r15, qword [rsp + 0x30]
and al, bl
movsxd rcx, dword [r15 + 0xc]
imul r14, rcx, 0x38
movzx ecx, word [rsi + 0x14]
add r14, qword [rsp + 0x48]
or cx, word [rdi + 0x14]
test al, 4
je 0x14003b434
movzx edx, byte [r15]
mov r8, qword [rsi]
mov rcx, qword [rdi]
mov qword [rbp + 0x68], r8
sub edx, 0x6a
je 0x14003b407
sub edx, 1
je 0x14003b3f9
sub edx, 1
je 0x14003b3eb
cmp edx, 1
je 0x14003b3bf
test rcx, rcx
je 0x14003b51d
cmp rcx, 0xffffffffffffffff
mov edx, 1
mov rax, r8
cmove rcx, rdx
cqo
idiv rcx
mov qword [rbp + 0x68], rdx
jmp 0x14003b417
test rcx, rcx
je 0x14003b51d
cmp rcx, 0xffffffffffffffff
jne 0x14003b3dd
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14003b43d
mov rax, r8
cqo
idiv rcx
mov qword [rbp + 0x68], rax
jmp 0x14003b417
mov rdx, rcx
lea rcx, [rbp + 0x68]
call fcn.14000b5b0
jmp 0x14003b413
mov rdx, rcx
lea rcx, [rbp + 0x68]
call fcn.14000b540
jmp 0x14003b413
mov rdx, rcx
lea rcx, [rbp + 0x68]
call fcn.14000b4f0
test eax, eax
jne 0x14003b43d
mov rax, qword [rbp + 0x68]
mov ecx, 0xf244
mov qword [r14], rax
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
jmp 0x14003b504
test cl, 1
jne 0x14003b51d
mov rcx, rdi
call fcn.14002ff90
mov rcx, rsi
movaps xmm6, xmm0
call fcn.14002ff90
movzx ecx, byte [r15]
sub ecx, 0x6a
je 0x14003b4be
sub ecx, 1
je 0x14003b4b8
sub ecx, 1
je 0x14003b4b2
cmp ecx, 1
je 0x14003b4a4
mov rcx, rdi
call fcn.14002ff30
mov rcx, rsi
mov rbx, rax
call fcn.14002ff30
mov qword [rbp + 0x68], rax
test rbx, rbx
je 0x14003b51d
cmp rbx, 0xffffffffffffffff
mov edx, 1
xorps xmm0, xmm0
cmove rbx, rdx
cqo
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14003b4c2
ucomisd xmm6, xmm7
jp 0x14003b4ac
je 0x14003b51d
divsd xmm0, xmm6
jmp 0x14003b4c2
mulsd xmm0, xmm6
jmp 0x14003b4c2
subsd xmm0, xmm6
jmp 0x14003b4c2
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 0x14003b51d
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x50]
jmp 0x14003aa7e
mov r9d, 0x9000
test word [r14 + 0x14], r9w
je 0x14003b546
mov rcx, r14
call fcn.14002fe00
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rdi, qword [rsp + 0x48]
mov r11d, 1
mov rsi, qword [rsp + 0x58]
mov word [r14 + 0x14], r11w
mov r14, qword [rsp + 0x50]
jmp 0x14003d155
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x14003ab06
imul rcx, rax, 0x38
xor edx, edx
add rcx, rdi
call fcn.140030470
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, rdx
add rcx, rdx
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
add rsi, rdx
test al, 1
je 0x14003b613
test word [rsi + 0x14], r9w
je 0x14003b5ec
mov rcx, rsi
call fcn.14002fe00
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov word [rsi + 0x14], r11w
mov rdi, rdx
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
call fcn.14002ff30
mov rcx, rdi
mov rbx, rax
call fcn.14002ff30
mov rcx, rax
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
cmp dl, 0x66
jne 0x14003b638
and rbx, rcx
jmp 0x14003b6af
cmp dl, 0x67
jne 0x14003b642
or rbx, rcx
jmp 0x14003b6af
test rcx, rcx
je 0x14003b6af
jns 0x14003b65c
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14003b662
neg rcx
cmp rcx, 0x40
jl 0x14003b67d
test rbx, rbx
jns 0x14003b675
cmp dl, 0x68
je 0x14003b675
mov rbx, 0xffffffffffffffff
jmp 0x14003b6af
xor r9d, r9d
mov ebx, r9d
jmp 0x14003b6af
cmp dl, 0x68
jne 0x14003b68a
shl rbx, cl
mov r8, rbx
jmp 0x14003b6ac
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003b6ac
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
movzx eax, word [rsi + 0x14]
mov ecx, 0xf244
mov r15, qword [rsp + 0x30]
and ax, cx
mov rdi, qword [rsp + 0x48]
or ax, 4
mov word [rsi + 0x14], ax
mov qword [rsi], rbx
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rdi
mov rcx, rbx
call fcn.14002ff30
movzx ecx, word [rbx + 0x14]
mov edx, 0xf244
mov r15, qword [rsp + 0x30]
and cx, dx
or cx, 4
mov qword [rbx], rax
mov word [rbx + 0x14], cx
movsxd rcx, dword [r15 + 8]
add rcx, rax
mov qword [rbx], rcx
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rdi
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14003b775
movzx r8d, byte [rsp + 0x3c]
mov dl, 0x43
mov rcx, rbx
call fcn.14003a400
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14003b768
mov r15, qword [rsp + 0x30]
cmp dword [r15 + 8], 0
je 0x1400407d3
mov r11d, 1
jmp 0x14003c02a
xor r10d, r10d
mov r9d, 0x9000
lea r11d, [r10 + 1]
mov ecx, 0xf244
and ax, cx
or ax, 4
mov word [rbx + 0x14], ax
jmp 0x14003ab66
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
test byte [rcx + 0x14], 0x24
je 0x14003ab06
call fcn.140030080
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rdi
test word [rbx + 0x14], ax
je 0x14003b7e6
mov rcx, rbx
call fcn.14002fa30
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
movzx r8d, byte [rsp + 0x3c]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.140030200
mov r8d, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14003cf12
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, rdi
imul r14, rax, 0x38
movzx esi, word [r15 + 0x14]
add r14, rdi
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x14003b8e1
mov rcx, qword [r14]
cmp rcx, qword [r15]
lea rcx, [0x140000000]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jle 0x14003b890
cmp byte [rbx + rcx + 0x141648], 0
jne 0x14003c02a
mov r14, qword [rsp + 0x50]
mov dword [rsp + 0x68], r11d
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
jge 0x14003b8bb
cmp byte [rbx + rcx + 0x14163c], 0
jne 0x14003c02a
mov r14, qword [rsp + 0x50]
mov dword [rsp + 0x68], 0xffffffff
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
cmp byte [rbx + rcx + 0x141642], 0
jne 0x14003c02a
mov r14, qword [rsp + 0x50]
mov dword [rsp + 0x68], r10d
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
movzx ecx, di
or cx, si
test cl, 1
je 0x14003b97e
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, al
jns 0x14003b948
test dl, 1
je 0x14003b92d
mov eax, 0x100
test ax, di
jne 0x14003b92d
mov rax, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov dword [rsp + 0x68], r10d
movzx eax, byte [rax]
movzx edx, byte [rax + rcx + 0x141642]
jmp 0x14003baa1
movzx eax, di
not ax
and eax, 1
lea r10d, [rax*2 - 1]
mov dword [rsp + 0x68], r10d
jmp 0x14003ba4d
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
test al, 0x10
jne 0x14003c02a
mov r14, qword [rsp + 0x50]
lea rcx, [0x140000000]
mov dword [rsp + 0x68], r11d
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rbx, qword [rsp + 0x30]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003b9c5
test cl, 2
je 0x14003ba31
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14003b9af
xor edx, edx
mov rcx, r15
call fcn.14003a2d0
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14003ba31
xor edx, edx
mov rcx, r14
call fcn.14003a2d0
jmp 0x14003ba31
cmp al, 0x42
jne 0x14003ba31
test sil, 2
jne 0x14003ba03
test sil, 0x2c
je 0x14003ba03
movzx edx, byte [rsp + 0x3c]
mov r8b, 1
mov rcx, r15
call fcn.14002faa0
xor si, word [r15 + 0x14]
mov eax, 0xdbf
and si, ax
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x14003ba03
movzx edi, si
or di, 2
test dil, 2
jne 0x14003ba31
test dil, 0x2c
je 0x14003ba31
movzx edx, byte [rsp + 0x3c]
mov r8b, 1
mov rcx, r14
call fcn.14002faa0
xor di, word [r14 + 0x14]
mov eax, 0xdbf
and di, ax
xor di, word [r14 + 0x14]
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140035400
mov r10d, eax
mov dword [rsp + 0x68], eax
mov r11d, 1
mov rax, qword [rsp + 0x30]
mov ecx, r10d
movzx eax, byte [rax]
test r10d, r10d
jns 0x14003ba6e
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x14163c]
jmp 0x14003baa1
mov dword [rsp + 0x68], ecx
test ecx, ecx
jne 0x14003ba87
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x141642]
jmp 0x14003baa1
lea rdx, [0x140000000]
mov dword [rsp + 0x68], ecx
movzx edx, byte [rax + rdx + 0x141648]
lea rcx, [0x140000000]
mov word [r14 + 0x14], di
mov word [r15 + 0x14], si
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
test dl, dl
jne 0x14003feb1
mov r14, qword [rsp + 0x50]
xor r10d, r10d
mov rdi, qword [rsp + 0x48]
mov r9d, 0x9000
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
cmp dword [rsp + 0x68], 0
je 0x14003c02a
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
test byte [rax + 2], 1
jne 0x14003bb0e
mov r13, r10
jmp 0x14003bb16
mov r13, qword [rax - 8]
add r13, 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 [rsp + 0x70], rcx
mov dword [rbp + 8], r8d
mov dword [rbp - 0x78], r9d
mov qword [rbp + 0x10], rax
test rax, rax
jle 0x140040656
lea r14, [rcx + 0x20]
nop word [rax + rax]
test r13, r13
je 0x14003bb5c
mov edx, dword [r13 + rbx*4]
jmp 0x14003bb5e
mov edx, edi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
imul r12, rcx, 0x38
movzx esi, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r14]
and esi, 1
add r12, qword [rsp + 0x48]
imul r15, rcx, 0x38
mov rdx, r12
add r15, qword [rsp + 0x48]
mov rcx, r15
call fcn.140035400
mov dword [rsp + 0x68], eax
mov r10d, eax
test eax, eax
jne 0x14003bbdb
mov rcx, qword [rsp + 0x70]
inc edi
mov r8d, dword [rbp + 8]
inc rbx
mov r9d, dword [rbp - 0x78]
add r14, 8
cmp rbx, qword [rbp + 0x10]
jl 0x14003bb50
mov r12d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14003bc01
test byte [r15 + 0x14], 1
jne 0x14003bbf9
test byte [r12 + 0x14], 1
je 0x14003bc01
neg r10d
mov dword [rsp + 0x68], r10d
mov r13, qword [rsp + 0x60]
test esi, esi
je 0x140040433
neg r10d
mov dword [rsp + 0x68], r10d
mov r12d, dword [rsp + 0x38]
jmp 0x14003b305
mov r10d, dword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
test r10d, r10d
jns 0x14003bc43
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
jmp 0x14003d155
jne 0x14003bc59
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
jmp 0x14003d155
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
jmp 0x14003d155
mov rax, qword [rsp + 0x30]
mov r15d, 2
mov edx, r15d
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.14002ffc0
mov ebx, eax
mov edx, r15d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.14002ffc0
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x2c
jne 0x14003bcc9
movzx r8d, byte [rcx + rdx + 0x13f098]
jmp 0x14003bcd2
movzx r8d, byte [rcx + rdx + 0x1445a8]
movsxd rax, dword [rax + 0xc]
imul rdx, rax, 0x38
movzx ecx, word [rdx + rdi + 0x14]
cmp r8b, r15b
jne 0x14003bcff
mov r15, qword [rsp + 0x30]
mov eax, 0xf241
and cx, ax
or cx, 1
mov word [rdx + rdi + 0x14], cx
jmp 0x14003aa7e
mov r15, qword [rsp + 0x30]
movzx eax, r8b
mov qword [rdx + rdi], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + rdi + 0x14], cx
jmp 0x14003aa7e
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.14002ffc0
movsxd rdx, dword [rbx + 0x10]
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140030470
mov r15, rbx
jmp 0x14003aa7e
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, rdi
add rbx, rdi
test byte [rcx + 0x14], 1
jne 0x14003bda1
xor edx, edx
call fcn.14002ffc0
xor r9d, r9d
mov rcx, rbx
test eax, eax
mov edx, r9d
sete dl
call fcn.140030470
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, rbx
call fcn.1400303c0
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1400303c0
test byte [rdi + 0x14], 1
jne 0x140040433
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.14002ff30
mov r15, qword [rsp + 0x30]
not rax
mov rdi, qword [rsp + 0x48]
mov qword [rbx], rax
jmp 0x14003aa7e
mov r8, qword [r14 + 0x108]
test r8, r8
je 0x14003be67
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r14 + 0x88]
mov r9, qword [r8 + 0x30]
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 0x14003c025
bts eax, edx
mov byte [rcx + r9], al
mov r9d, 0x9000
jmp 0x14003be7f
mov rax, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14003c025
mov rax, qword [r14 + 0x88]
mov r15, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
mov dword [r15 + 4], ecx
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rcx, rdi
mov edx, dword [rax + 0xc]
call fcn.14002ffc0
mov r15, qword [rsp + 0x30]
test eax, eax
jne 0x14003feb1
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
mov edx, r10d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rdi
call fcn.14002ffc0
mov r15, qword [rsp + 0x30]
test eax, eax
je 0x14003feb1
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rdi + 0x14], 1
jne 0x14003c02a
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, rdi
test byte [rcx + 0x14], 1
jne 0x14003c025
call fcn.140036dd0
mov r15, qword [rsp + 0x30]
cmp eax, dword [r15 + 0xc]
je 0x14003feb1
jmp 0x14003aa7e
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + rdi + 0x14], 1
jne 0x14003bfa9
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rdi + 0x14], 1
jne 0x14003bfa9
movsxd rax, dword [rbx + 8]
xor edx, edx
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140030470
mov r15, rbx
jmp 0x14003aa7e
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.1400303c0
mov r15, rbx
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rdi + 0x14], 1
je 0x14003c02a
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x14003ab06
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.1400303c0
mov r11d, 1
mov r15, qword [rsp + 0x30]
mov eax, dword [r15 + 8]
mov r14, qword [rsp + 0x50]
dec eax
cdqe
xor r10d, r10d
lea rcx, [rax + rax*2]
lea r15, [rsi + rcx*8]
jmp 0x14003aa87
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov r14d, dword [rcx + 8]
mov dword [rbp + 8], r14d
nop word [rax + rax]
mov r12, qword [rbx + 0x58]
mov eax, dword [r15 + 0x2c]
mov qword [rbp + 0x10], r12
cmp dword [rbx + 0x20], eax
je 0x14003c0ba
cmp byte [rbx + 2], 0
jne 0x14003c11d
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x14003c0b3
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14003c0e7
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14003c0e7
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x14003c066
cmp byte [rdi], 0
je 0x14003c0fe
jmp 0x14003c0c7
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003c1f5
mov rcx, rbx
call fcn.140034ba0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
je 0x14003c070
mov r12, qword [rsp + 0x30]
mov r14, r15
jmp 0x14003cf12
mov rcx, rbx
call fcn.140034b30
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040d8d
mov rcx, rdi
call fcn.140024d40
lea rsi, [rbx + 0x6c]
mov dword [rbx + 0x68], eax
mov rdx, rsi
mov rcx, rdi
call fcn.140025420
mov rcx, rax
jmp 0x14003c14b
cmp byte [rbx], 3
jne 0x14003c1c7
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x14003c1c7
imul rcx, rax, 0x38
lea rsi, [rbx + 0x6c]
add rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x10]
mov dword [rsi], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + 8]
mov qword [rbx + 0x60], rcx
lea rdi, [rbx + 0x40]
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r12], eax
mov qword [rsp + 0x70], rdi
cmp eax, 0x80
jae 0x14003c174
mov eax, 1
jmp 0x14003c183
mov rcx, qword [rbx + 0x60]
mov rdx, r12
call fcn.14000b380
movzx eax, al
mov dword [rdi], eax
lea r13, [rbx + 0x4a]
xor r10d, r10d
mov word [r13], r10w
mov eax, dword [r12]
cmp dword [rsi], eax
jae 0x14003c1ba
mov qword [rbx + 0x60], r10
mov dword [rsi], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x14003c360
cmp eax, dword [rbx + 0x68]
ja 0x14003c360
jmp 0x14003c1fc
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x78], rax
jmp 0x14003c26e
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.1400303c0
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
jmp 0x14003aa7e
lea r13, [rbx + 0x4a]
xor r10d, r10d
movzx eax, word [r13]
cmp eax, r14d
ja 0x14003c404
mov eax, dword [r12]
lea rdi, [rbx + 0x40]
mov qword [rsp + 0x70], rdi
cmp dword [rdi], eax
jae 0x14003c3a0
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x14003c269
xorps xmm0, xmm0
mov qword [rbp - 0x40], rax
movups xmmword [rbp - 0x70], xmm0
lea r8, [rbp - 0x70]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
mov edx, dword [r12]
mov rcx, qword [rbx + 0x30]
call fcn.140030c50
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040d88
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x78], rax
jmp 0x14003c26e
mov qword [rsp + 0x70], rdi
movzx r15d, word [r13]
mov edi, dword [rdi]
mov r14d, r15d
add rdi, rax
mov esi, dword [r12 + r15*4]
mov r12d, dword [r12]
add r12, rax
nop word [rax + rax]
movzx eax, byte [rdi]
mov dword [rbp - 0x80], eax
mov dword [rbx + r14*4 + 0x70], eax
mov eax, dword [rbp - 0x80]
cmp eax, 0x80
jae 0x14003c2b5
inc rdi
movzx ecx, al
call fcn.140034c30
movzx eax, al
jmp 0x14003c2d9
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14000b380
movzx eax, al
add rdi, rax
mov eax, dword [rbp - 0x80]
mov dword [rbx + r14*4 + 0x70], eax
mov ecx, dword [rbp - 0x80]
call fcn.140034c10
mov eax, eax
mov rcx, qword [rbp + 0x10]
inc r15d
add rsi, rax
movsxd r14, r15d
mov dword [rcx + r14*4], esi
cmp r15d, dword [rbp + 8]
ja 0x14003c2f7
cmp rdi, r12
jb 0x14003c290
jmp 0x14003c2fc
cmp rdi, r12
jb 0x14003c335
cmp rdi, r12
ja 0x14003c33d
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jne 0x14003c33d
sub edi, dword [rbp - 0x78]
cmp qword [rbx + 0x60], 0
mov rax, qword [rsp + 0x70]
mov word [r13], r15w
mov dword [rax], edi
jne 0x14003c328
lea rcx, [rbp - 0x70]
call fcn.14002fe90
mov edx, dword [rbp - 0x80]
mov r12, qword [rbp + 0x10]
mov r14d, dword [rbp + 8]
jmp 0x14003c3a6
mov eax, dword [rbx + 0x68]
cmp rsi, rax
jbe 0x14003c309
cmp dword [rcx], 0
jne 0x14003c34d
xor r9d, r9d
mov rdi, r12
mov r15d, r9d
jmp 0x14003c309
cmp qword [rbx + 0x60], 0
jne 0x14003c35d
lea rcx, [rbp - 0x70]
call fcn.14002fe90
xor r10d, r10d
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0xc]
test eax, eax
jle 0x1400407e6
mov r13, qword [rsp + 0x60]
dec eax
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r12, [rsi + rax*8]
mov qword [rsp + 0x30], r12
mov r15, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x38]
jmp 0x14003aa81
mov edx, r10d
mov dword [rbp - 0x80], edx
movzx eax, word [r13]
cmp eax, r14d
ja 0x14003c3ff
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
cmp byte [rdx + 1], 0xf6
jne 0x14003c3f8
mov rdx, qword [rdx + 0x10]
mov r8d, 0x2000
call fcn.1400306f0
mov r12d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
call fcn.1400303c0
jmp 0x14003c3da
mov esi, r14d
jmp 0x14003c40e
mov esi, r14d
mov edx, dword [rbx + rsi*4 + 0x70]
mov dword [rbp - 0x80], edx
mov r8, qword [rsp + 0x30]
movsxd rax, dword [r8 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x48]
test word [rdi + 0x14], ax
je 0x14003c43b
mov rcx, rdi
call fcn.1400303c0
mov edx, dword [rbp - 0x80]
mov r8, qword [rsp + 0x30]
lea eax, [r14 + 1]
mov eax, dword [r12 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x14003c52b
mov esi, dword [r12 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp edx, 0xc
jae 0x14003c46e
mov r8, rdi
mov rcx, rsi
call fcn.140034c40
mov r12d, dword [rsp + 0x38]
jmp 0x14003b300
movzx eax, byte [rsp + 0x3c]
lea ebx, [rdx - 0xc]
mov r13, qword [rsp + 0x60]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x14003c4b6
cmp ebx, dword [r13 + 0x88]
jg 0x140040a1d
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.14002f6b0
test eax, eax
jne 0x140040d65
jmp 0x14003c4be
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.1400ff4e0
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r12d, dword [rsp + 0x38]
mov r9d, 0x9000
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov byte [rbx + rax], 0
mov rax, qword [rdi + 8]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x80]
and eax, 1
xor r10d, r10d
movzx eax, word [rcx + rax*2 + 0x13f65c]
mov word [rdi + 0x14], ax
lea r11d, [r10 + 1]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
movzx eax, byte [rsp + 0x3c]
mov byte [rdi + 0x16], al
movzx eax, word [r8 + 2]
mov edx, dword [rbp - 0x80]
test al, 0xc0
je 0x14003c54d
cmp edx, 0xc
jb 0x14003c549
test dl, 1
je 0x14003c55b
test al, al
js 0x14003c55b
mov ecx, edx
call fcn.140034c10
test eax, eax
jne 0x14003c574
mov edx, dword [rbp - 0x80]
mov r8, rdi
lea rcx, [0x140140480]
call fcn.140034c40
mov r12d, dword [rsp + 0x38]
jmp 0x14003b300
mov r13, qword [rsp + 0x60]
cmp eax, dword [r13 + 0x88]
jg 0x140040a1d
mov edx, dword [r12 + rsi*4]
mov r9, rdi
mov rcx, qword [rbx + 0x30]
mov r8d, eax
call fcn.140030b40
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x1400407fc
mov edx, dword [rbp - 0x80]
mov r8, rdi
mov rcx, qword [rdi + 8]
call fcn.140034c40
mov r12d, dword [rsp + 0x38]
mov eax, 0xbfff
and word [rdi + 0x14], ax
jmp 0x14003b305
mov rax, qword [rsp + 0x30]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rsi, rax, 0x38
mov r15, qword [r14 + 8]
add rsi, rdi
mov edi, r10d
cmp r10w, word [r14 + 0x36]
jge 0x140040689
lea rbx, [r15 + 0xc]
movzx eax, word [rbx + 6]
test al, 0x60
je 0x14003c613
test al, 0x20
jne 0x14003c6c3
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0xc], 0
jne 0x14003c6bf
movzx r8d, byte [rsp + 0x3c]
mov rcx, rsi
movzx edx, byte [rbx]
call fcn.14003a400
movzx ecx, word [rsi + 0x14]
test cl, 1
jne 0x14003c6bf
mov eax, dword [rbx - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x14003c6b6
sub eax, 1
je 0x14003c6b1
sub eax, 1
je 0x14003c6b1
sub eax, 1
je 0x14003c658
cmp eax, 1
jne 0x14003c6bf
test cl, 2
jmp 0x14003c6b9
test cl, 4
je 0x14003c6ac
mov rdx, qword [rsi]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14003c68e
or cx, 0x20
mov eax, 0xfffb
and cx, ax
mov word [rsi + 0x14], cx
jmp 0x14003c6bf
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
mov eax, 0xfffb
and cx, ax
movsd qword [rsi], xmm0
mov word [rsi + 0x14], cx
jmp 0x14003c6bf
test cl, 0x28
jmp 0x14003c6b9
test cl, 4
jmp 0x14003c6b9
test cl, 0x10
je 0x140040806
add rsi, 0x38
movsx eax, word [r14 + 0x36]
inc edi
add rbx, 0x18
cmp edi, eax
jl 0x14003c5f4
jmp 0x14003b305
mov rax, qword [rsp + 0x30]
movzx esi, byte [rsp + 0x3c]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, qword [rsp + 0x48]
nop dword [rax]
movzx r8d, sil
movzx edx, al
mov rcx, rbx
call fcn.14003a400
cmp byte [rdi], 0x45
jne 0x14003c761
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x14003c761
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14003c74a
and cx, ax
or cx, 0x20
jmp 0x14003c75d
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 0x140040433
add rbx, 0x38
jmp 0x14003c700
mov rbx, qword [rsp + 0x30]
mov r14, r10
mov r12d, r10d
mov qword [rbp - 0x78], r10
mov r13, r10
movsxd rax, dword [rbx + 4]
mov rdi, qword [rbx + 0x10]
imul rcx, rax, 0x38
mov eax, dword [rbx + 8]
add rcx, qword [rsp + 0x48]
dec eax
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
add rsi, rcx
mov qword [rbp + 0x10], rcx
add rdx, qword [rsp + 0x48]
mov qword [rsp + 0x70], rsi
mov qword [rbp + 8], rdx
test rdi, rdi
je 0x14003c825
movzx eax, byte [rdi]
lea rbx, [rcx + 0x14]
movzx esi, byte [rsp + 0x3c]
mov r13d, 0xfffb
nop dword [rax + rax]
lea rcx, [rbx - 0x14]
movzx r8d, sil
movzx edx, al
call fcn.14003a400
cmp byte [rdi], 0x45
jne 0x14003c807
movzx eax, word [rbx]
test al, 4
je 0x14003c807
and ax, r13w
or ax, 0x20
mov word [rbx], ax
movzx eax, byte [rdi + 1]
inc rdi
add rbx, 0x38
test al, al
jne 0x14003c7e0
mov r13, qword [rbp - 0x78]
mov r11d, 1
mov rsi, qword [rsp + 0x70]
lea r15, [rsi + 0x24]
nop dword [rax]
movzx ecx, word [r15 - 0x10]
test cl, 1
je 0x14003c855
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r15], eax
inc r12d
jmp 0x14003c9b7
test cl, 0x24
je 0x14003c952
mov r8, qword [r15 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14003c86d
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14003c8a8
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14003c89a
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0xc3], 4
jb 0x14003c89a
lea eax, [rdx + 8]
mov dword [r15], eax
jmp 0x14003c9b7
mov eax, r11d
inc r14
mov dword [r15], eax
jmp 0x14003c9b7
cmp rdx, 0x7fff
ja 0x14003c8c2
mov eax, 2
add r14, 2
mov dword [r15], eax
jmp 0x14003c9b7
cmp rdx, 0x7fffff
ja 0x14003c8dc
mov eax, 3
add r14, 3
mov dword [r15], eax
jmp 0x14003c9b7
cmp rdx, 0x7fffffff
ja 0x14003c8f6
mov eax, 4
add r14, 4
mov dword [r15], eax
jmp 0x14003c9b7
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003c916
mov eax, 5
add r14, 6
mov dword [r15], eax
jmp 0x14003c9b7
add r14, 8
test cl, 0x20
je 0x14003c948
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
mov word [r15 - 0x10], cx
movsd qword [r15 - 0x24], xmm0
mov dword [r15], eax
jmp 0x14003c9b7
mov eax, 6
mov dword [r15], eax
jmp 0x14003c9b7
test cl, 8
je 0x14003c967
inc r12d
mov dword [r15], 7
add r14, 8
jmp 0x14003c9b7
mov edi, dword [r15 - 0x14]
mov eax, ecx
shr eax, 1
and eax, 1
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x14003c9a5
movsxd rax, dword [r15 - 0x24]
lea esi, [rsi + rax*2]
test r14, r14
je 0x14003c9a2
lea rcx, [r15 - 0x24]
call fcn.14002fa30
test eax, eax
jne 0x140040d60
add edi, dword [r15 - 0x24]
jmp 0x14003c9a5
add r13, rax
mov eax, edi
mov ecx, esi
add r14, rax
call fcn.14000b400
add r12d, eax
mov dword [r15], esi
lea rax, [r15 - 0x24]
cmp rax, qword [rbp + 0x10]
je 0x14003c9d0
sub r15, 0x38
mov r11d, 1
jmp 0x14003c830
cmp r12d, 0x7e
jle 0x14003c9ef
movsxd rcx, r12d
call fcn.14000b400
add r12d, eax
mov ebx, eax
movsxd rcx, r12d
call fcn.14000b400
cmp ebx, eax
jge 0x14003c9f2
inc r12d
mov rdi, qword [rbp + 8]
movsxd r15, r12d
movsxd rax, dword [rdi + 0x20]
lea rbx, [r15 + r14]
lea rcx, [rbx + r13]
cmp rcx, rax
jg 0x14003ca14
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
jmp 0x14003ca3b
mov rax, qword [rsp + 0x60]
movsxd rax, dword [rax + 0x88]
cmp rcx, rax
jg 0x140040a18
mov edx, ebx
mov rcx, rdi
call fcn.14002f950
test eax, eax
jne 0x140040d60
mov dword [rdi + 0x10], ebx
mov eax, 0x10
mov word [rdi + 0x14], ax
test r13, r13
je 0x14003ca58
mov eax, 0x410
mov dword [rdi], r13d
mov word [rdi + 0x14], ax
mov rdi, qword [rdi + 8]
lea rsi, [r15 + rdi]
cmp r12d, 0x80
jge 0x14003ca71
mov byte [rdi], r12b
inc rdi
jmp 0x14003ca82
mov rdx, r15
mov rcx, rdi
call fcn.14000b150
movsxd rcx, eax
add rdi, rcx
mov rbx, qword [rbp + 0x10]
mov r14, qword [rsp + 0x70]
add rbx, 0x10
nop
mov eax, dword [rbx + 0x14]
cmp eax, 7
ja 0x14003cae5
mov byte [rdi], al
inc rdi
test eax, eax
je 0x14003cb2c
mov rdx, qword [rbx - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x140be0]
mov r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + rsi]
mov byte [r8], dl
je 0x14003cae0
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x14003cad0
add rsi, r9
jmp 0x14003cb2c
cmp eax, 0x80
jae 0x14003caff
mov byte [rdi], al
inc rdi
cmp eax, 0xe
jb 0x14003cb2c
movsxd rax, dword [rbx]
test eax, eax
jle 0x14003cb2c
jmp 0x14003cb17
mov rdx, rax
mov rcx, rdi
call fcn.14000b150
movsxd rcx, eax
movsxd rax, dword [rbx]
add rdi, rcx
test eax, eax
je 0x14003cb2c
mov rdx, qword [rbx - 8]
mov r8, rax
mov rcx, rsi
call fcn.1400ff4e0
movsxd rax, dword [rbx]
add rsi, rax
lea rax, [rbx - 0x10]
cmp rax, r14
je 0x14004042e
add rbx, 0x38
jmp 0x14003ca90
mov rbx, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x14003cb6e
mov rcx, rdx
call fcn.140026210
mov qword [rbp + 0x88], rax
jmp 0x14003cb96
lea r8, [rbp + 0x88]
mov qword [rbp + 0x88], r10
mov rcx, r13
call fcn.14002d210
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040d9a
mov r12d, eax
mov rdx, rbx
mov rcx, r14
call fcn.14003a600
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
jmp 0x14004006b
mov r12, qword [rsp + 0x30]
mov r14d, dword [r12 + 4]
mov rdi, qword [r12 + 0x10]
mov dword [rbp - 0x78], r14d
test r14d, r14d
jne 0x14003cc80
cmp dword [r13 + 0xe0], r14d
jg 0x14004086e
mov rcx, rdi
call fcn.14000a170
mov r8d, dword [r13 + 0x2ec]
xor edx, edx
add r8d, dword [r13 + 0x2e8]
mov rcx, r13
movsxd rsi, eax
call fcn.1400a3060
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf0d
lea rdx, [rsi + 0x21]
mov rcx, r13
call fcn.140006d60
mov rbx, rax
test rax, rax
je 0x14003cf49
lea r9, [rax + 0x20]
mov rdx, rdi
lea ecx, [rsi + 1]
mov qword [rax], r9
movsxd r8, ecx
mov rcx, r9
call fcn.1400ff4e0
cmp byte [r13 + 0x65], r14b
je 0x14003cc4c
mov byte [r13 + 0x65], r14b
mov byte [r13 + 0x6d], 1
jmp 0x14003cc53
inc dword [r13 + 0x2e8]
mov rax, qword [r13 + 0x2d8]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x2f0]
mov qword [r13 + 0x2d8], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x2f8]
mov qword [rbx + 0x10], rax
jmp 0x14003cf49
mov rsi, qword [r13 + 0x2d8]
mov r12d, r10d
test rsi, rsi
je 0x14003ccab
nop
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.14000a510
test eax, eax
je 0x14003ccda
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x14003cc90
mov r14, qword [rsp + 0x50]
lea rdx, str.no_such_savepoint:__s
mov rcx, r14
mov r8, rdi
call fcn.1400315d0
mov r12, qword [rsp + 0x30]
mov r15d, 1
mov r8d, r15d
mov dword [rsp + 0x38], r15d
jmp 0x14003cf18
cmp dword [r13 + 0xe0], 0
jle 0x14003ccee
cmp r14d, 1
je 0x140040892
cmp qword [rsi + 0x18], 0
jne 0x14003cd5f
cmp byte [r13 + 0x6d], 0
je 0x14003cd5f
mov r15d, 1
mov dword [rbp + 8], r15d
cmp r14d, r15d
jne 0x14003cd66
mov rbx, qword [rsp + 0x50]
mov edx, r15d
mov rcx, rbx
call fcn.140034280
mov edi, eax
test eax, eax
jne 0x140040eb4
mov rcx, rbx
mov byte [r13 + 0x65], r15b
call fcn.1400342f0
cmp eax, 5
je 0x1400408cd
mov r8d, dword [rbx + 0x34]
mov dword [rsp + 0x38], r8d
test r8d, r8d
jne 0x1400408bb
mov byte [r13 + 0x6d], r8b
lea r15, [r13 + 0x2e8]
lea ebx, [rdi + 1]
jmp 0x14003ce79
xor ecx, ecx
mov dword [rbp + 8], ecx
jmp 0x14003cd68
xor ecx, ecx
lea r15, [r13 + 0x2e8]
mov eax, dword [r15]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x14003cddd
mov rax, qword [rsp + 0x60]
mov edi, ecx
mov r13d, dword [r13 + 0x2c]
and r13d, 1
cmp dword [rax + 0x28], 0
jle 0x14003cde0
mov r14d, r13d
mov rbx, rcx
xor r14d, 1
nop
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140024590
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x1400407f7
mov rax, qword [rsp + 0x60]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14003cda0
mov r14d, dword [rbp - 0x78]
xor ecx, ecx
jmp 0x14003cde0
mov r13d, ecx
mov rax, qword [rsp + 0x60]
mov edi, ecx
cmp dword [rax + 0x28], 0
jle 0x14003ce25
mov rbx, rcx
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rcx + rbx + 8]
call fcn.140024880
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x1400407f7
mov rax, qword [rsp + 0x60]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14003cdf0
jmp 0x14003ce2a
mov r8d, dword [rsp + 0x38]
test r13d, r13d
mov r13, qword [rsp + 0x60]
je 0x14003ce6d
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x14003ce5b
nop dword [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 0x14003ce40
mov rcx, r13
call fcn.1400602f0
or dword [r13 + 0x2c], 1
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x1400407fc
mov ebx, dword [rbp + 8]
mov rcx, qword [r13 + 0x2d8]
cmp rcx, rsi
je 0x14003ceaa
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r13
mov qword [r13 + 0x2d8], rax
call fcn.140006940
dec dword [r15]
mov rcx, qword [r13 + 0x2d8]
cmp rcx, rsi
jne 0x14003ce85
cmp r14d, 1
jne 0x14003cecf
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r13
mov qword [r13 + 0x2d8], rax
call fcn.140006940
test ebx, ebx
jne 0x14003cf44
dec dword [r15]
jmp 0x14003ceef
mov rax, qword [rsi + 8]
mov qword [r13 + 0x2f0], rax
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x2f8], rax
test ebx, ebx
je 0x14003ceef
cmp r14d, 2
jne 0x14003cf44
mov r8d, r12d
mov edx, r14d
mov rcx, r13
call fcn.1400a3060
mov r12, qword [rsp + 0x30]
mov r8d, eax
mov dword [rsp + 0x38], eax
test eax, eax
je 0x14003cf49
mov r14, qword [rsp + 0x50]
mov r15d, 1
mov ebx, 0xb
lea rdi, [0x14013ee14]
mov rsi, qword [rsp + 0x40]
cmp byte [r13 + 0x67], 0
je 0x140040daa
mov r8d, 7
mov dword [rsp + 0x38], r8d
jmp 0x140040dda
mov r12, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
cmp byte [r14 + 0xc5], 3
je 0x14004090a
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov dword [rbp + 8], r10d
mov edx, dword [r12 + 8]
test edx, edx
je 0x14003cf9e
mov rax, qword [r13 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x140040914
movsxd r14, dword [r12 + 4]
shl r14, 5
add r14, qword [r13 + 0x20]
mov rsi, qword [r14 + 8]
test rsi, rsi
je 0x14003d080
lea r8, [rbp + 8]
mov rcx, rsi
call fcn.140022eb0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040936
mov r15, qword [rsp + 0x50]
test byte [r15 + 0xc8], 0x20
lea rdi, [r15 + 0xc8]
je 0x14003d09a
lea rdi, [r15 + 0xc8]
cmp dword [r12 + 8], eax
je 0x14003d09a
cmp byte [r13 + 0x65], al
je 0x14003d01a
cmp dword [r13 + 0xdc], 1
lea rdi, [r15 + 0xc8]
jle 0x14003d09a
mov r8d, dword [r15 + 0x40]
test r8d, r8d
jne 0x14003d03c
inc dword [r13 + 0x2ec]
mov r8d, dword [r13 + 0x2ec]
add r8d, dword [r13 + 0x2e8]
mov dword [r15 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.1400a3060
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14003d061
mov edx, dword [r15 + 0x40]
mov rcx, rsi
call fcn.140024810
mov dword [rsp + 0x38], eax
mov rax, qword [r13 + 0x2f0]
lea rdi, [r15 + 0xc8]
mov qword [r15 + 0x58], rax
mov rax, qword [r13 + 0x2f8]
mov qword [r15 + 0x60], rax
jmp 0x14003d08c
mov rdi, qword [rsp + 0x50]
add rdi, 0xc8
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14003cf0d
cmp word [r12 + 2], 0
je 0x14003bc16
mov eax, dword [r12 + 0xc]
mov rbx, rdi
cmp dword [rbp + 8], eax
jne 0x140040987
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
mov r14, qword [rsp + 0x50]
cmp dword [rcx + 4], eax
jne 0x14004097e
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rcx, qword [r13 + 0x20]
lea r8, [rbp + 0x84]
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov edx, dword [r15 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002d090
movsxd rax, dword [r15 + 8]
mov r9d, 0x9000
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], r9w
je 0x14003d13c
call fcn.14003a5d0
mov rcx, rax
mov r9d, 0x9000
jmp 0x14003d145
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [rbp + 0x84]
mov qword [rcx], rax
mov r11d, 1
xor r10d, r10d
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r12, qword [rsp + 0x30]
movsxd rbx, dword [r12 + 4]
mov r8d, dword [r12 + 0xc]
mov edx, dword [r12 + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002d120
mov dword [rsp + 0x38], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x14003d1c7
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r13
or dword [r13 + 0x2c], 1
mov edx, dword [r12 + 4]
call fcn.140074130
jmp 0x14003d1d9
cmp eax, 2
jne 0x14003d1d9
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x14003d1f3
xor edx, edx
mov rcx, r13
call fcn.1400364d0
and dword [r14 + 0xc8], 0xfffffffc
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14003cf12
mov r15, qword [rsp + 0x30]
mov r12d, r8d
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14003d242
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x44], eax
jne 0x14003d242
mov rcx, qword [rdi + 0x30]
call fcn.14001fa90
jmp 0x14003d355
mov r12, qword [rsp + 0x30]
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, 1
je 0x1400409f5
mov r15d, dword [r12 + 8]
mov edi, r10d
movsxd r12, dword [r12 + 0xc]
mov r14, r10
mov rax, r12
shl rax, 5
add rax, qword [r13 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x14003d2a3
mov rcx, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
and esi, 8
mov rax, qword [rsp + 0x50]
or esi, 4
cmp cl, byte [rax + 0xc3]
jae 0x14003d2a6
mov byte [rax + 0xc3], cl
jmp 0x14003d2a6
mov esi, r10d
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 0x10
je 0x14003d2ca
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140030020
mov rcx, qword [rsp + 0x30]
mov r15d, dword [rbx]
movzx eax, byte [rcx + 1]
cmp al, 0xf8
jne 0x14003d2dd
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14003d2e4
cmp al, 0xfd
jne 0x14003d2e4
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, edi
call fcn.14003a1a0
mov rdi, rax
test rax, rax
je 0x140040d60
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.140024a60
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov qword [rdi + 0x38], r14
cmp byte [r12 + 1], 0xf8
mov r14, qword [rsp + 0x50]
mov dword [rsp + 0x38], eax
setne al
mov byte [rdi + 4], al
movzx edx, word [r12 + 2]
mov rcx, qword [rdi + 0x30]
and edx, 3
call fcn.14001fd40
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14003cf12
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
xor r9d, r9d
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 8]
mov edx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
movsx r8d, word [rbx + 0x48]
call fcn.14003a1a0
mov r10, rax
test rax, rax
je 0x14003ae96
mov edx, dword [rax + 8]
mov r8d, 4
mov byte [rax + 2], 1
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, edx
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140024a60
mov r15, qword [rsp + 0x30]
mov r12d, eax
mov dword [rsp + 0x38], eax
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14003d45d
imul rcx, rax, 0x38
mov dword [rcx + rdi + 0x10], r10d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140138068]
mov qword [rcx + rdi + 8], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14003d4b7
test byte [rbx + 8], 8
jne 0x14003d4b7
movsx eax, word [rbx + 0x48]
cmp dword [r12 + 8], eax
jg 0x14003d4b7
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.14002cac0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov r15, qword [rsp + 0x30]
mov r12d, eax
mov byte [rbx + 2], 1
jmp 0x14003aa7e
mov r8d, dword [r12 + 8]
xor r9d, r9d
mov rcx, r14
call fcn.14003a1a0
mov rbx, rax
test rax, rax
je 0x14003ae96
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r12 + 2]
mov r8, r13
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r13]
call fcn.140021780
mov dword [rsp + 0x38], eax
mov r8d, eax
mov r15d, 1
test eax, eax
jne 0x14003cf18
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.140022eb0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003d5bb
mov r14, qword [r12 + 0x10]
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x14003d58a
movzx r8d, word [r12 + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.14002c780
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003d584
mov rax, qword [rbx + 0x30]
lea r8d, [r15 + 3]
mov edx, dword [rbx + 0x44]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140024a60
mov r8d, eax
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], 0
jmp 0x14003d5b1
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r15d
mov dword [rbx + 0x44], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140024a60
mov r8d, eax
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], r15b
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
xor r9d, r9d
mov eax, 4
cmp word [r12 + 2], 8
mov ecx, r9d
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r8d, r8d
jne 0x140040a05
mov rdi, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov byte [rbx + 2], 1
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov r9b, 1
mov rcx, r14
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.14003a1a0
test rax, rax
je 0x14003ae96
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r13
mov edx, dword [r12 + 0xc]
call fcn.140042980
jmp 0x14003b7fa
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14003feb1
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
mov r9b, 3
mov rcx, r14
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14003a1a0
test rax, rax
je 0x14003ae91
mov rcx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x1401633ac]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], 1
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003d6f0
mov rcx, r14
call fcn.140033540
xor r10d, r10d
mov r9d, 0x9000
lea r11d, [r10 + 1]
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x14003ab66
mov rax, qword [rsp + 0x30]
mov r12d, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov word [rsi + 2], 0
mov dword [rsi + 0x20], r10d
je 0x14003d831
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x48]
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x14003d759
xor edx, edx
mov rcx, rdi
call fcn.14003a2d0
mov rcx, rdi
call fcn.14002ff30
movzx edx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test dl, 0x24
jne 0x14003d805
test dl, 8
jne 0x14003d7e3
test dl, 1
jne 0x14003fea2
cmp ebx, 0x16
jae 0x14003fea2
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp]
call fcn.140025910
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x1400407fc
cmp dword [rbp], 0
jne 0x14003fea2
xor r10d, r10d
test r12d, r12d
je 0x140040436
add qword [rsp + 0x30], 0x18
mov r15, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa81
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.1400353b0
test eax, eax
jle 0x14003d7fc
test bl, 1
je 0x14003d805
dec ebx
jmp 0x14003d805
jns 0x14003d805
test bl, 1
jne 0x14003d805
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp]
xor r8d, r8d
mov rdx, r15
call fcn.140025a10
mov dword [rsp + 0x38], eax
mov r8d, eax
mov qword [rsi + 0x50], r15
test eax, eax
jne 0x1400407fc
jmp 0x14003d8a9
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
mov rcx, qword [rsp + 0x30]
lea r8, [rbp]
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x20], rax
movzx eax, word [rcx + 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 [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x48]
mov qword [rbp + 0x28], rcx
mov rcx, qword [rdi]
call fcn.140025c90
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x1400407fc
test r14b, r14b
je 0x14003d8a9
cmp byte [rbp + 0x42], al
je 0x14003d7a9
mov eax, dword [rbp]
cmp ebx, 0x16
jl 0x14003d90f
test eax, eax
js 0x14003d8c8
jne 0x14003d8bc
cmp ebx, 0x17
je 0x14003d8c8
xor r10d, r10d
mov dword [rbp], r10d
jmp 0x14003d7b6
xor ebx, ebx
xor edx, edx
mov dword [rbp], ebx
mov rcx, qword [rdi]
call fcn.140026470
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
je 0x14003d7a9
cmp eax, 0x65
jne 0x1400407fc
mov rdi, qword [rsp + 0x48]
mov r11d, 1
mov rsi, qword [rsp + 0x58]
mov r12d, ebx
mov dword [rbp], r11d
mov dword [rsp + 0x38], ebx
jmp 0x14003c025
test eax, eax
jg 0x14003d92a
jne 0x14003d91a
cmp ebx, 0x14
je 0x14003d92a
mov rcx, qword [rdi]
call fcn.140026200
mov dword [rbp], eax
jmp 0x14003d7a9
xor ebx, ebx
xor edx, edx
mov dword [rbp], ebx
mov rcx, qword [rdi]
call fcn.140026640
jmp 0x14003d8d7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x1400406b2
mov rax, qword [rdi + 0x38]
mov r12, qword [rsp + 0x30]
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x3e], 0
mov dword [rbp + 0x70], r10d
movzx eax, word [r12 + 0x28]
mov ebx, dword [r12 + 4]
mov word [rbp + 0x3c], ax
movsxd rax, dword [r12 + 0x24]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x48]
mov qword [rbp + 0x28], rcx
nop
lea r9, [rbp + 0x70]
mov rdx, rdi
lea r8, [rbp + 0x20]
mov rcx, r13
call fcn.140036390
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov eax, dword [rbp + 0x70]
test eax, eax
jg 0x14003d9f5
je 0x14003fec1
test ebx, ebx
jle 0x140040433
mov rcx, qword [rdi + 0x30]
xor edx, edx
dec ebx
call fcn.140026470
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
je 0x14003d990
cmp eax, 0x65
jne 0x14003cf12
xor r9d, r9d
mov r12d, r9d
mov dword [rsp + 0x38], r9d
jmp 0x14003d9fa
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov r11d, 1
mov rdi, qword [rsp + 0x48]
add r15, 0x18
jmp 0x14003c02a
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x14003da3d
mov word [rdx + 0xc], ax
jmp 0x14003ab66
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
cmp ecx, eax
lea rcx, [0x140000000]
jle case.default.0x14003a882
mov word [rdx + 0xc], ax
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x14003a882.8
jmp 0x14003ab66
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r15 + 0x10]
jge case.0x14003a882.89
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rdi
mov word [rbp + 0x3c], ax
mov qword [rbp + 0x28], rcx
test ax, ax
je 0x14003db06
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.140025c90
mov r8d, eax
mov dword [rsp + 0x38], eax
jmp 0x14003db7a
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14003db1e
call fcn.14002fa30
test eax, eax
jne 0x14003ae96
mov rcx, qword [rbx + 0x38]
call fcn.140034eb0
mov rdi, rax
test rax, rax
je 0x14003ae96
mov rcx, qword [rbp + 0x28]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.140034f10
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.140025c90
mov rdx, rdi
mov dword [rsp + 0x38], eax
mov rcx, r13
call fcn.140006940
mov r8d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
test r8d, r8d
jne 0x14003cf12
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r8b
setne al
xor r10d, r10d
mov dword [rbx + 0x20], r10d
mov byte [rbx + 2], al
movzx eax, byte [r12]
cmp al, 0x1c
jne 0x14003dbbd
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
test ecx, ecx
je 0x14003feb1
jmp 0x14003aa81
test ecx, ecx
jne 0x14003fea2
cmp al, 0x1a
jne 0x14003dc0a
movzx edx, word [rbp + 0x3c]
mov rcx, r10
test rdx, rdx
je 0x140040436
mov rax, qword [rbp + 0x28]
add rax, 0x14
test byte [rax], 1
jne 0x14003fea2
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14003dbe1
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa81
cmp al, 0x19
jne 0x140040436
movzx eax, word [r12 + 0x10]
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
mov word [rbx + 0xc], ax
jmp 0x14003aa81
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
test byte [rcx + 0x14], 0x24
jne case.0x14003a882.30
movups xmm0, xmmword [rcx]
movzx r8d, byte [rsp + 0x3c]
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.14003a400
test byte [rbp + 0x34], 4
je 0x14003feac
mov rdi, qword [rbp + 0x20]
xor r10d, r10d
mov r12, qword [rsp + 0x30]
jmp 0x14003dca2
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + rdi]
movsxd rcx, dword [r12 + 4]
lea r9, [rbp + 0x58]
mov rax, qword [r14 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
mov dword [rbp + 0x58], r10d
call fcn.140025a10
xor r10d, r10d
mov qword [rbx + 0x50], rdi
mov dword [rbx + 0x20], r10d
mov r8d, eax
mov word [rbx + 2], 0
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x58]
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0x58], r10d
je 0x14003dd09
cmp dword [r12 + 8], r10d
jne 0x14003fec1
mov ecx, 0x16d79
call fcn.1400c9550
mov r8d, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
test r8d, r8d
jne 0x14003cf12
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa81
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], r9w
je 0x14003dd58
mov rcx, rdx
call fcn.14003a5d0
xor r10d, r10d
mov rdx, rax
mov r9d, 0x9000
lea r11d, [r10 + 1]
jmp 0x14003dd5d
mov word [rdx + 0x14], r8w
mov rax, qword [r14 + 0x78]
mov r15, 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 [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
lea rcx, [0x140000000]
inc qword [rdx + 0x18]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r12, qword [rsp + 0x30]
mov qword [rbp - 0x78], r10
mov dword [rbp + 8], r10d
movsxd rax, dword [r12 + 8]
imul rsi, rax, 0x38
add rsi, qword [r14 + 0x68]
test word [rsi + 0x14], r9w
je 0x14003ddc6
mov rcx, rsi
call fcn.14003a5d0
mov rsi, rax
jmp 0x14003ddcb
mov word [rsi + 0x14], r8w
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
test byte [rdi + 8], 2
jne 0x14003de3c
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 8]
call fcn.140025910
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
cmp dword [rbp + 8], eax
je 0x14003de0b
mov r15d, 1
mov qword [rbp - 0x78], r15
jmp 0x14003de42
mov rcx, qword [rdi + 0x30]
call fcn.140024d00
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x78], rax
mov r15d, 1
cmp rax, rcx
jl 0x14003de33
or dword [rdi + 8], 2
jmp 0x14003de42
inc rax
mov qword [rbp - 0x78], rax
jmp 0x14003de42
mov r15d, 1
movsxd rdx, dword [r12 + 0xc]
test edx, edx
je 0x14003ded0
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x14003de7a
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003de70
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003de64
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14003de83
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14002ff30
movzx ecx, word [rbx + 0x14]
mov edx, 0xf244
and cx, dx
mov qword [rbx], rax
or cx, 4
mov word [rbx + 0x14], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003df31
test byte [rdi + 8], 2
jne 0x14003df31
mov rcx, qword [rbp - 0x78]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x78], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x14003df41
xor r9d, r9d
mov ebx, r9d
nop dword [rax]
lea rdx, [rbp - 0x78]
mov ecx, 8
call fcn.140009850
mov rdx, qword [rbp - 0x78]
lea r9, [rbp + 8]
movabs rax, 0x3fffffffffffffff
xor r8d, r8d
and rdx, rax
inc rdx
mov qword [rbp - 0x78], rdx
mov rcx, qword [rdi + 0x30]
call fcn.140025a10
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf18
cmp dword [rbp + 8], eax
jne 0x14003df41
inc ebx
cmp ebx, 0x64
jl 0x14003dee0
mov r8d, 0xd
mov dword [rsp + 0x38], r8d
jmp 0x14003cf18
mov r12d, dword [rsp + 0x38]
xor r10d, r10d
mov r15, qword [rsp + 0x30]
mov dword [rdi + 0x20], r10d
mov byte [rdi + 3], 0
mov rax, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x48]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa81
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, rdi
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
cmp byte [r12 + 1], 0xfb
mov r8, qword [rcx + rdi]
mov qword [rbp + 0x28], r8
jne 0x14003dfc5
cmp qword [r13 + 0x140], 0
je 0x14003dfc5
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14003dfcb
mov rdi, r10
mov rsi, r10
test byte [r12 + 2], 1
je 0x14003dfd7
inc qword [r14 + 0x38]
test byte [r12 + 2], 0x20
je 0x14003dfe3
mov qword [r13 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x30], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x44], eax
test r8b, 0x10
je 0x14003e003
mov r9d, dword [rbx + 0x24]
jmp 0x14003e006
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x14003e018
mov eax, dword [rdx]
mov dword [rbp + 0x48], eax
jmp 0x14003e01c
mov dword [rbp + 0x48], r10d
mov qword [rbp + 0x20], r10
lea rdx, [rbp + 0x20]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.14002b040
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], 0
mov r8d, eax
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14003cf12
test rdi, rdi
je 0x140040436
test byte [r12 + 2], 4
mov edx, 0x12
mov r9, qword [rdi]
mov eax, 0x17
mov rcx, qword [r13 + 0x138]
cmovne edx, eax
mov rax, qword [rbp + 0x28]
mov r8, rsi
mov qword [rsp + 0x20], rax
call qword [r13 + 0x140]
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x78]
movsxd rax, dword [r12 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r12 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r12 + 0xc]
test eax, eax
je 0x14003e0de
mov rdx, qword [rdx + 0x30]
imul rcx, rax, 0x38
mov r8, qword [rcx + rdi]
mov rcx, qword [r9 + 0x30]
call fcn.14002b6c0
jmp 0x14003b7fa
mov rdx, qword [rdx + 0x30]
mov r8, r10
mov rcx, qword [r9 + 0x30]
call fcn.14002b6c0
jmp 0x14003b7fa
mov r12, qword [rsp + 0x30]
lea rdi, [r13 + 0x140]
mov rax, qword [r14 + 0x78]
cmp byte [r12 + 1], 0xfb
movsxd rcx, dword [r12 + 4]
mov r15d, dword [r12 + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14003e152
cmp qword [rdi], 0
je 0x14003e152
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rsi, qword [r12 + 0x10]
shl rcx, 5
test byte [r12 + 2], 2
mov r14, qword [rcx + rax]
je 0x14003e158
cmp byte [rbx + 4], 0
je 0x14003e158
mov rcx, qword [rbx + 0x30]
call fcn.140024d00
mov qword [rbx + 0x50], rax
jmp 0x14003e158
mov r14, r10
mov rsi, r10
movzx edx, byte [r12 + 2]
mov rcx, qword [rbx + 0x30]
call fcn.14002bc30
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [rbx + 0x20], r10
mov r8d, eax
test eax, eax
jne 0x14003cf0d
test r15b, 1
je 0x140040436
mov rax, qword [rsp + 0x50]
inc qword [rax + 0x38]
mov r10, qword [rdi]
test r10, r10
je 0x140040433
test rsi, rsi
je 0x140040433
test byte [rsi + 0x30], 0x80
jne 0x140040433
mov rax, qword [rbx + 0x50]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r13 + 0x138]
mov qword [rsp + 0x20], rax
call r10
mov r12d, dword [rsp + 0x38]
jmp 0x14003b305
mov rdx, qword [r14 + 0x38]
mov rcx, r13
call fcn.1400364c0
xor r10d, r10d
mov qword [r14 + 0x38], r10
jmp 0x14003aa81
mov r12, qword [rsp + 0x30]
lea r9, [rbp + 0x74]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov r8d, dword [r12 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x74], r10d
add rdx, rdi
call fcn.140045470
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov r12d, eax
mov r15, qword [rsp + 0x30]
cmp dword [rbp + 0x74], eax
jne 0x14003feb1
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, rdi
mov rcx, qword [rax + rcx*8]
call fcn.1400453a0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
movsxd rcx, dword [r12 + 0xc]
xor r10d, r10d
mov rax, qword [r14 + 0x78]
mov r12d, r8d
mov r15, qword [rsp + 0x30]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x14003aa81
mov r12, qword [rsp + 0x30]
mov rcx, r14
mov rdx, r12
call fcn.14003a600
mov rcx, qword [r14 + 0x78]
mov rbx, rax
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x30]
mov rcx, rdi
call fcn.140024d40
cmp eax, dword [r13 + 0x88]
ja 0x140040a27
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.140030c50
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
cmp dword [r12 + 0xc], eax
jne 0x140040433
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x140040433
mov rcx, rbx
call fcn.14002f9d0
test eax, eax
jne 0x14003ae96
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov rbx, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rbx
call fcn.14003a600
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r14 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x14003e36c
mov r15, qword [rsp + 0x30]
mov r11d, 1
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
mov word [rax + 0x14], r11w
jmp 0x14003aa87
cmp byte [rbx + 3], 0
je 0x14003e38f
mov rax, qword [rbx + 0x50]
mov r15, qword [rsp + 0x30]
mov qword [rbp + 0x90], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
cmp byte [rbx], 2
jne 0x14003e3e1
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, r14
mov dword [rsp + 0x38], eax
call fcn.1400366d0
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x140040864
mov rax, qword [rbp + 0x90]
mov r12d, r8d
mov r15, qword [rsp + 0x30]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov rcx, rbx
call fcn.140034c00
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040864
cmp byte [rbx + 2], al
je 0x14003e41d
mov r15, qword [rsp + 0x30]
mov r11d, 1
mov word [rdi + 0x14], r11w
mov r12d, eax
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x14003aa87
mov rcx, qword [rbx + 0x30]
call fcn.140024d00
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov qword [rbp + 0x90], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14003e48b
mov r9b, 3
mov r8d, r11d
mov rcx, r14
call fcn.14003a1a0
test rax, rax
je 0x14003ae91
xor r10d, r10d
mov byte [rax + 4], 1
or dword [rax + 8], 8
lea rcx, [0x1401633ac]
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 0x140040436
mov rcx, qword [rax + 0x30]
call fcn.14001fa90
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x30]
mov dword [rbp + 0x5c], r10d
cmp bl, 0x89
jne 0x14003e4e5
mov rcx, rsi
mov dword [rdi + 0x24], 0xffffffff
call fcn.140024cf0
test eax, eax
jne 0x140040433
lea rdx, [rbp + 0x5c]
mov rcx, rsi
call fcn.140025910
mov r8d, eax
mov dword [rsp + 0x38], 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 r8d, r8d
jne 0x14003cf12
cmp dword [r12 + 8], r10d
jle 0x140040436
mov r12d, r8d
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
cmp dword [rbp + 0x5c], r10d
jne 0x14003feb1
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa81
mov rax, qword [r14 + 0x78]
lea rdx, [rbp + 0x60]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140025880
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
cmp dword [rbp + 0x60], eax
jne 0x14003fec1
mov rcx, rbx
call fcn.140026210
test rax, rax
js 0x14003e5ac
mov rcx, rax
call fcn.14000b650
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14003e5ac
mov r12d, dword [rsp + 0x38]
mov r11d, 1
mov dword [rbp + 0x60], r11d
jmp 0x14003c025
cmp dword [rbp + 0x60], 0
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jne 0x14003feb1
jmp 0x14003aa7e
inc dword [r14 + 0xdc]
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x18], r11d
cmp byte [rbx], 1
jne 0x14003e5ff
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.1400451e0
mov r8d, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
jmp 0x14003e63c
mov rdi, qword [rbx + 0x30]
mov rcx, rdi
call fcn.140025590
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003e665
xor r9d, r9d
mov rcx, rdi
mov dword [rbp + 0x18], r9d
call fcn.140025820
mov r8d, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov rdi, qword [rsp + 0x48]
mov byte [rbx + 3], 0
mov dword [rbx + 0x20], r10d
test r8d, r8d
jne 0x14003cf12
movzx eax, byte [rbp + 0x18]
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov byte [rbx + 2], al
cmp dword [rbp + 0x18], r8d
jne 0x14003feb1
jmp 0x14003aa81
cmp eax, 0x10
jne 0x14003e62c
xor r10d, r10d
mov eax, 1
mov dword [rbp + 0x18], eax
mov r8d, r10d
mov dword [rsp + 0x38], r10d
jmp 0x14003e62f
mov rax, qword [r14 + 0x78]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rdx, rbx
call fcn.1400452b0
jmp 0x14003e6e0
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140026640
jmp 0x14003e6e0
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140026470
mov r8d, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14003e709
mov byte [rbx + 2], r10b
movzx eax, word [r12 + 2]
inc dword [r14 + rax*4 + 0xd4]
jmp 0x14004003c
cmp r8d, 0x65
jne 0x14003cf12
mov r12d, r10d
mov dword [rsp + 0x38], r10d
mov byte [rbx + 2], 1
jmp 0x14004006b
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
mov rsi, qword [rsp + 0x48]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [r12 + 2], 1
je 0x14003e753
inc qword [r14 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14003e778
mov rcx, rbx
call fcn.14002fa30
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
xor r10d, r10d
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x28], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x20], rax
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rsi
mov word [rbp + 0x40], ax
mov qword [rbp + 0x38], rcx
test r8b, 0x10
je 0x14003e7b4
mov r9d, dword [rdi + 0x24]
jmp 0x14003e7b7
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x20]
and r8d, 0x8a
call fcn.14002b040
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x20], r10d
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov r15, qword [rsp + 0x30]
mov rdi, rsi
mov rsi, qword [rsp + 0x58]
mov r12d, eax
jmp 0x14003aa81
mov r12, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, qword [rsp + 0x48]
test word [rbx + 0x14], ax
je 0x14003e838
mov rcx, rbx
call fcn.14002fa30
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov rdx, rbx
mov rcx, rdi
call fcn.140043d50
mov r8d, eax
mov dword [rsp + 0x38], eax
test eax, eax
jmp 0x14003d36f
mov r12, qword [rsp + 0x30]
lea r8, [rbp + 0x80]
mov rax, qword [r14 + 0x78]
lea rdx, [rbp + 0x20]
movsxd rcx, dword [r12 + 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 [r12 + 0xc]
mov word [rbp + 0x3c], ax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x3e], 0
add rcx, qword [rsp + 0x48]
mov qword [rbp + 0x28], rcx
mov rcx, rdi
call fcn.140025c90
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
cmp dword [rbp + 0x80], eax
jne 0x14003e8d4
mov dl, 4
mov rcx, rdi
call fcn.14002bc30
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
jmp 0x14003e8ed
cmp word [r12 + 2], 0
je 0x14003e8ed
mov rcx, r13
call fcn.140060c90
test eax, eax
je 0x140040a4b
mov r12d, dword [rsp + 0x38]
xor r10d, r10d
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov qword [rbx + 0x20], r10
jmp 0x14003aa81
mov rax, qword [r14 + 0x78]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003e942
mov rcx, rbx
call fcn.140034ba0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov r12d, eax
xor r10d, r10d
jmp 0x14003e94a
mov r12d, r10d
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 2], 0
jne 0x14003e9ee
mov qword [rbp + 0x98], r10
lea r8, [rbp + 0x98]
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.140036140
mov r12, qword [rsp + 0x30]
mov r8d, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14003cf12
cmp byte [r12], 0x8d
jne 0x14003e9ca
movsxd rcx, dword [r12 + 0xc]
xor r10d, r10d
mov rax, qword [r14 + 0x78]
mov r15, qword [rsp + 0x30]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r8b
mov rax, qword [rbp + 0x98]
mov qword [rdx + 0x50], rax
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], r10d
mov rax, qword [r12 + 0x10]
mov r12d, r8d
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x14003aa81
mov rdx, r12
mov rcx, r14
call fcn.14003a600
mov rcx, qword [rbp + 0x98]
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.1400303c0
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14003ab06
call fcn.140034b30
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040864
mov r15, qword [rsp + 0x30]
mov r12d, eax
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
cmp bl, 0x29
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov qword [rbp + 0x20], rax
movzx eax, word [r12 + 0x10]
mov word [rbp + 0x3c], ax
sbb al, al
mov byte [rbp + 0x3e], al
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
mov qword [rbp + 0x28], rcx
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.140024cb0
mov edi, dword [rbx + 0x40]
lea eax, [rdi - 1]
cmp eax, 0x7ffffffe
ja 0x140040a6d
xor r8d, r8d
lea rcx, [rbp - 0x38]
mov rdx, r13
call fcn.1400303a0
lea r8, [rbp - 0x38]
mov edx, edi
mov rcx, rbx
call fcn.140030c50
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov rdx, qword [rbp - 0x30]
lea r8, [rbp + 0x20]
mov ecx, dword [rbp - 0x28]
xor r9d, r9d
call fcn.140035550
lea rcx, [rbp - 0x38]
mov ebx, eax
call fcn.14002feb0
mov r15, qword [rsp + 0x30]
lea ecx, [rbx + 1]
neg ebx
test byte [r12], 1
mov r12d, dword [rsp + 0x38]
cmove ebx, ecx
test ebx, ebx
jg 0x14003feb1
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov rcx, r14
mov rdx, r12
call fcn.14003a600
mov r15d, 1
mov rbx, rax
mov word [rax + 0x14], r15w
mov ecx, dword [r13 + 0xe8]
inc ecx
cmp dword [r13 + 0xdc], ecx
jg 0x140040aa9
movsxd rdi, dword [r12 + 0xc]
lea r8, [rbp + 0x64]
mov rcx, qword [r13 + 0x20]
xor r9d, r9d
mov edx, dword [r12 + 4]
mov dword [rbp + 0x64], r9d
mov r9, rdi
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.14002d030
mov r8d, eax
mov dword [rsp + 0x38], eax
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rax, dword [rbp + 0x64]
mov qword [rbx], rax
test r8d, r8d
jne 0x14003cf18
mov r8d, dword [rbp + 0x64]
test r8d, r8d
je 0x140040433
mov r9d, dword [r12 + 4]
mov edx, edi
mov rcx, r13
call fcn.1400651e0
mov r12d, dword [rsp + 0x38]
lea eax, [rdi + 1]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov byte [rsp + 0x6c], al
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
lea r8, [rbp + 0x10]
mov rcx, qword [r13 + 0x20]
mov qword [rbp + 0x10], r10
movsxd rax, dword [r12 + 8]
mov edx, dword [r12 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002cac0
cmp dword [r12 + 0xc], 0
mov r8d, eax
mov dword [rsp + 0x38], eax
je 0x14003ec1b
mov rdx, qword [rbp + 0x10]
add qword [r14 + 0x38], rdx
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14003ec1b
imul rcx, rax, 0x38
add qword [rcx + rdi], rdx
test r8d, r8d
jmp 0x14003b803
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003ec4f
mov rdx, qword [rcx + 0x30]
mov rcx, r13
call fcn.140042ec0
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, qword [rcx + 0x30]
call fcn.14002cba0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x140040864
mov r15, qword [rsp + 0x30]
mov r12d, eax
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov rcx, r14
mov rdx, r12
call fcn.14003a600
movsxd rcx, dword [r12 + 4]
lea rdx, [rbp + 0x78]
mov r8d, dword [r12 + 0xc]
xor r9d, r9d
shl rcx, 5
mov rbx, rax
add rcx, qword [r13 + 0x20]
mov dword [rbp + 0x78], r9d
mov rcx, qword [rcx + 8]
call fcn.14002c780
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov eax, dword [rbp + 0x78]
mov r12d, r8d
mov r15, qword [rsp + 0x30]
mov qword [rbx], rax
jmp 0x14003aa7e
inc byte [r13 + 0x70]
xor r9d, r9d
mov r12, qword [rsp + 0x30]
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r10
mov rdx, qword [r12 + 0x10]
call fcn.14007dd40
dec byte [r13 + 0x70]
jmp 0x14003b7fa
mov r12, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x20]
cmp qword [r12 + 0x10], 0
movsxd rbx, dword [r12 + 4]
jne 0x14003ed55
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14006ad00
and dword [r13 + 0x2c], 0xffffffef
lea r8, [r14 + 0xa8]
movzx r9d, word [r12 + 2]
mov edx, ebx
mov rcx, r13
call fcn.1400864e0
or dword [r13 + 0x2c], 1
mov r8d, eax
and dword [r14 + 0xc8], 0xfffffffc
mov dword [rsp + 0x38], eax
jmp 0x14003ee19
mov dword [rbp + 0x30], ebx
lea rax, [r14 + 0xa8]
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x38], r10d
shl rbx, 5
mov rcx, qword [rbx + rcx + 8]
call fcn.140021410
mov r8, qword [r13 + 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 [r12 + 0x10]
mov rcx, r13
mov qword [rsp + 0x20], rax
mov r8, qword [rbx + r8]
call fcn.140009460
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x140040ac1
xor eax, eax
mov byte [r13 + 0xc5], 1
lea r9, [rbp + 0x20]
mov dword [rbp + 0x34], eax
lea r8, [fcn.140086170]
mov dword [rbp + 0x3c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14007dd40
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14003ee01
mov eax, dword [rbp + 0x34]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14003ee01
cmp dword [rbp + 0x3c], eax
jne 0x14003ee01
mov ecx, 0x17367
call fcn.1400c9550
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, r13
call fcn.140006940
mov r8d, dword [rsp + 0x38]
mov byte [r13 + 0xc5], 0
test r8d, r8d
je 0x14003b809
mov rcx, r13
call fcn.1400602f0
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
cmp r8d, 7
je 0x14003ae9b
jmp 0x140040b7f
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov edx, dword [r12 + 4]
call fcn.14005da10
jmp 0x14003b7fa
mov rax, qword [rsp + 0x30]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140060990
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140060050
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
mov rcx, r13
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14009ab80
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
lea r10, [rbp + 0x7c]
mov r9, qword [rsp + 0x30]
mov rdx, qword [r13 + 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
add rdi, qword [rsp + 0x48]
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi]
mov r9d, dword [r9 + 8]
inc ecx
add rbx, qword [rsp + 0x48]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r13
mov rdx, qword [rax + rdx + 8]
call fcn.14002df60
mov rcx, rbx
mov rsi, rax
call fcn.1400303c0
mov ecx, dword [rbp + 0x7c]
test ecx, ecx
je 0x14003ef53
test rsi, rsi
je 0x14003ae91
dec ecx
lea rax, [fcn.140006860]
movsxd rdx, ecx
mov r9b, 1
sub qword [rdi], rdx
mov r8, 0xffffffffffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140030800
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.14002f690
jmp 0x140040061
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, rdi
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x48]
test byte [rbx + 0x14], 0x10
jne 0x14003ef98
mov rcx, rbx
call fcn.140030570
test eax, eax
jne 0x14003ae91
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.140015bb0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rdi
test byte [rbx + 0x14], 0x10
je 0x14003effe
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xa8]
call fcn.140016040
test eax, eax
je 0x14003effe
mov rax, qword [rsp + 0x30]
mov rdx, qword [rbp + 0xa8]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rdi
call fcn.140030470
jmp 0x14004006b
mov rcx, rbx
call fcn.1400303c0
jmp case.0x14003a882.8
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add rbx, rdi
add rsi, rdi
mov edi, dword [rcx + 0x10]
test byte [rbx + 0x14], 0x10
jne 0x14003f03f
mov rcx, rbx
call fcn.140030570
test eax, eax
jne 0x14003ae91
test edi, edi
je 0x14003f05b
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140016100
test eax, eax
jne 0x14003fea7
test edi, edi
js 0x14003b30a
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.140015bb0
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, rdi
cmp word [rcx + 2], 0
je 0x14003f0c4
mov rax, qword [rsp + 0x50]
mov rcx, qword [r15 + 0x20]
mov rax, qword [rax + 0x108]
test rax, rax
je 0x14003f0c4
cmp qword [rax + 0x38], rcx
je 0x14004066a
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003f0b1
mov rcx, qword [rsp + 0x50]
mov eax, dword [r13 + 0xb0]
cmp dword [rcx + 0x118], eax
jge 0x140040acb
test byte [r14 + 0x14], 0x10
jne 0x14003f1f4
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
mov eax, dword [r15 + 8]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
imul ecx, ebx, 7
add ecx, 0xf
add eax, 7
jns 0x14003f10b
add eax, 7
add ecx, edx
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, r13
movsxd rdx, edi
call fcn.140006cd0
mov rsi, rax
test rax, rax
je 0x140040d65
mov rcx, r14
call fcn.14002fe90
mov qword [r14 + 8], rsi
mov eax, 0x1010
mov word [r14 + 0x14], ax
xor r10d, r10d
mov dword [r14 + 0x10], edi
lea rax, [0x140032b60]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rsp + 0x50]
mov qword [rsi], r14
mov dword [rsi + 0x60], ebx
mov ecx, dword [r15 + 0x10]
mov dword [rsi + 0x64], ecx
mov rcx, qword [rsp + 0x30]
sub rcx, qword [rsp + 0x58]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x54], edx
mov rax, qword [r14 + 0x68]
mov qword [rsi + 0x20], rax
mov eax, dword [r14 + 0x24]
mov dword [rsi + 0x5c], eax
mov rax, qword [r14 + 0x78]
mov qword [rsi + 0x28], rax
mov eax, dword [r14 + 0x28]
mov dword [rsi + 0x50], eax
mov rax, qword [r14 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r14 + 0x90]
mov dword [rsi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, ebx
imul rdx, rax, 0x38
lea rax, [rsi + 0x78]
add rdx, 0x78
add rdx, rsi
cmp rax, rdx
je 0x14003f1fb
nop
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rdx
jne 0x14003f1e0
jmp 0x14003f1fb
mov rsi, qword [r14 + 8]
mov r14, rcx
inc dword [r14 + 0x118]
lea rdi, [rsi + 0x78]
mov rax, qword [r14 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rsi + 0x40], rax
mov rax, qword [r14 + 0x38]
mov qword [rsi + 0x68], rax
mov rax, qword [r14]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x70], rcx
mov rax, qword [r14 + 0x128]
mov qword [rsi + 0x48], rax
mov qword [r14 + 0x128], r10
mov qword [r14 + 0x38], r10
mov qword [r14 + 0x108], rsi
mov qword [r14 + 0x68], rdi
movsxd rcx, dword [rsi + 0x60]
mov dword [r14 + 0x24], ecx
movzx eax, word [rsi + 0x64]
mov dword [r14 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rdi
mov qword [r14 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rsi + 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.1400ff0e0
mov rsi, qword [r15]
mov qword [r14 + 0x88], rsi
mov eax, dword [r15 + 8]
mov qword [rsp + 0x58], rsi
lea rdx, [rsi - 0x18]
mov dword [r14 + 0x90], eax
mov qword [rsp + 0x30], rdx
jmp 0x14004006b
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.14003a600
mov r9, qword [r14 + 0x108]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x30]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x4000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.1400306f0
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov eax, dword [r13 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x30]
jae 0x14003f32c
movsxd rax, dword [rax + 8]
add qword [r13 + 0x2f8], rax
jmp 0x14003ab66
cmp dword [rax + 4], 0
lea rcx, [0x140000000]
movsxd rax, dword [rax + 8]
mov r15, qword [rsp + 0x30]
je 0x14003f357
add qword [r13 + 0x2f0], rax
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
add qword [r14 + 0x50], rax
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
cmp dword [r15 + 4], 0
je 0x14003f3a1
cmp qword [r13 + 0x2f0], 0
jne case.0x14003a882.89
cmp qword [r13 + 0x2f8], 0
je 0x14003c02a
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
cmp qword [r14 + 0x50], 0
jne case.0x14003a882.89
cmp qword [r13 + 0x2f8], 0
je 0x14003c02a
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x14003f403
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003f3f0
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003f3e4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14003f415
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.14002ff30
mov qword [rdi], rax
mov r15d, 0xf244
movzx eax, word [rdi + 0x14]
and ax, r15w
or ax, 4
mov word [rdi + 0x14], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14002ff30
movzx ecx, word [rbx + 0x14]
xor r10d, r10d
and cx, r15w
mov qword [rbx], rax
or cx, 4
mov word [rbx + 0x14], cx
cmp qword [rdi], rax
jge 0x140040436
mov r15, qword [rsp + 0x30]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa81
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rdi]
test rdx, rdx
jle case.0x14003a882.89
mov rax, r15
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + rdi], rdx
jmp 0x14003c02a
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rdi, qword [rsp + 0x48]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rsi, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], r9w
je 0x14003f4f5
mov rcx, rbx
call fcn.14003a5d0
mov rbx, rax
xor r10d, r10d
jmp 0x14003f4fa
mov word [rbx + 0x14], r8w
mov rax, qword [rdi]
mov qword [rbp + 0xa0], rax
test rax, rax
jle 0x14003f541
mov rdx, qword [rsi]
lea rcx, [rbp + 0xa0]
test rdx, rdx
cmovle rdx, r10
call fcn.14000b4f0
test eax, eax
jne 0x14003f541
mov rax, qword [rbp + 0xa0]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
mov qword [rbx], rax
jmp 0x14003aa7e
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
mov qword [rbx], 0xffffffffffffffff
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rdi]
test rax, rax
je 0x14003ab06
mov r15, qword [rsp + 0x30]
jle 0x14003c02a
dec rax
mov qword [rcx + rdi], rax
jmp 0x14003c02a
mov rax, qword [rsp + 0x30]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rdi]
cmp rax, rdx
jle 0x14003f5b4
dec rax
mov qword [rcx + rdi], rax
mov r15, qword [rsp + 0x30]
test rax, rax
je 0x14003c02a
lea rcx, [0x140000000]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r12, qword [rsp + 0x30]
mov rcx, r13
movzx edi, word [r12 + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.140006d60
mov rbx, rax
test rax, rax
je 0x14003ae96
xor r15d, r15d
add rsi, 6
mov rdx, r13
mov qword [rax + 0x10], r15
lea rcx, [rax + rsi*8]
lea r8d, [r15 + 1]
mov qword [rax], rcx
call fcn.1400303a0
mov rcx, qword [r12 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x58]
mov qword [rbx + 8], rcx
mov rcx, r12
mov byte [rbx + 0x2a], dil
sub rcx, rsi
mov rdi, qword [rsp + 0x48]
imul rcx
mov qword [rbx + 0x18], r14
sar rdx, 2
mov rax, rdx
mov byte [rbx + 0x29], r15b
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x24], r15d
movzx eax, byte [rsp + 0x3c]
mov byte [rbx + 0x28], al
mov dword [rbx + 0x20], edx
mov word [r12], 0xf1a3
mov qword [r12 + 0x10], rbx
jmp 0x14003f680
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
mov rbx, qword [r12 + 0x10]
imul r10, rax, 0x38
add r10, rdi
cmp qword [rbx + 0x10], r10
je 0x14003f6e2
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003f6e2
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rdi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x14003f6c0
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
cmp dword [r12 + 4], 0
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
je 0x14003f702
call qword [rax + 0x30]
jmp 0x14003f705
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140040433
jle 0x14003f735
mov rcx, qword [rbx]
mov dl, 1
call fcn.140030db0
mov r8, rax
lea rdx, [0x140138f80]
mov rcx, r14
call fcn.1400315d0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
cmp byte [rbx + 0x29], 0
je 0x14003f759
movsxd rax, dword [r12 - 0x14]
test eax, eax
je 0x14003f755
imul rcx, rax, 0x38
mov edx, 1
add rcx, rdi
call fcn.140030470
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov r9d, 0x9000
test word [rcx + 0x14], r9w
jne 0x14003f76f
cmp dword [rcx + 0x20], 0
je 0x14003f77a
call fcn.14002fe40
mov r9d, 0x9000
mov rax, qword [rbx]
xor r10d, r10d
mov r8d, dword [rsp + 0x38]
mov r11d, 1
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r10d
test r8d, r8d
jne 0x140040da2
mov r12d, r8d
jmp 0x14003ab66
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, qword [rcx + 0x10]
add rbx, rdi
test eax, eax
je 0x14003f7ec
imul rdx, rax, 0x38
mov r8, rcx
mov rcx, rbx
add rdx, rdi
call fcn.14002fd60
mov r12d, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rdi
jmp 0x14003f7fe
mov rdx, rcx
mov rcx, rbx
call fcn.14002fc80
mov r12d, eax
mov dword [rsp + 0x38], eax
mov rcx, rbx
test r12d, r12d
jne 0x140040aee
movzx edx, byte [rsp + 0x3c]
call fcn.14002f690
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
lea rax, [rbp + 0xb8]
lea r9, [rbp + 0xb4]
mov dword [rbp + 0xb0], r10d
mov rcx, r13
mov qword [rbp + 0xb4], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.1400c7680
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
je 0x14003f886
cmp eax, 5
jne 0x14003cf12
xor r9d, r9d
mov eax, 1
mov r12d, r9d
mov dword [rsp + 0x38], r9d
mov dword [rbp + 0xb0], eax
jmp 0x14003f88e
mov r12d, dword [rsp + 0x38]
xor r9d, r9d
mov rax, qword [rsp + 0x30]
mov esi, 4
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rdi
mov rdi, r9
mov r9d, 0x9000
nop dword [rax]
movsxd rax, dword [rbp + rdi*4 + 0xb0]
test word [rbx + 0x14], r9w
je 0x14003f8d2
mov rdx, rax
mov rcx, rbx
call fcn.140030430
mov r9d, 0x9000
jmp 0x14003f8d9
mov qword [rbx], rax
mov word [rbx + 0x14], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14003f8b0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x14003d14f
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.14003a600
mov rcx, qword [r13 + 0x20]
mov r14, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.14002d320
mov rcx, rax
mov rsi, rax
call fcn.14001ba40
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.14001ba50
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.14001b5d0
cmp ebx, 5
jne 0x14003f979
mov rcx, rax
call fcn.14000a170
test eax, eax
je 0x14003f975
mov rcx, rsi
call fcn.14001ba80
test eax, eax
jne 0x14003f979
mov ebx, edi
jmp 0x14003f9f6
cmp ebx, edi
je 0x14003f9f6
cmp edi, 5
je 0x14003f987
cmp ebx, 5
jne 0x14003f9f6
cmp byte [r13 + 0x65], 0
je 0x140040b14
cmp dword [r13 + 0xdc], 1
jg 0x140040b14
cmp edi, 5
jne 0x14003f9c4
mov rdx, r13
mov rcx, rsi
call fcn.14001bc40
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14003f9fb
mov edx, ebx
mov rcx, rsi
call fcn.14001b8b0
jmp 0x14003f9d9
cmp edi, 4
jne 0x14003f9d4
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.14001b8b0
test r12d, r12d
jne 0x14003f9fb
xor r9d, r9d
mov rcx, r15
mov edx, r9d
cmp ebx, 5
sete dl
inc edx
call fcn.14002e6e0
mov r12d, eax
mov dword [rsp + 0x38], eax
test r12d, r12d
je 0x14003f9fd
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.14001b8b0
mov ecx, 0x2202
mov word [r14 + 0x14], cx
mov ecx, eax
call fcn.14007f4e0
mov rcx, rax
mov qword [r14 + 8], rax
call fcn.14000a170
movzx edx, byte [rsp + 0x3c]
mov rcx, r14
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x16], 1
call fcn.14002f690
mov r8d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x50]
test r8d, r8d
jne 0x140040864
mov rdi, qword [rsp + 0x48]
mov r12d, r8d
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
test eax, eax
je 0x14003fa7b
imul r9, rax, 0x38
add r9, rdi
jmp 0x14003fa7e
mov r9, r10
mov r8d, dword [r12 + 4]
lea rcx, [r14 + 0xa8]
mov rdx, r13
call fcn.1400a0df0
jmp 0x14003b7fa
mov rax, qword [r13 + 0x20]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140023de0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
je 0x140040433
cmp eax, 0x65
jne 0x14003cf12
xor r9d, r9d
mov r12d, r9d
mov dword [rsp + 0x38], r9d
jmp 0x14003c01f
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x14003fafb
mov edx, dword [rax + 8]
mov rcx, r13
call fcn.1400364d0
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov eax, dword [rax + 8]
inc eax
xor eax, dword [r14 + 0xc8]
and eax, 3
xor dword [r14 + 0xc8], eax
jmp 0x14003ab66
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.140024d20
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x30]
call fcn.140024d30
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x14003fb7c
mov eax, dword [r13 + 0x30]
bt rax, 0xa
jb 0x14003ab06
mov r12, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e4f0
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
je 0x14003b809
cmp al, 6
jne 0x14003cf12
mov r8, qword [r12 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r14
call fcn.1400315d0
mov r8d, dword [rsp + 0x38]
jmp 0x14003cf12
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rbx, qword [r12 + 0x10]
mov rdx, rbx
call fcn.1400a2f60
mov dword [rsp + 0x38], eax
mov r8d, eax
test rbx, rbx
je 0x14003fc04
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.1400366d0
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jmp 0x14003b803
mov r12, qword [rsp + 0x30]
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 [r12 + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x38], r13
add rdx, rdi
call fcn.140030730
lea rcx, [rbp + 0x20]
mov dword [rsp + 0x38], eax
call fcn.140036d10
test rax, rax
je 0x14003fc6f
mov edx, dword [r12 + 4]
lea r9, [r14 + 0xa8]
mov r8, rax
mov rcx, r13
call fcn.1400a2910
mov dword [rsp + 0x38], eax
mov r9d, 0x9000
test word [rbp + 0x34], r9w
jne 0x14003fc82
cmp dword [rbp + 0x40], 0
je 0x14003fc91
lea rcx, [rbp + 0x20]
call fcn.14002fe40
mov r9d, 0x9000
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14003cf12
mov r15, qword [rsp + 0x30]
mov r12d, r8d
jmp 0x14003d14f
inc dword [r13 + 0xe8]
mov rcx, r13
mov r12, qword [rsp + 0x30]
mov r8, qword [r12 + 0x10]
mov edx, dword [r12 + 4]
call fcn.1400a2d70
dec dword [r13 + 0xe8]
jmp 0x14003b7fa
mov r12, qword [rsp + 0x30]
mov qword [rbp - 0x78], r10
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140040b5d
mov rdi, qword [rbx]
test rdi, rdi
je 0x140040b5d
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x38], eax
call fcn.1400366d0
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14003cf12
mov rax, qword [rbp - 0x78]
mov r9b, 2
mov rcx, r14
mov qword [rax], rbx
mov edx, dword [r12 + 4]
call fcn.14003a1a0
mov rcx, qword [rbp - 0x78]
test rax, rax
je 0x140040b55
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
call fcn.1400c4840
test eax, eax
jne 0x14003ae91
lea ecx, [rax + 0x10]
call fcn.140006670
mov rbx, rax
test rax, rax
je 0x14003ae91
mov rcx, qword [rdi + 0x30]
mov rdi, qword [rsp + 0x48]
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
mov rcx, r14
add rdx, rdi
mov qword [rbx + 8], rdx
mov rdx, rax
call fcn.14003a600
mov edx, 1
lea r9, [fcn.140006860]
lea r8, str.ValueList
mov rcx, rax
mov word [rax + 0x14], dx
mov rdx, rbx
call fcn.140030490
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov r8, r10
movsxd rax, dword [r12 + 0xc]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov rax, qword [rsp + 0x50]
add r11, rdi
mov edx, dword [rdx + rdi]
mov rsi, qword [r13 + 0x30]
movsxd r9, dword [r11]
mov rdi, qword [rax + 0x70]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14003fe59
mov r10d, 1
nop word [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x14003fe40
mov r8, qword [r12 + 0x10]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, r15
mov dword [rsp + 0x38], eax
call fcn.1400366d0
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x140040d7e
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x14003c464
mov r13, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r11d, 1
jmp 0x14003c02a
mov r12d, dword [rsp + 0x38]
jmp 0x14003feac
mov rbx, qword [rsp + 0x30]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
cmp byte [rdi + 2], 0
je 0x14003ff03
mov rcx, rbx
call fcn.1400303c0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov r12, qword [rsp + 0x30]
movzx r15d, byte [rsp + 0x3c]
mov rsi, qword [rax]
xor eax, eax
test byte [r12 + 2], 1
mov r14, qword [rsi]
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x20], rbx
movups xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x48], r15b
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x50], rax
je 0x14003ff52
mov rcx, rbx
call fcn.1400303c0
xor r9d, r9d
mov eax, 0x401
mov dword [rbx], r9d
jmp 0x14003ff62
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x20]
mov r8d, dword [r12 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov r14, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x38], eax
call fcn.1400366d0
cmp dword [rbp + 0x44], 0
jle 0x14003ffb2
mov rcx, rbx
call fcn.140036d10
mov r8, rax
lea rdx, [0x140138f80]
mov rcx, r14
call fcn.1400315d0
mov eax, dword [rbp + 0x44]
mov dword [rsp + 0x38], eax
mov edx, r15d
mov rcx, rbx
call fcn.14002f690
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14003cf12
mov rdi, qword [rsp + 0x48]
mov r12d, r8d
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa7e
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1400406b2
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x38], eax
call fcn.1400366d0
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x140040864
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x14004005c
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rsi + rcx*8]
mov qword [rsp + 0x30], rax
jmp 0x14004006b
mov r12d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov eax, dword [r13 + 0x198]
test eax, eax
jne 0x140040d56
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x78]
cmp r15, rbx
jb 0x140040433
nop dword [rax]
mov rdx, qword [r13 + 0x208]
test rdx, rdx
je 0x140040433
mov eax, dword [r13 + 0x218]
mov rcx, qword [r13 + 0x210]
add rbx, rax
mov qword [rsp + 0x40], rbx
call rdx
test eax, eax
jne 0x140040b6d
cmp r15, rbx
jae 0x140040090
mov r15, qword [rsp + 0x30]
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov edi, dword [r13 + 0x30]
or qword [r13 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [r12 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
test byte [rbx + 0x14], 2
jne 0x140040109
mov byte [rbx + 0x16], 1
jmp 0x140040128
cmp byte [rbx + 0x16], 1
je 0x140040128
mov dl, 1
mov rcx, rbx
call fcn.140009b20
mov dword [rsp + 0x38], eax
mov r8d, eax
test eax, eax
jne 0x14003cf12
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x38], eax
test edi, edi
jne 0x140040148
and qword [r13 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r14
call fcn.1400366d0
and dword [r14 + 0xc8], 0xfffffffc
jmp 0x14003ffbd
cmp byte [r13 + 0x67], 0
mov qword [rbp + 0x10], r10
jne 0x14003ae91
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140040bb3
mov r10, qword [rbx]
test r10, r10
je 0x140040bb3
cmp qword [r10 + 0x68], 0
mov r15, qword [rsp + 0x30]
movsxd rdx, dword [r15 + 8]
je 0x14003d155
movsxd rax, dword [r15 + 0xc]
xor r9d, r9d
movzx edi, byte [r13 + 0x6c]
mov r12, r15
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
mov eax, r9d
add rcx, qword [rsp + 0x48]
test edx, edx
jle 0x1400401e0
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1400401d0
movzx eax, byte [r15 + 2]
lea r9, [rbp + 0x10]
mov rcx, rbx
mov byte [r13 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x6c], dil
mov rcx, r14
mov dword [rsp + 0x38], eax
call fcn.1400366d0
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x14004023b
cmp dword [r15 + 4], r8d
je 0x14004021f
mov rax, qword [rbp + 0x10]
mov qword [r13 + 0x38], rax
inc qword [r14 + 0x38]
test r8d, r8d
jne 0x14003cf12
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa7e
cmp r8b, 0x13
jne 0x14004021f
mov rax, qword [r15 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14004021f
movzx ecx, word [r15 + 2]
cmp ecx, 4
jne 0x140040b99
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
mov r12d, r10d
mov dword [rsp + 0x38], r10d
jmp 0x14003aa81
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], r9w
je 0x1400402a0
mov rcx, rdx
call fcn.14003a5d0
xor r10d, r10d
mov rdx, rax
mov r9d, 0x9000
lea r11d, [r10 + 1]
jmp 0x1400402a5
mov word [rdx + 0x14], r8w
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
jmp 0x14003ab63
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], r9w
je 0x1400402ef
mov rcx, rbx
call fcn.14003a5d0
mov rbx, rax
xor r10d, r10d
jmp 0x1400402f4
mov word [rbx + 0x14], r8w
mov rax, qword [rsp + 0x30]
mov edx, r10d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0xc], 0
je 0x14004032e
mov rcx, rdi
call fcn.140021410
mov edx, eax
mov rax, qword [rsp + 0x30]
cmp edx, dword [rax + 0xc]
cmovb edx, dword [rax + 0xc]
mov rcx, rdi
call fcn.1400228b0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov eax, eax
mov qword [rbx], rax
jmp 0x14003aa7e
mov r12, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
movsxd rax, dword [r12 + 0xc]
mov rbx, qword [r12 + 0x10]
imul rdi, rax, 0x38
add rdi, r10
cmp qword [rbx], rdi
je 0x1400403b3
movzx eax, byte [rsp + 0x3c]
mov byte [rbx + 0x28], al
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x18], r14
sub rdx, 1
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x1400403b3
lea r8, [rbx + 0x30]
lea r8, [r8 + rdx*8]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r10
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x140040391
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 0x140040433
jle 0x140040405
mov dl, 1
mov rcx, rdi
call fcn.140030db0
mov r8, rax
lea rdx, [0x140138f80]
mov rcx, r14
call fcn.1400315d0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
mov r9d, dword [r12 + 4]
lea rdx, [r14 + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, r13
call fcn.1400348d0
mov r8d, dword [rsp + 0x38]
xor r10d, r10d
mov dword [rbx + 0x24], r10d
jmp 0x14003dd09
mov r13, qword [rsp + 0x60]
xor r10d, r10d
mov r12d, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
jmp 0x14003aa81
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + rdi + 0x14], ax
jmp 0x14003ab66
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, rdi
imul rbx, rax, 0x38
call fcn.14003a630
movsxd rcx, dword [rbx + rdi + 0x10]
xor edx, edx
mov r15, qword [rsp + 0x30]
div rcx
mov rcx, qword [rbx + rdi + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x14003aa7e
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, rdi
imul rbx, rax, 0x38
call fcn.14003a630
movsxd rcx, dword [rbx + rdi + 0x10]
xor edx, edx
mov r15, qword [rsp + 0x30]
mov r11d, 1
div rcx
mov rax, qword [rbx + rdi + 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 0x14004050f
inc dword [r14 + 0xf4]
jmp 0x14003c02a
inc dword [r14 + 0xf0]
xor r10d, r10d
jmp 0x14003aa87
movzx eax, byte [r13 + 0x6e]
test al, 0x41
je 0x1400405ea
cmp byte [r14 + 0xc3], 0xfe
je 0x1400405ea
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x140040557
mov r9, qword [r14 + 0xf8]
test r9, r9
je 0x1400405e4
test al, 0x40
je 0x140040584
mov rdx, r9
mov rcx, r14
call fcn.140039c50
mov rcx, qword [r13 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r13 + pe_nt_image_headers64]
mov rcx, rbx
call fcn.140006860
jmp 0x1400405dd
cmp dword [r13 + 0xe4], 1
jle 0x1400405c9
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.140009460
mov rdx, qword [r13 + 0x100]
mov r9, rax
mov r8, r14
mov ecx, 1
mov rbx, rax
call qword [r13 + pe_nt_image_headers64]
mov rdx, rbx
mov rcx, r13
call fcn.140006a20
jmp 0x1400405dd
mov rdx, qword [r13 + 0x100]
mov r8, r14
mov ecx, r11d
call qword [r13 + pe_nt_image_headers64]
xor r10d, r10d
lea r11d, [r10 + 1]
mov r9d, 0x9000
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
mov eax, dword [rax + 4]
cmp eax, dword [0x14015dfe8]
jl 0x140040644
cmp byte [r15], 0xb5
je case.0x14003a882.89
cmp dword [r14 + 0x90], 1
mov edx, r11d
jle 0x140040641
mov eax, 0x18
nop dword [rax + rax]
mov rcx, qword [r14 + 0x88]
cmp byte [rax + rcx], 0xe
jne 0x140040632
mov dword [rax + rcx + 4], r10d
inc edx
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x140040620
mov eax, r10d
inc eax
mov dword [r15 + 4], eax
inc dword [r14 + 0xec]
jmp 0x14003c02a
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x14003aa87
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r15, qword [rsp + 0x30]
lea rcx, [0x140000000]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
add r15, 0x18
jmp 0x14003a846
mov r12, qword [rsp + 0x30]
mov ecx, dword [r12 + 4]
mov dword [r14 + 0x34], ecx
movzx eax, byte [r12 + 8]
mov byte [r14 + 0xc2], al
test ecx, ecx
je 0x14004079f
movzx eax, word [r12 + 2]
mov rcx, r14
test ax, ax
je 0x140040749
mov r8d, eax
lea rdx, str._s_constraint_failed
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x13fb30]
call fcn.1400315d0
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x14004075a
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.140009460
mov qword [r14 + 0xa8], rax
jmp 0x14004075a
mov r8, qword [r12 + 0x10]
lea rdx, [0x140138f80]
call fcn.1400315d0
mov r9, qword [r14 + 0xf8]
mov rcx, r12
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, dword [r12 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.140009750
mov rcx, r14
call fcn.1400342f0
mov rsi, qword [rsp + 0x40]
mov edi, eax
cmp eax, 5
jne 0x1400407bc
mov dword [r14 + 0x34], eax
jmp 0x140040ec1
cmp dword [r14 + 0x34], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x140040ec1
mov r8d, 0x14
mov r12, r15
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov ecx, 0x164e3
call fcn.1400c9550
mov r8d, eax
mov dword [rsp + 0x38], eax
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
jmp 0x14003cf0d
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.14003a700
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r15 + rdi*8]
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, r14
lea rax, [0x140000000]
mov r9, qword [rax + rbx*8 + 0x15f8f0]
call fcn.1400315d0
mov r8d, 0xc13
mov dword [rsp + 0x38], r8d
mov r12, qword [rsp + 0x30]
jmp 0x14003cf12
mov r14, qword [rsp + 0x50]
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.1400315d0
mov r8d, 5
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov r14, qword [rsp + 0x50]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.1400315d0
mov r12, qword [rsp + 0x30]
mov r8d, 5
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov r12, qword [rsp + 0x30]
mov r14, rbx
mov byte [r13 + 0x65], 0
jmp 0x14003cf18
mov r12, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, r12
mov edi, 5
sub rcx, qword [rsp + 0x58]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x30], edx
mov byte [r13 + 0x65], 0
mov dword [rbx + 0x34], edi
jmp 0x140040eb9
mov edi, 0x65
jmp 0x140040ebc
mov ebx, 0xb
bt rax, 0x14
mov r8d, 8
cmovae r8d, ebx
mov dword [rsp + 0x38], r8d
lea r15d, [rbx - 0xa]
jmp 0x14003cf1d
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
cmp r8b, 5
jne 0x140040b84
mov edi, dword [rsp + 0x38]
mov rcx, r12
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r14 + 0x34], r8d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
jmp 0x140040ec1
lea rbx, [r14 + 0xc8]
jmp 0x14004098c
mov r14, qword [rsp + 0x50]
mov rdx, qword [r14 + 0xa8]
mov rcx, r13
call fcn.140006a20
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140006ee0
mov qword [r14 + 0xa8], rax
mov rax, qword [r13 + 0x20]
movsxd rdx, dword [r12 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 8]
cmp dword [rcx], eax
je 0x1400409d8
mov rcx, r13
call fcn.140060260
mov rbx, rdi
mov eax, dword [rbx]
mov r8d, 0x11
and eax, 0xfffffffd
mov dword [rsp + 0x38], r8d
or eax, 1
and eax, 0xffffffef
mov dword [rbx], eax
jmp 0x14003cf12
mov r8d, 0x204
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov rcx, qword [rbx + 0x10]
call fcn.140022280
mov r8d, dword [rsp + 0x38]
jmp 0x14003cf18
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x30]
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.1400315d0
mov r8d, 0x12
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov r12, rbx
jmp 0x140040a27
lea r8, str.index_corruption
mov edx, 0x1719e
mov ecx, 0x30b
call fcn.1400c9520
mov r8d, eax
mov dword [rsp + 0x38], eax
jmp 0x14003cf12
mov ebx, 0xb
lea rdi, [0x14013ee14]
mov ecx, ebx
mov qword [rsp + 0x20], rdi
mov r9d, 0x1726b
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009750
mov r8d, ebx
mov dword [rsp + 0x38], ebx
lea r15d, [rbx - 0xa]
jmp 0x14003cf24
mov r8d, 6
mov byte [r14 + 0xc2], 2
mov dword [rsp + 0x38], r8d
jmp 0x14003cf18
call fcn.1400602f0
jmp 0x14003ae96
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x38], r11d
mov r14, rcx
call fcn.1400315d0
mov r8d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
jmp 0x14003cf12
call fcn.140036d10
mov r8, rax
lea rdx, [0x140138f80]
mov rcx, r14
call fcn.1400315d0
mov r8d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
jmp 0x14003cf12
mov r14, qword [rsp + 0x50]
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
mov r15d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov dword [rsp + 0x38], r15d
mov rcx, r14
call fcn.1400315d0
mov r12, qword [rsp + 0x30]
mov r8d, r15d
jmp 0x14003cf18
call qword [rdi + 0x38]
jmp 0x14003ae96
mov r8d, 6
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov rsi, 0xffffffffffffffff
mov r12, qword [rsp + 0x30]
mov r8d, 9
mov dword [rsp + 0x38], r8d
mov ebx, 0xb
lea rdi, [0x14013ee14]
lea r15d, [rbx - 0xa]
jmp 0x14003cf29
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r14 + 0xc2], al
jmp 0x14003cf12
mov r12, qword [rsp + 0x30]
mov r8d, 6
mov dword [rsp + 0x38], r8d
jmp 0x14003cf12
mov eax, dword [r14 + 0x2c]
mov r12, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [r14 + 0x2c], eax
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rdi
mov qword [r14 + 0xa0], rcx
cmp byte [r13 + 0x67], 0
jne 0x14003ae96
test byte [r13 + 0x6e], 4
je 0x140040c18
mov rdx, qword [r13 + 0x100]
xor r9d, r9d
mov r8, r14
lea ecx, [r9 + 4]
call qword [r13 + pe_nt_image_headers64]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rsi
mov edi, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r14 + 0x30], edx
jmp 0x140040ebc
mov r12, qword [rsp + 0x30]
movzx eax, byte [r13 + 0x65]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x140040d1a
test ecx, ecx
je 0x140040c7a
mov edx, 0x204
mov rcx, r13
call fcn.1400c6220
mov al, 1
jmp 0x140040cac
test ebx, ebx
je 0x140040c94
cmp dword [r13 + 0xe0], 0
jle 0x140040c94
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14004087a
mov edx, r11d
mov rcx, r14
call fcn.140034280
mov edi, eax
test eax, eax
jne 0x140040ebc
movzx eax, bl
mov rcx, r14
mov byte [r13 + 0x65], al
call fcn.1400342f0
cmp eax, 5
jne 0x140040cfb
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rsi
mov edi, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r14 + 0x30], edx
mov byte [r13 + 0x65], al
mov dword [r14 + 0x34], edi
jmp 0x140040ebc
mov rcx, r13
call fcn.1400c5a70
cmp dword [r14 + 0x34], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x140040ebc
test ebx, ebx
jne 0x140040d27
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140040d3b
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r14
call fcn.1400315d0
mov r15d, 1
mov r8d, r15d
mov dword [rsp + 0x38], r15d
jmp 0x14003cf18
mov rsi, qword [rsp + 0x40]
jmp 0x140040b74
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
jmp 0x14003ae96
mov r12, qword [rsp + 0x30]
jmp 0x14003ae9b
mov r13, qword [rsp + 0x60]
jmp 0x14003cf0d
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
mov r14, r15
jmp 0x14003cf12
mov r12, rbx
jmp 0x14003cf12
mov r15, r11
jmp 0x14003cf18
cmp r8d, 0x210a
jne 0x140040dda
mov r9d, 0x17aff
mov qword [rsp + 0x20], rdi
lea r8, str.database_corruption
mov ecx, ebx
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009750
mov r8d, ebx
mov dword [rsp + 0x38], ebx
cmp qword [r14 + 0xa8], 0
jne 0x140040e07
cmp r8d, 0xc0a
je 0x140040e07
mov ecx, r8d
call fcn.1400c6390
mov r8, rax
lea rdx, [0x140138f80]
mov rcx, r14
call fcn.1400315d0
mov ebx, dword [rsp + 0x38]
mov rcx, r13
mov edx, ebx
mov dword [r14 + 0x34], ebx
call fcn.14000a220
mov r9, qword [r14 + 0xf8]
mov rcx, r12
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, ebx
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.140009750
cmp byte [r14 + 0xc5], 2
jne 0x140040e6f
mov rcx, r14
call fcn.1400342f0
cmp ebx, 0xc0a
jne 0x140040e81
mov rcx, r13
call fcn.140007070
jmp 0x140040e9b
cmp ebx, 0xb
jne 0x140040e9b
cmp byte [r13 + 0x65], 0
jne 0x140040e9b
movabs rax, 0x200000000
or qword [r13 + 0x30], rax
movzx eax, byte [rsp + 0x6c]
mov edi, r15d
test al, al
je 0x140040ec1
lea edx, [rax - 1]
mov rcx, r13
call fcn.140060260
jmp 0x140040ec1
mov r12, qword [rsp + 0x30]
mov r14, rbx
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x78]
cmp r15, rsi
jb 0x140040efa
mov rdx, qword [r13 + 0x208]
test rdx, rdx
je 0x140040efa
mov eax, dword [r13 + 0x218]
mov rcx, qword [r13 + 0x210]
add rsi, rax
call rdx
test eax, eax
je 0x140040ec6
mov rsi, 0xffffffffffffffff
jmp 0x140040b79
add dword [r14 + 0xe4], r15d
cmp dword [r14 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
mov r15, qword [rsp + 0x1f0]
mov r13, qword [rsp + 0x1f8]
mov r12, qword [rsp + 0x238]
mov rsi, qword [rsp + 0x230]
mov rbx, qword [rsp + 0x228]
je 0x140040f4b
mov rcx, r14
call fcn.1400329e0
mov eax, edi
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400faff0
add rsp, 0x200
pop r14
pop rdi
pop rbp
ret