Function at 0x1400cea90
Capabilities:
Encode data using xor

Disassembly:
push r15
mov eax, 0x8cb8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140018ad0
sub rsp, rax
vmovups xmmword [rsp + 0x8c80], xmm6
vmovups xmmword [rsp + 0x8c90], xmm7
vmovups xmmword [rsp + 0x8ca0], xmm8
call fcn.140017ad0
vpxor xmm0, xmm0, xmm0
lea rax, [rsp + 0xc50]
mov edx, pe_nt_image_headers64
mov rcx, rax
mov byte [rsp + 0xc38], 0
mov qword [rsp + 0xc40], 0
mov qword [rsp + 0xc60], 0
mov qword [rsp + 0xc8], rax
vmovdqu xmmword [rsp + 0xc50], xmm0
call fcn.1400074a0
mov rax, qword [rsp + 0xc50]
mov rdx, qword [rsp + 0xc58]
cmp rax, rdx
je 0x1400cebbc
nop dword [rax]
mov qword [rsp + 0x1e0], 0
add rax, 0x40
mov qword [rsp + 0x1e8], 0
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x1f8], 0
vmovdqu ymm1, ymmword [rsp + 0x1e0]
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 0
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
vmovdqu ymmword [rax - 0x40], ymm1
vmovdqu ymm2, ymmword [rsp + 0x200]
vmovdqu ymmword [rax - 0x20], ymm2
cmp rdx, rax
jne 0x1400ceb30
vzeroupper
lea rax, [rsp + 0xc68]
mov r8d, 0x8000
xor edx, edx
mov rcx, rax
mov qword [rsp + 0xd0], rax
lea rbx, [rsp + 0x1e0]
call sub.msvcrt.dll_memset
vpxor xmm0, xmm0, xmm0
mov eax, 0xbad1
mov qword [rsp + 0x8c78], 0
mov qword [rsp + 0x1e0], 0xbad1
mov ecx, 1
mov rdx, rax
movabs r8, 0x5851f42d4c957f2d
vmovdqu xmmword [rsp + 0x8c68], xmm0
mov rax, rdx
shr rax, 0x3e
xor rax, rdx
imul rax, r8
lea rdx, [rax + rcx]
mov qword [rbx + rcx*8], rdx
add rcx, 1
cmp rcx, 0x138
jne 0x1400cec20
mov qword [rsp + 0xba0], 0x138
lea rbp, [0x140346060]
lea r12, [rbp + 0x1800]
mov rdi, rbp
add rbp, 0xc00
nop word [rax + rax]
add rdi, 0x200
lea rsi, [rdi - 0x200]
nop
mov rcx, rbx
add rsi, 8
call fcn.1400015f0
mov qword [rsi - 8], rax
cmp rdi, rsi
jne 0x1400cec80
cmp rbp, rdi
jne 0x1400cec70
cmp rbp, r12
jne 0x1400cec5d
mov rcx, rbx
lea rsi, [0x140347880]
call fcn.1400015f0
mov rcx, rbx
lea rdi, [rsi + 0x80]
mov qword [0x140347860], rax
call fcn.1400015f0
mov qword [0x140347868], rax
nop dword [rax + rax]
mov rcx, rbx
add rsi, 8
call fcn.1400015f0
mov qword [rsi - 8], rax
cmp rdi, rsi
jne 0x1400cecd0
lea rsi, [0x140347900]
lea rdi, [rsi + 0x200]
nop dword [rax + rax]
mov rcx, rbx
add rsi, 8
call fcn.1400015f0
mov qword [rsi - 8], rax
cmp rdi, rsi
jne 0x1400cecf8
lea r8, [0x1400d61d0]
lea rax, [rsp + 0x1f0]
xor r9d, r9d
mov rcx, rbx
lea rdx, [r8 - 0x38]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x1e0], rax
call fcn.14000cf30
lea rax, [rsp + 0xbb0]
mov rdx, rbx
mov rcx, rax
mov qword [rsp + 0x98], rax
call fcn.14000b800
mov rcx, rbx
call fcn.14000b7d0
mov r13, qword [0x1400dcfb0]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x100], rax
mov rax, qword [r13]
mov byte [rsp + 0x110], 0
mov rax, qword [rax - 0x18]
mov rsi, qword [rax + r13 + 0xf0]
lea rax, [rsp + 0x100]
mov qword [rsp + 0x70], rax
test rsi, rsi
je 0x1400cf414
mov r12, qword [0x1400dd0e0]
lea rax, [r12 + 0x40]
vmovq xmm7, rax
mov rax, qword [0x1400dd2f0]
add rax, 0x10
mov qword [rsp + 0x90], rax
vpinsrq xmm8, xmm7, rax, 1
cmp byte [rsi + 0x38], 0
je 0x1400cf0b0
movzx eax, byte [rsi + 0x43]
mov rdx, qword [rsp + 0x70]
movsx r8d, al
mov rcx, r13
call fcn.1400c8d80
mov rdx, qword [rax]
mov rdx, qword [rdx - 0x18]
test byte [rax + rdx + 0x20], 5
jne 0x1400cf255
lea rax, [rsp + 0x260]
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.1400c3d20
mov rsi, qword [0x1400dd060]
mov rax, qword [0x1400dd540]
vpxor xmm0, xmm0, xmm0
mov word [rsp + 0x340], 0
mov rdi, qword [rsi + 0x10]
add rax, 0x10
mov rdx, qword [rsi + 0x18]
vmovdqu ymmword [rsp + 0x348], ymm0
mov qword [rsp + 0x260], rax
mov rax, qword [rdi - 0x18]
mov qword [rsp + 0x1e0], rdi
mov qword [rsp + 0x338], 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + rax + 0x1e0], rdx
xor edx, edx
mov qword [rsp + 0x1e8], 0
mov rcx, qword [rdi - 0x18]
add rcx, rbx
vzeroupper
call fcn.1400c4d90
mov rbp, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
xor edx, edx
mov rcx, qword [rsp + 0x80]
add rcx, qword [rbp - 0x18]
mov qword [rsp + 0x1f0], rbp
mov qword [rcx], rax
mov qword [rsp + 0x50], rax
call fcn.1400c4d90
mov r14, qword [rsi + 8]
mov rdx, qword [rsi + 0x30]
vpxor xmm0, xmm0, xmm0
mov rax, qword [r14 - 0x18]
mov qword [rsp + 0x58], rdx
mov qword [rsp + rax + 0x1e0], rdx
lea rax, [r12 + 0x18]
mov qword [rsp + 0x1e0], rax
lea rax, [r12 + 0x68]
mov qword [rsp + 0x260], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x48], rax
mov rcx, rax
vmovdqu ymmword [rsp + 0x200], ymm0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x1f0], xmm8
vmovdqu xmmword [rsp + 0x220], xmm0
vzeroupper
call fcn.1400a9c50
mov rax, qword [0x1400dd0d0]
mov r15, qword [rsp + 0x100]
mov dword [rsp + 0x238], 0
mov rsi, qword [rsp + 0x108]
add rax, 0x10
test r15, r15
mov qword [rsp + 0x1f8], rax
lea rax, [rsp + 0x250]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x240], rax
jne 0x1400cef84
test rsi, rsi
jne 0x1400d0a66
cmp rsi, 0xf
ja 0x1400cf29d
cmp rsi, 1
jne 0x1400cf210
movzx eax, byte [r15]
mov byte [rsp + 0x250], al
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x248], rsi
xor r9d, r9d
xor r8d, r8d
mov byte [rax + rsi], 0
lea rsi, [rsp + 0x1f8]
mov rdx, qword [rsp + 0x240]
mov dword [rsp + 0x238], 0x18
mov rcx, rsi
call fcn.1400b4130
mov rcx, qword [rsp + 0x30]
mov rdx, rsi
call fcn.1400c4d90
lea rax, [rsp + 0x130]
mov rcx, rbx
lea rdx, [rsp + 0x120]
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x120], rax
mov byte [rsp + 0x130], 0
call fcn.1400cba40
mov rax, qword [rsp + 0x128]
cmp rax, 4
je 0x1400cf223
cmp rax, 7
jne 0x1400cf0cb
mov rcx, qword [rsp + 0x120]
cmp dword [rcx], 0x65727369
je 0x1400cf70a
mov rcx, qword [rsp + 0x68]
lea rdx, str.perft
call fcn.140001ba0
test al, al
jne 0x1400cf6a9
mov rcx, qword [rsp + 0x68]
lea rdx, [0x1400d6237]
call fcn.140001ba0
test al, al
jne 0x1400cfa9a
mov rcx, qword [rsp + 0x68]
lea rdx, str.setoption
call fcn.140001ba0
test al, al
jne 0x1400cff78
mov rcx, qword [rsp + 0x120]
jmp 0x1400cf303
mov rcx, rsi
call fcn.14002f0b0
mov rax, qword [rsi]
mov edx, 0xa
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1400cede7
cmp rax, 3
jne 0x1400cf420
mov rcx, qword [rsp + 0x120]
cmp word [rcx], 0x6375
jne 0x1400cf058
cmp byte [rcx + 2], 0x69
jne 0x1400cf058
mov r15, qword [0x1400dcfe0]
mov r8d, 8
lea rdx, str.id_name
mov rcx, r15
call fcn.1400c7440
mov r8d, 0xb
lea rdx, str.Neuromancer
mov rcx, r15
call fcn.1400c7440
mov r8d, 1
lea rdx, [0x1400d61fa]
mov rcx, r15
call fcn.1400c7440
mov r8d, 3
lea rdx, [0x1400d61fc]
mov rcx, r15
call fcn.1400c7440
mov rax, qword [r15]
mov rax, qword [rax - 0x18]
mov rsi, qword [rax + r15 + 0xf0]
test rsi, rsi
je 0x1400d0a50
cmp byte [rsi + 0x38], 0
je 0x1400cfa16
movzx eax, byte [rsi + 0x43]
movsx edx, al
mov rcx, r15
call fcn.14007d400
mov rcx, rax
call fcn.14007d5e0
mov r8d, 0x15
lea rdx, str.id_author_Mateo_Gjika
mov rcx, r15
call fcn.1400c7440
mov rax, qword [r15]
mov rax, qword [rax - 0x18]
mov rsi, qword [rax + r15 + 0xf0]
test rsi, rsi
je 0x1400d0a4b
cmp byte [rsi + 0x38], 0
je 0x1400cf9fb
movzx eax, byte [rsi + 0x43]
movsx edx, al
mov rcx, r15
call fcn.14007d400
mov rcx, rax
call fcn.14007d5e0
mov r8d, 5
lea rdx, str.uciok
mov rcx, r15
call fcn.1400c7440
mov rax, qword [r15]
mov rax, qword [rax - 0x18]
mov rsi, qword [rax + r15 + 0xf0]
test rsi, rsi
jne 0x1400cf74b
call fcn.1400d1460
nop word cs:[rax + rax]
test rsi, rsi
je 0x1400cefa3
mov rcx, qword [rsp + 0x38]
jmp 0x1400cf2cb
mov rcx, qword [rsp + 0x120]
cmp dword [rcx], 0x74697571
jne 0x1400cf2e3
mov eax, 1
xchg byte [rsp + 0xc38], al
mov rcx, qword [rsp + 0x68]
call fcn.14000b7d0
mov rcx, rbx
call fcn.1400bad40
mov rcx, qword [rsp + 0x70]
call fcn.14000b7d0
lea rcx, [rsp + 0xc38]
call fcn.140001c00
xor eax, eax
vmovups xmm6, xmmword [rsp + 0x8c80]
vmovups xmm7, xmmword [rsp + 0x8c90]
vmovups xmm8, xmmword [rsp + 0x8ca0]
add rsp, 0x8cb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rsi, rsi
js 0x1400d0a5a
mov rcx, rsi
add rcx, 1
js 0x1400cfe5e
call fcn.1400cdd00
mov qword [rsp + 0x240], rax
mov rcx, rax
mov qword [rsp + 0x250], rsi
mov r8, rsi
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x240]
jmp 0x1400cefa8
cmp dword [rcx], 0x706f7473
jne 0x1400cf058
mov eax, 1
xchg byte [rsp + 0xc38], al
mov rcx, qword [rsp + 0x120]
mov rax, qword [0x1400dd0d0]
add rax, 0x10
vpinsrq xmm6, xmm7, rax, 1
mov rax, qword [rsp + 0x60]
cmp rcx, rax
je 0x1400cf32f
mov rax, qword [rsp + 0x130]
lea rdx, [rax + 1]
call fcn.1400cdcc0
lea rax, [r12 + 0x18]
mov rcx, qword [rsp + 0x240]
vmovdqu xmmword [rsp + 0x1f0], xmm6
mov qword [rsp + 0x1e0], rax
lea rax, [r12 + 0x68]
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x1400cf375
mov rax, qword [rsp + 0x250]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x1f8], rax
call fcn.1400a9d30
mov rax, qword [r14 - 0x18]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + rax + 0x1e0], rdx
mov rax, qword [rbp - 0x18]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x1f0], rbp
mov qword [rsp + rax + 0x1f0], rdx
mov rax, qword [rdi - 0x18]
mov qword [rsp + 0x1e0], rdi
mov rdi, qword [rsp + 0x40]
mov qword [rsp + rax + 0x1e0], rdi
mov rax, qword [0x1400dd540]
mov qword [rsp + 0x1e8], 0
add rax, 0x10
mov qword [rsp + 0x260], rax
call fcn.1400c3e00
mov rax, qword [r13]
mov rax, qword [rax - 0x18]
mov rsi, qword [rax + r13 + 0xf0]
test rsi, rsi
jne 0x1400cedd9
call fcn.1400d1460
nop dword [rax]
cmp rax, 0xa
jne 0x1400cf51a
mov rcx, qword [rsp + 0x120]
mov r8d, 0xa
lea rdx, str.ucinewgame
mov qword [rsp + 0x78], rcx
call sub.msvcrt.dll_memcmp
mov rcx, qword [rsp + 0x78]
test eax, eax
jne 0x1400cf058
mov rax, qword [rsp + 0x8c68]
cmp rax, qword [rsp + 0x8c70]
je 0x1400cf470
mov qword [rsp + 0x8c70], rax
mov rax, qword [rsp + 0xc50]
mov rdx, qword [rsp + 0xc58]
cmp rax, rdx
je 0x1400cf303
mov qword [rsp + 0x1a0], 0
add rax, 0x40
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], 0
vmovdqu ymm3, ymmword [rsp + 0x1a0]
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], 0
vmovdqu ymmword [rax - 0x40], ymm3
vmovdqu ymm4, ymmword [rsp + 0x1c0]
vmovdqu ymmword [rax - 0x20], ymm4
cmp rax, rdx
jne 0x1400cf489
vzeroupper
jmp 0x1400cf303
cmp rax, 8
jne 0x1400cf058
mov rcx, qword [rsp + 0x120]
movabs rax, 0x6e6f697469736f70
cmp qword [rcx], rax
jne 0x1400cf058
lea rax, [rsp + 0x150]
xor r9d, r9d
xor r10d, r10d
mov rcx, rbx
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0x160]
lea rsi, [rsp + 0x140]
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x148], r9
mov byte [rsp + 0x150], 0
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], r10
mov byte [rsp + 0x170], 0
call fcn.1400cba40
mov rax, qword [rsp + 0x168]
cmp rax, 3
je 0x1400d011d
cmp rax, 8
jne 0x1400cf5e8
mov rdx, qword [rsp + 0x160]
movabs rax, 0x736f707472617473
cmp qword [rdx], rax
je 0x1400d0079
lea rsi, [rsp + 0x140]
mov rcx, qword [rsp + 0x98]
mov rdx, rsi
call fcn.14000b800
cmp qword [rsp + 0x168], 5
je 0x1400cf771
mov rcx, qword [rsp + 0x98]
call fcn.140001870
mov qword [rsp + 0x88], rax
mov rdx, rax
mov rax, qword [rsp + 0x8c70]
cmp rax, qword [rsp + 0x8c78]
je 0x1400d0a72
mov qword [rax], rdx
add rax, 8
mov qword [rsp + 0x8c70], rax
mov rcx, qword [rsp + 0x160]
mov rax, qword [rsp + 0xd8]
cmp rcx, rax
je 0x1400cf672
mov rax, qword [rsp + 0x170]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0xa0]
cmp rcx, rax
je 0x1400cf0a3
mov rax, qword [rsp + 0x150]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rcx, qword [rsp + 0x120]
jmp 0x1400cf303
lea rdx, [rsp + 0x1a0]
mov rcx, rbx
call fcn.14007d0c0
mov rdx, qword [rax]
mov rdx, qword [rdx - 0x18]
test byte [rax + rdx + 0x20], 5
jne 0x1400cf0a3
mov edx, dword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x98]
call fcn.140007110
mov rcx, qword [0x1400dcfe0]
mov rdx, rax
call fcn.14007e9c0
mov r15, rax
mov rax, qword [rax]
mov rax, qword [rax - 0x18]
mov rsi, qword [r15 + rax + 0xf0]
test rsi, rsi
jne 0x1400cf74b
call fcn.1400d1460
cmp dword [rcx + 3], 0x79646165
jne 0x1400cf058
mov r15, qword [0x1400dcfe0]
mov r8d, 7
lea rdx, str.readyok
mov rcx, r15
call fcn.1400c7440
mov rax, qword [r15]
mov rax, qword [rax - 0x18]
mov rsi, qword [rax + r15 + 0xf0]
test rsi, rsi
je 0x1400d0a55
cmp byte [rsi + 0x38], 0
je 0x1400cf9e0
movzx eax, byte [rsi + 0x43]
movsx edx, al
mov rcx, r15
call fcn.14007d400
mov rcx, rax
call fcn.14007d5e0
jmp 0x1400cf0a3
mov rcx, qword [rsp + 0x160]
mov r8d, 5
lea rdx, str.moves
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400cf60f
lea rax, [rsp + 0x180]
lea r15, [rsp + 0x1b0]
mov word [rsp + 0xb0], 0
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x190]
mov qword [rsp + 0x88], rax
jmp 0x1400cf80f
mov rax, qword [rsp + 0x190]
mov rcx, r8
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax - 0x18]
test byte [rsp + rax + 0x200], 5
jne 0x1400cf60f
movzx edx, word [rsp + 0xb0]
mov rcx, qword [rsp + 0x98]
lea r8, [rsp + 0xfc]
call fcn.140001920
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x188], 0
mov byte [rsp + 0x190], 0
mov qword [rsp + 0x180], rax
call fcn.1400cba40
mov rdx, qword [rax]
mov r8, qword [rsp + 0x180]
mov rdx, qword [rdx - 0x18]
mov eax, dword [rax + rdx + 0x20]
and eax, 5
mov dword [rsp + 0xa8], eax
jne 0x1400cf9ac
mov r9, qword [rsp + 0x188]
mov eax, 2
mov qword [rsp + 0x1a0], r15
cmp r9, rax
cmovbe rax, r9
cmp r9, 1
je 0x1400cfa31
test r9, r9
je 0x1400cf89a
movzx edx, word [r8]
mov word [rsp + 0x1b0], dx
mov qword [rsp + 0x1a8], rax
mov byte [rsp + rax + 0x1b0], 0
mov rcx, qword [rsp + 0x1a0]
movsx edx, byte [rcx + 1]
movsx eax, byte [rcx]
cmp rcx, r15
lea eax, [rax + rdx*8 - 0x1e9]
mov dword [rsp + 0xb0], eax
je 0x1400cf8e5
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov r9, qword [rsp + 0x188]
cmp r9, 1
jbe 0x1400d0a32
sub r9, 2
mov eax, 2
mov qword [rsp + 0x1a0], r15
mov r8, qword [rsp + 0x180]
cmp r9, rax
cmovbe rax, r9
cmp r9, 1
je 0x1400cfa89
test r9, r9
je 0x1400cf92b
movzx edx, word [r8 + 2]
mov word [rsp + 0x1b0], dx
mov qword [rsp + 0x1a8], rax
mov byte [rsp + rax + 0x1b0], 0
mov rcx, qword [rsp + 0x1a0]
movsx edx, byte [rcx + 1]
movsx eax, byte [rcx]
cmp rcx, r15
lea eax, [rax + rdx*8 - 0x1e9]
mov dword [rsp + 0xb8], eax
je 0x1400cf976
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov r8, qword [rsp + 0x180]
cmp qword [rsp + 0x188], 4
ja 0x1400cfa41
movzx edx, word [rsp + 0xb8]
movzx eax, word [rsp + 0xa8]
shl edx, 6
shl eax, 0xc
or edx, dword [rsp + 0xb0]
or edx, eax
mov word [rsp + 0xb0], dx
mov rax, qword [rsp + 0x88]
cmp r8, rax
jne 0x1400cf7c4
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax - 0x18]
test byte [rsp + rax + 0x200], 5
je 0x1400cf7f2
jmp 0x1400cf60f
mov rcx, rsi
call fcn.14002f0b0
mov rax, qword [rsi]
mov edx, 0xa
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1400cf759
mov rcx, rsi
call fcn.14002f0b0
mov rax, qword [rsi]
mov edx, 0xa
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1400cf1c1
mov rcx, rsi
call fcn.14002f0b0
mov rax, qword [rsi]
mov edx, 0xa
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1400cf173
movzx edx, byte [r8]
mov byte [rsp + 0x1b0], dl
jmp 0x1400cf89a
mov qword [rsp + 0xe0], r8
movsx ecx, byte [r8 + 4]
call qword [sym.imp.msvcrt.dll_tolower]
mov r8, qword [rsp + 0xe0]
mov dword [rsp + 0xa8], 0xffffffff
sub eax, 0x62
cmp eax, 0x10
ja 0x1400cf985
lea rdx, [0x1400d6560]
mov eax, dword [rdx + rax*4]
mov dword [rsp + 0xa8], eax
jmp 0x1400cf985
movzx edx, byte [r8 + 2]
mov byte [rsp + 0x1b0], dl
jmp 0x1400cf92b
cmp byte [rsp + 0xc30], 1
mov dword [rsp + 0x160], pe_nt_image_headers64
lea r15, [rsp + 0x1b0]
sbb eax, eax
xor r10d, r10d
xor r11d, r11d
mov byte [rsp + 0x190], 0
and eax, 0x15
mov dword [rsp + 0xfc], r10d
add eax, 0x62
mov dword [rsp + 0x140], r10d
mov byte [rsp + 0xa8], al
lea rax, [rsp + 0x190]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x180]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0xfc]
mov qword [rsp + 0x188], r11
mov dword [rsp + 0xb0], 0x1e
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.1400cba40
mov rdx, qword [rax]
mov rdx, qword [rdx - 0x18]
test byte [rax + rdx + 0x20], 5
jne 0x1400cfe63
mov rax, qword [rsp + 0x188]
test rax, rax
mov qword [rsp + 0xa0], rax
je 0x1400d0a16
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xa0]
lea rsi, [rax - 1]
cmp rsi, 0xf
ja 0x1400cfd65
cmp rsi, 1
je 0x1400cfcfd
test rsi, rsi
jne 0x1400d0a0e
mov qword [rsp + 0x1a8], rsi
mov rax, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0xa0]
mov byte [rax + rsi - 1], 0
mov rcx, qword [rsp + 0x1a0]
cmp qword [rsp + 0x1a8], 4
je 0x1400cfd15
cmp rcx, r15
je 0x1400cfbed
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rax, qword [rsp + 0x188]
test rax, rax
mov qword [rsp + 0xa0], rax
je 0x1400d09f2
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xa0]
lea rsi, [rax - 1]
cmp rsi, 0xf
ja 0x1400cfe1c
cmp rsi, 1
jne 0x1400cfe0e
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax + 1]
mov byte [rsp + 0x1b0], al
mov qword [rsp + 0x1a8], rsi
mov rax, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0xa0]
mov byte [rax + rsi - 1], 0
mov rcx, qword [rsp + 0x1a0]
cmp qword [rsp + 0x1a8], 3
je 0x1400cfdbf
cmp rcx, r15
je 0x1400cfca6
xor esi, esi
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
test sil, sil
jne 0x1400cfda7
mov rax, qword [rsp + 0x188]
cmp rax, 5
je 0x1400d0042
cmp rax, 8
jne 0x1400cfb2a
mov rdx, qword [rsp + 0x180]
movabs rax, 0x656d697465766f6d
cmp qword [rdx], rax
jne 0x1400cfb2a
lea rdx, [rsp + 0xfc]
mov rcx, rbx
call fcn.14007a3d0
mov dword [rsp + 0xb0], 1
jmp 0x1400cfb2a
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax + 1]
mov byte [rsp + 0x1b0], al
jmp 0x1400cfba3
cmp dword [rcx], 0x656d6974
jne 0x1400cfbd7
mov rax, qword [rsp + 0x180]
movzx esi, byte [rsp + 0xa8]
cmp byte [rax], sil
jne 0x1400cfbd7
cmp rcx, r15
je 0x1400cfd50
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rdx, qword [rsp + 0xc0]
mov rcx, rbx
call fcn.14007a3d0
jmp 0x1400cfb2a
test rsi, rsi
js 0x1400d09e6
mov rcx, qword [rsp + 0xa0]
call fcn.1400cdd00
mov qword [rsp + 0x1a0], rax
mov rcx, rax
mov qword [rsp + 0x1b0], rsi
mov rdx, qword [rsp + 0xb8]
mov r8, rsi
add rdx, 1
call sub.msvcrt.dll_memcpy
jmp 0x1400cfba3
lea rsi, [rsp + 0x140]
mov rcx, rbx
mov rdx, rsi
call fcn.14007a3d0
jmp 0x1400cfb2a
mov r8d, 3
lea rdx, [0x1400d623a]
mov qword [rsp + 0xa0], rcx
call sub.msvcrt.dll_memcmp
mov rcx, qword [rsp + 0xa0]
test eax, eax
jne 0x1400cfc85
mov rax, qword [rsp + 0x180]
movzx esi, byte [rsp + 0xa8]
cmp byte [rax], sil
sete sil
cmp rcx, r15
jne 0x1400cfc8c
jmp 0x1400cfc9d
test rsi, rsi
je 0x1400cfc51
mov rcx, r15
jmp 0x1400cfe45
test rsi, rsi
js 0x1400d0991
mov rcx, qword [rsp + 0xa0]
call fcn.1400cdd00
mov qword [rsp + 0x1a0], rax
mov rcx, rax
mov qword [rsp + 0x1b0], rsi
mov rdx, qword [rsp + 0xb8]
mov r8, rsi
add rdx, 1
call sub.msvcrt.dll_memcpy
jmp 0x1400cfc51
call fcn.1400d13e0
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x88]
cmp rcx, rax
je 0x1400cfe89
mov rax, qword [rsp + 0x190]
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov eax, dword [rsp + 0xfc]
mov esi, dword [rsp + 0x160]
cdq
idiv dword [rsp + 0xb0]
add eax, dword [rsp + 0x140]
mov r15d, eax
xor eax, eax
xchg byte [rsp + 0xc38], al
add esi, 1
call fcn.1400a6bf0
movsxd rdx, r15d
mov rcx, qword [rsp + 0xd0]
mov r8d, 0x8000
imul rdx, rdx, 0xf4240
mov dword [rsp + 0xc48], esi
add rax, rdx
test r15d, r15d
sete byte [rsp + 0xc4c]
xor edx, edx
mov qword [rsp + 0xc40], rax
call sub.msvcrt.dll_memset
xor r9d, r9d
mov ecx, 0x10
mov qword [rsp + 0x180], r9
call fcn.1400cdd00
lea rsi, [0x1400d6438]
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x1a0]
mov qword [rsp + 0x1a0], rax
vmovq xmm0, rsi
lea r8, [0x1400015e0]
vpinsrq xmm0, xmm0, qword [rsp + 0x98], 1
vmovdqu xmmword [rax], xmm0
call fcn.1400aa0c0
mov rcx, qword [rsp + 0x1a0]
test rcx, rcx
je 0x1400cff5a
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x78]
call fcn.1400aa1e0
cmp qword [rsp + 0x180], 0
je 0x1400cf0a3
call fcn.1400c9cc0
lea rsi, [rsp + 0x1a0]
lea r15, [rsp + 0x1b0]
xor r8d, r8d
mov rcx, rbx
mov rdx, rsi
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], r8
mov byte [rsp + 0x1b0], 0
call fcn.1400cba40
mov rdx, rsi
mov rcx, rbx
call fcn.1400cba40
mov rcx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1a8]
add r8, rcx
cmp rcx, r8
je 0x1400d0023
mov qword [rsp + 0x78], r15
mov r15, rsi
mov rsi, r8
mov qword [rsp + 0x88], rbx
mov rbx, rcx
movsx ecx, byte [rbx]
add rbx, 1
call qword [sym.imp.msvcrt.dll_tolower]
mov byte [rbx - 1], al
cmp rsi, rbx
jne 0x1400cffe7
cmp qword [rsp + 0x1a8], 4
mov rsi, r15
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1a0]
je 0x1400d092b
cmp rcx, r15
je 0x1400cf0a3
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
jmp 0x1400cf0a3
mov rcx, qword [rsp + 0x180]
mov r8d, 5
lea rdx, str.depth
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400cfb2a
lea rdx, [rsp + 0x160]
mov rcx, rbx
call fcn.14007d0c0
jmp 0x1400cfb2a
mov rdx, qword [rsp + 0x140]
mov rax, qword [rsp + 0xa0]
lea rsi, [rsp + 0x140]
mov r8, qword [rsp + 0x148]
cmp rdx, rax
je 0x1400d08a1
mov rax, qword [rsp + 0x150]
cmp rax, 0x37
jbe 0x1400d08a6
lea rcx, str.rnbqkbnr_pppppppp_8_8_8_8_PPPPPPPP_RNBQKBNR_w_KQkq___0_1
cmp rcx, rdx
jb 0x1400d0880
lea rax, [rdx + r8]
cmp rax, rcx
jb 0x1400d0880
xor ecx, ecx
lea r9, str.rnbqkbnr_pppppppp_8_8_8_8_PPPPPPPP_RNBQKBNR_w_KQkq___0_1
mov qword [rsp + 0x20], 0x38
mov qword [rsp + 0x28], rcx
mov rcx, rsi
call fcn.1400aba90
mov rax, qword [rsp + 0x140]
mov rdx, qword [rsp + 0xc0]
mov rcx, rbx
mov qword [rsp + 0x148], 0x38
mov byte [rax + 0x38], 0
call fcn.1400cba40
jmp 0x1400cf5f0
mov rcx, qword [rsp + 0x160]
mov r8d, 3
lea rdx, [0x1400d6227]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400cf5f0
lea rax, [rsp + 0x140]
mov qword [rsp + 0xe0], rax
mov rdx, qword [rsp + 0xc0]
mov rcx, rbx
mov rsi, qword [rsp + 0xe0]
call fcn.1400cba40
mov rdx, qword [rax]
mov rdx, qword [rdx - 0x18]
test byte [rax + rdx + 0x20], 5
jne 0x1400cf5e8
mov rsi, qword [rsp + 0x168]
mov rax, qword [rsp + 0x160]
cmp rsi, 5
mov qword [rsp + 0xa8], rax
je 0x1400d05fb
lea rax, [rsi + 1]
xor r8d, r8d
lea r15, [rsp + 0x1b0]
mov byte [rsp + 0x1b0], 0
cmp rax, 0xf
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], r8
jbe 0x1400d0677
test rax, rax
js 0x1400d09d2
mov edx, 0x1e
cmp rax, rdx
cmovae rdx, rax
mov qword [rsp + 0xb0], rdx
add rdx, 1
mov rcx, rdx
js 0x1400d09cd
call fcn.1400cdd00
mov r9, rax
mov rax, qword [rsp + 0x1a8]
mov r10, qword [rsp + 0x1a0]
test rax, rax
lea r8, [rax + 1]
je 0x1400d07c7
test r8, r8
je 0x1400d0238
mov rdx, r10
mov rcx, r9
mov qword [rsp + 0x78], r10
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x78]
mov r9, rax
cmp r10, r15
je 0x1400d025b
mov rax, qword [rsp + 0x1b0]
mov rcx, r10
mov qword [rsp + 0x78], r9
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov r9, qword [rsp + 0x78]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x1a0], r9
movabs rdx, 0x7fffffffffffffff
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1a8]
sub rdx, rax
mov qword [rsp + 0x78], rax
cmp rdx, rsi
jb 0x1400d0681
mov rax, qword [rsp + 0x78]
add rax, rsi
cmp qword [rsp + 0xb0], rax
mov qword [rsp + 0x88], rax
jae 0x1400d0650
cmp qword [rsp + 0x88], 0
js 0x1400d09c1
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x88]
add rax, rax
mov qword [rsp + 0xb8], rdx
cmp rdx, rax
jae 0x1400d02fc
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
cmovbe rdx, rax
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rsp + 0xb8]
add rcx, 1
js 0x1400d09bc
call fcn.1400cdd00
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0x1a0]
test rax, rax
je 0x1400d035c
sub rax, 1
je 0x1400d09a9
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
mov rdx, r9
mov qword [rsp + 0xe8], r9
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x1400d0391
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xb0]
mov r8, rsi
mov qword [rsp + 0xa8], r9
add rcx, rax
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0xa8]
cmp r9, r15
je 0x1400d03aa
mov rax, qword [rsp + 0x1b0]
mov rcx, r9
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x1b0], rax
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x1a8], rsi
mov byte [rax + rsi], 0
mov rsi, qword [rsp + 0x1a8]
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
je 0x1400d099d
mov rdx, qword [rsp + 0x1a0]
lea rax, [rsi + 1]
mov qword [rsp + 0x78], rax
cmp rdx, r15
je 0x1400d07d3
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jb 0x1400d0539
mov byte [rdx + rsi], 0x20
movabs rdx, 0x7fffffffffffffff
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a0]
mov byte [rax + rsi + 1], 0
mov rax, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1a8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x148]
sub rdx, rax
mov qword [rsp + 0x88], rax
cmp rdx, rsi
jb 0x1400d0874
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa0]
add rax, rsi
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x140]
cmp rax, rdx
je 0x1400d07ab
mov rdx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0xa8]
cmp rdx, rcx
jb 0x1400d068d
test rsi, rsi
je 0x1400d04fe
mov rcx, qword [rsp + 0x88]
add rcx, rax
cmp rsi, 1
je 0x1400d07dd
mov rdx, qword [rsp + 0x78]
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x140]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x148], rdx
mov byte [rax + rdx], 0
mov rcx, qword [rsp + 0x1a0]
cmp rcx, r15
je 0x1400d014f
mov rax, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
call fcn.1400cdcc0
jmp 0x1400d014f
cmp qword [rsp + 0x78], 0
js 0x1400d0868
mov rdx, qword [rsp + 0x78]
add rax, rax
cmp rdx, rax
mov qword [rsp + 0x88], rdx
jb 0x1400d0832
mov rcx, qword [rsp + 0x88]
add rcx, 1
js 0x1400d0926
call fcn.1400cdd00
test rsi, rsi
mov r10, qword [rsp + 0x1a0]
mov r9, rax
je 0x1400d05b0
cmp rsi, 1
je 0x1400d085c
mov rdx, r10
mov r8, rsi
mov rcx, rax
mov qword [rsp + 0xa8], r10
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0xa8]
mov r9, rax
cmp r10, r15
mov byte [r9 + rsi], 0x20
je 0x1400d05de
mov rax, qword [rsp + 0x1b0]
mov rcx, r10
mov qword [rsp + 0xa8], r9
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov r9, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x1a0], r9
mov qword [rsp + 0x1b0], rax
jmp 0x1400d0435
mov r8d, 5
lea rdx, str.moves
mov rcx, rax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400cf5e8
lea r15, [rsp + 0x1b0]
xor eax, eax
xor edx, edx
mov byte [rsp + 0x1b0], 0
mov qword [rsp + 0x1a0], r15
mov r9, r15
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x88], 5
mov qword [rsp + 0x78], rdx
mov rcx, qword [rsp + 0x78]
add rcx, r9
cmp rsi, 1
je 0x1400d07b5
mov rdx, qword [rsp + 0xa8]
mov r8, rsi
call sub.msvcrt.dll_memcpy
jmp 0x1400d03ca
cmp rsi, 0xffffffffffffffff
jne 0x1400d07f4
lea rcx, [0x1400d6182]
call fcn.1400d15d0
cmp qword [rsp + 0xa8], 0
js 0x1400d0850
mov rax, qword [rsp + 0xa8]
add rdx, rdx
cmp rax, rdx
mov qword [rsp + 0xb8], rax
jb 0x1400d0814
mov rcx, qword [rsp + 0xb8]
add rcx, 1
js 0x1400d0bad
call fcn.1400cdd00
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x88]
mov r9, qword [rsp + 0x140]
test rax, rax
je 0x1400d071e
sub rax, 1
je 0x1400d0b9a
mov r8, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb0]
mov rdx, r9
mov qword [rsp + 0xe8], r9
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0xe8]
cmp qword [rsp + 0x78], 0
je 0x1400d0765
test rsi, rsi
je 0x1400d0765
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xb0]
add rcx, rax
cmp rsi, 1
je 0x1400d0b8b
mov rdx, qword [rsp + 0x78]
mov r8, rsi
mov qword [rsp + 0x88], r9
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x88]
mov rax, qword [rsp + 0xa0]
cmp r9, rax
je 0x1400d0786
mov rax, qword [rsp + 0x150]
mov rcx, r9
lea rdx, [rax + 1]
call fcn.1400cdcc0
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x150], rsi
jmp 0x1400d04fe
mov edx, 0xf
jmp 0x1400d04be
mov rax, qword [rsp + 0xa8]
movzx eax, byte [rax]
mov byte [rcx], al
jmp 0x1400d03ca
movzx eax, byte [r10]
mov byte [r9], al
jmp 0x1400d0238
mov eax, 0xf
jmp 0x1400d0423
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x140]
jmp 0x1400d04fe
test rsi, rsi
je 0x1400d03d2
xor ecx, ecx
mov qword [rsp + 0x88], rsi
mov r9, r15
mov qword [rsp + 0x78], rcx
jmp 0x1400d0650
movabs rax, 0x7fffffffffffffff
cmp rdx, rax
cmovbe rax, rdx
mov qword [rsp + 0xb8], rax
jmp 0x1400d06b8
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
cmovbe rdx, rax
mov qword [rsp + 0x88], rdx
jmp 0x1400d055e
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
movzx eax, byte [r10]
mov byte [r9], al
jmp 0x1400d05b0
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
lea rcx, [0x1400d6182]
call fcn.1400d15d0
vmovdqu ymm5, ymmword [str.rnbqkbnr_pppppppp_8_8_8_8_PPPPPP8_PPPPPPPP_RNBQKBNR_w_KQkq___0_1terminate_called_recursively_n]
vmovdqu ymmword [rdx], ymm5
vmovdqu ymm5, ymmword [0x1400d7200]
vmovdqu ymmword [rdx + 0x18], ymm5
vzeroupper
jmp 0x1400d00f0
mov eax, 0xf
add rax, rax
mov edx, 0x38
cmp rax, rdx
cmovae rdx, rax
lea rcx, [rdx + 1]
mov r15, rdx
call fcn.1400cdd00
vmovdqu ymm5, ymmword [str.rnbqkbnr_pppppppp_8_8_8_8_PPPPPP8_PPPPPPPP_RNBQKBNR_w_KQkq___0_1terminate_called_recursively_n]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0xa0]
vmovdqu ymmword [rax], ymm5
vmovdqu ymm5, ymmword [0x1400d7200]
cmp rcx, rdx
vmovdqu ymmword [rax + 0x18], ymm5
je 0x1400d09de
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x150]
lea rdx, [rax + 1]
vzeroupper
call fcn.1400cdcc0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x150], r15
jmp 0x1400d00f0
call fcn.1400d13e0
cmp dword [rcx], 0x68736168
jne 0x1400d0023
mov rdx, rsi
mov rcx, rbx
call fcn.1400cba40
mov rcx, rax
lea rax, [rsp + 0x180]
mov rdx, rax
call fcn.14007d0c0
mov rdx, qword [rax]
mov rdx, qword [rdx - 0x18]
test byte [rax + rdx + 0x20], 5
jne 0x1400d0984
mov eax, dword [rsp + 0x180]
mov edx, 1
mov rcx, qword [rsp + 0xc8]
test eax, eax
cmovle eax, edx
movsxd rdx, eax
call fcn.1400074a0
mov rcx, qword [rsp + 0x1a0]
jmp 0x1400d0023
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
lea rcx, [0x1400d6182]
call fcn.1400d15d0
movzx eax, byte [r9]
mov rdx, qword [rsp + 0xb0]
mov byte [rdx], al
jmp 0x1400d035c
call fcn.1400d13e0
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
call fcn.1400d13e0
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
vzeroupper
jmp 0x1400d0911
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
xor r9d, r9d
mov r8d, 1
lea rdx, [0x1400d611a]
lea rcx, [0x1400d6130]
call fcn.1400c87f0
mov rcx, r15
jmp 0x1400cfd8e
xor r9d, r9d
mov r8d, 1
lea rdx, [0x1400d611a]
lea rcx, [0x1400d6130]
call fcn.1400c87f0
mov r8d, 2
lea rdx, [0x1400d611a]
lea rcx, [0x1400d6130]
call fcn.1400c87f0
call fcn.1400d1460
call fcn.1400d1460
call fcn.1400d1460
lea rcx, [0x1400d60a2]
call fcn.1400d15d0
lea rcx, [0x1400d6070]
call fcn.1400d14e0
mov r15, qword [rsp + 0x8c68]
mov rdx, rax
movabs rcx, 0xfffffffffffffff
sub rdx, r15
mov qword [rsp + 0xa8], rdx
sar rdx, 3
cmp rdx, rcx
je 0x1400d0b7f
cmp rax, r15
je 0x1400d0b47
lea rax, [rdx + rdx]
cmp rax, rdx
jb 0x1400d0b7a
xor edx, edx
xor r9d, r9d
test rax, rax
mov qword [rsp + 0x78], rdx
jne 0x1400d0b50
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
vmovq xmm5, r9
mov rsi, qword [rsp + 0x8c78]
mov qword [r9 + rdx], rax
test rdx, rdx
lea rax, [r9 + rdx + 8]
vpinsrq xmm6, xmm5, rax, 1
jg 0x1400d0b1c
test r15, r15
jne 0x1400d0b2d
vmovdqu xmmword [rsp + 0x8c68], xmm6
mov rax, qword [rsp + 0x78]
add rax, r9
mov qword [rsp + 0x8c78], rax
jmp 0x1400cf64c
mov r8, rdx
mov rcx, r9
mov rdx, r15
call sub.msvcrt.dll_memmove
mov r9, rax
sub rsi, r15
mov rcx, r15
mov qword [rsp + 0x68], r9
mov rdx, rsi
call fcn.1400cdcc0
mov r9, qword [rsp + 0x68]
jmp 0x1400d0afe
add rdx, 1
mov rax, rdx
jb 0x1400d0b7a
movabs rdx, 0xfffffffffffffff
cmp rax, rdx
cmova rax, rdx
shl rax, 3
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.1400cdd00
mov r9, rax
jmp 0x1400d0ac8
mov rax, rcx
jmp 0x1400d0b61
lea rcx, str.vector::_M_realloc_insert
call fcn.1400d15d0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax]
mov byte [rcx], al
jmp 0x1400d0765
movzx eax, byte [r9]
mov rdx, qword [rsp + 0xb0]
mov byte [rdx], al
jmp 0x1400d071e
call fcn.1400d13e0
mov rdi, rax
vzeroupper
mov rcx, qword [rsp + 0xc0]
call fcn.14000b7d0
mov rcx, rsi
mov rsi, rdi
call fcn.14000b7d0
mov rcx, qword [rsp + 0x68]
call fcn.14000b7d0
mov rcx, rbx
call fcn.1400bad40
mov rcx, qword [rsp + 0x70]
call fcn.14000b7d0
lea rcx, [rsp + 0xc38]
call fcn.140001c00
mov rcx, rsi
call fcn.1400192c0
lea rcx, [rsp + 0x1a0]
mov rdi, rax
vzeroupper
lea rsi, [rsp + 0x140]
call fcn.14000b7d0
jmp 0x1400d0bb8