Function at 0x14003fae0
Capabilities:
Check for time delay via queryperformancecounter
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f8]
sub rsp, 0x3f8
cmp dword [rcx], 0
mov r12, rdx
movsxd r13, dword [r9 + 0x224]
mov rbx, rcx
movzx r14d, byte [rbp + 0x388]
mov esi, dword [rbp + 0x378]
jne 0x14003fb3b
cmp esi, 2
jge 0x14003fb3b
mov byte [rbp + 0x340], 0
xor r15d, r15d
jmp 0x14003fb4a
mov byte [rbp + 0x340], 1
mov r15b, 1
test r14b, r14b
je 0x14003fb58
cmp byte [rbp + 0x368], 0
jne 0x14003fb58
xor dil, dil
jmp 0x14003fb5b
mov dil, 1
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140041a82
mov r11, qword [rbp + 0x350]
xor eax, eax
mov qword [rbp + 0x1d0], rax
xor edx, edx
mov rax, qword [rbp + 0x1e0]
xorps xmm0, xmm0
sub rax, qword [0x14009c1f8]
imul rax, rax, 0xf4240
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x190], r12
div qword [0x14009c1f0]
movups xmmword [rbp + 0x1c0], xmm0
mov rcx, rax
mov qword [rbp + 0x198], r11
sub rcx, qword [rbp + 0x370]
xorps xmm0, xmm0
add rcx, qword [0x14009c200]
mov byte [rbp + 0x1a0], dil
js 0x14003fbef
cvtsi2sd xmm0, rcx
jmp 0x14003fc04
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
mov dword [rbp + 0x1a8], esi
mov dword [rbp + 0x1c0], r13d
divsd xmm0, qword [0x14008fed0]
cvttsd2si eax, xmm0
mov dword [rbp + 0x1a4], eax
mov rax, qword [rbp + 0x380]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x358]
movsxd r12, dword [rax + 0x228]
movzx eax, r15b
mov dword [rbp + 0x1c8], eax
mov dword [rbp + 0x1c4], r12d
test r14b, r14b
je 0x14003fc61
mov dword [rbp + 0x1cc], 1
jmp 0x14003fc69
mov eax, dword [rbx]
mov dword [rbp + 0x1cc], eax
cmp dword [rbx + 0x20], 0
mov byte [rbp + 0x1d0], r14b
jle 0x14003fc96
test dil, dil
je 0x14003fc91
lea rcx, [rbx + 0x10]
call fcn.14003d970
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x1b8], rax
jmp 0x14003fc9d
cmp esi, 1
jne 0x14003fc7b
mov rax, qword [rbp + 0x1b8]
cmp qword [0x14009b820], 0
mov qword [rbp + 0x178], rax
je 0x1400418b0
mov rcx, qword [rbp + 0x360]
mov rax, qword [rcx + 0x18]
add rcx, 8
mov qword [rsp + 0x20], rcx
mov qword [rbp + 0x1e8], rax
call fcn.140038250
xor esi, esi
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x130]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rsi
lea r8d, [rsi + 1]
mov byte [rsp + 0x40], sil
mov byte [rbp + 0x130], 0x7b
call fcn.140037fc0
lea r8d, [rsi + 1]
mov byte [rsp + 0x40], sil
lea rdx, [rbp + 0x138]
mov byte [rbp + 0x138], 0x22
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8, [rsi - 1]
lea rdx, [0x14008b5fc]
lea rcx, [rsp + 0x20]
call fcn.1400380c0
lea r8d, [rsi + 1]
mov byte [rbp + 0x140], 0x22
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8d, [rsi + 1]
mov byte [rsp + 0x40], 1
lea rdx, [rbp + 0x148]
mov byte [rbp + 0x148], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8d, [rsi + 1]
mov byte [rsp + 0x40], sil
lea rdx, [rbp + 0x150]
mov byte [rbp + 0x150], 0x22
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8, [rsi - 1]
lea rdx, str.noderesult
lea rcx, [rsp + 0x20]
call fcn.1400380c0
lea r8d, [rsi + 1]
mov byte [rbp + 0x170], 0x22
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8d, [rsi + 1]
mov byte [rsp + 0x40], 1
lea rdx, [rsp + 0x78]
mov byte [rsp + 0x78], 0x2c
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8d, [rsi + 1]
mov byte [rbp - 0x80], 0x22
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8, [rsi - 1]
lea rdx, str.processed_node_count
lea rcx, [rsp + 0x20]
call fcn.1400380c0
lea r8d, [rsi + 1]
mov byte [rbp - 0x78], 0x22
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea r8d, [rsi + 1]
mov byte [rsp + 0x40], 1
lea rdx, [rbp - 0x70]
mov byte [rbp - 0x70], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r9, r13
mov byte [rsp + 0x40], sil
lea r8, str._lli
lea edx, [rsi + 0x32]
lea rcx, [rbp + 0x208]
call fcn.140003900
lea rax, [rbp + 0x208]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x14003fe73
lea rdx, [rbp + 0x208]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp - 0x68]
mov byte [rbp - 0x68], 0x2c
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rbp - 0x60], 0x22
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.number_of_nodes_ever_queued
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rbp - 0x58], 0x22
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp - 0x50]
mov byte [rbp - 0x50], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r9, r12
mov byte [rsp + 0x40], sil
lea r8, str._lli
mov edx, 0x32
lea rcx, [rbp + 0x240]
call fcn.140003900
lea rax, [rbp + 0x240]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x14003ff40
lea rdx, [rbp + 0x240]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp - 0x48]
mov byte [rbp - 0x48], 0x2c
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rbp - 0x40], 0x22
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.annotation
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rbp - 0x38], 0x22
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp - 0x30]
mov byte [rbp - 0x30], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r13, qword [rbp + 0x348]
mov eax, esi
sub eax, dword [r13 + 0xc]
lea rcx, [r13 + 0xc]
movsxd rdi, dword [rcx]
add rdi, rcx
mov byte [rsp + 0x40], sil
neg eax
sbb rcx, rcx
and rdi, rcx
lea rcx, [rsp + 0x20]
jne 0x140040016
mov r8d, 4
lea rdx, str.null
jmp 0x140040050
mov r8d, 1
mov byte [rbp - 0x28], 0x22
lea rdx, [rbp - 0x28]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.1400380c0
mov r8d, 1
mov byte [rbp - 0x20], 0x22
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp - 0x18]
mov byte [rbp - 0x18], 0x2c
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rbp - 0x10], 0x22
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.index
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rbp - 8], 0x22
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp]
mov byte [rbp], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r9d, dword [r13 + 0xa0]
lea r8, str._lli
mov edx, 0x32
mov byte [rsp + 0x40], sil
lea rcx, [rbp + 0x278]
call fcn.140003900
lea rax, [rbp + 0x278]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x140040110
lea rdx, [rbp + 0x278]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp + 8]
mov byte [rbp + 8], 0x2c
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rbp + 0x10], 0x22
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.exitcode
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x18], 0x22
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp + 0x20]
mov byte [rbp + 0x20], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov byte [rsp + 0x40], sil
cmp dword [rbx], esi
je 0x1400401b9
mov eax, dword [rbx]
jmp 0x1400401bd
movzx eax, r15b
movsxd r9, eax
lea r8, str._lli
mov edx, 0x32
lea rcx, [rbp + 0x2b0]
call fcn.140003900
lea rax, [rbp + 0x2b0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x1400401e6
lea rdx, [rbp + 0x2b0]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov byte [rsp + 0x40], 1
cmp byte [rbp + 0x340], sil
je 0x1400404e9
mov r8d, 1
mov byte [rbp + 0x28], 0x2c
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rbp + 0x30], 0x22
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.cmdline
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x38], 0x22
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rbp + 0x40]
mov byte [rbp + 0x40], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
movsxd rbx, dword [r13]
lea rcx, [rsp + 0x20]
mov eax, esi
mov byte [rsp + 0x40], sil
sub eax, dword [r13]
add rbx, r13
neg eax
sbb rax, rax
and rbx, rax
jne 0x1400402bf
mov r8d, 4
lea rdx, str.null
jmp 0x1400402f9
mov r8d, 1
mov byte [rbp + 0x48], 0x22
lea rdx, [rbp + 0x48]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x50], 0x22
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
xor r9d, r9d
xor r12b, r12b
mov r8b, 1
mov edi, r9d
mov byte [rsp + 0x40], r8b
cmp dword [r13 + 0x28], esi
jle 0x1400404e9
lea r15, [r13 + 0x34]
mov r14d, r9d
movsxd rcx, dword [r15]
mov eax, r9d
sub eax, dword [r15]
add rcx, r15
neg eax
sbb rax, rax
and rcx, rax
test byte [rcx + rsi], 8
je 0x1400404ad
test r12b, r12b
jne 0x1400403ef
mov r8d, 1
mov byte [rbp + 0x58], 0x2c
lea rdx, [rbp + 0x58]
mov r12b, 1
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rbp + 0x60], 0x22
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.rsps
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x68], 0x22
lea rdx, [rbp + 0x68]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], r12b
lea rdx, [rbp + 0x70]
mov byte [rbp + 0x70], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 0
lea rdx, [rbp + 0x78]
mov byte [rbp + 0x78], 0x5b
lea rcx, [rsp + 0x20]
call fcn.140037fc0
xor r8b, r8b
mov byte [rsp + 0x40], r8b
xor r9d, r9d
movsxd rdx, dword [r13 + 0x2c]
lea rcx, [r13 + 0x2c]
add rdx, rcx
mov eax, r9d
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
mov eax, r9d
add rdx, r14
sub eax, dword [rdx]
movsxd rbx, dword [rdx]
add rbx, rdx
neg eax
sbb rax, rax
and rbx, rax
test r8b, r8b
je 0x140040440
mov r8d, 1
mov byte [rbp + 0x80], 0x2c
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
lea rcx, [rsp + 0x20]
test rbx, rbx
jne 0x140040457
lea r8d, [rbx + 4]
lea rdx, str.null
jmp 0x14004049d
mov r8d, 1
mov byte [rbp + 0x88], 0x22
lea rdx, [rbp + 0x88]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x90], 0x22
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8b, 1
xor r9d, r9d
mov byte [rsp + 0x40], r8b
inc edi
add rsi, 4
add r14, 8
cmp edi, dword [r13 + 0x28]
jl 0x140040320
test r12b, r12b
je 0x1400404e9
mov r8d, 1
mov byte [rbp + 0x98], 0x5d
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov byte [rsp + 0x40], 1
movsxd rcx, dword [r13 + 0x14]
lea rax, [r13 + 0x14]
mov rdi, qword [rsp + 0x20]
add rcx, rax
cmp dword [rax], 0
mov ebx, 0
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
cmove rcx, rbx
mov r14, qword [rsp + 0x30]
test rcx, rcx
je 0x140040a69
mov byte [rbp + 0xa0], 0x2c
lea r12d, [rbx + 1]
lea r13, [rbp + 0xa0]
nop
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x1400405a3
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14004056e
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
mov rdx, rbx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
mov ebx, 0
jne 0x140040530
mov qword [rsp + 0x30], r14
lea r12d, [rbx + 1]
mov byte [rbp + 0xa8], 0x22
lea r13, [rbp + 0xa8]
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040662
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14004062d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x1400405f0
lea r8, [r12 - 1]
mov qword [rsp + 0x38], rsi
lea rdx, str.profiler_output
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x48], r15
call fcn.1400380c0
mov rdi, qword [rsp + 0x20]
lea r13, [rbp + 0xb0]
mov r15, qword [rsp + 0x48]
mov r12d, 1
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov byte [rbp + 0xb0], 0x22
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040752
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14004071d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x1400406e0
mov qword [rsp + 0x30], r14
lea r13, [rbp + 0xb8]
mov byte [rbp + 0xb8], 0x3a
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040812
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400407dd
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x1400407a0
mov r13, qword [rbp + 0x348]
xor ebx, ebx
movsxd rdx, dword [r13 + 0x14]
lea rcx, [r13 + 0x14]
mov eax, ebx
mov qword [rsp + 0x38], rsi
sub eax, dword [rcx]
add rdx, rcx
neg eax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
sbb rax, rax
mov byte [rsp + 0x40], r12b
and rdx, rax
mov qword [rbp + 0x180], rdx
jne 0x1400408a8
lea r8d, [r12 + 4]
lea rdx, str.null
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
jmp 0x140040a64
mov byte [rbp + 0xc0], 0x22
lea r13, [rbp + 0xc0]
mov r12d, 1
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040933
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400408fe
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
mov rdx, rbx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
mov ebx, 0
jne 0x1400408c0
mov rdx, qword [rbp + 0x180]
lea r8, [rbx - 1]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
call fcn.1400380c0
mov rdi, qword [rsp + 0x20]
lea r12d, [rbx + 1]
mov r15, qword [rsp + 0x48]
lea r13, [rbp + 0xc8]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov byte [rbp + 0xc8], 0x22
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040a22
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400409ed
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x1400409b0
mov r13, qword [rbp + 0x348]
xor ebx, ebx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
mov byte [rsp + 0x40], 1
cmp dword [r13 + 0x40], 0
jle 0x140040fd7
mov byte [rbp + 0xd0], 0x2c
lea r13, [rbp + 0xd0]
mov r12d, 1
nop dword [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040b03
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140040ace
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
mov rdx, rbx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
mov ebx, 0
jne 0x140040a90
mov qword [rsp + 0x30], r14
lea r12d, [rbx + 1]
mov byte [rbp + 0xd8], 0x22
lea r13, [rbp + 0xd8]
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040bc2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140040b8d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140040b50
lea r8, [r12 - 1]
mov qword [rsp + 0x38], rsi
lea rdx, str.outputfile
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x48], r15
call fcn.1400380c0
mov rdi, qword [rsp + 0x20]
lea r13, [rbp + 0xe0]
mov r15, qword [rsp + 0x48]
mov r12d, 1
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov byte [rbp + 0xe0], 0x22
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040cb2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140040c7d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140040c40
mov qword [rsp + 0x30], r14
lea r13, [rbp + 0xe8]
mov byte [rbp + 0xe8], 0x3a
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040d72
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140040d3d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140040d00
mov r13, qword [rbp + 0x348]
xor ebx, ebx
movsxd rdx, dword [r13 + 0x44]
lea rcx, [r13 + 0x44]
add rdx, rcx
mov qword [rsp + 0x38], rsi
mov eax, ebx
mov qword [rsp + 0x30], r14
sub eax, dword [rcx]
neg eax
mov qword [rsp + 0x48], r15
mov byte [rsp + 0x40], r12b
sbb rax, rax
and rdx, rax
mov eax, ebx
sub eax, dword [rdx]
movsxd rcx, dword [rdx]
add rcx, rdx
neg eax
sbb rax, rax
and rcx, rax
mov qword [rbp + 0x180], rcx
jne 0x140040e1a
lea r8d, [r12 + 4]
lea rdx, str.null
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
jmp 0x140040fd2
mov byte [rbp + 0xf0], 0x22
lea r13, [rbp + 0xf0]
mov r12d, 1
nop
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040ea3
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140040e6e
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
mov rdx, rbx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
mov ebx, 0
jne 0x140040e30
mov rdx, qword [rbp + 0x180]
lea r8, [rbx - 1]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
call fcn.1400380c0
mov rdi, qword [rsp + 0x20]
lea r12d, [rbx + 1]
mov r15, qword [rsp + 0x48]
lea r13, [rbp + 0xf8]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov byte [rbp + 0xf8], 0x22
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140040f92
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x140040f5d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140040f20
mov r13, qword [rbp + 0x348]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
mov byte [rsp + 0x40], 1
cmp dword [r13 + 0x50], 0
jle 0x1400413cd
mov byte [rbp + 0x100], 0x2c
lea r13, [rbp + 0x100]
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140041072
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14004103d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140041000
mov qword [rsp + 0x30], r14
lea r13, [rbp + 0x108]
mov byte [rbp + 0x108], 0x22
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140041132
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400410fd
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x1400410c0
lea r8, [r12 - 1]
mov qword [rsp + 0x38], rsi
lea rdx, str.outputdirectory
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x48], r15
call fcn.1400380c0
mov rdi, qword [rsp + 0x20]
lea r13, [rbp + 0x110]
mov r15, qword [rsp + 0x48]
mov r12d, 1
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov byte [rbp + 0x110], 0x22
nop dword [rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x140041222
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400411ed
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x1400411b0
mov qword [rsp + 0x30], r14
lea r13, [rbp + 0x118]
mov byte [rbp + 0x118], 0x3a
mov r12d, 1
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x1400412e2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400412ad
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140041270
mov rcx, qword [rbp + 0x348]
mov eax, r12d
add rcx, 0x54
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
mov byte [rsp + 0x40], r12b
sub eax, dword [rcx]
movsxd r9, dword [rcx]
add r9, rcx
lea rcx, [rsp + 0x20]
neg eax
sbb rax, rax
and r9, rax
mov eax, r12d
sub eax, dword [r9]
movsxd rbx, dword [r9]
add rbx, r9
neg eax
sbb rax, rax
and rbx, rax
jne 0x140041367
lea r8d, [r12 + 4]
lea rdx, str.null
jmp 0x1400413ad
mov r8d, 1
mov byte [rbp + 0x120], 0x22
lea rdx, [rbp + 0x120]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x128], 0x22
lea rdx, [rbp + 0x128]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
mov byte [rsp + 0x40], 1
jmp 0x1400413d0
xor r12d, r12d
cmp byte [rbp + 0x340], 0
je 0x140041626
cmp dword [rbp + 0x1cc], 0
jne 0x140041626
mov r8d, 1
mov byte [rsp + 0x50], 0x2c
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x58], 0x22
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.stdout
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rsp + 0x60], 0x22
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rsp + 0x68]
mov byte [rsp + 0x68], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 0
lea rdx, [rsp + 0x70]
mov byte [rsp + 0x70], 0x22
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov rbx, qword [rbp + 0x358]
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x190]
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x1f8], r12
mov qword [rbp + 0x200], r12
mov r8, qword [rbx + 0x110]
call fcn.14003df20
mov rsi, qword [rbp + 0x1f8]
mov edi, r12d
mov r14, qword [rbp + 0x1f0]
test rsi, rsi
je 0x140041521
mov rbx, r14
nop dword [rax]
mov rdx, qword [rbx]
lea rcx, [rsp + 0x20]
mov r8, 0xffffffffffffffff
call fcn.1400380c0
mov r8, 0xffffffffffffffff
lea rdx, str._n_EWIDS
lea rcx, [rsp + 0x20]
call fcn.1400380c0
inc edi
lea rbx, [rbx + 8]
movsxd rax, edi
cmp rax, rsi
jne 0x1400414e0
mov rbx, qword [rbp + 0x358]
test r14, r14
je 0x14004154f
mov rdx, qword [r14 - 8]
lea rcx, [r14 - 8]
mov rax, qword [rbx + 0x110]
neg rdx
lock add qword [rax], rdx
call fcn.14005a480
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x178], rax
mov rdi, qword [rsp + 0x20]
lea r13, [rbp + 0x158]
mov r15, qword [rsp + 0x48]
mov r12d, 1
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov byte [rbp + 0x158], 0x22
nop word [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x1400415f2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x1400415bd
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140041580
mov qword [rsp + 0x30], r14
jmp 0x140041720
mov rbx, qword [rbp + 0x178]
test rbx, rbx
je 0x140041720
mov r8d, 1
mov byte [rsp + 0x70], 0x2c
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x68], 0x22
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rdx, str.stdout
lea rcx, [rsp + 0x20]
call fcn.1400380c0
mov r8d, 1
mov byte [rsp + 0x60], 0x22
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 1
lea rdx, [rsp + 0x58]
mov byte [rsp + 0x58], 0x3a
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8d, 1
mov byte [rsp + 0x40], 0
lea rdx, [rsp + 0x50]
mov byte [rsp + 0x50], 0x22
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.1400380c0
mov r8d, 1
mov byte [rbp + 0x160], 0x22
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x20]
call fcn.140037fc0
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
mov byte [rbp + 0x168], 0x7d
lea r13, [rbp + 0x168]
mov r12d, 1
nop dword [rax]
nop dword [rax + rax]
mov rax, r14
sub rax, rsi
add rax, 0x3f8
jne 0x1400417b2
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rax, [rdx + 0x400]
cmp rax, qword [rcx + 0x10]
jbe 0x14004177d
mov edx, 0x400
mov rcx, rdi
call fcn.14003cf60
xor edx, edx
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x400]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, rdx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov eax, 0x3f8
mov qword [rdi + 0x10], rdx
mov qword [r14 + 0x3f8], rsi
mov r14, rsi
cmp rax, r12
mov rbx, r12
mov rdx, r13
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.14004fbf0
add rsi, rbx
add r15, rbx
add r13, rbx
sub r12, rbx
jne 0x140041740
cmp qword [0x14009b820], r12
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
je 0x14004186c
lea rcx, [0x14009c210]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x14009b820]
mov rdi, qword [rsp + 0x28]
test r15, r15
je 0x140041852
nop dword [rax]
nop word [rax + rax]
mov ebx, 0x3f8
mov r9, rsi
cmp r15, rbx
mov edx, 1
mov rcx, rdi
cmovb rbx, r15
mov r8, rbx
call fcn.140058e40
mov rdi, qword [rdi + 0x3f8]
sub r15, rbx
jne 0x140041820
mov rsi, qword [0x14009b820]
mov rdx, rsi
mov ecx, 0xa
call fcn.14005974c
lea rcx, [0x14009c210]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0x360]
mov rdx, qword [rbp + 0x1e8]
mov rax, qword [rcx + 0x10]
mov qword [rcx + 0x18], rdx
cmp qword [rax + 0x20], rdx
jbe 0x14004189d
nop dword [rax + rax]
mov rax, qword [rax]
mov qword [rcx + 0x10], rax
cmp qword [rax + 0x20], rdx
ja 0x140041890
mov rax, qword [rcx + 0x10]
mov r11, qword [rbp + 0x350]
sub rdx, qword [rax + 0x20]
mov qword [rax + 0x18], rdx
cmp byte [0x14009c249], 0
jne 0x140041a61
cmp byte [rbp + 0x340], 0
je 0x1400419c2
movsxd rax, dword [0x1400d1348]
cmp rax, 0x80
jae 0x1400419c2
mov rbx, qword [rbp + 0x358]
test r11, r11
je 0x1400418ff
mov rcx, qword [rbx + 0x110]
mov rdx, r11
call fcn.14003cef0
mov qword [rbp + 0x198], rax
mov rax, qword [rbp + 0x178]
test rax, rax
je 0x140041921
mov rcx, qword [rbx + 0x110]
mov rdx, rax
call fcn.14003cef0
mov qword [rbp + 0x1b8], rax
mov r14, qword [rbp + 0x380]
test r14, r14
je 0x14004196b
mov rax, qword [rbp + 0x348]
mov rbx, qword [rbx + 0x110]
movsxd rsi, dword [rax + 0x40]
mov rdi, rsi
lea rcx, [rsi + 8]
call fcn.14005a7bc
mov qword [rax], rsi
lock add qword [rbx], rdi
lea rbx, [rax + 8]
mov r8, rsi
mov rcx, rbx
mov rdx, r14
call fcn.14004fbf0
mov qword [rbp + 0x1b0], rbx
movsxd rax, dword [0x1400d1348]
movaps xmm0, xmmword [rbp + 0x190]
movaps xmm1, xmmword [rbp + 0x1a0]
inc dword [0x1400d1348]
lea rcx, [rax + rax*8]
lea rax, [0x1400c23d0]
movups xmmword [rax + rcx*8], xmm0
movaps xmm0, xmmword [rbp + 0x1b0]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movaps xmm1, xmmword [rbp + 0x1c0]
movups xmmword [rax + rcx*8 + 0x20], xmm0
movsd xmm0, qword [rbp + 0x1d0]
movups xmmword [rax + rcx*8 + 0x30], xmm1
movsd qword [rax + rcx*8 + 0x40], xmm0
jmp 0x140041a10
lea rcx, [0x1400c2398]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 1
call fcn.140055238
mov r8, qword [rbp + 0x358]
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x340]
mov qword [rbp + 0x340], rax
call fcn.14003e0e0
cmp byte [0x14009c249], 0
jne 0x140041a10
lea rcx, [0x1400c2398]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc dword [0x1400d135c]
lea rcx, [rbp + 0x358]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140041a75
mov rax, qword [rbp + 0x358]
xor edx, edx
sub rax, qword [0x14009c1f8]
imul rax, rax, 0xf4240
div qword [0x14009c1f0]
add rax, qword [0x14009c200]
mov qword [0x1400c23c0], rax
mov rax, qword [rbp + 0x348]
mov qword [0x1400d1350], rax
add rsp, 0x3f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140014f00
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140014f00
int3