Function at 0x1401c5ca4
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x378
movaps xmmword [rsp + 0x360], xmm10
movaps xmmword [rsp + 0x350], xmm9
movaps xmmword [rsp + 0x340], xmm8
movaps xmmword [rsp + 0x330], xmm7
movaps xmmword [rsp + 0x320], xmm6
mov qword [rsp + 0x68], rcx
mov rsi, qword [rcx + 0x10]
mov dword [rsi + 0xb0], 0
mov rcx, qword [rsi + 0x88]
mov rax, rcx
shr rax, 0x3a
jne 0x1401c5d48
mov rax, rcx
shl rax, 6
cmp rax, 0x4001
mov edx, 0x4000
cmovae rdx, rax
mov qword [rsi + 0x78], rdx
cmp rcx, 0x7fffffff
ja 0x1401c5d48
cmp ecx, 0x200000
jae 0x1401c5d48
mov eax, ecx
shl eax, 0xa
cmp eax, 0x4001
mov edx, 0x4000
cmovge edx, eax
mov dword [rsi + 0xb4], edx
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jb 0x1401cb3c3
lea rbx, [rsi + 0xb0]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
test rcx, rcx
je 0x1401c630a
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x88]
mov rdx, qword [rsi + 8]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor r8d, r8d
mov dword [rdx + r8 + 4], eax
add r8, 0x14
cmp rcx, r8
jne 0x1401c5d8c
mov r14, qword [rsi + 0x88]
test r14, r14
je 0x1401c630a
xor r13d, r13d
mov r12d, 0xfffe0e1a
mov rax, qword [rsi + 0x10]
cmp r13, rax
ja 0x1401cb2cc
je 0x1401cb017
mov rbp, qword [rsi + 8]
lea rdi, [r13*4]
add rdi, r13
lea r15, [rdi*4]
add r15, rbp
mov rcx, r15
mov rdx, rbx
call fcn.1401cb4cb
lea rdi, [rdi*4 + 0x10]
add rdi, rbp
movzx ecx, word [rdi]
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 0x14
jne 0x1401c5e1c
mov eax, dword [r15]
mov ecx, 0xfffe0c05
add eax, ecx
cmp eax, 5
jae 0x1401c5e1c
mov r15, r13
jmp 0x1401c605a
test r13, r13
je 0x1401c5e57
mov eax, dword [r15]
add eax, r12d
cmp eax, 0x1a
jae 0x1401c5e57
lea rax, [r13 - 1]
lea rax, [rax + rax*4]
mov ecx, dword [rbp + rax*4]
add ecx, r12d
cmp ecx, 0x1a
jae 0x1401c6060
test byte [rbp + rax*4 + 0x10], 0x80
mov r15, r13
je 0x1401c605a
jmp 0x1401c6060
movzx ebp, word [rdi]
mov ecx, ebp
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 0x1a
jne 0x1401c5f14
and ebp, 0x100
je 0x1401c5f14
or byte [rdi], 0x80
mov rdx, qword [rsi + 0x10]
cmp rdx, r14
jb 0x1401cb35d
lea r15, [r13 + 1]
cmp r15, r14
jae 0x1401c6060
mov rdi, qword [rsi + 8]
lea rbp, [r15 + r15*4]
lea rcx, [rdi + rbp*4]
mov eax, dword [rcx]
cmp eax, 0x110000
je 0x1401cb1f3
mov edx, eax
xor edx, 0xd800
add edx, 0xffef0000
cmp edx, 0xffef07ff
jbe 0x1401cb1f3
cmp eax, 0x2756
jg 0x1401c5f2f
cmp eax, 0x25b5
jle 0x1401c5f6c
lea edx, [rax - 0x2714]
cmp edx, 0x3a
ja 0x1401c5ef9
movabs r8, 0x509000000102205
bt r8, rdx
jb 0x1401c604a
cmp eax, 0x25b6
je 0x1401c604a
cmp eax, 0x25c0
je 0x1401c604a
jmp 0x1401c6071
mov eax, dword [r15]
mov ecx, 0xfff1ffe0
add eax, ecx
mov r15, r13
cmp eax, 0x60
jb 0x1401c605a
jmp 0x1401c6060
cmp eax, 0x303c
jg 0x1401c5fa4
cmp eax, 0x2b4f
jg 0x1401c5fee
lea edx, [rax - 0x27a1]
cmp edx, 0x1e
ja 0x1401c5f5c
mov r8d, 0x40008001
bt r8d, edx
jb 0x1401c604a
cmp eax, 0x2757
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x2138
jg 0x1401c5fcd
cmp eax, 0x203b
jle 0x1401c601c
cmp eax, 0x203c
je 0x1401c604a
cmp eax, 0x2049
je 0x1401c604a
cmp eax, 0x2122
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x1f12e
jle 0x1401c6005
cmp eax, 0x1f219
jg 0x1401c602c
cmp eax, 0x1f12f
je 0x1401c604a
cmp eax, 0x1f18e
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x2387
jle 0x1401c603c
cmp eax, 0x2388
je 0x1401c604a
cmp eax, 0x23cf
je 0x1401c604a
cmp eax, 0x24c2
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x2b50
je 0x1401c604a
cmp eax, 0x2b55
je 0x1401c604a
cmp eax, 0x3030
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x303d
je 0x1401c604a
cmp eax, 0x3297
je 0x1401c604a
cmp eax, 0x3299
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0xa9
je 0x1401c604a
cmp eax, 0xae
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x1f21a
je 0x1401c604a
cmp eax, 0x1f22f
je 0x1401c604a
jmp 0x1401c6071
cmp eax, 0x2139
je 0x1401c604a
cmp eax, 0x2328
jne 0x1401c6071
mov rdx, rbx
call fcn.1401cb4cb
lea rdi, [rdi + rbp*4]
add rdi, 0x10
or byte [rdi], 0x80
mov r13, r15
inc r13
cmp r13, r14
jb 0x1401c5db3
jmp 0x1401c630a
lea edx, [rax - 0x1f93c]
cmp edx, 0xa
jb 0x1401c604a
lea edx, [rax - 0x1f90c]
cmp edx, 0x2f
jb 0x1401c604a
lea edx, [rax - 0x1f8ae]
cmp edx, 0x52
jb 0x1401c604a
mov edx, eax
and edx, 0xfffffff8
cmp edx, 0x1f888
je 0x1401c604a
lea r8d, [rax - 0x1f85a]
cmp r8d, 6
jb 0x1401c604a
cmp edx, 0x1f848
je 0x1401c604a
mov edx, eax
and edx, 0xfffffffc
cmp edx, 0x1f80c
je 0x1401c604a
lea r8d, [rax - 0x1f7d5]
cmp r8d, 0x2b
jb 0x1401c604a
lea r8d, [rax - 0x1f774]
cmp r8d, 0xc
jb 0x1401c604a
mov r8d, eax
and r8d, 0xffffff80
cmp r8d, 0x1f680
je 0x1401c604a
lea r8d, [rax - 0x1f546]
cmp r8d, 0x10a
jb 0x1401c604a
lea r8d, [rax - 0x1f400]
cmp r8d, 0x13e
jb 0x1401c604a
lea r8d, [rax - 0x1f249]
cmp r8d, 0x1b2
jb 0x1401c604a
cmp edx, 0x1f23c
je 0x1401c604a
lea edx, [rax - 0x1f232]
cmp edx, 9
jb 0x1401c604a
lea edx, [rax - 0x1f201]
cmp edx, 0xf
jb 0x1401c604a
lea edx, [rax - 0x1f1ad]
cmp edx, 0x39
jb 0x1401c604a
lea edx, [rax - 0x1f191]
cmp edx, 0xa
jb 0x1401c604a
mov edx, eax
and edx, 0xfffffffe
cmp edx, 0x1f17e
je 0x1401c604a
lea r8d, [rax - 0x1f16c]
cmp r8d, 6
jb 0x1401c604a
lea r8d, [rax - 0x1f10d]
cmp r8d, 3
jb 0x1401c604a
mov r8d, eax
and r8d, 0xffffff00
cmp r8d, 0x1f000
je 0x1401c604a
lea r8d, [rax - 0x2b1b]
cmp r8d, 2
jb 0x1401c604a
lea r8d, [rax - 0x2b05]
cmp r8d, 3
jb 0x1401c604a
cmp edx, 0x2934
je 0x1401c604a
lea r8d, [rax - 0x2795]
cmp r8d, 3
jb 0x1401c604a
lea r8d, [rax - 0x2763]
cmp r8d, 5
jb 0x1401c604a
lea r8d, [rax - 0x2753]
cmp r8d, 3
jb 0x1401c604a
lea r8d, [rax - 0x2733]
cmp r8d, 2
jb 0x1401c604a
lea r8d, [rax - 0x2708]
cmp r8d, 0xb
jb 0x1401c604a
lea r8d, [rax - 0x2690]
cmp r8d, 0x76
jb 0x1401c604a
lea r8d, [rax - 0x2614]
cmp r8d, 0x72
jb 0x1401c604a
lea r8d, [rax - 0x2607]
cmp r8d, 0xc
jb 0x1401c604a
lea r8d, [rax - 0x2600]
cmp r8d, 6
jb 0x1401c604a
lea r8d, [rax - 0x25fb]
cmp r8d, 4
jb 0x1401c604a
cmp edx, 0x25aa
je 0x1401c604a
lea r8d, [rax - 0x23f8]
cmp r8d, 3
jb 0x1401c604a
lea r8d, [rax - 0x23e9]
cmp r8d, 0xb
jb 0x1401c604a
cmp edx, 0x231a
je 0x1401c604a
lea edx, [rax - 0x2194]
cmp edx, 6
jb 0x1401c604a
lea edx, [rax - 0x21a9]
cmp edx, 2
jb 0x1401c604a
add eax, 0xfffe06b9
cmp eax, 0x6b6
ja 0x1401c6060
jmp 0x1401c604a
mov rax, qword [rsp + 0x68]
mov r12, qword [rax + 8]
mov eax, dword [rsi + 0xac]
test al, 0x20
jne 0x1401c63e5
test al, 2
je 0x1401c63e5
cmp qword [rsi + 0x98], 0
jne 0x1401c63e5
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x1401cb1a6
mov rdi, qword [rsi + 8]
movzx ecx, word [rdi + 0x10]
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
cmp rax, 2
ja 0x1401c63e5
mov rcx, r12
mov edx, 0x25cc
call fcn.1401ede49
test ax, ax
je 0x1401c63e5
mov rcx, qword [rsi + 0x80]
cmp r14, rcx
jbe 0x1401cb248
lea rax, [rcx + rcx*4]
mov rax, qword [rdi + rax*4 + 4]
lea r14, [rsp + 0xe0]
mov dword [r14], 0x25cc
mov qword [r14 + 4], rax
xor edi, edi
mov qword [r14 + 0xc], rdi
mov rcx, r14
mov rdx, rbx
call fcn.1401cb4cb
mov word [rsi + 0xbd], 1
mov byte [rsi + 0xbf], 0
mov qword [rsi + 0x80], rdi
mov qword [rsi + 0x90], rdi
mov rcx, rsi
mov rdx, r14
call fcn.1401cb773
mov rcx, rsi
call fcn.1401cb7f2
test byte [rbx], 1
je 0x1401c6477
mov bpl, byte [rsi + 0xc0]
mov rcx, rsi
xor edx, edx
call fcn.1401cb982
mov rbx, rax
mov rdi, qword [rsi + 0x88]
test bpl, bpl
je 0x1401c644b
test rdi, rdi
je 0x1401c6477
xor edx, edx
mov rax, rbx
sub rax, rdx
cmp rax, 2
jb 0x1401c6433
mov rcx, rsi
mov r8, rbx
call fcn.1401b7dd3
mov rdi, qword [rsi + 0x88]
mov rcx, rsi
mov rdx, rbx
call fcn.1401cb982
mov rdx, rbx
cmp rbx, rdi
mov rbx, rax
jb 0x1401c6415
jmp 0x1401c6477
test rdi, rdi
je 0x1401c6477
xor edx, edx
mov rcx, rsi
mov r8, rbx
call fcn.1401b7b69
mov rcx, rsi
mov rdx, rbx
call fcn.1401cb982
mov rdx, rbx
cmp rbx, qword [rsi + 0x88]
mov rbx, rax
jb 0x1401c6452
mov dil, byte [rsi + 0xc1]
cmp dword [rsi + 0x48], 0
mov qword [rsp + 0x48], r12
je 0x1401c64f6
mov ecx, dword [rsi + 0x4c]
call fcn.1401ddc27
cmp al, 5
je 0x1401c64f6
mov ebx, eax
movzx eax, al
cmp eax, 2
jne 0x1401c64f8
mov bl, 2
cmp dil, 1
jne 0x1401c64f8
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401cab1f
mov r14, qword [rsi + 8]
shl rax, 2
lea r15, [rax + rax*4]
xor r12d, r12d
xor r13d, r13d
movzx ecx, word [r14 + r12 + 0x10]
and ecx, 0x1f
call fcn.1401b8e0d
mov cl, 1
cmp al, 8
je 0x1401c64e5
mov ecx, r13d
cmp al, 5
jb 0x1401cab28
add r12, 0x14
mov r13d, ecx
cmp r15, r12
jne 0x1401c64c6
jmp 0x1401cab21
xor ebx, ebx
lea eax, [rdi - 3]
cmp al, 0xfe
setb al
cmp dil, bl
sete cl
test bl, bl
sete dl
dec dil
cmp dil, 2
ja 0x1401c651e
or cl, dl
or al, cl
jne 0x1401c65db
mov dil, byte [rsi + 0xc0]
mov rcx, rsi
xor edx, edx
call fcn.1401cb982
mov rbx, rax
mov r14, qword [rsi + 0x88]
cmp dil, 1
jne 0x1401c6587
test r14, r14
je 0x1401c65bf
xor r15d, r15d
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.1401b7b69
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.1401cb9f1
mov rcx, rsi
mov rdx, rbx
call fcn.1401cb982
mov r15, rbx
mov r14, qword [rsi + 0x88]
cmp rbx, r14
mov rbx, rax
jb 0x1401c6547
test r14, r14
jne 0x1401c65b2
jmp 0x1401c65bf
test r14, r14
je 0x1401c65bf
xor edx, edx
mov r15, rbx
mov rcx, rsi
mov r8, rbx
call fcn.1401cb9f1
mov rcx, rsi
mov rdx, rbx
call fcn.1401cb982
mov rbx, rax
mov rdx, r15
cmp r15, r14
jb 0x1401c658e
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.1401cb9f1
mov cl, byte [rsi + 0xc1]
shl cl, 3
movabs rax, 0x304010200
shr rax, cl
mov byte [rsi + 0xc1], al
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 0xb0]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1401c65f8
mov rdx, r12
mov r8, rsi
call rax
mov rbx, qword [rsi + 0x88]
mov rax, qword [rsp + 0x68]
mov dil, byte [rax + 0x28]
movzx eax, dil
mov ecx, 0x15
bt ecx, eax
jae 0x1401c66a5
mov rdx, qword [rsi + 0x10]
cmp rdx, rbx
jb 0x1401cb3ff
test rbx, rbx
je 0x1401c66a5
mov rax, qword [rsp + 0x30]
mov r14d, dword [rax + 0xd4]
mov r15, qword [rsi + 8]
lea rax, [rbx*4]
lea r12, [rax + rax*4]
xor r13d, r13d
mov ecx, dword [r15 + r13]
cmp ecx, 0x110000
je 0x1401cb1f3
mov eax, ecx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1401cb1f3
call fcn.1402954fa
cmp eax, 0x110000
je 0x1401c6697
mov ebp, eax
mov rcx, qword [rsp + 0x48]
mov edx, eax
call fcn.1401ede49
test ax, ax
je 0x1401c6697
mov dword [r15 + r13], ebp
jmp 0x1401c669c
or dword [r15 + r13 + 4], r14d
add r13, 0x14
cmp r12, r13
jne 0x1401c664b
dec dil
cmp dil, 2
mov r13, qword [rsp + 0x48]
jb 0x1401c68d4
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0xe3], 0
jne 0x1401c68d4
mov rdx, qword [rsi + 0x10]
cmp rdx, rbx
jb 0x1401cb480
test rbx, rbx
je 0x1401c68d4
mov rdi, qword [rsi + 8]
shl rbx, 2
lea r14, [rbx + rbx*4]
xor r15d, r15d
mov ebp, 0x79ff83
lea r12, [0x1403b6f14]
mov eax, dword [rdi + r15]
cmp eax, 0x110000
je 0x1401cb1f3
mov ecx, eax
xor ecx, 0xd800
add ecx, 0xffef0000
cmp ecx, 0xffef07ff
jbe 0x1401cb1f3
mov ecx, eax
shr ecx, 8
cmp ecx, 0xfd
jg 0x1401c6760
cmp ecx, 0x20
je 0x1401c67b1
cmp ecx, 0x30
jne 0x1401c68c7
add eax, 0xffffcfff
cmp eax, 0x17
jae 0x1401c68c7
bt ebp, eax
jae 0x1401c68c7
cdqe
mov ebx, dword [r12 + rax*4]
jmp 0x1401c68b4
cmp ecx, 0xfe
je 0x1401c67d8
cmp ecx, 0xff
jne 0x1401c68c7
cmp eax, 0xff1e
jg 0x1401c67ed
cmp eax, 0xff0b
jg 0x1401c6838
cmp eax, 0xff01
je 0x1401c687e
cmp eax, 0xff08
je 0x1401c6885
cmp eax, 0xff09
jne 0x1401c68c7
mov ebx, 0xfe36
jmp 0x1401c68b4
cmp eax, 0x2024
jg 0x1401c681f
cmp eax, 0x2013
je 0x1401c6870
cmp eax, 0x2014
jne 0x1401c68c7
mov ebx, 0xfe31
jmp 0x1401c68b4
mov ebx, 0xfe34
cmp eax, 0xfe4f
je 0x1401c68b4
jmp 0x1401c68c7
cmp eax, 0xff3e
jg 0x1401c6854
cmp eax, 0xff1f
je 0x1401c688c
cmp eax, 0xff3b
je 0x1401c6893
cmp eax, 0xff3d
jne 0x1401c68c7
mov ebx, 0xfe48
jmp 0x1401c68b4
cmp eax, 0x2025
je 0x1401c6877
cmp eax, 0x2026
jne 0x1401c68c7
mov ebx, 0xfe19
jmp 0x1401c68b4
cmp eax, 0xff0c
je 0x1401c689a
cmp eax, 0xff1a
je 0x1401c68a1
cmp eax, 0xff1b
jne 0x1401c68c7
mov ebx, 0xfe14
jmp 0x1401c68b4
cmp eax, 0xff3f
je 0x1401c68a8
cmp eax, 0xff5b
je 0x1401c68af
cmp eax, 0xff5d
jne 0x1401c68c7
mov ebx, 0xfe38
jmp 0x1401c68b4
mov ebx, 0xfe32
jmp 0x1401c68b4
mov ebx, 0xfe30
jmp 0x1401c68b4
mov ebx, 0xfe15
jmp 0x1401c68b4
mov ebx, 0xfe35
jmp 0x1401c68b4
mov ebx, 0xfe16
jmp 0x1401c68b4
mov ebx, 0xfe47
jmp 0x1401c68b4
mov ebx, 0xfe10
jmp 0x1401c68b4
mov ebx, 0xfe13
jmp 0x1401c68b4
mov ebx, 0xfe33
jmp 0x1401c68b4
mov ebx, 0xfe37
mov rcx, r13
mov edx, ebx
call fcn.1401ede49
test ax, ax
je 0x1401c68c7
mov dword [rdi + r15], ebx
add r15, 0x14
cmp r14, r15
jne 0x1401c66fa
mov r12, qword [rsi + 0x88]
test r12, r12
je 0x1401c78a4
mov r8, qword [rsp + 0x30]
mov rax, qword [r8 + 0xb0]
movzx ecx, byte [rax + 0x52]
cmp cl, 3
mov ebx, 1
cmovne ebx, ecx
mov rcx, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
test rcx, rcx
lea rdx, [0x1401cbafc]
cmovne rdx, rcx
test rax, rax
lea rcx, [0x1401cbb03]
cmovne rcx, rax
lea r14, [rsp + 0xb0]
mov qword [r14], r8
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], rdx
mov qword [r14 + 0x20], rcx
mov word [rsi + 0xbd], 1
mov byte [rsi + 0xbf], 0
xor edi, edi
mov qword [rsi + 0x80], rdi
mov qword [rsi + 0x90], rdi
mov al, 1
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x88], ebx
lea rax, [rdi + rdi*4]
dec rdi
lea rsi, [rax*4 + 0x24]
lea rax, [rdi + 2]
mov rcx, qword [rsp + 0xb8]
cmp rax, r12
jae 0x1401c69cb
mov rdx, qword [rcx + 0x10]
cmp rdx, rax
jbe 0x1401cab50
mov rax, qword [rcx + 8]
movzx ecx, word [rax + rsi]
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
inc rdi
add rsi, 0x14
cmp rax, 2
ja 0x1401c697f
mov rcx, qword [rsp + 0xb8]
jmp 0x1401c69ce
mov rdi, rax
test bl, 5
mov r12, qword [rsp + 0x48]
je 0x1401c69e8
mov r14, rdi
sub r14, qword [rcx + 0x80]
jne 0x1401c69f6
xor esi, esi
jmp 0x1401c6a4b
mov ebx, dword [rsp + 0x88]
mov r12, qword [rsp + 0x38]
jmp 0x1401c6a6f
xor esi, esi
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax + 0x80]
add rcx, rsi
mov rdx, qword [rax + 0x10]
cmp rdx, rcx
jbe 0x1401cafcf
mov rbx, qword [rax + 8]
lea r15, [rcx + rcx*4]
mov edx, dword [rbx + r15*4]
mov rcx, r12
call fcn.1401ede49
test ax, ax
je 0x1401c6a43
movzx eax, dx
mov dword [rbx + r15*4 + 0xc], eax
inc rsi
cmp r14, rsi
jne 0x1401c69f8
mov rsi, r14
mov rcx, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x88]
mov r12, qword [rsp + 0x38]
lea r14, [rsp + 0xb0]
mov rdx, rsi
call fcn.1401cbb0d
mov rcx, qword [rsp + 0xb8]
mov r13, qword [rcx + 0x80]
cmp r13, rdi
jae 0x1401c6a9c
cmp byte [rcx + 0xbc], 0
je 0x1401c6a9c
test bl, 5
setne dl
mov rcx, r14
call fcn.1401cbc15
mov rcx, qword [rsp + 0xb8]
jmp 0x1401c6a6f
cmp r13, r12
je 0x1401c70a9
cmp byte [rcx + 0xbc], 0
je 0x1401c70a9
lea rax, [r13*4]
add rax, r13
lea rsi, [rax*4 + 0x24]
lea r15, [r13 + 1]
mov rbp, qword [rsp + 0xb8]
cmp r15, r12
jae 0x1401c6b13
mov rdx, qword [rbp + 0x10]
cmp rdx, r15
jbe 0x1401cab5f
mov rax, qword [rbp + 8]
movzx ecx, word [rax + rsi]
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
add rsi, 0x14
mov r13, r15
cmp rax, 3
jb 0x1401c6ac5
lea r13, [r15 - 1]
mov rbp, qword [rsp + 0xb8]
mov rcx, qword [rbp + 0x80]
cmp rcx, r15
jae 0x1401c7076
cmp byte [rbp + 0xbc], 0
je 0x1401c6bab
mov rdx, qword [rbp + 0x10]
lea rax, [rcx*4]
lea rax, [rax + rax*4]
lea r8, [r13 + 1]
mov r9, rcx
cmp rdx, r9
jbe 0x1401cafdb
mov r10, qword [rbp + 8]
mov r10d, dword [r10 + rax]
cmp r10d, 0x110000
je 0x1401cb1f3
mov r11d, r10d
xor r11d, 0xd800
add r11d, 0xffef0000
cmp r11d, 0xffef07ff
jbe 0x1401cb1f3
mov r11d, r10d
and r11d, 0xfffffff0
cmp r11d, 0xfe00
je 0x1401c6bdc
add r10d, 0xfff1ff00
cmp r10d, 0xf0
jb 0x1401c6bdc
inc r9
add rax, 0x14
cmp r8, r9
jne 0x1401c6b43
cmp byte [rbp + 0xbc], 0
je 0x1401c7076
cmp bl, 4
sete dl
mov rcx, r14
call fcn.1401cbc15
mov rbp, qword [rsp + 0xb8]
cmp qword [rbp + 0x80], r15
jb 0x1401c6bab
jmp 0x1401c7076
mov rax, qword [rsp + 0xc0]
cmp rcx, r13
jae 0x1401c703c
lea rdx, [rax + 0x588]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x30], rax
cmp byte [rbp + 0xbc], 0
je 0x1401c703c
lea rax, [rcx + 1]
mov rdx, qword [rbp + 0x10]
cmp rdx, rax
jbe 0x1401ca810
mov rsi, qword [rbp + 8]
lea rax, [rax + rax*4]
mov r14d, dword [rsi + rax*4]
cmp r14d, 0x110000
je 0x1401cb1f3
mov eax, r14d
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1401cb1f3
mov edx, r14d
and edx, 0xfffffff0
lea rdi, [rcx + rcx*4]
lea rax, [rsi + rdi*4]
cmp edx, 0xfe00
je 0x1401c6ca7
lea ecx, [r14 - 0xe0100]
cmp ecx, 0xf0
jb 0x1401c6ca7
mov edx, dword [rax]
mov rcx, qword [rsp + 0x30]
call fcn.1401ede49
cmp ax, 1
jne 0x1401c6c8b
movzx eax, dx
mov dword [rsi + rdi*4 + 0xc], eax
mov rcx, rbp
call fcn.1401bd0ad
mov rcx, qword [rbp + 0x80]
lea r14, [rsp + 0xb0]
jmp 0x1401c6fa1
mov ecx, dword [rax]
cmp ecx, 0x110000
je 0x1401cb1f3
mov eax, ecx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1401cb1f3
mov rax, qword [rsp + 0x30]
mov r8, qword [rax + 0x580]
test r8, r8
je 0x1401c6d9f
mov dword [rsp + 0x40], ecx
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x10]
lea rcx, [rsp + 0x270]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x268], r8
mov r12, qword [rsp + 0x280]
test r12d, 0x7fff8
lea rax, [rsp + 0x1f0]
je 0x1401c6d8e
shr r12d, 3
cmp r12w, 1
adc r12d, 0
xor ebx, ebx
mov r8d, ebx
lea ebx, [r8 + 1]
mov word [rsp + 0x288], bx
mov rcx, rax
lea rdx, [rsp + 0x268]
call fcn.1402869b0
lea rax, [rsp + 0x1f0]
cmp qword [rsp + 0x1f0], 9
je 0x1401c6d8e
mov ecx, 0xd
lea rdi, [rsp + 0x290]
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
cmp dword [rsp + 0x290], 8
je 0x1401c6e0c
cmp r12w, bx
jne 0x1401c6d35
mov ebx, dword [rsp + 0x88]
mov r12, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x80]
cmp rdx, rcx
jbe 0x1401cafcf
mov rsi, qword [rbp + 8]
lea rdi, [rcx + rcx*4]
mov edx, dword [rsi + rdi*4]
mov rcx, rax
call fcn.1401ede49
cmp ax, 1
jne 0x1401c6dd3
movzx eax, dx
mov dword [rsi + rdi*4 + 0xc], eax
mov rcx, rbp
call fcn.1401bd0ad
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x80]
cmp rdx, rcx
lea r14, [rsp + 0xb0]
jbe 0x1401cafcf
mov rsi, qword [rbp + 8]
lea rdi, [rcx + rcx*4]
mov edx, dword [rsi + rdi*4]
mov rcx, qword [rsp + 0x30]
jmp 0x1401c6fb4
lea rcx, [rsp + 0x298]
mov edx, dword [rsp + 0x40]
mov r8d, r14d
call fcn.140286328
test ax, ax
je 0x1401c6f1e
movzx eax, ax
cmp eax, 1
mov ebx, dword [rsp + 0x88]
mov r12, qword [rsp + 0x38]
jne 0x1401c6d9a
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x10]
lea rcx, [rsp + 0x198]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x190], rax
mov rsi, qword [rsp + 0x1a8]
test esi, 0x7fff8
lea r14, [rsp + 0xb0]
je 0x1401c6d9a
shr esi, 3
cmp si, 1
adc esi, 0
xor edi, edi
mov r8d, edi
lea edi, [r8 + 1]
mov word [rsp + 0x1b0], di
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x190]
call fcn.1402869b0
cmp qword [rsp + 0xe0], 9
je 0x1401c6d9a
movzx eax, byte [rsp + 0x142]
test eax, eax
je 0x1401c6ef9
cmp eax, 3
jne 0x1401c6f10
movzx eax, word [rsp + 0x140]
cmp ax, 1
je 0x1401c6ef9
cmp ax, 0xa
jne 0x1401c6f10
mov rax, qword [rsp + 0xe0]
and eax, 0xe
cmp eax, 6
jne 0x1401c6f10
lea rcx, [rsp + 0xe0]
mov edx, dword [rsp + 0x40]
call fcn.1400fe7e1
cmp ax, 1
je 0x1401c6f32
cmp si, di
jne 0x1401c6e91
jmp 0x1401c6d9a
mov ebx, dword [rsp + 0x88]
mov r12, qword [rsp + 0x38]
lea r14, [rsp + 0xb0]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x80]
cmp rax, rcx
jbe 0x1401cb21f
mov rax, qword [rbp + 8]
movzx edx, dx
lea rcx, [rcx + rcx*4]
mov dword [rax + rcx*4 + 0xc], edx
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x80]
cmp rdx, rcx
jbe 0x1401ca804
mov rax, qword [rbp + 8]
lea rcx, [rcx + rcx*4]
mov eax, dword [rax + rcx*4]
mov dword [rsp + 0xe0], eax
mov qword [rsp + 0x20], 1
mov edx, 2
mov r8d, 1
mov rcx, rbp
lea r9, [rsp + 0xe0]
call fcn.1401cbe9d
jmp 0x1401c6fce
cmp rcx, r13
mov rax, qword [rsp + 0x30]
jb 0x1401c6bfe
jmp 0x1401c703c
call fcn.1401ede49
cmp ax, 1
jne 0x1401c6fc6
movzx eax, dx
mov dword [rsi + rdi*4 + 0xc], eax
mov rcx, rbp
call fcn.1401bd0ad
mov rcx, qword [rbp + 0x80]
cmp rcx, r15
jae 0x1401c6fa1
mov rdx, qword [rbp + 0x10]
cmp rdx, rcx
jbe 0x1401ca804
mov rsi, qword [rbp + 8]
lea rdi, [rcx + rcx*4]
mov edx, dword [rsi + rdi*4]
cmp edx, 0x110000
je 0x1401cb1f3
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1401cb1f3
mov eax, edx
and eax, 0xfffffff0
cmp eax, 0xfe00
je 0x1401c7032
lea eax, [rdx - 0xe0100]
cmp eax, 0xef
ja 0x1401c6fa1
mov rcx, qword [rsp + 0x30]
jmp 0x1401c6fb4
cmp rcx, r15
jae 0x1401c7076
mov rdx, qword [rbp + 0x10]
cmp rdx, rcx
jbe 0x1401cafcf
mov rsi, qword [rbp + 8]
lea rdi, [rcx + rcx*4]
mov edx, dword [rsi + rdi*4]
mov rcx, rax
call fcn.1401ede49
cmp ax, 1
jne 0x1401c706e
movzx eax, dx
mov dword [rsi + rdi*4 + 0xc], eax
mov rcx, rbp
call fcn.1401bd0ad
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rcx + 0x80]
cmp rdi, r12
jae 0x1401c70a1
mov dword [rsp + 0x78], 0
cmp byte [rcx + 0xbc], 0
jne 0x1401c6970
jmp 0x1401c70a9
mov dword [rsp + 0x78], 0
call fcn.1401cb7f2
mov rax, qword [rsp + 0xb8]
test byte [rsp + 0x78], 1
jne 0x1401c7410
mov rbx, qword [rax + 0x88]
test rbx, rbx
je 0x1401c7410
xor ebp, ebp
mov qword [rsp + 0x180], rbx
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x10]
cmp rdx, rbp
jbe 0x1401cb110
mov rax, qword [rax + 8]
lea rcx, [rbp*4]
add rcx, rbp
movzx esi, word [rax + rcx*4 + 0x10]
mov ecx, esi
and ecx, 0x1f
call fcn.1401b8e0d
cmp esi, 0x100
jb 0x1401c73fc
movzx eax, al
add rax, 0xfffffffffffffff8
cmp rax, 0xfffffffffffffffd
jb 0x1401c73fc
lea rax, [rbp*4]
lea r12, [rax + rax*4]
lea rsi, [rax + rax*4]
add rsi, 0x24
mov rax, rbp
mov r14, rax
lea rcx, [rax + 1]
cmp rcx, rbx
jae 0x1401c7196
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x10]
cmp rdx, rcx
jbe 0x1401caffa
mov rax, qword [rax + 8]
movzx edi, word [rax + rsi]
mov ecx, edi
and ecx, 0x1f
call fcn.1401b8e0d
cmp edi, 0x100
jb 0x1401c7192
movzx ecx, al
add rcx, 0xfffffffffffffff8
add rsi, 0x14
lea rax, [r14 + 1]
cmp rcx, 0xfffffffffffffffd
jae 0x1401c7142
lea rcx, [r14 + 1]
mov rax, rcx
sub rax, rbp
cmp rax, 0x20
ja 0x1401c73f3
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x98], rax
cmp byte [rax + 0xbf], 0
jne 0x1401cb408
lea rbx, [rbp + 1]
cmp rbx, r14
ja 0x1401c73be
mov rax, qword [rsp + 0x98]
mov r10, qword [rax + 8]
mov rdx, qword [rax + 0x10]
lea rcx, [r12 + 0x10]
mov r9, rbp
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x50], r12
lea rax, [rbx + rbx*4]
mov qword [rsp + 0x60], rax
lea rax, [r10 + rax*4]
add rax, 0x10
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x80], r10
lea rdi, [r10 + rcx]
xor eax, eax
mov qword [rsp + 0x58], r9
mov r14, r9
mov qword [rsp + 0x30], rbx
mov r15, rax
lea r13, [r14 + 1]
cmp r13, rbp
jbe 0x1401c72d0
cmp rdx, r14
jbe 0x1401cab32
cmp rdx, rbx
jbe 0x1401cab41
mov qword [rsp + 0x40], r13
mov r13, rdx
mov rbx, rbp
movzx r12d, word [rdi]
mov ecx, r12d
and ecx, 0x1f
call fcn.1401b8e0d
mov ebp, eax
mov rax, qword [rsp + 0x38]
movzx esi, word [rax]
mov ecx, esi
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
cmp rax, 3
jb 0x1401c7297
xor esi, esi
jmp 0x1401c729a
shr esi, 8
movzx eax, bpl
add rax, 0xfffffffffffffffb
cmp rax, 2
mov rbp, rbx
mov rdx, r13
mov rbx, qword [rsp + 0x30]
ja 0x1401c72cb
shr r12d, 8
dec r14
add rdi, 0xffffffffffffffec
lea rax, [r15 - 1]
cmp sil, r12b
jb 0x1401c7236
mov r13, qword [rsp + 0x40]
cmp rbx, r13
mov r12, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x80]
je 0x1401c7393
lea r8, [r9 + 2]
mov rsi, qword [rsp + 0x98]
mov rcx, rsi
mov rdx, r13
call fcn.1401b7b69
mov rdx, qword [rsi + 0x10]
cmp rdx, rbx
jbe 0x1401cb0da
mov r10, qword [rsi + 8]
mov rcx, qword [rsp + 0x60]
mov eax, dword [r10 + rcx*4 + 0x10]
mov dword [rsp + 0xf0], eax
movups xmm0, xmmword [r10 + rcx*4]
movaps xmmword [rsp + 0xe0], xmm0
cmp rbx, r13
mov r9, qword [rsp + 0x58]
je 0x1401c7366
lea rax, [r10 + r12]
mov rcx, r9
cmp rdx, rcx
jbe 0x1401cafb7
mov r8d, dword [rax + 0x10]
mov dword [rax + 0x24], r8d
movups xmm0, xmmword [rax]
movups xmmword [rax + 0x14], xmm0
add rax, 0xffffffffffffffec
dec rcx
inc r15
jne 0x1401c7342
cmp rdx, r13
jbe 0x1401cb0e6
lea rax, [r13*4]
add rax, r13
mov ecx, dword [rsp + 0xf0]
mov dword [r10 + rax*4 + 0x10], ecx
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [r10 + rax*4], xmm0
lea rax, [rbx + 1]
inc r9
mov rcx, qword [rsp + 0x90]
add rcx, 0x14
add r12, 0x14
mov r14, qword [rsp + 0xa0]
cmp rbx, r14
mov rbx, rax
jne 0x1401c71f8
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx + 0xb0]
mov rax, qword [rax + 0x48]
test rax, rax
mov rbx, qword [rsp + 0x180]
mov r9, qword [rsp + 0xa8]
je 0x1401c73f3
mov rdx, qword [rsp + 0xb8]
mov r8, rbp
call rax
add r14, 2
mov rbp, r14
jmp 0x1401c73ff
inc rbp
cmp rbp, rbx
jb 0x1401c70db
mov rax, qword [rsp + 0xb8]
test byte [rax + 0xb0], 0x20
je 0x1401c750c
mov rax, qword [rax + 0x88]
xor r14d, r14d
sub rax, 1
mov r15d, 0
cmovae r15, rax
cmp r15, 2
jb 0x1401c750c
mov esi, 1
xor r12d, r12d
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x10]
cmp rdx, rsi
jbe 0x1401cb0cb
lea rdi, [rsi + 1]
mov rax, qword [rax + 8]
cmp dword [rax + r12 + 0x14], 0x34f
jne 0x1401c74fc
movzx ebp, word [rax + r12 + 0x10]
mov ecx, ebp
and ecx, 0x1f
call fcn.1401b8e0d
mov ebx, eax
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x10]
cmp rdx, rdi
jbe 0x1401cb119
mov rax, qword [rax + 8]
movzx r13d, word [rax + r12 + 0x38]
mov ecx, r13d
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
shr r13d, 8
cmp rax, 3
cmovae r13d, r14d
test r13b, r13b
je 0x1401c74dc
movzx eax, bl
add rax, 0xfffffffffffffff8
cmp rax, 0xfffffffffffffffd
jb 0x1401c74dc
shr ebp, 8
cmp r13b, bpl
jb 0x1401c74fc
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x10]
cmp rdx, rsi
jbe 0x1401cb152
mov rax, qword [rax + 8]
and word [rax + r12 + 0x24], 0xffbf
add r12, 0x14
mov rsi, rdi
cmp rdi, r15
jb 0x1401c7447
test byte [rsp + 0x78], 1
jne 0x1401c78a4
mov rcx, qword [rsp + 0xb8]
cmp byte [rcx + 0xbc], 0
je 0x1401c78a4
cmp byte [rsp + 0x88], 4
je 0x1401c78a4
movzx eax, byte [rsp + 0x88]
dec rax
cmp rax, 1
ja 0x1401c78a4
mov r15, qword [rcx + 0x88]
mov word [rcx + 0xbd], 1
mov byte [rcx + 0xbf], 0
xor r12d, r12d
mov qword [rcx + 0x80], r12
mov qword [rcx + 0x90], r12
call fcn.1401bd0ad
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx + 0x80]
cmp rax, r15
jae 0x1401c789f
lea rdi, [rsp + 0xb0]
xor esi, esi
cmp byte [rcx + 0xbc], 0
je 0x1401c789f
mov rdx, qword [rcx + 0x10]
cmp rdx, rax
jbe 0x1401ca810
mov r14, qword [rcx + 8]
lea r13, [rax + rax*4]
movzx ecx, word [r14 + r13*4 + 0x10]
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
cmp rax, 3
jae 0x1401c7806
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x90]
lea rcx, [rdx - 1]
cmp rsi, rcx
je 0x1401c7695
sub rdx, 1
mov ecx, 0
cmovae rcx, rdx
mov r9b, byte [rax + 0xbe]
lea r8, [rax + 0x18]
test r9b, r9b
mov rdx, r8
cmove rdx, rax
mov rdx, qword [rdx + 0x10]
cmp rcx, rdx
jae 0x1401cb1c3
lea rbp, [r14 + r13*4]
add rbp, 0x10
test r9b, r9b
cmove r8, rax
mov rax, qword [r8 + 8]
lea rcx, [rcx + rcx*4]
movzx ebx, word [rax + rcx*4 + 0x10]
mov ecx, ebx
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
shr ebx, 8
cmp rax, 3
cmovae ebx, r12d
movzx ebp, word [rbp]
mov ecx, ebp
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
cmp rax, 2
ja 0x1401c7806
shr ebp, 8
cmp bl, bpl
jae 0x1401c7806
mov rax, qword [rsp + 0xb8]
mov r8b, byte [rax + 0xbe]
lea rcx, [rax + 0x18]
test r8b, r8b
mov rdx, rcx
cmove rdx, rax
mov rdx, qword [rdx + 0x10]
cmp rsi, rdx
jae 0x1401cb18e
test r8b, r8b
cmove rcx, rax
mov rax, qword [rcx + 8]
lea rbx, [rsi + rsi*4]
mov edx, dword [rax + rbx*4]
cmp edx, 0x110000
je 0x1401cb1f3
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1401cb1f3
lea rax, [r14 + r13*4]
mov r8d, dword [rax]
cmp r8d, 0x110000
je 0x1401cb1f3
mov eax, r8d
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1401cb1f3
mov rcx, rdi
call qword [rsp + 0xd0]
cmp eax, 0x110000
je 0x1401c7806
mov ebp, eax
mov rcx, qword [rsp + 0x48]
mov edx, eax
call fcn.1401ede49
cmp ax, 1
jne 0x1401c7806
mov r14d, edx
mov rcx, qword [rsp + 0xb8]
call fcn.1401bd0ad
mov rcx, qword [rsp + 0xb8]
cmp byte [rcx + 0xbc], 0
je 0x1401c78a4
mov r8, qword [rcx + 0x90]
mov rdx, rsi
call fcn.1401b878e
mov rax, qword [rsp + 0xb8]
dec qword [rax + 0x90]
mov ecx, dword [rax + 0xb0]
mov dword [rsp + 0xe0], ecx
mov r8b, byte [rax + 0xbe]
lea rcx, [rax + 0x18]
test r8b, r8b
mov rdx, rcx
cmove rdx, rax
mov rdx, qword [rdx + 0x10]
cmp rsi, rdx
jae 0x1401cb19a
test r8b, r8b
cmove rcx, rax
mov rax, qword [rcx + 8]
lea rcx, [rax + rbx*4]
mov dword [rcx], ebp
movzx eax, r14w
mov dword [rcx + 0xc], eax
lea rdx, [rsp + 0xe0]
call fcn.1401cb4cb
mov eax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + 0xb0], eax
mov rax, qword [rcx + 0x80]
cmp rax, r15
jb 0x1401c759e
jmp 0x1401c789f
mov rcx, qword [rsp + 0xb8]
call fcn.1401bd0ad
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x90]
sub rdx, 1
mov ecx, 0
cmovae rcx, rdx
mov r9b, byte [rax + 0xbe]
lea r8, [rax + 0x18]
test r9b, r9b
mov rdx, r8
cmove rdx, rax
mov rdx, qword [rdx + 0x10]
cmp rcx, rdx
jae 0x1401cb1c3
test r9b, r9b
cmove r8, rax
mov rax, qword [r8 + 8]
lea rcx, [rcx + rcx*4]
movzx ebx, word [rax + rcx*4 + 0x10]
mov ecx, ebx
and ecx, 0x1f
call fcn.1401b8e0d
mov rcx, qword [rsp + 0xb8]
cmp ebx, 0x100
jb 0x1401c7890
movzx eax, al
add rax, 0xfffffffffffffff8
cmp rax, 0xfffffffffffffffd
jae 0x1401c77f1
mov rsi, qword [rcx + 0x90]
dec rsi
jmp 0x1401c77f1
call fcn.1401cb7f2
mov rcx, qword [rsp + 0x68]
mov r12, qword [rcx]
mov r15, qword [rcx + 0x10]
test byte [r15 + 0xb0], 1
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], r12
je 0x1401c7afe
cmp byte [r12 + 0xe2], 0
je 0x1401c7afe
movzx eax, byte [r15 + 0xc1]
mov ecx, 0x15
bt ecx, eax
jae 0x1401c7905
mov esi, dword [r12 + 0xc8]
mov ebp, dword [r12 + 0xd0]
or ebp, esi
or esi, dword [r12 + 0xcc]
jmp 0x1401c791f
mov esi, dword [r12 + 0xc8]
mov ebp, dword [r12 + 0xcc]
or ebp, esi
or esi, dword [r12 + 0xd0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [r15 + 0x88]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1401c7afe
xor edi, edi
mov dword [rsp + 0x58], esi
mov rdx, qword [r15 + 0x10]
cmp rdx, rdi
jbe 0x1401cb09b
mov rax, qword [r15 + 8]
lea rdx, [rdi + rdi*4]
cmp dword [rax + rdx*4], 0x2044
jne 0x1401c79b8
mov qword [rsp + 0x48], rdx
lea r12, [rdi + 1]
lea rax, [rdi*4]
lea r13, [rax + rax*4]
lea rbx, [rax + rax*4]
add rbx, 0xfffffffffffffffc
xor ecx, ecx
mov r14, rcx
cmp r12, 1
je 0x1401c79c3
lea rcx, [r12 - 2]
mov rdx, qword [r15 + 0x10]
cmp rdx, rcx
jbe 0x1401cafc3
mov rax, qword [r15 + 8]
movzx ecx, word [rax + rbx]
and ecx, 0x1f
call fcn.1401b8e0d
dec r12
add rbx, 0xffffffffffffffec
lea rcx, [r14 - 0x14]
cmp al, 8
je 0x1401c797c
jmp 0x1401c79c6
inc rdi
mov r15, rdi
jmp 0x1401c7aeb
xor r12d, r12d
lea r15, [rdi + 1]
mov rbx, r15
cmp r15, qword [rsp + 0x38]
jae 0x1401c7a18
lea rsi, [r13 + 0x24]
mov rbx, r15
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
cmp rdx, rbx
jbe 0x1401cafee
mov rax, qword [rax + 8]
movzx ecx, word [rax + rsi]
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 8
jne 0x1401c7a14
inc rbx
add rsi, 0x14
cmp qword [rsp + 0x38], rbx
jne 0x1401c79db
mov rbx, qword [rsp + 0x38]
mov esi, dword [rsp + 0x58]
mov rax, rbx
sub rax, r12
cmp rax, 2
jb 0x1401c7a34
mov rcx, qword [rsp + 0x30]
mov rdx, r12
mov r8, rbx
call fcn.1401b7dd3
cmp r12, rdi
ja 0x1401cb384
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
cmp rdx, rdi
jb 0x1401cb396
cmp r12, rdi
mov r12, qword [rsp + 0x40]
je 0x1401c7a7c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
add rax, r13
add rax, 4
or dword [rax + r14], ebp
add r14, 0x14
jne 0x1401c7a69
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
cmp rdx, rdi
jbe 0x1401cb107
mov eax, dword [r12 + 0xc8]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 8]
mov r8, qword [rsp + 0x48]
or dword [rcx + r8*4 + 4], eax
cmp r15, rbx
ja 0x1401cb3a5
mov rdx, qword [rdx + 0x10]
cmp rdx, rbx
mov rcx, qword [rsp + 0x68]
jb 0x1401cb3b7
cmp r15, rbx
je 0x1401c7aeb
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
lea rcx, [rbx + rbx*4]
lea rcx, [rcx*4 - 0x14]
or dword [rax + r13 + 0x18], esi
add r13, 0x14
cmp rcx, r13
jne 0x1401c7ad5
mov r15, rbx
mov rcx, qword [rsp + 0x68]
mov rdi, r15
cmp r15, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jb 0x1401c793f
mov rax, qword [r12 + 0xb0]
mov rax, qword [rax + 0x40]
test rax, rax
je 0x1401c7b20
mov rdx, qword [rcx + 8]
mov rcx, r12
mov r8, r15
call rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x1401c7c5f
mov rcx, qword [rsp + 0x68]
mov r8, qword [rcx + 0x18]
shl rax, 4
add rax, r8
mov r9d, dword [r8 + 8]
mov r10d, dword [r8 + 0xc]
test r9d, r9d
jne 0x1401c7b54
cmp r10d, 0xffffffff
je 0x1401c7c52
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x1401c7c52
mov r11d, dword [r8]
mov rdx, qword [r12 + 8]
xor esi, esi
mov rdi, rcx
shr rcx, 1
add rcx, rsi
lea rbx, [rcx + rcx*2]
shl rbx, 4
mov ebp, dword [rdx + rbx + 0x18]
cmp ebp, r11d
je 0x1401c7ba2
lea rbx, [rcx + 1]
cmp ebp, r11d
cmova rdi, rcx
cmovb rsi, rbx
mov rcx, rdi
sub rcx, rsi
ja 0x1401c7b6f
jmp 0x1401c7c52
mov r11d, dword [rdx + rbx + 0x20]
mov cl, byte [rdx + rbx + 0x1c]
mov esi, dword [r8 + 4]
shl esi, cl
test r11d, r11d
je 0x1401c7c52
and esi, r11d
not r11d
mov rcx, qword [r15 + 0x88]
test r9d, r9d
jne 0x1401c7c0e
cmp r10d, 0xffffffff
jne 0x1401c7c0e
mov rdx, qword [r15 + 0x10]
cmp rdx, rcx
jb 0x1401cb3db
test rcx, rcx
je 0x1401c7c52
mov rdx, qword [r15 + 8]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor r9d, r9d
mov r10d, dword [rdx + r9 + 4]
and r10d, r11d
or r10d, esi
mov dword [rdx + r9 + 4], r10d
add r9, 0x14
cmp rcx, r9
jne 0x1401c7bf3
jmp 0x1401c7c52
mov rdx, qword [r15 + 0x10]
cmp rdx, rcx
jb 0x1401cb3e7
test rcx, rcx
je 0x1401c7c52
mov rdx, qword [r15 + 8]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edi, edi
mov ebx, dword [rdx + rdi + 8]
cmp ebx, r9d
jb 0x1401c7c49
cmp ebx, r10d
jae 0x1401c7c49
mov ebx, dword [rdx + rdi + 4]
and ebx, r11d
or ebx, esi
mov dword [rdx + rdi + 4], ebx
add rdi, 0x14
cmp rcx, rdi
jne 0x1401c7c2e
add r8, 0x10
cmp r8, rax
jne 0x1401c7b3d
cmp byte [r12 + 0xe7], 0
je 0x1401c7e0d
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax + 0x88]
cmp rdx, rcx
jb 0x1401cb420
test rcx, rcx
je 0x1401c7e0d
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 8]
shl rcx, 2
lea rbx, [rcx + rcx*4]
xor r15d, r15d
mov ebp, 0x18000479
mov r12d, 0x38400079
lea r13, [0x1402ee7ac]
movzx ecx, word [rdi + r15 + 0x10]
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 5
jne 0x1401c7e00
movzx esi, word [rdi + r15 + 0x10]
mov ecx, esi
and ecx, 0x1f
call fcn.1401b8e0d
movzx ecx, al
add rcx, 0xfffffffffffffffb
shr esi, 8
mov eax, esi
cmp rcx, 3
jb 0x1401c7cf0
xor eax, eax
cmp al, 0xc7
ja case.0x1401c7d3d.4
mov ecx, dword [rdi + r15]
mov edx, ecx
and edx, 0xffffff00
cmp edx, 0xe00
jne 0x1401c7d1f
test al, al
je 0x1401c7d47
mov sil, 0xde
cmp ecx, 0xe3a
je case.0x1401c7d3d.4
movzx ecx, al
cmp ecx, 0x6a
jg 0x1401c7d69
add ecx, 0xfffffffd
cmp ecx, 0x21
ja case.default.0x1401c7d3d
movsxd rcx, dword [r13 + rcx*4]
add rcx, r13
mov esi, eax
jmp rcx
mov sil, 0xdc
jmp case.0x1401c7d3d.4
lea eax, [rcx - 0xe31]
cmp eax, 0x1d
jbe 0x1401c7d84
xor esi, esi
add ecx, 0xfffff14f
cmp ecx, 0x1c
ja case.0x1401c7d3d.4
bt ebp, ecx
jae 0x1401c7dbf
mov sil, 0xe6
jmp case.0x1401c7d3d.4
cmp ecx, 0x80
jg 0x1401c7d8f
cmp ecx, 0x6b
je case.0x1401c7d3d.10
cmp ecx, 0x76
je case.0x1401c7d3d.15
mov esi, eax
cmp ecx, 0x7a
je case.0x1401c7d3d.26
jmp case.0x1401c7d3d.4
bt r12d, eax
jae 0x1401c7d52
mov sil, 0xe8
jmp case.0x1401c7d3d.4
cmp ecx, 0x81
je case.0x1401c7d3d.15
cmp ecx, 0x83
je case.0x1401c7d3d.15
mov esi, eax
cmp ecx, 0x84
je case.0x1401c7d3d.26
jmp case.0x1401c7d3d.4
mov sil, 0xe4
jmp case.0x1401c7d3d.4
mov sil, 0xde
jmp case.0x1401c7d3d.4
mov sil, 0xc
jmp case.0x1401c7d3d.4
mov sil, 0xd6
jmp case.0x1401c7d3d.4
cmp ecx, 0xb
je case.0x1401c7d3d.15
jmp case.0x1401c7d3d.4
mov esi, eax
movzx r14d, word [rdi + r15 + 0x10]
mov ecx, r14d
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
cmp rax, 2
ja 0x1401c7e00
movzx eax, r14b
movzx ecx, sil
shl ecx, 8
movzx eax, ax
or eax, ecx
mov word [rdi + r15 + 0x10], ax
add r15, 0x14
cmp rbx, r15
jne 0x1401c7cb6
mov r15, qword [rsp + 0x30]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x88]
cmp rdx, rcx
jb 0x1401cb3cf
test rcx, rcx
je 0x1401c7e9e
mov rax, qword [r15 + 8]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
mov r12, qword [rsp + 0x40]
mov r8d, dword [rax + rdx + 0xc]
mov dword [rax + rdx], r8d
add rdx, 0x14
cmp rcx, rdx
jne 0x1401c7e3e
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x88]
cmp rdx, rcx
jb 0x1401cb42c
mov rax, qword [rsp + 0x68]
mov r14, qword [rax + 8]
test rcx, rcx
je 0x1401c7eac
mov rsi, qword [r15 + 8]
lea rax, [rcx + rcx*4]
lea rdi, [rsi + rax*4]
movzx edx, word [rsi]
mov rcx, r14
call fcn.1401b7f0f
mov word [rsi + 0xc], ax
mov word [rsi + 0xe], 0
add rsi, 0x14
cmp rsi, rdi
jne 0x1401c7e7e
jmp 0x1401c7eac
mov rax, qword [rsp + 0x68]
mov r14, qword [rax + 8]
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0xe6], 0
je 0x1401c7f16
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x88]
cmp rdx, rcx
jb 0x1401cb438
test rcx, rcx
je 0x1401c7f16
mov rsi, qword [r15 + 8]
shl rcx, 2
lea rdi, [rcx + rcx*4]
xor ebx, ebx
movzx ecx, word [rsi + rbx + 0x10]
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 5
jne 0x1401c7f04
test byte [rsi + rbx + 0x10], 0x20
mov ax, 8
je 0x1401c7f08
movzx ecx, word [rsi + rbx + 0xc]
and ecx, 0x10
jne 0x1401c7f08
mov ax, 2
mov word [rsi + rbx + 0xc], ax
add rbx, 0x14
cmp rdi, rbx
jne 0x1401c7ede
cmp byte [r12 + 0xed], 0
mov qword [rsp + 0x38], r14
je 0x1401c8118
mov rax, qword [r14 + 0x820]
test rax, rax
je 0x1401c848d
mov rcx, qword [r14 + 0x828]
mov edx, dword [r14 + 0x830]
movzx r8d, word [r14 + 0x834]
lea r9, [rsp + 0x1f0]
mov qword [r9], rax
mov qword [r9 + 8], rcx
xor eax, eax
mov qword [r9 + 0x10], rax
mov dword [r9 + 0x18], 0
mov dword [r9 + 0x1c], edx
mov word [r9 + 0x20], r8w
mov qword [r9 + 0x28], rax
mov r15, qword [r12 + 0x98]
mov rsi, qword [r12 + 0xa0]
lea rbx, [rsp + 0xe0]
lea r12, [rsp + 0x290]
lea r13, [rsp + 0x190]
mov ebp, 0x15
mov rdi, qword [rsp + 0x30]
mov rcx, rbx
lea rdx, [rsp + 0x1f0]
call fcn.14028c163
cmp qword [rsp + 0xe0], 0
je 0x1401c8488
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0xf8]
mov eax, dword [rsp + 0x100]
movzx edx, word [rsp + 0x104]
mov rcx, qword [rsp + 0x218]
lea r10, [rcx + 1]
mov qword [rsp + 0x218], r10
cmp rsi, rcx
jbe 0x1401cb027
mov r14d, dword [r15 + rcx*4]
mov qword [rsp + 0x190], r8
mov qword [rsp + 0x198], r9
mov qword [rsp + 0x1a0], 0
mov dword [rsp + 0x1a8], 0
mov dword [rsp + 0x1ac], eax
mov word [rsp + 0x1b0], dx
mov rcx, r12
mov rdx, r13
call fcn.14028b96d
cmp word [rsp + 0x290], 0xb
je 0x1401c7fac
mov r8d, 0x90
mov rcx, rbx
mov rdx, r12
call sub.msvcrt.dll_memcpy
test dword [rsp + 0x168], r14d
je 0x1401c8041
mov al, byte [rsp + 0x16c]
test al, 0x20
jne 0x1401c809d
mov rcx, qword [rsp + 0x30]
mov cl, byte [rcx + 0xc1]
dec cl
cmp cl, 2
jae 0x1401c8099
test al, al
jns 0x1401c809d
jmp 0x1401c8041
test al, al
jns 0x1401c8041
test al, 0x10
jne 0x1401c80cd
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 0xc1]
bt ebp, ecx
jae 0x1401c80cd
test al, 0x40
je 0x1401c80d1
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
call fcn.1401cbfd1
jmp 0x1401c8041
test al, 0x40
je 0x1401c80b6
mov r8, qword [rdi + 0x88]
test r8, r8
je 0x1401c80e7
mov rcx, rdi
xor edx, edx
call fcn.1401cb9f1
mov rcx, rbx
mov rdx, rdi
mov r8, qword [rsp + 0x38]
call fcn.1401cbfd1
mov r8, qword [rdi + 0x88]
test r8, r8
je 0x1401c8041
mov rcx, qword [rsp + 0x30]
xor edx, edx
call fcn.1401cb9f1
jmp 0x1401c8041
mov rbp, qword [r14 + 0x998]
mov dword [rsp + 0x106], 0x10100
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], r15
mov dword [rsp + 0xf8], 1
mov word [rsp + 0x104], 0xffff
movabs rax, 0x100000000
mov qword [rsp + 0xfc], rax
mov qword [rsp + 0xe0], 6
mov rdx, qword [r12 + 0x58]
test rdx, rdx
je 0x1401c8488
movabs rcx, 0x8000000000000000
mov rax, qword [rsp + 0x38]
lea rdi, [rax + 0x998]
mov rsi, qword [r12 + 0x50]
mov rax, rdx
shl rax, 4
add rax, rsi
mov qword [rsp + 0x80], rax
xor eax, eax
cmp rbp, rcx
mov r14d, 0
cmove rdi, rax
lea rax, [r12 + 0x28]
mov qword [rsp + 0x60], rax
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x90], rax
mov rax, qword [r12 + 0x28]
mov qword [rsp + 0x48], rax
xor r15d, r15d
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdx
mov rcx, r15
sub rcx, 1
jae 0x1401c81fa
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
xor ecx, ecx
jmp 0x1401c822f
cmp rdx, rcx
jbe 0x1401cb083
shl rcx, 4
mov rax, r15
shl rax, 4
mov r8, qword [rsp + 0x58]
add rax, r8
cmp rdx, r15
cmovbe rax, qword [rsp + 0x60]
mov rcx, qword [r8 + rcx]
mov rax, qword [rax]
cmp rcx, rax
ja 0x1401cb322
cmp qword [rsp + 0x48], rax
jb 0x1401cb349
cmp rcx, rax
je 0x1401c8451
lea rax, [rax + rax*2]
mov rdx, qword [rsp + 0x90]
lea rbx, [rdx + rax*4]
lea rax, [rcx + rcx*2]
lea r12, [rdx + rax*4]
movzx eax, word [r12 + 4]
mov word [rsp + 0x104], ax
mov eax, dword [r12]
mov dword [rsp + 0xf8], eax
mov cl, byte [r12 + 7]
mov byte [rsp + 0x108], cl
mov cl, byte [r12 + 6]
mov byte [rsp + 0x107], cl
mov cl, byte [r12 + 8]
mov byte [rsp + 0x109], cl
movabs rcx, 0x8000000000000000
cmp rbp, rcx
je 0x1401c8444
movzx ecx, word [r12 + 4]
mov rdx, qword [rdi + 8]
imul r8, rcx, 0x38
cmp qword [rdi + 0x10], rcx
lea r13, [rdx + r8]
cmovbe r13, r14
jbe 0x1401c8444
test eax, eax
je 0x1401c8444
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx + 0x88]
test rax, rax
je 0x1401c8444
mov r9d, dword [rdx + r8 + 0x30]
mov dword [rsp + 0xfc], r9d
cmp byte [rdx + r8 + 0x34], 0
je 0x1401c838a
cmp byte [rcx + 0xbd], 0
jne 0x1401cb331
dec rax
mov qword [rcx + 0x80], rax
mov rdx, qword [rcx + 0x10]
cmp rdx, rax
jbe 0x1401ca810
mov r8, qword [rcx + 8]
lea rax, [rax + rax*4]
mov ecx, dword [rsp + 0xf8]
test dword [r8 + rax*4 + 4], ecx
je 0x1401c8371
mov r9d, dword [rsp + 0xfc]
mov rcx, qword [rsp + 0xe8]
mov edx, dword [r8 + rax*4]
movzx r8d, word [r8 + rax*4 + 0xc]
call fcn.1401bc081
test al, al
je 0x1401c8371
mov rcx, r13
lea rdx, [rsp + 0xe0]
call fcn.1401b9b6e
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx + 0x80]
test rax, rax
jne 0x1401c8311
jmp 0x1401c8444
mov word [rcx + 0xbd], 1
mov byte [rcx + 0xbf], 0
xor eax, eax
mov qword [rcx + 0x90], rax
xor r14d, r14d
mov qword [rcx + 0x80], rax
xor eax, eax
cmp byte [rcx + 0xbc], 0
je 0x1401c843f
mov rdx, qword [rcx + 0x10]
cmp rdx, rax
jbe 0x1401ca810
mov r8, qword [rcx + 8]
lea rax, [rax + rax*4]
mov ecx, dword [rsp + 0xf8]
test dword [r8 + rax*4 + 4], ecx
je 0x1401c8416
mov r9d, dword [rsp + 0xfc]
mov rcx, qword [rsp + 0xe8]
mov edx, dword [r8 + rax*4]
movzx r8d, word [r8 + rax*4 + 0xc]
call fcn.1401bc081
test al, al
je 0x1401c8416
mov rcx, r13
lea rdx, [rsp + 0xe0]
call fcn.1401b9b6e
test al, al
jne 0x1401c8423
mov rcx, qword [rsp + 0xf0]
call fcn.1401bd0ad
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx + 0x80]
cmp rax, qword [rcx + 0x88]
jb 0x1401c83af
call fcn.1401cb7f2
add r12, 0xc
cmp r12, rbx
jne 0x1401c825b
mov rax, qword [rsi + 8]
test rax, rax
mov rcx, qword [rsp + 0x40]
je 0x1401c846e
mov r8, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x38]
call rax
add rsi, 0x10
inc r15
cmp rsi, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x50]
jne 0x1401c81e5
mov r15, qword [rsp + 0x30]
mov word [r15 + 0xbd], 0
mov byte [r15 + 0xbf], 1
mov qword [r15 + 0x90], 0
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x1401c84e7
mov rcx, qword [r15 + 0x20]
lea rax, [rax + rax*4]
lea rax, [rax*4 - 0x14]
movabs rdx, 0xcccccccccccccccd
mul rdx
shr rdx, 4
lea rax, [rdx + rdx*4]
lea r8, [rax*4 + 0x14]
xor edx, edx
call sub.msvcrt.dll_memset
mov rbx, qword [r15 + 0x88]
mov al, byte [r15 + 0xc1]
dec al
cmp al, 2
jae 0x1401c8550
mov rdx, qword [r15 + 0x10]
cmp rdx, rbx
jb 0x1401cb444
mov rdx, qword [r15 + 0x28]
cmp rdx, rbx
jb 0x1401cb44d
test rbx, rbx
mov r12, qword [rsp + 0x38]
je 0x1401c88bf
mov rsi, qword [r15 + 8]
mov rdi, qword [r15 + 0x20]
xor r14d, r14d
movzx edx, word [rsi + r14]
mov rcx, r12
xor r8d, r8d
call fcn.1401cd9b1
mov dword [rdi + r14], eax
add r14, 0x14
dec rbx
jne 0x1401c852e
jmp 0x1401c88bf
mov rdx, qword [r15 + 0x10]
cmp rdx, rbx
jb 0x1401cb456
mov rdx, qword [r15 + 0x28]
cmp rdx, rbx
jb 0x1401cb45f
test rbx, rbx
mov r14, qword [rsp + 0x38]
je 0x1401c88bf
mov rdi, qword [r15 + 8]
mov rbp, qword [r15 + 0x20]
lea rax, [r14 + 0x320]
mov qword [rsp + 0x40], rax
lea rax, [r14 + 0x950]
mov qword [rsp + 0x48], rax
movss xmm6, dword [0x1402ee7a0]
movss xmm7, dword [0x1402ee7a4]
movss xmm8, dword [0x1402ee7a8]
movss xmm9, dword [0x1402ee79c]
xor r12d, r12d
lea rax, [r12*4]
lea rsi, [rax + rax*4]
mov r13d, dword [rdi + rsi]
mov rcx, r14
mov edx, r13d
mov r8b, 1
call fcn.1401cd9b1
neg eax
mov dword [rbp + rsi + 4], eax
mov rcx, r14
mov edx, r13d
xor r8d, r8d
call fcn.1401cd9b1
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
sub dword [rbp + rsi + 8], ecx
mov rcx, r14
mov edx, r13d
call fcn.140293056
test ax, ax
je 0x1401c8614
movsx eax, dx
jmp 0x1401c88a6
lea rcx, [rsp + 0xe0]
mov rdx, r14
mov r8d, r13d
call fcn.1401b755a
mov esi, dword [rsp + 0xe0]
test esi, esi
je 0x1401c8639
mov esi, dword [rsp + 0xe8]
mov rcx, qword [r14 + 0x8c0]
mov eax, dword [r14 + 0x320]
test rcx, rcx
je 0x1401c8689
cmp dword [r14 + 0x2c8], 2
jne 0x1401c8689
cmp eax, 2
jne 0x1401c8689
lea rcx, [rsp + 0xe0]
mov rdx, r14
mov r8d, r13d
call fcn.1401b77a9
movzx eax, word [rsp + 0xe0]
test ax, ax
je 0x1401c8683
movzx eax, word [rsp + 0xe2]
cwde
jmp 0x1401c88a4
mov rdx, qword [r14 + 0x6a8]
test rdx, rdx
je 0x1401c88a1
mov r8, qword [r14 + 0x6b0]
mov r9d, r8d
shr r9d, 2
cmp r13w, r9w
jae 0x1401c86d0
movzx r9d, r13w
lea r10, [r9*4 + 4]
cmp r10, r8
ja 0x1401c88a1
shl r9, 2
lea r8, [rdx + r9]
add r8, 2
jmp 0x1401c870c
mov rdx, qword [r14 + 0x6c0]
mov r8d, r13d
sub r8d, r9d
mov r9d, edx
shr r9d, 1
cmp r8w, r9w
jae 0x1401c88a1
movzx r8d, r8w
lea r9, [r8*2 + 2]
cmp r9, rdx
ja 0x1401c88a1
add r8, r8
add r8, qword [r14 + 0x6b8]
movzx edx, word [r8]
rol dx, 8
movsx edx, dx
cvtsi2ss xmm10, edx
test rcx, rcx
je 0x1401c8861
cmp eax, 2
je 0x1401c8861
mov r8d, esi
mov rdx, rdi
mov ecx, 0xb
lea rdi, [rsp + 0xe0]
mov rsi, qword [rsp + 0x40]
rep movsq qword [rdi], qword [rsi]
movzx eax, byte [r14 + 0x990]
cmp rax, 0x21
jae 0x1401cb48f
cmp dword [rsp + 0xe8], 0
mov rdi, rdx
mov esi, r8d
je 0x1401c8861
mov edx, dword [rsp + 0xec]
mov r8, qword [rsp + 0xf8]
sub r8, rdx
jb 0x1401c8861
cmp r8, 2
jb 0x1401c8861
cmp r8, 4
jb 0x1401c8861
add rdx, qword [rsp + 0xf0]
movzx r9d, word [rdx + 2]
test r9w, r9w
je 0x1401c8861
movzx ecx, word [rdx]
rol cx, 8
rol r9w, 8
lea r10d, [r9 - 1]
cmp r9w, r13w
cmovbe r13d, r10d
mov r11d, ecx
shr r11d, 4
and r11d, 3
lea r9, [r11 + 1]
movzx r10d, r13w
imul r10, r9
add r11, r10
add r11, 5
cmp r11, r8
ja 0x1401c8861
and ecx, 0xf
inc ecx
add r10, 4
add rdx, r10
xor r10d, r10d
xor r8d, r8d
mov r11d, r8d
shl r11d, 8
movzx r8d, byte [rdx + r10]
or r8d, r11d
inc r10
cmp r9, r10
jne 0x1401c87ff
mov edx, r8d
shr edx, cl
cmp edx, 0xffff
ja 0x1401c8861
mov r9d, 0xffffffff
shl r9d, cl
not r9d
and r8d, r9d
cmp r8d, 0xffff
ja 0x1401c8861
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x100]
mov r9, qword [rsp + 0x48]
call fcn.14028fee1
cmp eax, 1
jne 0x1401c8861
addss xmm0, xmm9
addss xmm10, xmm0
movaps xmm0, xmm10
cmpltps xmm0, xmm6
movaps xmm1, xmm7
cmpleps xmm1, xmm10
andps xmm1, xmm0
cvttss2si eax, xmm10
ucomiss xmm10, xmm8
movd ecx, xmm1
mov edx, 0x7fffffff
cmova eax, edx
ucomiss xmm10, xmm10
mov edx, 0
cmovp eax, edx
movsx edx, ax
cmp edx, eax
sete dl
test cl, dl
jne 0x1401c88a3
xor eax, eax
cwde
add eax, esi
lea rcx, [r12 + r12*4]
inc r12
sub dword [rbp + rcx*4 + 0xc], eax
cmp r12, rbx
mov r14, qword [rsp + 0x38]
jne 0x1401c85bd
test byte [r15 + 0xb0], 4
je 0x1401c8aee
mov rdx, qword [r15 + 0x10]
mov rsi, qword [r15 + 0x88]
mov cl, byte [r15 + 0xc1]
mov al, 6
shr al, cl
mov byte [rsp + 0x48], al
cmp rdx, rsi
jb 0x1401cb468
mov rdx, qword [r15 + 0x28]
cmp rdx, rsi
jb 0x1401cb471
test rsi, rsi
je 0x1401c8aee
mov rdi, qword [r15 + 8]
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0xada]
mov qword [rsp + 0x58], rax
lea eax, [rax*4]
imul rcx, rax, 0xe38e38f
shr rcx, 0x20
mov rax, rcx
mov qword [rsp + 0x50], rcx
neg eax
mov dword [rsp + 0x80], eax
mov r13d, 0x39
xor r12d, r12d
lea rax, [r12*4]
lea rbp, [rax + rax*4]
movzx r14d, word [rdi + rbp + 0x10]
mov ecx, r14d
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 0x16
jne case.0x1401c89aa.7
lea rbx, [r12 + r12*4]
test byte [rdi + rbx*4 + 0xc], 0x20
jne case.0x1401c89aa.7
shr r14d, 8
movzx eax, r14b
dec eax
cmp eax, 0x14
ja case.0x1401c89aa.7
add rbp, qword [rsp + 0x40]
lea rcx, [0x1402ee834]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, r14d
shr eax, 1
add eax, dword [rsp + 0x58]
xor edx, edx
div r14d
test byte [rsp + 0x48], 1
jne 0x1401c8adf
neg eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rbx*4 + 4], eax
jmp case.0x1401c89aa.7
test byte [rsp + 0x48], 1
jne 0x1401c8aaf
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x80]
mov dword [rax + rbx*4 + 4], ecx
jmp case.0x1401c89aa.7
mov edx, 0x30
xor r14d, r14d
test r14b, 1
jne case.0x1401c89aa.7
lea r15d, [rdx + 1]
cmp edx, r13d
setae r14b
cmovae r15d, r13d
cmovae edx, r13d
mov rcx, qword [rsp + 0x38]
call fcn.1401ede49
mov r8d, edx
mov edx, r15d
mov r15, qword [rsp + 0x30]
cmp ax, 1
jne 0x1401c89fd
test byte [rsp + 0x48], 1
jne 0x1401c8acf
mov rcx, qword [rsp + 0x38]
mov edx, r8d
jmp 0x1401c8a83
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov edx, 0x2e
call fcn.1401ede49
test ax, ax
jne 0x1401c8a79
mov rcx, r14
mov edx, 0x2c
call fcn.1401ede49
cmp ax, 1
jne case.0x1401c89aa.7
mov r14, qword [rsp + 0x38]
test byte [rsp + 0x48], 1
jne 0x1401c8aca
mov rcx, r14
mov r8b, 1
call fcn.1401cd9b1
jmp 0x1401c89c5
test byte [rsp + 0x48], 1
jne 0x1401c8ab9
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rbx*4 + 4]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [rdx + rbx*4 + 4], ecx
jmp case.0x1401c89aa.7
mov rax, qword [rsp + 0x50]
mov dword [rbp], eax
jmp case.0x1401c89aa.7
mov eax, dword [rbp]
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [rbp], ecx
jmp case.0x1401c89aa.7
mov rcx, r14
jmp 0x1401c8ad7
mov rcx, qword [rsp + 0x38]
mov edx, r8d
xor r8d, r8d
call fcn.1401cd9b1
mov dword [rbp], eax
inc r12
cmp r12, rsi
jne 0x1401c8950
mov rax, qword [rsp + 0x68]
mov rbp, qword [rax]
cmp byte [rbp + 0xe8], 0
je 0x1401c8b0b
mov bl, byte [r15 + 0xc1]
and bl, 1
jmp 0x1401c8b0d
xor ebx, ebx
mov rdx, qword [r15 + 0x28]
mov rcx, qword [r15 + 0x88]
cmp rdx, rcx
jb 0x1401cb3f3
test rcx, rcx
mov r14, qword [rsp + 0x38]
je 0x1401c8b4e
mov rax, qword [r15 + 0x20]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
mov word [rax + rdx + 0x10], 0
mov byte [rax + rdx + 0x12], 0
add rdx, 0x14
cmp rcx, rdx
jne 0x1401c8b39
cmp byte [rbp + 0xe5], 0
je 0x1401c8b6e
mov rax, qword [rbp + 0xb0]
cmp byte [rax + 0x51], 0
jne 0x1401c8b6e
mov rcx, r15
mov edx, ebx
call fcn.1401ce21e
cmp byte [rbp + 0xe9], 0
mov dword [rsp + 0x74], ebx
mov qword [rsp + 0x90], rbp
je 0x1401c8e45
mov rax, r15
mov r15, qword [r14 + 0xa30]
mov dword [rsp + 0x106], 0x10101
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0xf8], 1
mov word [rsp + 0x104], 0xffff
movabs rax, 0x100000000
mov qword [rsp + 0xfc], rax
mov qword [rsp + 0xe0], 6
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x1401c8e2f
movabs r12, 0x8000000000000000
lea rbp, [r14 + 0xa30]
mov rax, qword [rsp + 0x90]
mov rsi, qword [rax + 0x68]
mov rcx, rdx
shl rcx, 4
add rcx, rsi
mov qword [rsp + 0x50], rcx
xor ecx, ecx
cmp r15, r12
cmove rbp, rcx
lea rcx, [rax + 0x40]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x80], rcx
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x40], rax
xor edi, edi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rdx
mov rcx, rdi
sub rcx, 1
jae 0x1401c8c60
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
xor ecx, ecx
jmp 0x1401c8c95
cmp rdx, rcx
jbe 0x1401cb083
shl rcx, 4
mov rax, rdi
shl rax, 4
mov r8, qword [rsp + 0x48]
add rax, r8
cmp rdx, rdi
cmovbe rax, qword [rsp + 0x60]
mov rcx, qword [r8 + rcx]
mov rax, qword [rax]
cmp rcx, rax
ja 0x1401cb322
cmp qword [rsp + 0x40], rax
jb 0x1401cb2f3
cmp rcx, rax
je 0x1401c8df5
lea rax, [rax + rax*2]
mov rdx, qword [rsp + 0x80]
lea r14, [rdx + rax*4]
lea rax, [rcx + rcx*2]
lea rbx, [rdx + rax*4]
movzx eax, word [rbx + 4]
mov word [rsp + 0x104], ax
mov eax, dword [rbx]
mov dword [rsp + 0xf8], eax
mov cl, byte [rbx + 7]
mov byte [rsp + 0x108], cl
mov cl, byte [rbx + 6]
mov byte [rsp + 0x107], cl
mov cl, byte [rbx + 8]
mov byte [rsp + 0x109], cl
cmp r15, r12
je 0x1401c8de8
movzx r8d, word [rbx + 4]
mov rcx, qword [rbp + 8]
imul rdx, r8, 0x38
cmp qword [rbp + 0x10], r8
lea r13, [rcx + rdx]
mov r8d, 0
cmovbe r13, r8
jbe 0x1401c8de8
test eax, eax
je 0x1401c8de8
mov rax, qword [rsp + 0xf0]
cmp qword [rax + 0x88], 0
je 0x1401c8de8
mov ecx, dword [rcx + rdx + 0x30]
mov dword [rsp + 0xfc], ecx
mov qword [rax + 0x80], 0
xor ecx, ecx
cmp byte [rax + 0xbc], 0
je 0x1401c8de8
mov rdx, qword [rax + 0x10]
cmp rdx, rcx
jbe 0x1401ca804
mov rax, qword [rax + 8]
lea r8, [rcx + rcx*4]
mov ecx, dword [rsp + 0xf8]
test dword [rax + r8*4 + 4], ecx
je 0x1401c8dbf
mov r9d, dword [rsp + 0xfc]
mov rcx, qword [rsp + 0xe8]
mov edx, dword [rax + r8*4]
movzx r8d, word [rax + r8*4 + 0xc]
call fcn.1401bc081
test al, al
je 0x1401c8dbf
mov rcx, r13
lea rdx, [rsp + 0xe0]
call fcn.1401ba8d1
test al, al
jne 0x1401c8dcc
mov rcx, qword [rsp + 0xf0]
call fcn.1401bd0ad
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax + 0x80]
cmp rcx, qword [rax + 0x88]
jb 0x1401c8d58
add rbx, 0xc
cmp rbx, r14
jne 0x1401c8cc1
mov rax, qword [rsi + 8]
test rax, rax
mov r14, qword [rsp + 0x38]
je 0x1401c8e18
mov r8, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x90]
mov rdx, r14
call rax
add rsi, 0x10
inc rdi
cmp rsi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
jne 0x1401c8c4b
mov r15, qword [rsp + 0x30]
mov ebx, dword [rsp + 0x74]
mov rbp, qword [rsp + 0x90]
jmp 0x1401c9a4d
cmp byte [rbp + 0xec], 0
je 0x1401c9a4d
mov rax, qword [r14 + 0x808]
test rax, rax
je 0x1401c9a4d
movzx ecx, word [r14 + 0x81c]
mov edx, dword [r14 + 0x818]
mov r8, qword [r14 + 0x810]
lea r12, [rsp + 0x190]
mov qword [r12], rax
mov qword [r12 + 8], r8
mov qword [r12 + 0x10], 0
mov dword [r12 + 0x18], 0
mov dword [r12 + 0x1c], edx
mov word [r12 + 0x20], cx
mov al, byte [rbp + 0xe0]
mov byte [rsp + 0x48], al
movzx eax, word [r14 + 0x400]
mov qword [rsp + 0x98], rax
movzx eax, word [r14 + 0x402]
mov word [rsp + 0x180], ax
movzx eax, word [r14 + 0x404]
mov word [rsp + 0xdc], ax
movzx eax, word [r14 + 0x406]
mov word [rsp + 0x1c0], ax
movzx eax, word [r14 + 0x418]
mov word [rsp + 0x1e8], ax
mov rax, qword [r14 + 0x420]
mov qword [rsp + 0x178], rax
mov rax, qword [r14 + 0x428]
mov qword [rsp + 0x1e0], rax
mov rax, qword [r14 + 0x408]
mov qword [rsp + 0x1d8], rax
mov rax, qword [r14 + 0x410]
mov qword [rsp + 0x1d0], rax
mov rax, qword [r14 + 0x430]
mov qword [rsp + 0x1c8], rax
mov rax, qword [r14 + 0x438]
mov qword [rsp + 0x260], rax
xorps xmm6, xmm6
lea r13, [rsp + 0x290]
xor eax, eax
mov qword [rsp + 0x40], rax
mov rcx, r13
mov rdx, r12
call fcn.14028b53f
cmp dword [rsp + 0x290], 5
je 0x1401c9a4d
mov ecx, 0xf
lea rdi, [rsp + 0xe0]
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
cmp byte [rsp + 0x155], 0
jne 0x1401c8f6c
mov r13b, byte [r15 + 0xc1]
lea ecx, [r13 - 1]
mov al, byte [rsp + 0x154]
cmp cl, 2
jae 0x1401c8fc2
test al, al
jne 0x1401c8fca
jmp 0x1401c907f
test al, al
jne 0x1401c907f
mov r12b, byte [rsp + 0x156]
test byte [rsp + 0x40], 1
lea r9, [0x1403b6f70]
jne 0x1401c9024
test r12b, r12b
je 0x1401c9024
mov rcx, qword [r15 + 0x28]
mov al, 1
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x1401c9024
mov rax, qword [r15 + 0x20]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
mov byte [rax + rdx + 0x12], 2
movzx r8d, byte [r15 + 0xc1]
movzx r8d, word [r9 + r8*2]
mov word [rax + rdx + 0x10], r8w
add rdx, 0x14
cmp rcx, rdx
jne 0x1401c9003
test r13b, 1
jne 0x1401c9058
mov r8, qword [r15 + 0x88]
test r8, r8
je 0x1401c9058
mov rcx, r15
xor edx, edx
call fcn.1401cb9f1
mov rax, qword [rsp + 0xe0]
lea rcx, [0x1402ee888]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0xe0]
lea rcx, [0x1402ee888]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp byte [rsp + 0x48], 0
jne 0x1401c908c
lea r12, [rsp + 0x190]
lea r13, [rsp + 0x290]
jmp 0x1401c8f6c
mov edx, dword [rbp + 0xd8]
lea rsi, [rsp + 0x290]
mov rcx, rsi
mov r8, r14
mov r9, r15
call fcn.1401cde2b
test r13b, 1
mov r13, rsi
lea r12, [rsp + 0x190]
jne 0x1401c8f6c
jmp 0x1401c99e2
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
xor esi, esi
mov qword [rsp + 0x230], rsi
mov qword [r15 + 0x80], rsi
mov eax, dword [rsp + 0x150]
cmp eax, 1
adc eax, 0
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0xa8], rcx
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
add rax, rax
mov qword [rsp + 0x80], rax
xor ebx, ebx
xor ebp, ebp
mov r14, qword [r15 + 0x88]
cmp rbx, r14
jae 0x1401c917a
mov rdx, qword [r15 + 0x10]
cmp rdx, rbx
jbe 0x1401cb278
mov rax, qword [r15 + 8]
lea rcx, [rbx + rbx*4]
movzx edx, word [rax + rcx*4]
cmp dx, 0xffff
je 0x1401c917f
lea rcx, [rsp + 0xe8]
call fcn.14027cc88
mov r8d, edx
test ax, ax
mov eax, 1
cmove r8d, eax
jmp 0x1401c9184
xor r8d, r8d
jmp 0x1401c9184
mov r8w, 2
lea rcx, [rsp + 0xe8]
mov edx, ebp
call fcn.1401b7ad3
mov rdi, rax
test di, di
je 0x1401c99b7
mov ecx, edi
shr ecx, 0x10
mov r8, rdi
shr r8, 0x20
shr rdi, 0x30
test bp, bp
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x88], ecx
mov qword [rsp + 0x78], rbp
je 0x1401c921e
cmp byte [r15 + 0xbd], 0
mov rdx, rbx
je 0x1401c91d9
mov rdx, qword [r15 + 0x90]
test rdx, rdx
je 0x1401c921e
cmp rbx, r14
jae 0x1401c921e
cmp edi, 0xffff
jne 0x1401c91fa
test cx, cx
jne 0x1401c91fa
mov eax, r8d
and eax, 0x4000
jne 0x1401c921e
dec rdx
inc rbx
mov rcx, r15
mov r8, rbx
call fcn.1401b8438
mov r8, qword [rsp + 0x60]
mov rbx, qword [r15 + 0x80]
mov r14, qword [r15 + 0x88]
lea rbp, [rbx + 2]
cmp rbp, r14
ja 0x1401c926c
lea rcx, [rsp + 0xe8]
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
call fcn.1401b7ad3
test ax, ax
je 0x1401c99b7
movabs rcx, 0xfffeffffffffffff
cmp rax, rcx
mov r8, qword [rsp + 0x60]
ja 0x1401c926c
mov rcx, r15
mov rdx, rbx
mov r8, rbp
call fcn.1401b7dd3
mov r8, qword [rsp + 0x60]
bt r8d, 0xd
jb 0x1401c927e
test r8w, r8w
js 0x1401c929b
mov r8, rsi
jmp 0x1401c92c7
mov qword [rsp + 0x230], 0
mov esi, 0
test r8w, r8w
jns 0x1401c94ca
jmp 0x1401c92a5
cmp rsi, 8
jae 0x1401c951e
mov rax, qword [r15 + 0x80]
mov qword [rsp + rsi*8 + 0x1f0], rax
mov r8, qword [rsp + 0x230]
inc r8
mov qword [rsp + 0x230], r8
cmp edi, 0xffff
mov rcx, qword [rsp + 0x90]
je 0x1401c94c7
test r8, r8
je 0x1401c94c7
cmp dword [rsp + 0x58], 0xffff
ja 0x1401c94c7
mov r9, qword [r15 + 0x88]
mov rax, qword [r15 + 8]
mov qword [rsp + 0xa0], rax
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x78], rax
mov rax, qword [r15 + 0x28]
mov r11, qword [r15 + 0x20]
mov bl, byte [r15 + 0xc1]
dec bl
mov ecx, dword [rcx + 0xd8]
mov dword [rsp + 0x188], ecx
mov ecx, dword [r15 + 0xb0]
mov dword [rsp + 0x18c], ecx
lea rbp, [rdi*2 + 2]
lea rcx, [r8 - 1]
mov rsi, rcx
mov qword [rsp + 0x230], rcx
cmp r8, 8
ja 0x1401cb1b2
cmp rbp, qword [rsp + 0x50]
ja 0x1401c94ca
mov ecx, edi
add cx, word [rsp + 0x58]
jb 0x1401c94ca
mov rcx, qword [rsp + rsi*8 + 0x1f0]
cmp rcx, r9
jae 0x1401c93f8
cmp qword [rsp + 0x78], rcx
jbe 0x1401cb22b
cmp rax, rcx
jbe 0x1401cb23c
mov rdx, qword [rsp + 0xa8]
movzx edx, word [rdx + rbp - 2]
rol dx, 8
mov r14d, edx
and r14b, 1
and edx, 0xfffe
movsx r15d, dx
lea rcx, [rcx + rcx*4]
mov rdx, qword [rsp + 0xa0]
mov edx, dword [rdx + rcx*4 + 4]
lea r10, [r11 + rcx*4]
cmp bl, 2
jae 0x1401c9400
test r12b, r12b
je 0x1401c9426
cmp r15d, 0xffff8000
jne 0x1401c945b
mov byte [r10 + 0x12], 0
mov word [r11 + rcx*4 + 0x10], 0
mov dword [r11 + rcx*4 + 0xc], 0
jmp 0x1401c949d
xor r14d, r14d
jmp 0x1401c94a2
test r12b, r12b
je 0x1401c9439
cmp r15d, 0xffff8000
jne 0x1401c946c
mov byte [r10 + 0x12], 0
mov word [r11 + rcx*4 + 0x10], 0
mov dword [r11 + rcx*4 + 8], 0
jmp 0x1401c949d
test dword [rsp + 0x188], edx
je 0x1401c949d
add dword [r10], r15d
add dword [r11 + rcx*4 + 8], r15d
jmp 0x1401c949d
test dword [rsp + 0x188], edx
je 0x1401c949d
cmp dword [r11 + rcx*4 + 0xc], 0
jne 0x1401c949d
lea rcx, [r11 + rcx*4]
add rcx, 0xc
add dword [rcx - 8], r15d
mov dword [rcx], r15d
jmp 0x1401c949d
cmp byte [r10 + 0x12], 0
je 0x1401c949d
lea rcx, [r11 + rcx*4]
add rcx, 0xc
jmp 0x1401c947b
cmp byte [r10 + 0x12], 0
je 0x1401c949d
lea rcx, [r11 + rcx*4]
add rcx, 8
add dword [rcx], r15d
mov ecx, dword [rsp + 0x18c]
or ecx, 8
mov r15, qword [rsp + 0x30]
mov dword [rsp + 0x18c], ecx
mov dword [r15 + 0xb0], ecx
jmp 0x1401c94a2
mov r15, qword [rsp + 0x30]
mov rcx, rsi
sub rcx, 1
setb dl
test r14b, r14b
jne 0x1401c94ca
add edi, dword [rsp + 0x58]
add rbp, qword [rsp + 0x80]
test dl, dl
je 0x1401c9346
jmp 0x1401c94ca
mov rsi, r8
mov rbx, qword [r15 + 0x80]
cmp rbx, qword [r15 + 0x88]
jae 0x1401c99b7
bt dword [rsp + 0x60], 0xe
jae 0x1401c94f1
mov eax, dword [r15 + 0xb4]
test eax, eax
jg 0x1401c9507
mov rcx, r15
call fcn.1401bd0ad
mov eax, dword [r15 + 0xb4]
mov rbx, qword [r15 + 0x80]
dec eax
mov dword [r15 + 0xb4], eax
mov eax, dword [rsp + 0x88]
mov ebp, eax
jmp 0x1401c9131
mov qword [rsp + 0x230], 0
xor esi, esi
jmp 0x1401c94ca
mov ax, 6
cmp dword [rsp + 0x98], 6
jne 0x1401c9a01
mov byte [rsp + 0x238], 0
xor r9d, r9d
mov qword [rsp + 0x230], r9
mov word [rsp + 0x1f0], ax
movzx eax, word [rsp + 0x180]
mov word [rsp + 0x1f2], ax
movzx eax, word [rsp + 0xdc]
mov word [rsp + 0x1f4], ax
movzx eax, word [rsp + 0x1c0]
mov word [rsp + 0x1f6], ax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x200], rax
movzx eax, word [rsp + 0x1e8]
mov word [rsp + 0x208], ax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x228], rax
mov qword [r15 + 0x80], r9
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor ebx, ebx
mov r14, qword [r15 + 0x88]
cmp r9, r14
jae 0x1401c967e
mov rdx, qword [r15 + 0x10]
cmp rdx, r9
jbe 0x1401cb26f
mov rax, qword [r15 + 8]
mov rsi, r9
lea rcx, [r9 + r9*4]
movzx edx, word [rax + rcx*4]
cmp dx, 0xffff
je 0x1401c9686
lea rcx, [rsp + 0xe8]
call fcn.14027cc88
mov r8d, edx
test ax, ax
mov eax, 1
cmove r8d, eax
jmp 0x1401c968b
mov rsi, r9
xor r8d, r8d
jmp 0x1401c968b
mov r8w, 2
lea rcx, [rsp + 0xe8]
mov edx, ebx
call fcn.1401b7ad3
mov rbp, rax
test bp, bp
je 0x1401c99b7
mov r9, rsi
mov ecx, ebp
shr ecx, 0x10
mov r12, rbp
shr r12, 0x20
mov rdi, rbp
shr rdi, 0x30
test bx, bx
mov dword [rsp + 0x58], ecx
je 0x1401c9719
cmp byte [r15 + 0xbd], 0
mov rdx, r9
je 0x1401c96d9
mov rdx, qword [r15 + 0x90]
test rdx, rdx
je 0x1401c9719
cmp r9, r14
jae 0x1401c9719
cmp edi, 0xffff
jne 0x1401c96fa
test cx, cx
jne 0x1401c96fa
mov eax, r12d
and eax, 0x4000
jne 0x1401c9719
dec rdx
inc r9
mov rcx, r15
mov r8, r9
call fcn.1401b8438
mov r9, qword [r15 + 0x80]
mov r14, qword [r15 + 0x88]
lea rsi, [r9 + 2]
cmp rsi, r14
ja 0x1401c9767
lea rcx, [rsp + 0xe8]
mov edx, ebx
xor r8d, r8d
mov rbx, r9
call fcn.1401b7ad3
test ax, ax
je 0x1401c99b7
mov r9, rbx
movabs rcx, 0xfffeffffffffffff
cmp rax, rcx
ja 0x1401c9767
mov rcx, r15
mov rdx, r9
mov r8, rsi
call fcn.1401b7dd3
mov r9, qword [r15 + 0x80]
cmp byte [rsp + 0x50], 0
je 0x1401c994c
cmp edi, 0xffff
je 0x1401c994c
cmp r9, qword [r15 + 0x88]
jae 0x1401c994c
cmp dword [rsp + 0x98], 6
jne 0x1401c979e
mov rdx, qword [r15 + 0x28]
jmp 0x1401c9917
mov qword [rsp + 0x60], r9
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
mov r8d, edi
call fcn.14028b20d
mov rdi, rax
test di, di
je 0x1401c98c5
mov rbx, qword [r15 + 0x10]
mov rcx, qword [rsp + 0x80]
cmp rbx, rcx
jbe 0x1401cb36c
movabs rax, 0xffffffffffff
and rdi, rax
mov r15, qword [r15 + 8]
lea rax, [rcx + rcx*4]
movzx edx, word [r15 + rax*4]
lea rcx, [rsp + 0x1f0]
call fcn.14028afb2
xor esi, esi
test rax, rax
je 0x1401c9859
mov rcx, rdi
shr rcx, 0x10
movzx r8d, cx
mov r9, rdx
shr r9, 2
cmp r8d, r9d
jae 0x1401c9859
movzx r9d, cx
lea r8, [r9*4 + 4]
mov r14d, 0
cmp r8, rdx
mov rcx, qword [rsp + 0x60]
ja 0x1401c9861
shl r9, 2
movzx edx, word [rax + r9 + 2]
movzx esi, word [rax + r9]
shl esi, 0x10
or esi, edx
bswap esi
mov r14d, esi
shr r14d, 0x10
jmp 0x1401c9861
xor r14d, r14d
mov rcx, qword [rsp + 0x60]
cmp rbx, rcx
jbe 0x1401cb378
lea rbx, [rcx + rcx*4]
movzx edx, word [r15 + rbx*4]
lea rcx, [rsp + 0x1f0]
call fcn.14028afb2
mov cl, 1
test rax, rax
je 0x1401c98cf
shr rdi, 0x20
mov r8, rdx
shr r8, 2
cmp r8d, edi
mov r15, qword [rsp + 0x30]
jbe 0x1401c98d6
lea r9, [rdi*4 + 4]
cmp r9, rdx
ja 0x1401c98d6
shl rdi, 2
movzx ecx, word [rax + rdi + 2]
movzx r8d, word [rax + rdi]
shl r8d, 0x10
or r8d, ecx
bswap r8d
xor ecx, ecx
jmp 0x1401c98d6
mov r9, qword [rsp + 0x60]
jmp 0x1401c9972
mov r15, qword [rsp + 0x30]
jmp 0x1401c98d6
mov rdx, qword [r15 + 0x28]
mov r9, qword [rsp + 0x60]
cmp rdx, r9
jbe 0x1401cb2e4
mov eax, r8d
shr eax, 0x10
test cl, cl
mov ecx, 0
cmovne eax, ecx
cmovne r8d, ecx
mov rcx, qword [r15 + 0x20]
sub esi, r8d
movsx r8d, si
mov dword [rcx + rbx*4 + 8], r8d
sub r14d, eax
movsx eax, r14w
mov dword [rcx + rbx*4 + 0xc], eax
cmp rdx, r9
jbe 0x1401cb2e4
mov rax, qword [r15 + 0x20]
lea rcx, [r9 + r9*4]
mov byte [rax + rcx*4 + 0x12], 1
mov rdx, qword [rsp + 0x80]
sub edx, r9d
mov word [rax + rcx*4 + 0x10], dx
or byte [r15 + 0xb0], 8
mov r9, qword [r15 + 0x80]
bt rbp, 0x2f
jae 0x1401c9972
mov byte [rsp + 0x238], 1
mov qword [rsp + 0x230], r9
mov al, 1
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x80], r9
cmp r9, qword [r15 + 0x88]
jae 0x1401c99b7
bt r12d, 0xe
jae 0x1401c998d
mov eax, dword [r15 + 0xb4]
test eax, eax
jg 0x1401c99a3
mov rcx, r15
call fcn.1401bd0ad
mov eax, dword [r15 + 0xb4]
mov r9, qword [r15 + 0x80]
dec eax
mov dword [r15 + 0xb4], eax
mov eax, dword [rsp + 0x58]
mov ebx, eax
jmp 0x1401c9632
test r13b, 1
mov r14, qword [rsp + 0x38]
mov ebx, dword [rsp + 0x74]
mov rbp, qword [rsp + 0x90]
lea r12, [rsp + 0x190]
lea r13, [rsp + 0x290]
jne 0x1401c8f6c
mov r8, qword [r15 + 0x88]
test r8, r8
je 0x1401c8f6c
mov rcx, r15
xor edx, edx
call fcn.1401cb9f1
jmp 0x1401c8f6c
mov rax, qword [rsp + 0x98]
lea rcx, [0x1402ee89c]
mov word [rsi + 0x12], cs
invalid
cwde
add byte [rax], al
add byte [rax - 0x73], cl
or eax, 0x124e8c
mov word [rsi + 0x12], cs
invalid
mov word [rsi + 0x12], cs
add byte [rax + 0x63], cl
add al, 0x81
movsxd rax, dword [rcx + rax*4]
add rax, rcx
add eax, ecx
jmp rax
xor eax, eax
jmp case.default.0x1401c9a17
invalid
invalid
invalid
mov ax, 1
jmp case.default.0x1401c9a17
invalid
invalid
invalid
mov ax, 2
jmp case.default.0x1401c9a17
invalid
invalid
invalid
mov ax, 3
jmp case.default.0x1401c9a17
mov ax, 4
jmp case.default.0x1401c9a17
mov ax, 5
jmp case.default.0x1401c9a17
cmp byte [rbp + 0xeb], 0
je 0x1401c9a65
mov al, byte [r14 + 0x454]
cmp al, 2
jne 0x1401c9bed
cmp byte [rbp + 0xee], 0
je 0x1401ca8c4
cmp dword [r14 + 0xac8], 0
je 0x1401ca8c4
movss xmm6, dword [r14 + 0xacc]
xorps xmm0, xmm0
ucomiss xmm0, xmm6
jae 0x1401ca8c4
mov rdx, qword [r14 + 0x838]
test rdx, rdx
je 0x1401ca8b8
mov rax, qword [rsp + 0x90]
mov ebp, dword [rax + 0xdc]
add r14, 0x840
lea rax, [rsp + 0xe8]
mov ecx, 0xd
mov rdi, rax
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov qword [rax - 8], rdx
cmp byte [r15 + 0xbf], 0
jne 0x1401c9b38
mov word [r15 + 0xbd], 0
mov byte [r15 + 0xbf], 1
mov qword [r15 + 0x90], 0
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x1401c9b38
mov rcx, qword [r15 + 0x20]
lea rax, [rax + rax*4]
lea rax, [rax*4 - 0x14]
movabs rdx, 0xcccccccccccccccd
mul rdx
shr rdx, 4
lea rax, [rdx + rdx*4]
lea r8, [rax*4 + 0x14]
xor edx, edx
call sub.msvcrt.dll_memset
mov al, byte [r15 + 0xc1]
dec al
cmp al, 2
jae 0x1401ca81c
lea rcx, [rsp + 0xe0]
movaps xmm1, xmm6
call fcn.1401b8b07
mov dword [rsp + 0x38], edx
test eax, eax
je 0x1401ca8b8
mov rcx, r15
xor edx, edx
call fcn.1401cb982
mov r14, qword [r15 + 0x88]
test r14, r14
je 0x1401ca8b8
mov ecx, dword [rsp + 0x38]
mov r12d, ecx
shr r12d, 0x1f
add r12d, ecx
sar r12d, 1
mov rcx, qword [rsp + 0x30]
mov r13, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x28]
mov rsi, qword [rcx + 0x20]
xor ecx, ecx
cmp rdi, rcx
jbe 0x1401cb15e
mov r15, rax
lea rax, [rcx + rcx*4]
test dword [r13 + rax*4 + 4], ebp
je 0x1401c9bd3
cmp rbx, rcx
jbe 0x1401cb176
mov ecx, dword [rsp + 0x38]
add dword [rsi + rax*4], ecx
add dword [rsi + rax*4 + 8], r12d
mov rcx, qword [rsp + 0x30]
mov rdx, r15
call fcn.1401cb982
mov rcx, r15
cmp r15, r14
jb 0x1401c9ba7
jmp 0x1401ca8b8
movups xmm0, xmmword [r14 + 0x440]
mov ecx, dword [r14 + 0x450]
lea r12, [rsp + 0x268]
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
mov dword [r12 + 0x18], 0
mov dword [r12 + 0x1c], ecx
mov byte [r12 + 0x20], al
mov eax, dword [rbp + 0xd8]
mov dword [rsp + 0x80], eax
mov al, byte [rbp + 0xe0]
mov byte [rsp + 0x1d0], al
xor eax, eax
mov qword [rsp + 0x1c0], rax
lea r13, [rsp + 0x290]
xorps xmm6, xmm6
mov rcx, r13
mov rdx, r12
call fcn.140286e87
cmp dword [rsp + 0x290], 4
je 0x1401c9a65
mov ecx, 0xb
lea rdi, [rsp + 0xe0]
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
cmp byte [rsp + 0x131], 0
jne 0x1401c9c54
mov dl, byte [r15 + 0xc1]
lea ecx, [rdx - 1]
mov al, byte [rsp + 0x130]
cmp cl, 2
jae 0x1401c9cad
test al, al
lea r9, [0x1403b6f7a]
jne 0x1401c9cb8
jmp 0x1401c9c54
test al, al
lea r9, [0x1403b6f7a]
jne 0x1401c9c54
mov r8b, byte [rsp + 0x132]
test byte [rsp + 0x1c0], 1
jne 0x1401c9d1d
test r8b, r8b
je 0x1401c9d1d
mov rcx, qword [r15 + 0x28]
mov al, 1
mov qword [rsp + 0x1c0], rax
test rcx, rcx
je 0x1401c9d1d
mov r11d, r8d
mov r10, rdx
mov rax, qword [r15 + 0x20]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
mov byte [rax + rdx + 0x12], 2
movzx r8d, byte [r15 + 0xc1]
movzx r8d, word [r9 + r8*2]
mov word [rax + rdx + 0x10], r8w
add rdx, 0x14
cmp rcx, rdx
jne 0x1401c9cf6
mov rdx, r10
mov r8d, r11d
mov byte [rsp + 0x48], r8b
test dl, 1
jne 0x1401c9d43
mov r8, qword [r15 + 0x88]
test r8, r8
je 0x1401c9d43
mov rcx, r15
mov rsi, rdx
xor edx, edx
call fcn.1401cb9f1
mov rdx, rsi
cmp byte [rsp + 0x133], 0
je 0x1401ca2c1
cmp dword [rsp + 0xe0], 1
jne 0x1401ca7dc
mov qword [rsp + 0x178], rdx
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
xor ebp, ebp
mov qword [rsp + 0x230], rbp
mov qword [r15 + 0x80], rbp
movzx edi, word [rsp + 0x12a]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1d8], rax
movzx r9d, word [rsp + 0x128]
xor eax, eax
test r9d, r9d
sete al
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x58], rax
movzx eax, word [rsp + 0x12c]
mov dword [rsp + 0x180], eax
xor eax, eax
xor esi, esi
mov dword [rsp + 0xdc], edi
mov qword [rsp + 0xa8], r9
mov rcx, qword [r15 + 0x88]
cmp rax, rcx
jb 0x1401c9e5f
xor edx, edx
jmp 0x1401c9ea9
mov rdx, qword [r15 + 0x10]
cmp rdx, rax
jbe 0x1401cb146
mov rdx, qword [r15 + 8]
lea r8, [rax + rax*4]
movzx r8d, word [rdx + r8*4]
cmp r8w, 0xffff
je 0x1401c9ea7
mov dl, 1
cmp r8w, di
jb 0x1401c9ea9
sub r8d, edi
movzx r8d, r8w
cmp qword [rsp + 0x1d8], r8
jbe 0x1401c9ea9
mov rdx, qword [rsp + 0x1c8]
mov dl, byte [rdx + r8]
jmp 0x1401c9ea9
mov dl, 2
movzx edx, dl
movzx ebx, si
imul rbx, r9
cmp r9w, dx
mov r8d, 1
cmovbe rdx, r8
add rdx, rbx
cmp rdx, qword [rsp + 0x60]
jae 0x1401ca7c0
mov r8, qword [rsp + 0x88]
movzx edx, byte [r8 + rdx]
lea r8, [rdx*4 + 4]
cmp r8, qword [rsp + 0x78]
ja 0x1401ca7c0
shl rdx, 2
mov r10, qword [rsp + 0xa0]
movzx r8d, word [r10 + rdx + 2]
movzx r12d, word [r10 + rdx]
shl r12d, 0x10
or r12d, r8d
bswap r12d
mov r10d, r12d
shr r10d, 0x10
test si, si
je 0x1401c9f85
cmp byte [r15 + 0xbd], 0
mov rdx, rax
je 0x1401c9f30
mov rdx, qword [r15 + 0x90]
cmp rax, rcx
jae 0x1401c9f85
test rdx, rdx
je 0x1401c9f85
test r10d, 0x3fff
jne 0x1401c9f58
movzx r8d, r12w
test r8d, r8d
jne 0x1401c9f58
mov r8d, r10d
and r8d, 0x4000
jne 0x1401c9f85
dec rdx
inc rax
mov rcx, r15
mov r8, rax
mov esi, r10d
call fcn.1401b8438
mov r10d, esi
mov r9, qword [rsp + 0xa8]
mov rax, qword [r15 + 0x80]
mov rcx, qword [r15 + 0x88]
lea r8, [rax + 2]
cmp r8, rcx
ja 0x1401c9ff2
add rbx, qword [rsp + 0x1e8]
cmp rbx, qword [rsp + 0x60]
jae 0x1401ca7c0
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + rbx]
lea rdx, [rcx*4 + 4]
cmp rdx, qword [rsp + 0x78]
ja 0x1401ca7c0
shl rcx, 2
mov rdx, qword [rsp + 0xa0]
movzx ecx, word [rdx + rcx + 2]
test ecx, 0xff3f
je 0x1401c9ff2
mov rcx, r15
mov rdx, rax
mov esi, r10d
call fcn.1401b7dd3
mov r10d, esi
mov r9, qword [rsp + 0xa8]
test r12d, r12d
jns 0x1401ca01f
cmp rbp, 8
jae 0x1401ca043
mov rax, qword [r15 + 0x80]
mov qword [rsp + rbp*8 + 0x1f0], rax
mov rbp, qword [rsp + 0x230]
inc rbp
mov qword [rsp + 0x230], rbp
movzx ecx, r10w
and ecx, 0x3fff
je 0x1401ca247
test rbp, rbp
je 0x1401ca247
lea rax, [rcx + 2]
cmp rax, qword [rsp + 0x40]
jbe 0x1401ca056
mov qword [rsp + 0x230], 0
xor ebp, ebp
jmp 0x1401ca247
mov dword [rsp + 0x1e0], r10d
mov rax, qword [rsp + 0x58]
movzx r14d, word [rax + rcx]
rol r14w, 8
mov r8, qword [r15 + 0x88]
mov rdx, qword [r15 + 8]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [r15 + 0x28]
mov r11, qword [r15 + 0x20]
mov sil, byte [r15 + 0xc1]
dec sil
mov r9d, dword [r15 + 0xb0]
mov dword [rsp + 0x98], r9d
movzx r13d, cx
add r13d, 2
lea rcx, [rbp - 1]
mov qword [rsp + 0x230], rcx
cmp rbp, 8
ja 0x1401cb006
movzx r9d, r13w
lea r10, [r9 + 2]
cmp r10, qword [rsp + 0x40]
jbe 0x1401ca0d4
xor r15d, r15d
jmp 0x1401ca0e3
mov r10, qword [rsp + 0x58]
movzx r15d, word [r10 + r9]
rol r15w, 8
mov r9, qword [rsp + rcx*8 + 0x1f0]
cmp r9, r8
jae 0x1401ca153
cmp qword [rsp + 0x50], r9
jbe 0x1401cb042
cmp rax, r9
jbe 0x1401cb056
mov ebx, r14d
and bl, 1
and r14d, 0xfffe
movsx r14d, r14w
lea r9, [r9 + r9*4]
mov r10d, dword [rdx + r9*4 + 4]
lea rdi, [r11 + r9*4]
cmp sil, 2
jae 0x1401ca173
cmp byte [rsp + 0x48], 0
je 0x1401ca19a
cmp r14d, 0xffff8000
jne 0x1401ca1d1
mov byte [rdi + 0x12], 0
mov word [r11 + r9*4 + 0x10], 0
mov dword [r11 + r9*4 + 0xc], 0
jmp 0x1401ca155
xor ebx, ebx
sub rcx, 1
jb 0x1401ca21f
add r13d, 2
mov r14d, r15d
test bl, bl
je 0x1401ca0ae
jmp 0x1401ca21f
cmp byte [rsp + 0x48], 0
je 0x1401ca1ae
cmp r14d, 0xffff8000
jne 0x1401ca1e5
mov byte [rdi + 0x12], 0
mov word [r11 + r9*4 + 0x10], 0
mov dword [r11 + r9*4 + 8], 0
jmp 0x1401ca155
test dword [rsp + 0x80], r10d
je 0x1401ca155
add dword [rdi], r14d
add dword [r11 + r9*4 + 8], r14d
jmp 0x1401ca155
test dword [rsp + 0x80], r10d
je 0x1401ca155
cmp dword [r11 + r9*4 + 0xc], 0
jne 0x1401ca155
lea r9, [r11 + r9*4]
add r9, 0xc
add dword [r9 - 8], r14d
mov dword [r9], r14d
jmp 0x1401ca155
cmp byte [rdi + 0x12], 0
je 0x1401ca155
lea r9, [r11 + r9*4]
add r9, 0xc
jmp 0x1401ca1f7
cmp byte [rdi + 0x12], 0
je 0x1401ca155
lea r9, [r11 + r9*4]
add r9, 8
add dword [r9], r14d
mov r10d, dword [rsp + 0x98]
or r10d, 8
mov r9, qword [rsp + 0x30]
mov dword [rsp + 0x98], r10d
mov dword [r9 + 0xb0], r10d
jmp 0x1401ca155
inc rcx
mov rbp, rcx
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
lea r13, [rsp + 0x290]
mov r9, qword [rsp + 0xa8]
mov r10d, dword [rsp + 0x1e0]
test r9d, r9d
je 0x1401cb0ef
movzx eax, r12w
sub eax, dword [rsp + 0x180]
cdq
idiv r9d
mov esi, eax
mov eax, 0x10000
cmp esi, eax
cmovae esi, eax
mov rax, qword [r15 + 0x80]
cmp rax, qword [r15 + 0x88]
jae 0x1401ca7c0
mov ecx, dword [r15 + 0xb4]
dec ecx
mov dword [r15 + 0xb4], ecx
bt r10d, 0xe
mov edi, dword [rsp + 0xdc]
jae 0x1401ca2a5
test ecx, ecx
jg 0x1401c9e4f
mov rcx, r15
call fcn.1401bd0ad
mov r9, qword [rsp + 0xa8]
mov rax, qword [r15 + 0x80]
jmp 0x1401c9e4f
cmp byte [rsp + 0x1d0], 0
je 0x1401c9c54
mov qword [rsp + 0x178], rdx
mov dword [rsp + 0x1b6], 0x10101
mov qword [rsp + 0x198], r14
mov qword [rsp + 0x1a0], r15
mov word [rsp + 0x1b4], 0xffff
mov qword [rsp + 0x190], 6
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x1a8], eax
movabs rax, 0x100000008
mov qword [rsp + 0x1ac], rax
mov cl, byte [r15 + 0xc1]
mov al, 6
shr al, cl
mov byte [rsp + 0x60], al
cmp qword [r15 + 0x88], 0
je 0x1401ca7c0
mov r12, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rcx
add rcx, 6
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x40], rax
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr edx, 2
mov qword [rsp + 0x58], rdx
mov rax, r15
xor ebp, ebp
mov rdx, qword [rax + 0x10]
cmp rdx, rbp
jbe 0x1401cb08f
mov rax, qword [rax + 8]
lea rdi, [rbp*4]
add rdi, rbp
mov ecx, dword [rsp + 0x80]
test dword [rax + rdi*4 + 4], ecx
je 0x1401ca473
mov byte [rsp + 0x20], 0
lea rsi, [rsp + 0x1f0]
mov rcx, rsi
lea rdx, [rsp + 0x190]
mov r8, rbp
mov r9w, 1
call fcn.1401bbe4f
mov rcx, rsi
call fcn.1401bbf12
test al, al
je 0x1401ca473
mov rbx, qword [rsp + 0x1a0]
mov rdx, qword [rbx + 0x10]
cmp rdx, rbp
jbe 0x1401cb128
mov r13, qword [rsp + 0x208]
cmp rdx, r13
jbe 0x1401cb137
mov rax, qword [rbx + 8]
movzx edx, word [rax + rdi*4]
lea rsi, [r13*4]
add rsi, r13
mov r8d, dword [rax + rsi*4]
movzx eax, r8w
cmp r12, 3
je 0x1401ca47e
cmp r12, 2
je 0x1401ca5be
test r12, r12
jne 0x1401ca796
cmp word [rsp + 0x58], 0
je 0x1401ca796
shl edx, 0x10
or edx, eax
mov r10, qword [rsp + 0x58]
movzx eax, r10w
cmp eax, 1
jne 0x1401ca610
xor eax, eax
jmp 0x1401ca66e
inc rbp
mov r13, rbp
jmp 0x1401ca7a3
cmp qword [rsp + 0x40], 2
jb 0x1401ca796
je 0x1401ca796
mov rcx, qword [rsp + 0x50]
movzx r10d, word [rcx]
rol r10w, 8
cmp qword [rsp + 0x40], 4
jb 0x1401ca796
je 0x1401ca796
mov rcx, qword [rsp + 0x50]
movzx ecx, byte [rcx + 2]
lea r15, [rcx*2 + 6]
cmp qword [rsp + 0x40], r15
jb 0x1401ca796
movzx r9d, r10w
lea r14, [r15 + r9]
cmp r14, qword [rsp + 0x40]
ja 0x1401ca796
add r9, r14
cmp r9, qword [rsp + 0x40]
ja 0x1401ca796
mov r11, qword [rsp + 0x50]
movzx r11d, byte [r11 + 3]
mov dword [rsp + 0xa0], r11d
mov r11, qword [rsp + 0x50]
movzx r11d, byte [r11 + 4]
mov dword [rsp + 0x78], r11d
movzx r11d, word [rsp + 0xa0]
imul r11d, dword [rsp + 0x78]
mov dword [rsp + 0x98], r11d
movzx r11d, r11w
add r11, r9
cmp r11, qword [rsp + 0x40]
ja 0x1401ca796
cmp r10w, dx
jbe 0x1401ca796
cmp r10w, r8w
jbe 0x1401ca796
add r15, qword [rsp + 0x50]
movzx edx, byte [r15 + rdx]
cmp dl, byte [rsp + 0xa0]
ja 0x1401ca796
add r14, qword [rsp + 0x50]
mov al, byte [r14 + rax]
cmp al, byte [rsp + 0x78]
ja 0x1401ca796
movzx eax, al
movzx r8d, word [rsp + 0x78]
movzx edx, dx
imul edx, r8d
movzx eax, ax
add eax, edx
cmp word [rsp + 0x98], ax
jbe 0x1401ca796
add r9, qword [rsp + 0x50]
movzx eax, ax
movzx eax, byte [r9 + rax]
cmp cl, al
jbe 0x1401ca796
mov rcx, qword [rsp + 0x88]
lea rax, [rcx + rax*2]
jmp 0x1401ca6b0
lea rcx, [rsp + 0xe8]
call fcn.140287255
test ax, ax
je 0x1401ca796
test dx, dx
je 0x1401ca796
movsx eax, dx
test byte [rsp + 0x60], 1
jne 0x1401ca6bc
cmp byte [rsp + 0x48], 0
je 0x1401ca6ec
mov rdx, qword [rbx + 0x28]
cmp rdx, r13
jbe 0x1401cb257
mov rcx, qword [rbx + 0x20]
mov dword [rcx + rsi*4 + 8], eax
jmp 0x1401ca6d8
xor eax, eax
mov ecx, r10d
movzx r8d, cx
shr r8d, 1
lea r9d, [rax + r8]
cmp r9w, r10w
jae 0x1401ca796
movzx r10d, r9w
add r10, r10
lea r11, [r10 + r10*2]
add r11, 6
cmp r11, qword [rsp + 0x40]
ja 0x1401ca796
lea r10, [r10 + r10*2]
mov r11, qword [rsp + 0x50]
mov r10d, dword [r11 + r10]
bswap r10d
cmp r10d, edx
ja 0x1401ca65c
mov eax, r9d
movzx r8d, r8w
sub ecx, r8d
cmp cx, 1
mov r10, qword [rsp + 0x58]
ja 0x1401ca615
cmp ax, r10w
jae 0x1401ca796
movzx eax, ax
add rax, rax
lea rcx, [rax + rax*2]
add rcx, 6
cmp rcx, qword [rsp + 0x40]
ja 0x1401ca796
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + rax]
bswap ecx
cmp ecx, edx
jne 0x1401ca796
add rax, qword [rsp + 0x50]
add rax, 4
movzx edx, word [rax]
rol dx, 8
jmp 0x1401ca5d4
cmp byte [rsp + 0x48], 0
je 0x1401ca733
mov rdx, qword [rbx + 0x28]
cmp rdx, r13
jbe 0x1401cb263
mov rcx, qword [rbx + 0x20]
mov dword [rcx + rsi*4 + 0xc], eax
mov rax, qword [rsp + 0x1a0]
or dword [rax + 0xb0], 8
jmp 0x1401ca776
mov rdx, qword [rbx + 0x28]
cmp rdx, rbp
jbe 0x1401cb284
mov ecx, eax
sar ecx, 1
mov rdx, qword [rbx + 0x20]
add dword [rdx + rdi*4 + 4], ecx
mov rdx, qword [rbx + 0x28]
cmp rdx, r13
jbe 0x1401cb29c
sub eax, ecx
mov rcx, qword [rbx + 0x20]
add dword [rcx + rsi*4 + 4], eax
mov rdx, qword [rbx + 0x28]
cmp rdx, r13
jbe 0x1401cb2b4
mov rcx, qword [rbx + 0x20]
add dword [rcx + rsi*4 + 0xc], eax
jmp 0x1401ca776
mov rdx, qword [rbx + 0x28]
cmp rdx, rbp
jbe 0x1401cb290
mov ecx, eax
sar ecx, 1
mov rdx, qword [rbx + 0x20]
add dword [rdx + rdi*4], ecx
mov rdx, qword [rbx + 0x28]
cmp rdx, r13
jbe 0x1401cb2a8
sub eax, ecx
mov rcx, qword [rbx + 0x20]
add dword [rcx + rsi*4], eax
mov rdx, qword [rbx + 0x28]
cmp rdx, r13
jbe 0x1401cb2c0
mov rcx, qword [rbx + 0x20]
add dword [rcx + rsi*4 + 8], eax
lea r8, [r13 + 1]
mov rax, r8
sub rax, rbp
cmp rax, 2
jb 0x1401ca796
mov rcx, qword [rsp + 0x1a0]
mov rdx, rbp
call fcn.1401b7dd3
mov rbp, r13
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rax, qword [rsp + 0x1a0]
cmp r13, qword [rax + 0x88]
lea r13, [rsp + 0x290]
jb 0x1401ca38d
mov ebx, dword [rsp + 0x74]
mov rbp, qword [rsp + 0x90]
lea r12, [rsp + 0x268]
mov rdx, qword [rsp + 0x178]
test dl, 1
jne 0x1401c9c54
mov r8, qword [r15 + 0x88]
test r8, r8
je 0x1401c9c54
mov rcx, r15
xor edx, edx
call fcn.1401cb9f1
jmp 0x1401c9c54
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab57
lea rcx, [rsp + 0x118]
movaps xmm1, xmm6
call fcn.1401b8b07
mov dword [rsp + 0x38], edx
test eax, eax
je 0x1401ca8b8
mov rcx, r15
xor edx, edx
call fcn.1401cb982
mov r14, qword [r15 + 0x88]
test r14, r14
je 0x1401ca8b8
mov ecx, dword [rsp + 0x38]
mov r12d, ecx
shr r12d, 0x1f
add r12d, ecx
sar r12d, 1
mov rcx, qword [rsp + 0x30]
mov r13, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x28]
mov rsi, qword [rcx + 0x20]
xor ecx, ecx
cmp rdi, rcx
jbe 0x1401cb167
mov r15, rax
lea rax, [rcx + rcx*4]
test dword [r13 + rax*4 + 4], ebp
je 0x1401ca8a3
cmp rbx, rcx
jbe 0x1401cb17f
mov ecx, dword [rsp + 0x38]
add dword [rsi + rax*4 + 4], ecx
add dword [rsi + rax*4 + 0xc], r12d
mov rcx, qword [rsp + 0x30]
mov rdx, r15
call fcn.1401cb982
mov rcx, r15
cmp r15, r14
jb 0x1401ca876
mov ebx, dword [rsp + 0x74]
mov rbp, qword [rsp + 0x90]
cmp byte [rbp + 0xe5], 0
je 0x1401ca8ef
mov rax, qword [rbp + 0xb0]
cmp byte [rax + 0x51], 1
mov rax, qword [rsp + 0x68]
mov rsi, qword [rax + 0x10]
jne 0x1401ca8f8
mov rcx, rsi
mov edx, ebx
call fcn.1401ce21e
jmp 0x1401ca8f8
mov rax, qword [rsp + 0x68]
mov rsi, qword [rax + 0x10]
test byte [rsi + 0xb0], 2
je 0x1401ca960
test byte [rsi + 0xac], 0x18
jne 0x1401ca960
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x88]
cmp rdx, rcx
jb 0x1401cb4a3
mov rdx, qword [rsi + 0x28]
cmp rdx, rcx
jb 0x1401cb4af
test rcx, rcx
je 0x1401ca960
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x20]
xor r8d, r8d
xorps xmm0, xmm0
test byte [rax + r8 + 0x10], 0x20
je 0x1401ca957
movzx r9d, word [rax + r8 + 0xc]
and r9d, 0x10
jne 0x1401ca957
movups xmmword [rdx + r8], xmm0
add r8, 0x14
dec rcx
jne 0x1401ca93e
mov rax, qword [rsp + 0x68]
mov rdi, qword [rax]
cmp byte [rdi + 0xed], 0
je 0x1401ca9c2
mov r8, qword [rsi + 0x88]
test r8, r8
je 0x1401ca9c2
mov r9, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x28]
mov r10, qword [rsi + 0x20]
xor r11d, r11d
xorps xmm0, xmm0
xor eax, eax
cmp rcx, rax
je 0x1401cb068
cmp dword [r9 + r11], 0xffff
jne 0x1401ca9b6
cmp rdx, rax
jbe 0x1401cb0bf
movups xmmword [r10 + r11], xmm0
inc rax
add r11, 0x14
cmp r8, rax
jne 0x1401ca995
mov rbx, qword [rsi + 0x88]
test rbx, rbx
je 0x1401caa0a
mov eax, dword [rsi + 0xb0]
and eax, 8
je 0x1401caa0a
mov bpl, byte [rsi + 0xc1]
mov r14, qword [rsi + 0x20]
mov r15, qword [rsi + 0x28]
xor r9d, r9d
lea r12, [r9 + 1]
mov byte [rsp + 0x20], bpl
mov rcx, r14
mov rdx, r15
mov r8, rbx
call fcn.1401ce29f
mov r9, r12
cmp rbx, r12
jne 0x1401ca9eb
cmp byte [rdi + 0xe7], 0
mov rax, qword [rsp + 0x68]
je 0x1401caab9
mov rbx, qword [rax + 8]
mov r12, qword [rsi + 0x88]
cmp r12, 2
jb 0x1401caa97
mov r15d, 1
mov r13d, 0x24
xor r14d, r14d
mov ebp, dword [rsp + 0x74]
mov rdx, qword [rsi + 0x10]
cmp rdx, r15
jbe 0x1401cb077
mov rax, qword [rsi + 8]
movzx ecx, word [rax + r13]
and ecx, 0x1f
call fcn.1401b8e0d
movzx eax, al
add rax, 0xfffffffffffffffb
cmp rax, 3
jb 0x1401caa89
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], r15
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
mov r9, r14
call fcn.1401ce42c
mov r14, r15
inc r15
add r13, 0x14
cmp r12, r15
jne 0x1401caa40
jmp 0x1401caa9e
xor r14d, r14d
mov ebp, dword [rsp + 0x74]
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], r12
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
mov r9, r14
call fcn.1401ce42c
movzx eax, byte [rsi + 0xc1]
mov ecx, 0x15
bt ecx, eax
jae 0x1401caae0
mov r8, qword [rsi + 0x88]
test r8, r8
je 0x1401caae0
mov rcx, rsi
xor edx, edx
call fcn.1401cb9f1
mov rax, qword [rsp + 0x68]
mov rbx, qword [rax + 8]
test byte [rsi + 0xb0], 2
je 0x1401cad39
mov eax, dword [rsi + 0xac]
test al, 8
jne 0x1401cad39
test al, 0x10
jne 0x1401cabd6
cmp word [rsi + 0xa8], 0
je 0x1401cab6e
movzx edx, word [rsi + 0xaa]
jmp 0x1401cab81
xor ecx, ecx
and cl, 1
mov bl, 2
sub bl, cl
mov r12, qword [rsp + 0x48]
jmp 0x1401c64f8
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rcx, r14
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rcx, rbx
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
mov rcx, rax
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
mov rcx, r15
call fcn.1400793c0
mov rcx, rbx
mov edx, 0x20
call fcn.1401ede49
cmp ax, 1
jne 0x1401cabd6
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x88]
cmp rax, rcx
jb 0x1401cb4bb
test rcx, rcx
je 0x1401cad39
mov rax, qword [rsi + 8]
movzx edx, dx
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor r8d, r8d
test byte [rax + r8 + 0x10], 0x20
je 0x1401cabc8
movzx r9d, word [rax + r8 + 0xc]
and r9d, 0x10
jne 0x1401cabc8
mov dword [rax + r8], edx
add r8, 0x14
cmp rcx, r8
jne 0x1401cabb0
jmp 0x1401cad39
mov qword [rsp + 0x30], rbx
mov r13, qword [rsi + 0x88]
test r13, r13
je 0x1401cad2a
mov rbp, 0xfffffffffffffff4
xor ebx, ebx
xor r14d, r14d
xor r15d, r15d
lea r12, [r14 - 1]
mov rax, r15
mov rdx, qword [rsi + 0x10]
cmp rdx, r15
jbe 0x1401cb036
lea r15, [rax + 1]
mov rcx, qword [rsi + 8]
lea r8, [rax + rax*4]
test byte [rcx + r8*4 + 0x10], 0x20
je 0x1401cacc1
movzx r9d, word [rcx + r8*4 + 0xc]
and r9d, 0x10
jne 0x1401cacc1
mov r9d, dword [rcx + r8*4 + 8]
cmp r15, qword [rsi + 0x88]
jae 0x1401cac6e
cmp rdx, r15
jbe 0x1401cb0a4
lea r10, [r15 + r15*4]
cmp r9d, dword [rcx + r10*4 + 8]
je 0x1401cacb6
test r14, r14
jne 0x1401cac73
lea r8, [rax + 2]
mov rcx, rsi
mov rdx, rax
call fcn.1401b7b69
jmp 0x1401cacb6
test r14, r14
je 0x1401cacb6
cmp rdx, r12
jbe 0x1401cb0b0
lea rax, [r12 + r12*4]
mov eax, dword [rcx + rax*4 + 8]
cmp r9d, eax
jae 0x1401cacb6
mov edx, dword [rcx + r8*4 + 4]
and edx, 1
add rcx, rbp
mov r8, rbx
cmp dword [rcx], eax
jne 0x1401cacb6
mov r10d, dword [rcx - 4]
and r10d, 0xfffffffe
or r10d, edx
mov dword [rcx - 4], r10d
mov dword [rcx], r9d
add rcx, 0xffffffffffffffec
inc r8
jne 0x1401cac97
cmp r15, r13
jb 0x1401cabfe
jmp 0x1401cad2d
cmp r14, rax
je 0x1401cad15
cmp rdx, r14
jbe 0x1401cb1cf
lea r9, [r14 + r14*4]
movups xmm0, xmmword [rcx + r8*4]
mov edx, dword [rcx + r8*4 + 0x10]
mov dword [rcx + r9*4 + 0x10], edx
movups xmmword [rcx + r9*4], xmm0
mov rdx, qword [rsi + 0x28]
cmp rdx, rax
jbe 0x1401cb1db
cmp rdx, r14
jbe 0x1401cb1e7
mov rax, qword [rsi + 0x20]
movups xmm0, xmmword [rax + r8*4]
mov ecx, dword [rax + r8*4 + 0x10]
mov dword [rax + r9*4 + 0x10], ecx
movups xmmword [rax + r9*4], xmm0
inc r14
dec rbx
add rbp, 0x14
cmp r15, r13
jb 0x1401cabfa
jmp 0x1401cad2d
xor r14d, r14d
mov qword [rsi + 0x88], r14
mov rbx, qword [rsp + 0x30]
cmp byte [rdi + 0xed], 0
je 0x1401cae9b
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 0x88]
test rbx, rbx
je 0x1401cae8c
mov r13, 0xfffffffffffffff4
xor ebp, ebp
xor r14d, r14d
xor r15d, r15d
lea r12, [r14 - 1]
mov rax, r15
mov rdx, qword [rsi + 0x10]
cmp rdx, r15
jbe 0x1401cb036
lea r15, [rax + 1]
mov rcx, qword [rsi + 8]
lea r8, [rax + rax*4]
cmp dword [rcx + r8*4], 0xffff
jne 0x1401cae23
mov r9d, dword [rcx + r8*4 + 8]
cmp r15, qword [rsi + 0x88]
jae 0x1401cadd0
cmp rdx, r15
jbe 0x1401cb0a4
lea r10, [r15 + r15*4]
cmp r9d, dword [rcx + r10*4 + 8]
je 0x1401cae18
test r14, r14
jne 0x1401cadd5
lea r8, [rax + 2]
mov rcx, rsi
mov rdx, rax
call fcn.1401b7b69
jmp 0x1401cae18
test r14, r14
je 0x1401cae18
cmp rdx, r12
jbe 0x1401cb0b0
lea rax, [r12 + r12*4]
mov eax, dword [rcx + rax*4 + 8]
cmp r9d, eax
jae 0x1401cae18
mov edx, dword [rcx + r8*4 + 4]
and edx, 1
add rcx, r13
mov r8, rbp
cmp dword [rcx], eax
jne 0x1401cae18
mov r10d, dword [rcx - 4]
and r10d, 0xfffffffe
or r10d, edx
mov dword [rcx - 4], r10d
mov dword [rcx], r9d
add rcx, 0xffffffffffffffec
inc r8
jne 0x1401cadf9
cmp r15, rbx
jb 0x1401cad6e
jmp 0x1401cae8f
cmp r14, rax
je 0x1401cae77
cmp rdx, r14
jbe 0x1401cb1cf
lea rdx, [rcx + r8*4]
lea r9, [r14 + r14*4]
movups xmm0, xmmword [rdx]
mov edx, dword [rdx + 0x10]
mov dword [rcx + r9*4 + 0x10], edx
movups xmmword [rcx + r9*4], xmm0
mov rdx, qword [rsi + 0x28]
cmp rdx, rax
jbe 0x1401cb1db
cmp rdx, r14
jbe 0x1401cb1e7
mov rax, qword [rsi + 0x20]
movups xmm0, xmmword [rax + r8*4]
mov ecx, dword [rax + r8*4 + 0x10]
mov dword [rax + r9*4 + 0x10], ecx
movups xmmword [rax + r9*4], xmm0
inc r14
dec rbp
add r13, 0x14
cmp r15, rbx
jb 0x1401cad6a
jmp 0x1401cae8f
xor r14d, r14d
mov qword [rsi + 0x88], r14
mov rbx, qword [rsp + 0x30]
mov rax, qword [rdi + 0xb0]
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1401caeb6
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call rax
test byte [rsi + 0xb0], 0x10
je 0x1401caf58
mov rcx, rsi
xor edx, edx
call fcn.1401cee21
mov r14, qword [rsi + 0x88]
test r14, r14
je 0x1401caf58
mov rdi, rax
mov r15, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
xor ecx, ecx
cmp rcx, rdi
ja 0x1401cb307
cmp rbx, rdi
jb 0x1401cb310
lea rax, [rcx*4]
lea rax, [rax + rax*4]
lea r8, [r15 + rax]
lea rdx, [rdi*4]
lea rdx, [rdx + rdx*4]
mov r9, rdx
sub r9, rax
test r9, r9
je 0x1401caf42
add r9, 0xffffffffffffffec
test byte [r8 + 4], 1
lea r8, [r8 + 0x14]
je 0x1401caf1a
cmp rcx, rdi
je 0x1401caf42
or byte [r15 + rax + 4], 1
add rax, 0x14
cmp rdx, rax
jne 0x1401caf33
mov rcx, rsi
mov rdx, rdi
call fcn.1401cee21
mov rcx, rdi
cmp rdi, r14
mov rdi, rax
jb 0x1401caee6
mov rax, qword [rsp + 0x68]
mov al, byte [rax + 0x28]
mov byte [rsi + 0xc1], al
mov qword [rsi + 0x78], 0x3fffffff
mov dword [rsi + 0xb4], 0x1fffffff
movaps xmm6, xmmword [rsp + 0x320]
movaps xmm7, xmmword [rsp + 0x330]
movaps xmm8, xmmword [rsp + 0x340]
movaps xmm9, xmmword [rsp + 0x350]
movaps xmm10, xmmword [rsp + 0x360]
add rsp, 0x378
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.1400793c0
cmp rcx, rdx
cmovbe rcx, rdx
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cab48
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
mov edx, 8
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
xor ecx, ecx
xor edx, edx
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_metamorphosis.rs
mov rdx, rsi
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab57
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
mov rcx, r9
mov rdx, qword [rsp + 0x50]
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
mov rcx, r9
mov rdx, rax
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_mod.rs
mov rdx, rcx
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_fallback.rs
jmp 0x1401cab66
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_map.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb12f
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb120
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab66
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rcx, r12
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_mod.rs
jmp 0x1401cab57
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
mov rcx, rsi
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab48
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cb13e
lea rcx, str.attempt_to_divide_by_zeroassertion_failed:_mid___self.len___home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ttf_parser_0.20.0_src_tables_cff_argstack.rs
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ttf_parser_0.20.0_src_aat.rs
mov edx, 0x19
call fcn.14007aaa0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb120
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
jmp 0x1401cb12f
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
mov rcx, rdi
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
mov rcx, rbp
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
mov rcx, r13
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cab57
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
jmp 0x1401cb0d2
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_tracking.rs
jmp 0x1401cb16e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_tracking.rs
mov rdx, rdi
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_tracking.rs
jmp 0x1401cb186
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_tracking.rs
mov rdx, rbx
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
jmp 0x1401cb0d2
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_normalize.rs
jmp 0x1401cb0d2
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb01e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_extended_kerning.rs
mov edx, 8
jmp 0x1401cb0d2
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab39
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab57
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cab39
lea rax, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14035d308]
lea r8, [rsp + 0xe0]
mov edx, 0x2b
call fcn.14007f9a0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cb060
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_extended_kerning.rs
mov rdx, qword [rsp + 0x78]
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_extended_kerning.rs
jmp 0x1401cb060
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rdx, r14
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb13e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb13e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_extended_kerning.rs
jmp 0x1401cb2eb
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_extended_kerning.rs
jmp 0x1401cab48
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb12f
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb12f
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb13e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb13e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb13e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_kerning.rs
jmp 0x1401cb13e
lea rcx, [0x1403893e9]
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov edx, 0x23
call fcn.14007aaa0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rcx, r9
call fcn.1400793c0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_map.rs
mov rcx, rax
mov rdx, qword [rsp + 0x40]
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb38e
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rcx, rdi
mov rdx, rbx
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_map.rs
mov rdx, rax
call fcn.14007ec10
lea rcx, str.assertion_failed:__ctx.buffer.have_output_home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.12.1_src_ot_layout.rs
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_layout.rs
mov edx, 0x29
call fcn.14007aaa0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_map.rs
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rcx, r14
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_aat_extended_kerning.rs
jmp 0x1401cb186
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
jmp 0x1401cb186
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rcx, r12
mov rdx, rdi
call fcn.14007ec10
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rcx, rdi
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rcx, r15
mov rdx, rbx
call fcn.14007ec10
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb487
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_position.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb487
lea rcx, str.assertion_failed:__self.have_positions
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov edx, 0x26
call fcn.14007aaa0
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_fallback.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_ot_substitute.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb487
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb487
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb487
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
jmp 0x1401cb487
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_fallback.rs
jmp 0x1401cb478
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_fallback.rs
mov rcx, rsi
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rcx, rbx
call fcn.14007a270
lea r8, str.x8__
mov edx, 0x20
mov rcx, rax
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
call fcn.14007a270
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_shape.rs
mov rdx, rax
call fcn.14007a270
int3
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x1401cef94
invalid
loopne 0x1401cbd21
invalid
inc dword [rbx + 0x387711f8]
lea rcx, [0x1402ee8b4]
movsxd rax, dword [rcx + rax*4]
add byte [rax + 0x63], cl
add al, 0x81
add rax, rcx
jmp rax
mov bp, 0x200
jmp 0x1401cbdaa
add byte [rax], al
je 0x1401cbda6
cmp edi, 0x3000
add byte [rax], dh
add byte [rax], al
jne case.0x1401cbd36.11
test byte [rax], 0
add byte [rsi - 0x43], ah
invalid
invalid
mov bp, 0x100
add byte [rcx], al
jmp 0x1401cbdaa
add byte [rdx], dl
cmp edi, 0x20
je 0x1401cbdaa
invalid
cmp r15d, 0xa0
cmp edi, 0xa0
add byte [rcx + rdi - 0x17], dh
fiadd dword [rax]
add byte [rax], al
je 0x1401cbdaa
jmp case.0x1401cbd36.11
mov bp, 0x300
jmp 0x1401cbdaa
mov bp, 0x400
jmp 0x1401cbdaa
mov bp, 0x600
jmp 0x1401cbdaa
mov bp, 0x1300
jmp 0x1401cbdaa
mov bp, 0x1400
jmp 0x1401cbdaa
mov bp, 0x500
jmp 0x1401cbdaa
mov bp, 0x1000
jmp 0x1401cbdaa
mov bp, 0x1100
mov rcx, qword [rsi + 0x10]
mov edx, 0x20
call fcn.1401ede49
cmp ax, 1
jne 0x1401cbe28
mov ebx, edx
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax + 0x80]
cmp rdx, rcx
jbe 0x1401cbe67
mov rdi, qword [rax + 8]
lea r15, [rcx + rcx*4]
movzx r14d, word [rdi + r15*4 + 0x10]
mov ecx, r14d
and ecx, 0x1f
call fcn.1401b8e0d
cmp al, 0x16
jne 0x1401cbe0c
lea rax, [rdi + r15*4]
add rax, 0x10
movzx ecx, r14b
movzx edx, bp
movzx ecx, cx
or ecx, edx
mov word [rax], cx
mov rcx, qword [rsi + 8]
movzx edx, bx
call 0x1401cef94
mov rax, qword [rsi + 8]
or dword [rax + 0xb0], 4
jmp 0x1401cbcb5
invalid
invalid
invalid
invalid
invalid
cmp edi, 0x2011
jne case.0x1401cbd36.11
mov rcx, qword [rsi + 0x10]
mov edx, 0x2010
call fcn.1401ede49
cmp ax, 1
jne case.0x1401cbd36.11
mov rcx, qword [rsi + 8]
movzx edx, dx
jmp 0x1401cbccf
mov rcx, qword [rsi + 8]
xor edx, edx
jmp 0x1401cbccf
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
call fcn.1400793c0
lea rax, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14035d308]
lea r8, [rsp + 0x37]
mov edx, 0x2b
call fcn.14007f9a0
int3
sub rsp, 0x28
mov r9, qword [rcx + 0x10]
mov rax, qword [rcx + 0x80]
cmp r9, rax
jbe 0x1401cefbe
mov r8, qword [rcx + 8]
lea rax, [rax + rax*4]
mov dword [r8 + rax*4 + 0xc], edx
add rsp, 0x28
jmp fcn.1401bd0ad
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rustybuzz_0.11.0_src_buffer.rs
mov rcx, rax
mov rdx, r9
call fcn.1400793c0
int3