Function at 0x14187e5d0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa98]
sub rsp, 0xb98
mov qword [rbp + 0xf0], 0xfffffffffffffffe
mov r15, rdx
mov r12, rcx
mov rax, qword [rcx]
test rax, rax
je 0x14187e63d
cmp qword [rax], 0
je 0x14187e634
xor ebx, ebx
xor r8d, r8d
mov rax, qword [r12]
mov rcx, qword [r8 + rax]
call fcn.14196a130
lea rbx, [rbx + 1]
lea r8, [rbx*8]
mov rax, qword [r12]
cmp qword [r8 + rax], 0
jne 0x14187e610
mov rcx, qword [r12]
call fcn.14196a130
mov rcx, qword [r12 + 8]
call fcn.14196a130
lea r13, [r12 + 0x10]
mov rcx, r13
call fcn.14187c9b0
lea rax, [0x140036818]
mov qword [rsp + 0x48], rax
lea rcx, [0x1400367e8]
mov qword [rsp + 0x38], rcx
xor dil, dil
xor esi, esi
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
or rbx, 0xffffffffffffffff
test r8d, r8d
jle 0x14187e7a0
xor r14d, r14d
lea r13, [0x1400367e8]
nop
mov rcx, qword [rdx + 0x10]
add rcx, rdx
movzx ebx, word [rcx + r14]
cmp bx, 0x25
jne 0x14187e717
test dil, dil
jne 0x14187e717
lea eax, [rsi + 1]
cmp eax, r8d
jge 0x14187e717
mov rcx, qword [rdx + 0x10]
add rcx, rdx
cmp word [rcx + r14 + 2], 0x7b
jne 0x14187e717
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x14187e714
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.141879460
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x14187e714
mov qword [rbp - 0x78], rcx
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x14187e706
cmp eax, 0xffffffff
je 0x14187e714
lock add dword [rcx], 0xffffffff
setne al
test al, al
jne 0x14187e714
mov rcx, qword [rbp - 0x78]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
mov dil, 1
movzx edx, bx
lea rcx, [rsp + 0x38]
call fcn.141884860
cmp bx, 0x7d
jne 0x14187e77c
test dil, dil
je 0x14187e77c
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.141879460
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x14187e779
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x14187e76b
cmp eax, 0xffffffff
je 0x14187e779
lock add dword [rcx], 0xffffffff
setne al
test al, al
jne 0x14187e779
mov rcx, qword [rbp - 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
xor dil, dil
inc esi
add r14, 2
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
cmp esi, r8d
jl 0x14187e690
mov rax, qword [rsp + 0x48]
lea r13, [r12 + 0x10]
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 4], 0
je 0x14187e7bf
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.141879460
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x280], 0x100
lea rcx, [rbp + 0x290]
mov qword [rbp + 0x288], rcx
mov ecx, dword [rax + 0xc]
sub ecx, dword [rax + 8]
lea eax, [rcx + 1]
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.14196a9c8
mov qword [r12 + 8], rax
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx + 0xc]
sub edx, dword [rcx + 8]
movsxd rcx, edx
mov qword [rax + rcx*8], 0
xor r14b, r14b
xor sil, sil
lea rax, [0x1400367e8]
mov qword [rsp + 0x40], rax
xor r15d, r15d
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 0xc]
sub ecx, edx
lea r8d, [r15 + 1]
test ecx, ecx
jle 0x14187f37b
xor edi, edi
lea r10, [0x1400018e0]
jmp 0x14187e856
mov r8d, 1
movsxd rcx, edx
add rcx, rdi
mov rax, qword [rax + rcx*8 + 0x10]
mov qword [rsp + 0x30], rax
mov ecx, dword [rax]
inc ecx
cmp ecx, 1
jbe 0x14187e872
lock inc dword [rax]
mov rax, rbx
inc rax
cmp byte [r10 + rax], 0
jne 0x14187e875
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x58], r10
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp + 0x100], xmm0
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x30]
call fcn.14188ce30
test al, al
je 0x14187f1e6
mov eax, 0x7d
mov word [rbp + 0xae8], ax
lea r8d, [rax - 0x7c]
movzx edx, ax
lea rcx, [rsp + 0x30]
call fcn.141887640
test al, al
je 0x14187f1e6
mov rax, rbx
lea rcx, [0x1400012c8]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187e8e0
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rcx
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187e926
mov rax, qword [r12 + 8]
lea rcx, [0x1400012c8]
mov qword [rax + rdi*8], rcx
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400012b8]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187e930
mov dword [rbp - 0x40], eax
mov qword [rbp - 0x38], rcx
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x120], xmm0
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187e976
mov rax, qword [r12 + 8]
lea r9, [0x1400012b8]
mov qword [rax + rdi*8], r9
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400012d0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187e980
mov dword [rbp - 0x30], eax
mov qword [rbp - 0x28], rcx
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x130], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187e9c6
mov rax, qword [r12 + 8]
lea rcx, [0x1400012d0]
mov qword [rax + rdi*8], rcx
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400012e0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187e9d0
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp + 0x140], xmm0
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187ea16
mov rax, qword [r12 + 8]
lea r9, [0x1400012e0]
mov qword [rax + rdi*8], r9
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400011b0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ea20
mov dword [rbp - 0x10], eax
mov qword [rbp - 8], rcx
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x150], xmm0
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187ea66
mov rax, qword [r12 + 8]
lea rcx, [0x1400011b0]
mov qword [rax + rdi*8], rcx
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400011b8]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ea70
mov dword [rbp], eax
mov qword [rbp + 8], rcx
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0x160], xmm0
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187eab6
mov rax, qword [r12 + 8]
lea r9, [0x1400011b8]
mov qword [rax + rdi*8], r9
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400011c4]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187eac0
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x18], rcx
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x170], xmm0
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187eb06
mov rax, qword [r12 + 8]
lea rcx, [0x1400011c4]
mov qword [rax + rdi*8], rcx
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400011d0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187eb10
mov dword [rbp + 0x20], eax
mov qword [rbp + 0x28], rcx
movaps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x180], xmm0
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187eb56
mov rax, qword [r12 + 8]
lea r9, [0x1400011d0]
mov qword [rax + rdi*8], r9
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400011e0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187eb60
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x38], rcx
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x190], xmm0
lea rdx, [rbp + 0x190]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187eba6
mov rax, qword [r12 + 8]
lea rcx, [0x1400011e0]
mov qword [rax + rdi*8], rcx
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x1400011f0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ebb0
mov dword [rbp + 0x40], eax
mov qword [rbp + 0x48], rcx
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x1a0], xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187ebf6
mov rax, qword [r12 + 8]
lea r9, [0x1400011f0]
mov qword [rax + rdi*8], r9
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001200]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ec00
mov dword [rbp + 0x50], eax
mov qword [rbp + 0x58], rcx
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x1b0], xmm0
mov r8d, 1
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x30]
call fcn.14188ce30
test al, al
je 0x14187ed40
mov rax, qword [r12 + 8]
lea rcx, [0x140001200]
mov qword [rax + rdi*8], rcx
mov ecx, 0x20
mov word [rbp + 0xaf0], cx
lea r9d, [rcx - 0x1f]
xor r8d, r8d
movzx edx, cx
lea rcx, [rsp + 0x30]
call fcn.141888190
test eax, eax
jle 0x14187ece3
mov rcx, qword [rsp + 0x30]
mov r9d, dword [rcx + 4]
sub r9d, eax
sub r9d, 2
lea r8d, [rax + 1]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.141888d80
nop
mov rdx, rax
mov rcx, r13
call fcn.141879460
nop
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x14187ecd0
cmp eax, 0xffffffff
je 0x14187f2bf
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f2bf
mov rcx, qword [rsp + 0x60]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
jmp 0x14187f2bf
lea rax, [0x1400367e8]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.141879460
nop
mov eax, dword [0x1400367e8]
test eax, eax
je 0x14187ed26
cmp eax, 0xffffffff
je 0x14187f2bf
mov eax, ebx
lock xadd dword [0x1400367e8], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f2bf
mov edx, 2
lea r8d, [rdx + 6]
lea rcx, [0x1400367e8]
call fcn.1418993e0
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001208]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ed50
mov dword [rbp + 0x60], eax
mov qword [rbp + 0x68], rcx
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x1c0], xmm0
mov r8d, 1
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x30]
call fcn.14188ce30
test al, al
mov rax, rbx
je 0x14187edd3
lea rcx, [0x1400018f0]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ed91
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x78], rcx
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x1d0], xmm0
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x40]
call fcn.141884bd0
mov rax, qword [r12 + 8]
lea rcx, [0x140179f10]
mov qword [rax + rdi*8], rcx
jmp 0x14187f2bf
lea rcx, [0x140001218]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ede0
mov dword [rbp + 0x80], eax
mov qword [rbp + 0x88], rcx
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x1e0], xmm0
lea rdx, [rbp + 0x1e0]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187ee42
movzx r14d, r14b
test sil, sil
mov eax, 1
cmovne r14d, eax
mov rax, qword [r12 + 8]
lea rcx, [0x140001218]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001228]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ee50
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x98], rcx
movaps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp + 0x1f0], xmm0
lea rdx, [rbp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187eeb2
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea r9, [0x140001228]
mov qword [rax + rdi*8], r9
movzx esi, cl
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001238]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187eec0
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0xa8], rcx
movaps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x200], xmm0
lea rdx, [rbp + 0x200]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187ef22
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea rcx, [0x140001238]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001248]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187ef30
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xb8], rcx
movaps xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x210], xmm0
lea rdx, [rbp + 0x210]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187ef92
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea r9, [0x140001248]
mov qword [rax + rdi*8], r9
movzx esi, cl
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001258]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187efa0
mov dword [rbp + 0xc0], eax
mov qword [rbp + 0xc8], rcx
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x220], xmm0
lea rdx, [rbp + 0x220]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187f002
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea rcx, [0x140001258]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001268]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187f010
mov dword [rbp + 0xd0], eax
mov qword [rbp + 0xd8], rcx
movaps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x230], xmm0
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
je 0x14187f072
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea r9, [0x140001268]
mov qword [rax + rdi*8], r9
movzx esi, cl
jmp 0x14187f2bf
mov rax, rbx
lea rcx, [0x140001278]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14187f080
mov dword [rbp + 0xe0], eax
mov qword [rbp + 0xe8], rcx
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x240], xmm0
lea rdx, [rbp + 0x240]
lea rcx, [rsp + 0x30]
call fcn.1418846a0
test al, al
mov rax, qword [r12 + 8]
je 0x14187f118
lea rcx, [0x140001278]
mov qword [rax + rdi*8], rcx
test sil, sil
jne 0x14187f110
test r14b, r14b
jne 0x14187f110
mov rax, rbx
lea rcx, [0x140001938]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x14187f0e0
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x250], xmm0
lea rdx, [rbp + 0x250]
lea rcx, [rsp + 0x40]
call fcn.141884bd0
xor sil, sil
jmp 0x14187f2bf
lea rcx, [0x1400011cb]
mov qword [rax + rdi*8], rcx
xor eax, eax
mov byte [rbp + 0xae0], al
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xae0]
call fcn.14187c910
nop
mov ecx, 0x20
mov word [rbp + 0xaf8], cx
mov word [rsp + 0x20], cx
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.141884e30
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.141884960
nop
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx]
test eax, eax
je 0x14187f197
cmp eax, 0xffffffff
je 0x14187f1a6
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f1a6
mov rcx, qword [rsp + 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x14187f1d3
cmp eax, 0xffffffff
je 0x14187f2bf
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f2bf
mov rcx, qword [rsp + 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
jmp 0x14187f2bf
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
inc ecx
movsxd rcx, ecx
call fcn.14196a9c8
mov rbx, rax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.14187f830
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
movsxd r8, dword [rcx + 4]
add rdx, qword [rdx + 0x10]
mov rcx, rbx
call fcn.141991030
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x14187f249
cmp eax, 0xffffffff
je 0x14187f257
or rax, 0xffffffffffffffff
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f257
mov rcx, qword [rsp + 0x78]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1418993e0
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov byte [rcx + rbx], 0
movsxd rcx, dword [rbp + 0x284]
cmp ecx, dword [rbp + 0x280]
jne 0x14187f299
lea r8d, [rcx + rcx]
mov edx, ecx
lea rcx, [rbp + 0x280]
call fcn.1418a72f0
movsxd rax, dword [rbp + 0x284]
mov rcx, rax
inc eax
mov dword [rbp + 0x284], eax
jmp 0x14187f2a7
mov rax, rcx
inc ecx
mov dword [rbp + 0x284], ecx
mov rcx, rax
mov rax, qword [rbp + 0x288]
mov qword [rax + rcx*8], rbx
mov rax, qword [r12 + 8]
mov qword [rax + rdi*8], rbx
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x14187f2e4
cmp eax, 0xffffffff
je 0x14187f2f2
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f2f2
mov rcx, qword [rsp + 0x30]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
inc r15d
inc rdi
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 0xc]
sub ecx, edx
cmp r15d, ecx
lea r10, [0x1400018e0]
jl 0x14187e850
test r14b, r14b
je 0x14187f344
mov dword [rsp + 0x50], 0x2d
lea rax, [0x140001970]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x260], xmm0
lea rdx, [rbp + 0x260]
jmp 0x14187f371
test sil, sil
je 0x14187f37b
mov dword [rsp + 0x50], 0x25
lea rax, [0x1400019a0]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x270], xmm0
lea rdx, [rbp + 0x270]
lea rcx, [rsp + 0x40]
call fcn.141884bd0
mov rax, qword [rsp + 0x40]
cmp dword [rax + 4], 0
je 0x14187f485
mov ecx, dword [0x1419f19b4]
mov rax, qword gs:[0x58]
mov edx, 8
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x1419ecd74], eax
jle 0x14187f3e5
lea rcx, [0x1419ecd74]
call fcn.14196a310
cmp dword [0x1419ecd74], 0xffffffff
jne 0x14187f3e5
xor edx, edx
lea rcx, [0x1400017d0]
call fcn.1418ad250
test eax, eax
setne byte [0x1419ecd70]
lea rcx, [0x1419ecd74]
call fcn.14196a2b0
cmp byte [0x1419ecd70], 0
jne 0x14187f40c
call fcn.14187f680
test al, al
jne 0x14187f40c
lea rcx, [rsp + 0x40]
call fcn.14188e360
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x14187f485
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.141881680
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov ecx, 2
call fcn.14198dafc
mov rcx, rax
mov r8, rbx
lea rdx, [0x140001a28]
call fcn.14187fad0
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx]
test eax, eax
je 0x14187f465
cmp eax, 0xffffffff
je 0x14187f473
or rax, 0xffffffffffffffff
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f473
mov rcx, qword [rbp - 0x80]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1418993e0
mov ecx, 2
call fcn.14198dafc
mov rcx, rax
call fcn.14198dd80
mov eax, dword [rbp + 0x284]
inc eax
movsxd rcx, eax
mov eax, 8
mul rcx
mov r14, 0xffffffffffffffff
cmovo rax, r14
mov rcx, rax
call fcn.14196a9c8
mov qword [r12], rax
movsxd rcx, dword [rbp + 0x284]
mov qword [rax + rcx*8], 0
movsxd r8, dword [rbp + 0x284]
shl r8, 3
mov rdx, qword [rbp + 0x288]
mov rcx, qword [r12]
call fcn.14198a7c0
nop
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx]
test eax, eax
je 0x14187f500
cmp eax, r14d
je 0x14187f50f
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
setne al
test al, al
jne 0x14187f50f
mov rcx, qword [rsp + 0x40]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
lea rax, [rbp + 0x290]
mov rcx, qword [rbp + 0x288]
cmp rcx, rax
je 0x14187f528
call fcn.14198ca40
nop
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx]
test eax, eax
je 0x14187f54e
cmp eax, 0xffffffff
je 0x14187f55d
mov eax, r14d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f55d
mov rcx, qword [rsp + 0x38]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rdi, qword [rsp + 0x48]
mov eax, dword [rdi]
test eax, eax
je 0x14187f583
cmp eax, 0xffffffff
je 0x14187f5e2
mov eax, r14d
lock xadd dword [rdi], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f5e2
mov rdi, qword [rsp + 0x48]
movsxd rbx, dword [rdi + 0xc]
add rbx, 2
lea rbx, [rdi + rbx*8]
movsxd rsi, dword [rdi + 8]
add rsi, 2
lea rsi, [rdi + rsi*8]
cmp rsi, rbx
je 0x14187f5d9
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x14187f5c3
cmp eax, 0xffffffff
je 0x14187f5d4
mov eax, r14d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14187f5d4
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbx]
call fcn.1418993e0
cmp rbx, rsi
jne 0x14187f5a0
mov rcx, rdi
call fcn.14196a720
nop
add rsp, 0xb98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret