Function at 0x1400c36b0
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4a8]
sub rsp, 0x570
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x14020c050]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov qword [rbp - 0x30], r9
mov qword [rsp + 0x68], rdx
mov r14, rcx
mov qword [rbp - 0x38], rcx
xor r12d, r12d
mov dword [rsp + 0x50], r12d
mov rax, qword [r9]
mov rsi, qword [rax]
mov qword [rsp + 0x48], rsi
mov rcx, rsi
call fcn.14003eab0
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
movd xmm8, eax
cvtdq2pd xmm8, xmm8
mov byte [rsp + 0x40], 1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r12
movdqa xmm0, xmmword [0x1401c48f0]
movdqu xmmword [rbp + 0xc8], xmm0
mov byte [rbp + 0xb8], r12b
movdqa xmm0, xmmword [0x1401c48e0]
movdqu xmmword [rbp + 0xa8], xmm0
mov word [rbp + 0x98], r12w
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x1400c37bb
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1400c3794
mov rax, qword [rsi]
lea rdi, [rdx + rax]
mov rbx, rsi
jb 0x1400c37a0
mov rbx, qword [rsi]
call fcn.1401431b0
mov r9, rax
lea r8, [rbp + 0x98]
mov rdx, rdi
mov rcx, rbx
call fcn.140141970
nop
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x98]
call fcn.140144620
nop
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x78]
call fcn.140003290
nop
lea rcx, [rbp + 0x78]
call fcn.140008710
nop
mov r8d, 0x14
lea rdx, str._Reconstructed.fxout
lea rcx, [rbp - 0x78]
call fcn.1400089d0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x18], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movdqa xmm0, xmmword [0x1401c48e0]
movdqu xmmword [rbp + 0xe8], xmm0
mov word [rbp + 0xd8], r12w
mov r8, qword [rbp + 0x18]
test r8, r8
je 0x1400c387b
lea rbx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rbx, qword [rbp + 8]
add rbx, r8
lea rdi, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdi, qword [rbp + 8]
call fcn.1401431b0
mov r9, rax
lea r8, [rbp + 0xd8]
mov rdx, rbx
mov rcx, rdi
call fcn.140141970
nop
lea rcx, [rbp + 8]
call fcn.1400087f0
nop
lea rcx, [rbp - 0x78]
call fcn.1400087f0
nop
lea rcx, [rbp + 0x98]
call fcn.140008710
mov rdx, qword [r14 + 0x20]
add rdx, 0xf0
lea rcx, [rbp + 0x78]
call fcn.1400031a0
nop
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x78]
call fcn.140142c00
movups xmm0, xmmword [rbp + 0x78]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rbp + 0x88]
movups xmmword [rbp - 0x48], xmm1
movdqa xmm0, xmmword [0x1401c48e0]
movdqu xmmword [rbp + 0x88], xmm0
mov word [rbp + 0x78], r12w
movdqa xmm0, xmmword [0x1401c48f0]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
mov dword [rsp + 0x50], 0x3f
movq r8, xmm1
test r8, r8
je 0x1400c393d
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rcx, qword [rbp - 0x58]
lea rbx, [rcx + r8*2]
lea rdi, [rbp - 0x58]
cmovae rdi, qword [rbp - 0x58]
call fcn.1401431b0
mov r9, rax
lea r8, [rbp + 0x28]
mov rdx, rbx
mov rcx, rdi
call fcn.140141a60
lea rcx, [rbp + 0xb8]
call fcn.1400087f0
movups xmm0, xmmword [rbp + 0x28]
movups xmmword [rbp + 0xb8], xmm0
movups xmm1, xmmword [rbp + 0x38]
movups xmmword [rbp + 0xc8], xmm1
movdqa xmm0, xmmword [0x1401c48f0]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
lea rcx, [rbp + 0x28]
call fcn.1400087f0
nop
lea rcx, [rbp - 0x58]
call fcn.140008710
nop
lea rcx, [rbp + 0x78]
call fcn.140008710
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x1f0]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 0x10
cmovae rdx, qword [rbp + 0xb8]
mov r8d, 2
lea rcx, [rbp + 0x1f0]
call fcn.140017750
nop
lea rdx, str.WT_energy_before_mutating_
lea rcx, [rbp + 0x1f0]
call fcn.1400092d0
mov rdx, qword [rsi + 0x50]
add rdx, 0x2588
lea rcx, [rbp + 0x1f0]
call fcn.1400e6a70
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor edx, edx
mov r8d, 0xd0
lea rcx, [rbp + 0x120]
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
lea rcx, [rbp + 0x120]
call fcn.14000c7f0
nop
mov rcx, r12
mov qword [rbp + 0x28], rcx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
mov edi, r12d
mov rsi, qword [rbp + 0x4d0]
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
sub rax, rdx
sar rax, 5
test rax, rax
je 0x1400c3abe
mov rbx, r12
nop dword [rax + rax]
lea rax, [rbx + rdx]
cmp qword [rax + 0x18], 0x10
jb 0x1400c3a6e
mov rax, qword [rax]
movzx ecx, byte [rax]
mov byte [rbp + 4], cl
cmp cl, 0x23
je 0x1400c3a9e
mov rax, qword [rbp + 0x30]
cmp qword [rbp + 0x38], rax
je 0x1400c3a8e
mov byte [rax], cl
inc rax
mov qword [rbp + 0x30], rax
jmp 0x1400c3a9e
lea r8, [rbp + 4]
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.14005a7b0
inc edi
add rbx, 0x20
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, rdx
sar rcx, 5
movsxd rax, edi
cmp rax, rcx
jb 0x1400c3a60
mov rcx, qword [rbp + 0x28]
mov r9, qword [rbp + 0x30]
mov rdx, qword [rsp + 0x48]
cmp r9, rcx
jne 0x1400c3b50
mov edi, r12d
mov rcx, qword [rdx + 0x40]
mov rax, qword [rcx + 0x98]
sub rax, qword [rcx + 0x90]
sar rax, 3
test eax, eax
je 0x1400c3b50
mov rbx, r12
mov rax, qword [rcx + 0x90]
mov rcx, qword [rbx + rax]
movzx eax, byte [rcx + 0xa0]
mov byte [rbp + 4], al
cmp qword [rbp + 0x38], r9
je 0x1400c3b17
mov byte [r9], al
inc r9
mov qword [rbp + 0x30], r9
jmp 0x1400c3b30
lea r8, [rbp + 4]
mov rdx, r9
lea rcx, [rbp + 0x28]
call fcn.14005a7b0
mov rdx, qword [rsp + 0x48]
mov r9, qword [rbp + 0x30]
inc edi
add rbx, 8
mov rcx, qword [rdx + 0x40]
mov rax, qword [rcx + 0x98]
sub rax, qword [rcx + 0x90]
sar rax, 3
cmp edi, eax
jb 0x1400c3af0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
mov r8, r12
mov qword [rbp + 0x70], r12
mov rax, qword [rdx + 0x40]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 3
mov r14d, r12d
movsxd r13, ecx
mov qword [rsp + 0x50], r13
test ecx, ecx
jle 0x1400c3cf7
mov r13, r12
mov rbx, r12
mov qword [rsp + 0x60], rbx
movsd xmm6, qword [0x1401c4510]
mov rdx, qword [rbp + 0x68]
nop dword [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
cmp r8, rdx
je 0x1400c3bd0
mov qword [rdx], r12
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], r12
mov rcx, r12
mov rax, r12
mov rdx, qword [rbp + 0x68]
add rdx, 0x18
mov qword [rbp + 0x68], rdx
jmp 0x1400c3be9
lea r8, [rbp + 8]
lea rcx, [rbp + 0x60]
call fcn.1400c7720
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1400c3c2b
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3c22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3ce6
call fcn.14014a730
mov rdx, qword [rbp + 0x68]
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x48]
mov rdi, qword [rbp + 0x60]
add rdi, rbx
mov rax, qword [r15 + 0x4b8]
mov rcx, qword [rax]
mov rsi, qword [rax + 8]
sub rsi, rcx
sar rsi, 3
mov r12, qword [rcx + r13*8]
xor ebx, ebx
mov dword [rbp], ebx
test esi, esi
jle 0x1400c3cbf
xor ecx, ecx
nop
cmp ecx, r14d
je 0x1400c3cb0
mov rax, qword [r15 + 0x4b8]
mov rax, qword [rax]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9b, 1
mov r8, qword [rax + rcx*8]
mov rdx, r12
call fcn.140027ba0
comisd xmm6, xmm0
jb 0x1400c3cb0
mov rdx, qword [rdi + 8]
cmp qword [rdi + 0x10], rdx
je 0x1400c3ca1
mov dword [rdx], ebx
add qword [rdi + 8], 4
jmp 0x1400c3cb0
lea r8, [rbp]
mov rcx, rdi
call fcn.14001b470
mov ebx, dword [rbp]
inc ebx
mov dword [rbp], ebx
mov ecx, ebx
cmp ebx, esi
jl 0x1400c3c60
mov rdx, qword [rbp + 0x68]
inc r14d
inc r13
mov rbx, qword [rsp + 0x60]
add rbx, 0x18
mov qword [rsp + 0x60], rbx
xor r12d, r12d
cmp r13, qword [rsp + 0x50]
jge 0x1400c3ced
mov r8, qword [rbp + 0x70]
jmp 0x1400c3ba0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r13, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r15d, r12d
test r13, r13
jle 0x1400c3ebe
mov rsi, r12
mov r9, qword [rbp + 0x50]
nop word [rax + rax]
mov rax, qword [rdx + 0x40]
mov rax, qword [rax]
mov r8, qword [rax + rsi*8]
add r8, 0x38
cmp qword [rbp + 0x58], r9
je 0x1400c3d3e
mov rdx, r8
mov rcx, r9
call fcn.1400070c0
mov r9, qword [rbp + 0x50]
add r9, 0x20
mov qword [rbp + 0x50], r9
jmp 0x1400c3d4e
mov rdx, r9
lea rcx, [rbp + 0x48]
call fcn.14001b1b0
mov r9, qword [rbp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx + rsi*8]
cmp dword [rax + 0x30], 1
jne 0x1400c3eab
xor edi, edi
mov r14, qword [rbp + 0x30]
mov rax, qword [rbp + 0x28]
sub r14, rax
je 0x1400c3eab
mov rbx, rax
xor r13d, r13d
mov rax, qword [rdx + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx + rsi*8]
mov rcx, qword [rax + 0x1e8]
movzx eax, byte [rcx + 0xa0]
cmp al, byte [rbx]
jne 0x1400c3e91
mov rax, qword [rbp + 0x48]
lea rcx, [rax + r12]
mov r8, qword [rcx + 0x10]
mov rdx, rcx
mov r9, qword [rcx + 0x18]
cmp r9, 0x10
jb 0x1400c3dbe
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c3df9
movzx eax, byte [rdx]
cmp al, byte [0x140183808]
jne 0x1400c3dec
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183809]
jne 0x1400c3dec
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018380a]
jne 0x1400c3dec
mov eax, r13d
jmp 0x1400c3df1
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c3e8c
cmp r9, 0x10
jb 0x1400c3e02
mov rcx, qword [rcx]
cmp r8, 3
jne 0x1400c3e3d
movzx eax, byte [rcx]
cmp al, byte [0x140183798]
jne 0x1400c3e30
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183799]
jne 0x1400c3e30
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018379a]
jne 0x1400c3e30
mov eax, r13d
jmp 0x1400c3e35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c3e3d
mov al, 1
jmp 0x1400c3e3f
xor al, al
test al, al
jne 0x1400c3e8c
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], 0xf
mov byte [rbp + 0x78], al
mov r8d, 3
lea rdx, [0x14018387c]
lea rcx, [rbp + 0x78]
call fcn.140008870
nop
lea r8, [rbp + 0x78]
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.140049f20
nop
lea rcx, [rbp + 0x78]
call fcn.1400087f0
mov rdx, qword [rsp + 0x48]
inc edi
inc rbx
movsxd rax, edi
cmp rax, r14
jb 0x1400c3d81
mov r9, qword [rbp + 0x50]
mov r13, qword [rsp + 0x50]
inc r15d
inc rsi
add r12, 0x20
cmp rsi, r13
jl 0x1400c3d10
lea rdx, str.All_ALA_protein_energy
lea rcx, [rbp + 0x1f0]
call fcn.1400092d0
mov r13, qword [rsp + 0x48]
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
lea rcx, [rbp + 0x1f0]
call fcn.1400e6a70
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movdqa xmm0, xmmword [0x1401c48f0]
movdqu xmmword [rbp + 0x88], xmm0
mov byte [rbp + 0x78], 0
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov dword [rsp + 0x50], 0x5f
mov rdx, qword [r13 + 0x10]
add rdx, 8
lea rcx, [rbp + 8]
call fcn.140009ea0
mov r8d, 8
lea rdx, str.All_ALA_
lea rcx, [rbp + 8]
call fcn.1400089d0
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1400c3f57
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
lea rcx, [rbp + 8]
call fcn.1400089d0
lea rcx, [rbp + 0x78]
call fcn.1400087f0
movups xmm0, xmmword [rbp + 8]
movups xmmword [rbp + 0x78], xmm0
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [rbp + 0x88], xmm1
movdqa xmm0, xmmword [0x1401c48f0]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
lea rcx, [rbp + 8]
call fcn.1400087f0
xor r11d, r11d
mov r14d, r11d
mov dword [rbp], r11d
mov ebx, r11d
mov dword [rsp + 0x58], ebx
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
movsd xmm9, qword [0x1401c43a8]
movsd xmm10, qword [0x1401c47e0]
test eax, eax
je 0x1400c5119
mov edi, r11d
mov qword [rsp + 0x60], r11
lea r8, [r11 - 1]
movsd xmm6, qword [0x1401c47f0]
movsd xmm7, qword [0x1401c47b0]
mov r10, qword [rbp + 0x48]
nop word [rax + rax]
xor sil, sil
mov byte [rbp + 4], sil
mov rax, qword [rdx + rdi*8]
cmp dword [rax + 0x30], 1
je 0x1400c4043
cmp r14d, 2
jge 0x1400c50f1
mov rcx, qword [rcx + 8]
sub rcx, rdx
sar rcx, 3
lea eax, [rbx + 1]
cmp eax, ecx
jne 0x1400c50f1
mov ebx, r8d
mov rdi, r8
inc r14d
mov dword [rbp], r14d
jmp 0x1400c50f1
mov r12d, r11d
mov dword [rsp + 0x50], r11d
mov r15, r11
mov qword [rsp + 0x78], r11
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
sub rax, rdx
mov qword [rsp + 0x70], rax
je 0x1400c50c5
nop dword [rax]
mov rax, qword [r13 + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx + rdi*8]
mov rcx, qword [rax + 0x1e8]
movzx eax, byte [rcx + 0xa0]
cmp al, byte [rdx + r15]
jne 0x1400c5036
test r14d, r14d
jne 0x1400c440b
mov rcx, rdi
shl rcx, 5
add rcx, r10
mov r8, qword [rcx + 0x10]
mov rdx, rcx
mov r9, qword [rcx + 0x18]
cmp r9, 0x10
jb 0x1400c40ba
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c40f5
movzx eax, byte [rdx]
cmp al, byte [0x14018386c]
jne 0x1400c40e8
movzx eax, byte [rdx + 1]
cmp al, byte [0x14018386d]
jne 0x1400c40e8
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018386e]
jne 0x1400c40e8
mov eax, r11d
jmp 0x1400c40ed
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4101
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c413c
movzx eax, byte [rdx]
cmp al, byte [0x140183868]
jne 0x1400c412f
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183869]
jne 0x1400c412f
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018386a]
jne 0x1400c412f
mov eax, r11d
jmp 0x1400c4134
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4148
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4183
movzx eax, byte [rdx]
cmp al, byte [0x140183864]
jne 0x1400c4176
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183865]
jne 0x1400c4176
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183866]
jne 0x1400c4176
mov eax, r11d
jmp 0x1400c417b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c418f
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c41ca
movzx eax, byte [rdx]
cmp al, byte [0x140183860]
jne 0x1400c41bd
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183861]
jne 0x1400c41bd
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183862]
jne 0x1400c41bd
mov eax, r11d
jmp 0x1400c41c2
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c41d6
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4211
movzx eax, byte [rdx]
cmp al, byte [0x14018380c]
jne 0x1400c4204
movzx eax, byte [rdx + 1]
cmp al, byte [0x14018380d]
jne 0x1400c4204
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018380e]
jne 0x1400c4204
mov eax, r11d
jmp 0x1400c4209
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c421d
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4258
movzx eax, byte [rdx]
cmp al, byte [0x140183958]
jne 0x1400c424b
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183959]
jne 0x1400c424b
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018395a]
jne 0x1400c424b
mov eax, r11d
jmp 0x1400c4250
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4264
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c429f
movzx eax, byte [rdx]
cmp al, byte [0x140183954]
jne 0x1400c4292
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183955]
jne 0x1400c4292
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183956]
jne 0x1400c4292
mov eax, r11d
jmp 0x1400c4297
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c42ab
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c42e6
movzx eax, byte [rdx]
cmp al, byte [0x140183950]
jne 0x1400c42d9
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183951]
jne 0x1400c42d9
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183952]
jne 0x1400c42d9
mov eax, r11d
jmp 0x1400c42de
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c42f2
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c432d
movzx eax, byte [rdx]
cmp al, byte [0x14018394c]
jne 0x1400c4320
movzx eax, byte [rdx + 1]
cmp al, byte [0x14018394d]
jne 0x1400c4320
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018394e]
jne 0x1400c4320
mov eax, r11d
jmp 0x1400c4325
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4339
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4374
movzx eax, byte [rdx]
cmp al, byte [0x140183948]
jne 0x1400c4367
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183949]
jne 0x1400c4367
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018394a]
jne 0x1400c4367
mov eax, r11d
jmp 0x1400c436c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4380
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c43b7
movzx eax, byte [rdx]
cmp al, byte [0x140183944]
jne 0x1400c43ae
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183945]
jne 0x1400c43ae
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183946]
jne 0x1400c43ae
mov eax, r11d
jmp 0x1400c43b3
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c43ff
cmp r9, 0x10
jb 0x1400c43c0
mov rcx, qword [rcx]
cmp r8, 3
jne 0x1400c4798
movzx eax, byte [rcx]
cmp al, byte [0x140183940]
jne 0x1400c43f2
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183941]
jne 0x1400c43f2
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183942]
jne 0x1400c43f2
mov eax, r11d
jmp 0x1400c43f7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c4798
mov sil, 1
mov byte [rbp + 4], sil
jmp 0x1400c47a1
cmp r14d, 1
jne 0x1400c46ac
mov rcx, rdi
shl rcx, 5
add rcx, r10
mov r8, qword [rcx + 0x10]
mov rdx, rcx
mov r9, qword [rcx + 0x18]
cmp r9, 0x10
jb 0x1400c4433
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c446e
movzx eax, byte [rdx]
cmp al, byte [0x14018393c]
jne 0x1400c4461
movzx eax, byte [rdx + 1]
cmp al, byte [0x14018393d]
jne 0x1400c4461
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018393e]
jne 0x1400c4461
mov eax, r11d
jmp 0x1400c4466
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c447a
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c44b5
movzx eax, byte [rdx]
cmp al, byte [0x140183978]
jne 0x1400c44a8
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183979]
jne 0x1400c44a8
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018397a]
jne 0x1400c44a8
mov eax, r11d
jmp 0x1400c44ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c44c1
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c44fc
movzx eax, byte [rdx]
cmp al, byte [0x140183974]
jne 0x1400c44ef
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183975]
jne 0x1400c44ef
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183976]
jne 0x1400c44ef
mov eax, r11d
jmp 0x1400c44f4
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4508
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4543
movzx eax, byte [rdx]
cmp al, byte [0x140183970]
jne 0x1400c4536
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183971]
jne 0x1400c4536
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183972]
jne 0x1400c4536
mov eax, r11d
jmp 0x1400c453b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c454f
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c458a
movzx eax, byte [rdx]
cmp al, byte [0x14018396c]
jne 0x1400c457d
movzx eax, byte [rdx + 1]
cmp al, byte [0x14018396d]
jne 0x1400c457d
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018396e]
jne 0x1400c457d
mov eax, r11d
jmp 0x1400c4582
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4596
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c45d1
movzx eax, byte [rdx]
cmp al, byte [0x140183968]
jne 0x1400c45c4
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183969]
jne 0x1400c45c4
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018396a]
jne 0x1400c45c4
mov eax, r11d
jmp 0x1400c45c9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c45dd
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4618
movzx eax, byte [rdx]
cmp al, byte [0x140183964]
jne 0x1400c460b
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183965]
jne 0x1400c460b
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183966]
jne 0x1400c460b
mov eax, r11d
jmp 0x1400c4610
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4624
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c465b
movzx eax, byte [rdx]
cmp al, byte [0x140183960]
jne 0x1400c4652
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183961]
jne 0x1400c4652
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183962]
jne 0x1400c4652
mov eax, r11d
jmp 0x1400c4657
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
cmp r9, 0x10
jb 0x1400c4664
mov rcx, qword [rcx]
cmp r8, 3
jne 0x1400c4798
movzx eax, byte [rcx]
cmp al, byte [0x14018395c]
jne 0x1400c4696
movzx eax, byte [rcx + 1]
cmp al, byte [0x14018395d]
jne 0x1400c4696
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018395e]
jne 0x1400c4696
mov eax, r11d
jmp 0x1400c469b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c4798
mov byte [rbp + 4], 1
jmp 0x1400c47a1
cmp r14d, 2
jne 0x1400c4798
mov rcx, rdi
shl rcx, 5
add rcx, r10
mov r8, qword [rcx + 0x10]
mov rdx, rcx
mov r9, qword [rcx + 0x18]
cmp r9, 0x10
jb 0x1400c46d4
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c470b
movzx eax, byte [rdx]
cmp al, byte [0x140183918]
jne 0x1400c4702
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183919]
jne 0x1400c4702
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018391a]
jne 0x1400c4702
mov eax, r11d
jmp 0x1400c4707
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
mov rdx, rcx
cmp r9, 0x10
jb 0x1400c4717
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c4752
movzx eax, byte [rdx]
cmp al, byte [0x140183914]
jne 0x1400c4745
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183915]
jne 0x1400c4745
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183916]
jne 0x1400c4745
mov eax, r11d
jmp 0x1400c474a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c46a3
cmp r9, 0x10
jb 0x1400c475b
mov rcx, qword [rcx]
cmp r8, 3
jne 0x1400c4798
movzx eax, byte [rcx]
cmp al, byte [0x1401838b8]
jne 0x1400c4696
movzx eax, byte [rcx + 1]
cmp al, byte [0x1401838b9]
jne 0x1400c4696
movzx eax, byte [rcx + 2]
cmp al, byte [0x1401838ba]
jne 0x1400c4696
mov eax, r11d
jmp 0x1400c469b
test sil, sil
je 0x1400c5036
lea rdx, [0x1401838a8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400092d0
mov rdx, rdi
shl rdx, 5
add rdx, qword [rbp + 0x48]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c47cd
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14000a080
lea rdx, [0x140183910]
mov rcx, rax
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rcx, qword [rdx + rdi*8]
mov edx, dword [rcx + 0x84]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movsxd rcx, ebx
shl rcx, 5
mov qword [rbp - 0x80], rcx
mov r8, qword [rbp + 0x48]
add r8, rcx
mov qword [rsp + 0x30], 0
mov byte [rsp + 0x20], 1
mov r9d, 1
mov edx, ebx
lea rcx, [rbp + 0x120]
call fcn.14004a110
cmp eax, 2
jl 0x1400c5059
xor r9d, r9d
mov r13d, r9d
lea rcx, [rdi + rdi*2]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rax + rcx*8 + 8]
sub rcx, rdx
sar rcx, 2
test rcx, rcx
je 0x1400c4ef6
mov r12d, r9d
nop word [rax + rax]
mov r14d, dword [r12 + rdx]
mov r8, qword [rsp + 0x48]
mov rdx, qword [r8 + 0x40]
movsxd r15, r14d
mov rax, qword [rdx]
mov rbx, qword [rax + r15*8]
add rbx, 0x38
mov qword [rbp + 0x18], r9
mov qword [rbp + 0x20], r9
mov rsi, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x1400c48b1
mov rbx, qword [rbx]
cmp rsi, 0x10
jae 0x1400c48c8
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 8], xmm0
mov edi, 0xf
jmp 0x1400c494e
mov rdi, rsi
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rax, [rdi + 1]
cmp rax, 0x1000
jb 0x1400c491d
lea rcx, [rax + 0x27]
cmp rcx, rax
mov rax, 0xffffffffffffffff
cmovbe rcx, rax
call fcn.14014a6f4
mov rcx, rax
test rax, rax
je 0x1400c5249
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400c492f
test rax, rax
je 0x1400c492c
mov rcx, rax
call fcn.14014a6f4
jmp 0x1400c492f
mov rax, r9
mov qword [rbp + 8], rax
lea r8, [rsi + 1]
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rsp + 0x48]
mov rdx, qword [r8 + 0x40]
xor r9d, r9d
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x18], rsi
mov rax, qword [rdx]
mov rcx, qword [rax + r14*8]
cmp dword [rcx + 0x30], 1
jne 0x1400c4e19
lea rcx, [rbp + 8]
mov rdx, qword [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c49b2
movzx eax, byte [rcx]
cmp al, byte [0x14018389c]
jne 0x1400c49a5
movzx eax, byte [rcx + 1]
cmp al, byte [0x14018389d]
jne 0x1400c49a5
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018389e]
jne 0x1400c49a5
mov eax, r9d
jmp 0x1400c49aa
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4e19
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c49f9
movzx eax, byte [rcx]
cmp al, byte [0x140183938]
jne 0x1400c49ec
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183939]
jne 0x1400c49ec
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018393a]
jne 0x1400c49ec
mov eax, r9d
jmp 0x1400c49f1
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4e19
mov ebx, dword [rsp + 0x58]
cmp ebx, r14d
jne 0x1400c4a10
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c4e26
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4a57
movzx eax, byte [rcx]
cmp al, byte [0x140183934]
jne 0x1400c4a4a
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183935]
jne 0x1400c4a4a
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183936]
jne 0x1400c4a4a
mov eax, r9d
jmp 0x1400c4a4f
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4ae5
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4a9a
movzx eax, byte [rcx]
cmp al, byte [0x140183930]
jne 0x1400c4a91
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183931]
jne 0x1400c4a91
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183932]
jne 0x1400c4a91
mov eax, r9d
jmp 0x1400c4a96
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4ae5
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4b7d
movzx eax, byte [rcx]
cmp al, byte [0x14018392c]
jne 0x1400c4ad8
movzx eax, byte [rcx + 1]
cmp al, byte [0x14018392d]
jne 0x1400c4ad8
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018392e]
jne 0x1400c4ad8
mov eax, r9d
jmp 0x1400c4add
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c4b7d
mov rax, qword [r8 + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx + r15*8]
mov rcx, qword [rax + 0x1a8]
comisd xmm9, xmmword [rcx + 0x50]
jbe 0x1400c4dbb
comisd xmm9, xmmword [rcx + 0x58]
jbe 0x1400c4dbb
movsd xmm0, qword [rcx + 0x100]
movsd xmm2, qword [rcx + 0x18]
movsd xmm1, qword [rcx + 0x188]
addsd xmm2, qword [rcx + 0x68]
addsd xmm2, qword [rcx + 0x48]
addsd xmm2, qword [rcx + 0x38]
addsd xmm0, qword [rcx + 8]
addsd xmm0, qword [rcx + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rcx + 0x180]
addsd xmm1, qword [rcx + 0xb0]
addsd xmm1, qword [rcx + 0xc0]
addsd xmm1, qword [rcx + 0x80]
addsd xmm2, xmm1
comisd xmm6, xmm2
jbe 0x1400c4dbb
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c4e26
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4bc4
movzx eax, byte [rcx]
cmp al, byte [0x140183928]
jne 0x1400c4bb7
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183929]
jne 0x1400c4bb7
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018392a]
jne 0x1400c4bb7
mov eax, r9d
jmp 0x1400c4bbc
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4c99
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4c0b
movzx eax, byte [rcx]
cmp al, byte [0x140183924]
jne 0x1400c4bfe
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183925]
jne 0x1400c4bfe
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183926]
jne 0x1400c4bfe
mov eax, r9d
jmp 0x1400c4c03
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4c99
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4c4e
movzx eax, byte [rcx]
cmp al, byte [0x140183920]
jne 0x1400c4c45
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183921]
jne 0x1400c4c45
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183922]
jne 0x1400c4c45
mov eax, r9d
jmp 0x1400c4c4a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c4c99
lea rcx, [rbp + 8]
cmp rdi, 0x10
cmovae rcx, rdx
cmp rsi, 3
jne 0x1400c4d32
movzx eax, byte [rcx]
cmp al, byte [0x14018391c]
jne 0x1400c4c8c
movzx eax, byte [rcx + 1]
cmp al, byte [0x14018391d]
jne 0x1400c4c8c
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018391e]
jne 0x1400c4c8c
mov eax, r9d
jmp 0x1400c4c91
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c4d32
mov rax, qword [r8 + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx + r15*8]
mov rcx, qword [rax + 0x1a8]
comisd xmm9, xmmword [rcx + 0x50]
jbe 0x1400c4dbb
comisd xmm9, xmmword [rcx + 0x58]
jbe 0x1400c4dbb
movsd xmm0, qword [rcx + 0x100]
movsd xmm2, qword [rcx + 0x18]
movsd xmm1, qword [rcx + 0x188]
addsd xmm2, qword [rcx + 0x68]
addsd xmm2, qword [rcx + 0x48]
addsd xmm2, qword [rcx + 0x38]
addsd xmm0, qword [rcx + 8]
addsd xmm0, qword [rcx + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rcx + 0x180]
addsd xmm1, qword [rcx + 0xb0]
addsd xmm1, qword [rcx + 0xc0]
addsd xmm1, qword [rcx + 0x80]
addsd xmm2, xmm1
comisd xmm10, xmm2
jbe 0x1400c4dbb
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c4e26
mov rax, qword [r8 + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx + r15*8]
mov rcx, qword [rax + 0x1a8]
comisd xmm9, xmmword [rcx + 0x50]
jbe 0x1400c4dbb
comisd xmm9, xmmword [rcx + 0x58]
jbe 0x1400c4dbb
movsd xmm0, qword [rcx + 0x100]
movsd xmm2, qword [rcx + 0x18]
movsd xmm1, qword [rcx + 0x188]
addsd xmm2, qword [rcx + 0x68]
addsd xmm2, qword [rcx + 0x48]
addsd xmm2, qword [rcx + 0x38]
addsd xmm0, qword [rcx + 8]
addsd xmm0, qword [rcx + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rcx + 0x180]
addsd xmm1, qword [rcx + 0xb0]
addsd xmm1, qword [rcx + 0xc0]
addsd xmm1, qword [rcx + 0x80]
addsd xmm2, xmm1
comisd xmm7, xmm2
jbe 0x1400c4dbb
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c4e26
mov qword [rsp + 0x30], r9
mov byte [rsp + 0x20], 0
mov r9d, 1
lea r8, [rbp + 8]
mov edx, r14d
lea rcx, [rbp + 0x120]
call fcn.14004a110
cmp eax, 2
jl 0x1400c4e5e
mov r8, qword [rbp + 0x48]
add r8, qword [rbp - 0x80]
mov qword [rsp + 0x30], 0
mov byte [rsp + 0x20], 0
mov r9d, 1
mov edx, ebx
lea rcx, [rbp + 0x120]
call fcn.14004a110
nop
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c4e26
lea rcx, [rbp + 8]
call fcn.1400087f0
mov ebx, dword [rsp + 0x58]
inc r13d
add r12, 4
mov rax, qword [rbp + 0x60]
mov rdi, qword [rsp + 0x60]
lea r8, [rdi + rdi*2]
mov rdx, qword [rax + r8*8]
mov rcx, qword [rax + r8*8 + 8]
sub rcx, rdx
sar rcx, 2
movsxd rax, r13d
cmp rax, rcx
jae 0x1400c4ee8
xor r9d, r9d
jmp 0x1400c4880
mov byte [rsp + 0x40], 0
mov edx, r14d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401839f4]
call fcn.1400092d0
mov r13, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rdx, qword [rdx + r15*8]
add rdx, 0x38
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c4ea2
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14000a080
lea rdx, str._SORRY_THIS_MUTATION_IS_NOT_POSSIBLE._CHECK_THE_DIHEDRAL_ANGLE_COMPATIBILITY
mov rcx, rax
call fcn.1400092d0
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 8]
call fcn.1400087f0
mov rdi, qword [rsp + 0x60]
mov r14d, dword [rbp]
mov r15, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x50]
jmp 0x1400c4efb
mov r14d, dword [rbp]
mov r15, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov rax, qword [r13 + 0x40]
mov rax, qword [rax]
mov rdx, qword [rax + rbx*8]
add rdx, 0x38
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c4f18
mov rdx, qword [rdx]
lea rcx, [rbp + 0x1f0]
call fcn.14000a080
lea rdx, [0x1401839ec]
mov rcx, rax
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rcx, qword [rdx + rdi*8]
mov edx, dword [rcx + 0x84]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401839f0]
call fcn.1400092d0
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
lea rcx, [rbp + 0x1f0]
call fcn.1400e6a70
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [r13 + 0x20]
cmp byte [rax + 0x8c], 0
je 0x1400c5027
lea rdx, [0x1401839d0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rcx, qword [rdx + rdi*8]
mov edx, dword [rcx + 0x84]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, str.__t_t_t
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rdx, qword [rdx + rbx*8]
add rdx, 0x38
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c4fed
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14000a080
lea rdx, [0x1401839e8]
mov rcx, rax
call fcn.1400092d0
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
mov rcx, rax
call fcn.1400e6f40
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor r11d, r11d
movzx esi, byte [rbp + 4]
mov ebx, dword [rsp + 0x58]
mov r10, qword [rbp + 0x48]
inc r12d
mov dword [rsp + 0x50], r12d
inc r15
mov qword [rsp + 0x78], r15
movsxd rax, r12d
cmp rax, qword [rsp + 0x70]
jae 0x1400c50be
mov rdx, qword [rbp + 0x28]
jmp 0x1400c4070
mov byte [rsp + 0x40], 0
mov edx, ebx
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401838a0]
call fcn.1400092d0
mov rdx, rdi
shl rdx, 5
add rdx, qword [rbp + 0x48]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c5093
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14000a080
lea rdx, [0x1401838c0]
mov rcx, rax
call fcn.1400092d0
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov r10, qword [rbp + 0x48]
mov r8, 0xffffffffffffffff
cmp r14d, 2
jge 0x1400c50ee
mov rax, qword [r13 + 0x40]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 3
lea eax, [rbx + 1]
cmp eax, ecx
jne 0x1400c50ee
inc r14d
mov dword [rbp], r14d
mov ebx, r8d
mov rdi, r8
xor r11d, r11d
inc ebx
mov dword [rsp + 0x58], ebx
inc rdi
mov qword [rsp + 0x60], rdi
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 3
cmp ebx, eax
jb 0x1400c4000
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
movd xmm6, eax
cvtdq2pd xmm6, xmm6
lea rdx, str.Time
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400092d0
subsd xmm6, xmm8
divsd xmm6, qword [0x1401c4710]
movaps xmm1, xmm6
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___double____ptr64]
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [r13 + 0x40]
mov rsi, qword [rax + 8]
sub rsi, qword [rax]
sar rsi, 3
sub esi, 1
mov dword [rbp], esi
js 0x1400c5d60
movsxd rdi, esi
mov qword [rsp + 0x60], rdi
movsd xmm7, qword [0x1401c47e8]
movsd xmm8, qword [0x1401c47f8]
nop word [rax + rax]
mov rax, qword [r13 + 0x40]
mov rax, qword [rax]
mov rcx, qword [rax + rdi*8]
cmp dword [rcx + 0x30], 1
jne 0x1400c5d4b
xor r11d, r11d
mov r15d, r11d
mov dword [rsp + 0x50], r11d
mov r14d, r11d
mov qword [rsp + 0x68], r11
mov r12, qword [rbp + 0x30]
mov r8, qword [rbp + 0x28]
sub r12, r8
mov qword [rbp - 0x80], r12
je 0x1400c5d4b
nop dword [rax]
mov r10, qword [r13 + 0x40]
mov rax, qword [r10]
mov rdx, qword [rax + rdi*8]
mov rax, qword [rdx + 0x1e8]
movzx ecx, byte [rax + 0xa0]
cmp cl, byte [r8 + r14]
jne 0x1400c5d2f
lea rcx, [rdx + 0x38]
mov r8, qword [rcx + 0x10]
mov rdx, rcx
mov r9, qword [rcx + 0x18]
cmp r9, 0x10
jb 0x1400c521b
mov rdx, qword [rcx]
cmp r8, 3
jne 0x1400c525d
movzx eax, byte [rdx]
cmp al, byte [0x140183a68]
jne 0x1400c5250
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183a69]
jne 0x1400c5250
movzx eax, byte [rdx + 2]
cmp al, byte [0x140183a6a]
jne 0x1400c5250
mov eax, r11d
jmp 0x1400c5255
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c5d2b
cmp r9, 0x10
jb 0x1400c5266
mov rcx, qword [rcx]
cmp r8, 3
jne 0x1400c52a1
movzx eax, byte [rcx]
cmp al, byte [0x140183a64]
jne 0x1400c5294
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183a65]
jne 0x1400c5294
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183a66]
jne 0x1400c5294
mov eax, r11d
jmp 0x1400c5299
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c5d2b
mov rbx, rdi
shl rbx, 5
mov rdx, qword [rbp + 0x48]
add rdx, rbx
mov r8, qword [rdx + 0x10]
mov rcx, rdx
mov r9, qword [rdx + 0x18]
cmp r9, 0x10
jb 0x1400c52c3
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c52fe
movzx eax, byte [rcx]
cmp al, byte [0x140183a60]
jne 0x1400c52f1
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183a61]
jne 0x1400c52f1
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183a62]
jne 0x1400c52f1
mov eax, r11d
jmp 0x1400c52f6
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c5388
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c530a
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c5341
movzx eax, byte [rcx]
cmp al, byte [0x140183a5c]
jne 0x1400c5338
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183a5d]
jne 0x1400c5338
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183a5e]
jne 0x1400c5338
mov eax, r11d
jmp 0x1400c533d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c5388
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c534d
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c5406
movzx eax, byte [rcx]
cmp al, byte [0x140183a58]
jne 0x1400c537f
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183a59]
jne 0x1400c537f
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183a5a]
jne 0x1400c537f
mov eax, r11d
jmp 0x1400c5384
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c5406
mov rax, qword [r10]
mov rcx, qword [rax + rdi*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c5406
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c5406
movsd xmm0, qword [rax + 0x100]
movsd xmm2, qword [rax + 0x18]
movsd xmm1, qword [rax + 0x188]
addsd xmm2, qword [rax + 0x68]
addsd xmm2, qword [rax + 0x48]
addsd xmm2, qword [rax + 0x38]
addsd xmm0, qword [rax + 8]
addsd xmm0, qword [rax + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rax + 0x180]
addsd xmm1, qword [rax + 0xb0]
addsd xmm1, qword [rax + 0xc0]
addsd xmm1, qword [rax + 0x80]
addsd xmm2, xmm1
comisd xmm7, xmm2
ja 0x1400c5d2b
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c5412
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c544d
movzx eax, byte [rcx]
cmp al, byte [0x140183a54]
jne 0x1400c5440
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183a55]
jne 0x1400c5440
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183a56]
jne 0x1400c5440
mov eax, r11d
jmp 0x1400c5445
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c54db
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c5459
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c5490
movzx eax, byte [rcx]
cmp al, byte [0x140183a50]
jne 0x1400c5487
movzx eax, byte [rcx + 1]
cmp al, byte [0x140183a51]
jne 0x1400c5487
movzx eax, byte [rcx + 2]
cmp al, byte [0x140183a52]
jne 0x1400c5487
mov eax, r11d
jmp 0x1400c548c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c54db
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c549c
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c5561
movzx eax, byte [rcx]
cmp al, byte [0x1401839f8]
jne 0x1400c54ce
movzx eax, byte [rcx + 1]
cmp al, byte [0x1401839f9]
jne 0x1400c54ce
movzx eax, byte [rcx + 2]
cmp al, byte [0x1401839fa]
jne 0x1400c54ce
mov eax, r11d
jmp 0x1400c54d3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c5561
mov rax, qword [r10]
mov rcx, qword [rax + rdi*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c577b
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c577b
movsd xmm0, qword [rax + 0x100]
movsd xmm2, qword [rax + 0x18]
movsd xmm1, qword [rax + 0x188]
addsd xmm2, qword [rax + 0x68]
addsd xmm2, qword [rax + 0x48]
addsd xmm2, qword [rax + 0x38]
addsd xmm0, qword [rax + 8]
addsd xmm0, qword [rax + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rax + 0x180]
addsd xmm1, qword [rax + 0xb0]
addsd xmm1, qword [rax + 0xc0]
addsd xmm1, qword [rax + 0x80]
addsd xmm2, xmm1
comisd xmm8, xmm2
jmp 0x1400c5775
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c556d
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c55a8
movzx eax, byte [rcx]
cmp al, byte [0x1401839a4]
jne 0x1400c559b
movzx eax, byte [rcx + 1]
cmp al, byte [0x1401839a5]
jne 0x1400c559b
movzx eax, byte [rcx + 2]
cmp al, byte [0x1401839a6]
jne 0x1400c559b
mov eax, r11d
jmp 0x1400c55a0
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c567a
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c55b4
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c55ef
movzx eax, byte [rcx]
cmp al, byte [0x1401839a0]
jne 0x1400c55e2
movzx eax, byte [rcx + 1]
cmp al, byte [0x1401839a1]
jne 0x1400c55e2
movzx eax, byte [rcx + 2]
cmp al, byte [0x1401839a2]
jne 0x1400c55e2
mov eax, r11d
jmp 0x1400c55e7
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c567a
mov rcx, rdx
cmp r9, 0x10
jb 0x1400c55fb
mov rcx, qword [rdx]
cmp r8, 3
jne 0x1400c5632
movzx eax, byte [rcx]
cmp al, byte [0x14018399c]
jne 0x1400c5629
movzx eax, byte [rcx + 1]
cmp al, byte [0x14018399d]
jne 0x1400c5629
movzx eax, byte [rcx + 2]
cmp al, byte [0x14018399e]
jne 0x1400c5629
mov eax, r11d
jmp 0x1400c562e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400c567a
cmp r9, 0x10
jb 0x1400c563b
mov rdx, qword [rdx]
cmp r8, 3
jne 0x1400c56fc
movzx eax, byte [rdx]
cmp al, byte [0x140183998]
jne 0x1400c566d
movzx eax, byte [rdx + 1]
cmp al, byte [0x140183999]
jne 0x1400c566d
movzx eax, byte [rdx + 2]
cmp al, byte [0x14018399a]
jne 0x1400c566d
mov eax, r11d
jmp 0x1400c5672
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400c56fc
mov rax, qword [r10]
mov rcx, qword [rax + rdi*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c577b
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c577b
movsd xmm0, qword [rax + 0x100]
movsd xmm2, qword [rax + 0x18]
movsd xmm1, qword [rax + 0x188]
addsd xmm2, qword [rax + 0x68]
addsd xmm2, qword [rax + 0x48]
addsd xmm2, qword [rax + 0x38]
addsd xmm0, qword [rax + 8]
addsd xmm0, qword [rax + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rax + 0x180]
addsd xmm1, qword [rax + 0xb0]
addsd xmm1, qword [rax + 0xc0]
addsd xmm1, qword [rax + 0x80]
addsd xmm2, xmm1
comisd xmm7, xmm2
jmp 0x1400c5775
mov rax, qword [r10]
mov rcx, qword [rax + rdi*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c577b
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c577b
movsd xmm0, qword [rax + 0x100]
movsd xmm2, qword [rax + 0x18]
movsd xmm1, qword [rax + 0x188]
addsd xmm2, qword [rax + 0x68]
addsd xmm2, qword [rax + 0x48]
addsd xmm2, qword [rax + 0x38]
addsd xmm0, qword [rax + 8]
addsd xmm0, qword [rax + 0x28]
addsd xmm2, xmm0
addsd xmm1, qword [rax + 0x180]
addsd xmm1, qword [rax + 0xb0]
addsd xmm1, qword [rax + 0xc0]
addsd xmm1, qword [rax + 0x80]
addsd xmm2, xmm1
comisd xmm10, xmm2
ja 0x1400c5d2b
lea rdx, str.NOW_MUTATING
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400092d0
mov rdx, qword [rbp + 0x48]
add rdx, rbx
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400c57a3
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14000a080
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edx, esi
lea rcx, [rbp + 0x120]
call fcn.1400494c0
xor r8d, r8d
mov r13d, r8d
lea rdi, [rdi + rdi*2]
mov qword [rsp + 0x70], rdi
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + rdi*8]
mov rcx, qword [rax + rdi*8 + 8]
sub rcx, rdx
sar rcx, 2
test rcx, rcx
je 0x1400c5c0e
mov r12d, r8d
mov rbx, qword [rsp + 0x48]
jmp 0x1400c5803
xor r8d, r8d
movsxd r15, dword [r12 + rdx]
mov rcx, qword [rbx + 0x40]
mov rax, qword [rcx]
mov rbx, qword [rax + r15*8]
add rbx, 0x38
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], r8
mov rsi, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x1400c582c
mov rbx, qword [rbx]
cmp rsi, 0x10
jae 0x1400c5843
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x20], 0xf
jmp 0x1400c58a3
mov rdi, rsi
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400c586f
call fcn.14000a330
jmp 0x1400c587e
test rcx, rcx
je 0x1400c587b
call fcn.14014a6f4
jmp 0x1400c587e
mov rax, r8
mov qword [rbp + 8], rax
lea r8, [rsi + 1]
mov rdx, rbx
mov rcx, rax
call fcn.140002fb0
mov qword [rbp + 0x20], rdi
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x40]
mov rdi, qword [rsp + 0x70]
mov rbx, rcx
mov qword [rbp + 0x18], rsi
mov rax, qword [rcx]
mov rcx, qword [rax + r15*8]
cmp dword [rcx + 0x30], 1
jne 0x1400c5bc8
lea rdx, [0x140183984]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5bc8
lea rdx, [0x140183980]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5bc8
movsxd rsi, dword [rbp]
cmp esi, r15d
jne 0x1400c5902
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c5bd4
lea rdx, [0x14018397c]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c593e
lea rdx, [0x1401839c4]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c593e
lea rdx, [0x1401839c0]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
je 0x1400c5976
mov rax, qword [rbx]
mov rcx, qword [rax + r15*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c5976
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c5976
call fcn.140072100
comisd xmm10, xmm0
jbe 0x1400c5976
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c5bd4
lea rdx, [0x1401839bc]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a85
lea rdx, [0x1401839b8]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a85
lea rdx, [0x1401839b4]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a85
lea rdx, [0x1401839b0]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a4e
lea rdx, [0x1401839ac]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a4e
lea rdx, [0x1401839a8]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a4e
lea rdx, [0x140183be0]
lea rcx, [rbp + 8]
call fcn.140019c30
test al, al
jne 0x1400c5a4e
mov rax, qword [rbx]
mov rcx, qword [rax + r15*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c5abd
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c5abd
call fcn.140072100
comisd xmm10, xmm0
jbe 0x1400c5abd
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c5bd4
mov rax, qword [rbx]
mov rcx, qword [rax + r15*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c5abd
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c5abd
call fcn.140072100
comisd xmm7, xmm0
jbe 0x1400c5abd
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c5bd4
mov rax, qword [rbx]
mov rcx, qword [rax + r15*8]
mov rax, qword [rcx + 0x1a8]
comisd xmm9, xmmword [rax + 0x50]
jbe 0x1400c5abd
comisd xmm9, xmmword [rax + 0x58]
jbe 0x1400c5abd
call fcn.140072100
comisd xmm8, xmm0
jbe 0x1400c5abd
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c5bd4
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx + 0x50]
movsd xmm6, qword [rax + 0x2660]
mov edx, esi
lea rcx, [rbp + 0x120]
call fcn.1400494c0
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.1400494c0
lea rdx, [0x140183bdc]
lea rcx, [rbp - 0x78]
call fcn.140007060
nop
lea r8, [rbp - 0x78]
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.140049f20
nop
lea rcx, [rbp - 0x78]
call fcn.1400087f0
mov rdx, rsi
lea rcx, [rbp + 0x48]
call fcn.140006d50
mov r8, rax
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov byte [rsp + 0x20], r14b
lea r9d, [r14 + 1]
mov edx, esi
lea rcx, [rbp + 0x120]
call fcn.14004a110
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.1400495a0
mov qword [rsp + 0x30], r14
mov byte [rsp + 0x20], r14b
lea r9d, [r14 + 1]
lea r8, [rbp + 8]
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.14004a110
mov rax, qword [rbx + 0x50]
movsd xmm0, qword [rax + 0x2660]
mov edx, esi
lea rcx, [rbp + 0x120]
comisd xmm0, xmm6
jbe 0x1400c5ba8
call fcn.1400495a0
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.1400495a0
jmp 0x1400c5bbd
call fcn.1400494c0
mov edx, r15d
lea rcx, [rbp + 0x120]
call fcn.1400494c0
nop
lea rcx, [rbp + 8]
call fcn.1400087f0
jmp 0x1400c5bd9
lea rcx, [rbp + 8]
call fcn.1400087f0
mov esi, dword [rbp]
mov rbx, qword [rsp + 0x48]
inc r13d
add r12, 4
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + rdi*8]
mov rcx, qword [rax + rdi*8 + 8]
sub rcx, rdx
sar rcx, 2
movsxd rax, r13d
cmp rax, rcx
jb 0x1400c5800
mov r14, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x50]
mov r12, qword [rbp - 0x80]
mov r13, qword [rsp + 0x48]
mov rax, qword [r13 + 0x40]
mov rcx, qword [rax]
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rcx + rdi*8]
add rdx, 0x38
lea rcx, [rbp + 0x1f0]
call fcn.1400094e0
mov rcx, rax
lea rdx, [0x140183b84]
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rcx, qword [rdx + rdi*8]
mov edx, dword [rcx + 0x84]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140183bc4]
call fcn.1400092d0
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
lea rcx, [rbp + 0x1f0]
call fcn.1400e6a70
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [r13 + 0x20]
cmp byte [rax + 0x8c], 0
je 0x1400c5d28
lea rdx, str.Residue_Number
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rcx, qword [rdx + rdi*8]
mov edx, dword [rcx + 0x84]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140183aac]
call fcn.1400092d0
mov rcx, qword [r13 + 0x40]
mov rdx, qword [rcx]
mov rdx, qword [rdx + rdi*8]
add rdx, 0x38
mov rcx, rax
call fcn.1400094e0
mov rcx, rax
lea rdx, [0x140183b74]
call fcn.1400092d0
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
mov rcx, rax
call fcn.1400e6f40
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor r11d, r11d
mov r8, qword [rbp + 0x28]
inc r15d
mov dword [rsp + 0x50], r15d
inc r14
mov qword [rsp + 0x68], r14
movsxd rax, r15d
cmp rax, r12
jb 0x1400c51e0
dec esi
mov dword [rbp], esi
dec rdi
mov qword [rsp + 0x60], rdi
test esi, esi
jns 0x1400c51a0
cmp byte [rsp + 0x40], 0
jne 0x1400c5db6
lea rdx, [0x140183b88]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400092d0
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.WARNING_AT_LEAST_A_SIDE_CHAIN_COULD_NOT_BE_RE_CONSTRUCTED
lea rcx, [rbp + 0x1f0]
call fcn.1400092d0
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rax, qword [r13 + 0x20]
cmp byte [rax + 0x8c], 0
je 0x1400c5dea
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400e6f40
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rdx, qword [r13 + 0x50]
add rdx, 0x2588
lea rcx, [rbp + 0x1f0]
call fcn.1400e6a70
lea rdx, [0x1400094a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rdx, r13
lea rcx, [rbp - 0x78]
call fcn.1400096e0
nop
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 8]
call fcn.14000b950
nop
mov r8, rax
lea rdx, str.Rebuilt_
lea rcx, [rbp - 0x58]
call fcn.140009680
nop
lea r8, [0x140183ccc]
mov rdx, rax
lea rcx, [rbp + 0x98]
call fcn.140009500
nop
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.1400096e0
nop
lea rcx, [rbp + 0x98]
call fcn.1400087f0
nop
lea rcx, [rbp - 0x58]
call fcn.1400087f0
nop
lea rcx, [rbp + 8]
call fcn.1400087f0
nop
lea rcx, [rbp - 0x78]
call fcn.140008710
movdqa xmm0, xmmword [0x1401c48f0]
movdqu xmmword [rbp + 0xa8], xmm0
mov byte [rbp + 0x98], 0
mov r8, r13
lea rdx, [0x140183ca8]
lea rcx, [rbp - 0x78]
call fcn.140019d10
mov rdx, rax
lea rcx, [rbp + 0x98]
call fcn.140006fe0
lea rcx, [rbp - 0x78]
call fcn.1400087f0
lea rcx, [rbp + 0x300]
call fcn.140005740
lea rdx, [rbp - 0x20]
mov rbx, qword [rbp - 0x38]
mov rcx, qword [rbx + 0x20]
call fcn.1400857f0
nop
lea r8, [rbp + 0xf8]
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.14000b6d0
nop
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.140003290
nop
mov rcx, rax
call fcn.140017620
mov rdx, rax
mov r8d, 2
lea rcx, [rbp + 0x300]
call fcn.140017750
nop
lea rcx, [rbp - 0x58]
call fcn.1400087f0
nop
lea rcx, [rbp + 8]
call fcn.140008710
nop
lea rcx, [rbp - 0x20]
call fcn.140008710
lea rdx, str.Output_generated_by__Reconstruct_Sidechain___
lea rcx, [rbp - 0x78]
call fcn.140007060
nop
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x300]
mov rcx, r13
call fcn.14003d750
nop
lea rcx, [rbp - 0x78]
call fcn.1400087f0
lea rcx, [rbp + 0x300]
call fcn.140007190
nop
lea rcx, [rbp + 0x300]
call fcn.1400056d0
lea rcx, [rbp + 0x1f0]
call fcn.140007190
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400c5fb4
call fcn.14000da60
mov rcx, rbx
call fcn.1400e1bd0
nop
lea rcx, [rbp + 0x98]
call fcn.1400087f0
nop
lea rcx, [rbp + 0xf8]
call fcn.140008710
nop
lea rcx, [rbp + 0x78]
call fcn.1400087f0
nop
lea rcx, [rbp + 0x60]
call fcn.140017e50
nop
lea rcx, [rbp + 0x28]
call fcn.14005a590
nop
lea rcx, [rbp + 0x120]
call fcn.14000c9f0
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400056d0
nop
lea rcx, [rbp + 0xd8]
call fcn.140008710
nop
lea rcx, [rbp + 0xb8]
call fcn.1400087f0
nop
lea rcx, [rbp + 0x48]
call fcn.140018640
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.14014a6d0
lea r11, [rsp + 0x570]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret