Function at 0x140027be0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xaa8]
sub rsp, 0xba8
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov r15, rdx
mov r12, rcx
mov rax, qword [rcx]
test rax, rax
je 0x140027c4d
cmp qword [rax], 0
je 0x140027c44
xor ebx, ebx
xor r8d, r8d
mov rax, qword [r12]
mov rcx, qword [r8 + rax]
call fcn.140120d70
lea rbx, [rbx + 1]
lea r8, [rbx*8]
mov rax, qword [r12]
cmp qword [r8 + rax], 0
jne 0x140027c20
mov rcx, qword [r12]
call fcn.140120d70
mov rcx, qword [r12 + 8]
call fcn.140120d70
lea r13, [r12 + 0x10]
mov rcx, r13
call fcn.140025ea0
lea rax, [0x140157d00]
mov qword [rsp + 0x48], rax
lea rcx, [0x140187f70]
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 0x140027db0
xor r14d, r14d
lea r13, [0x140187f70]
nop
mov rcx, qword [rdx + 0x10]
add rcx, rdx
movzx ebx, word [rcx + r14]
cmp bx, 0x25
jne 0x140027d27
test dil, dil
jne 0x140027d27
lea eax, [rsi + 1]
cmp eax, r8d
jge 0x140027d27
mov rcx, qword [rdx + 0x10]
add rcx, rdx
cmp word [rcx + r14 + 2], 0x7b
jne 0x140027d27
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x140027d24
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.140009210
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x140027d24
mov qword [rbp - 0x68], rcx
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x140027d16
cmp eax, 0xffffffff
je 0x140027d24
lock add dword [rcx], 0xffffffff
setne al
test al, al
jne 0x140027d24
mov rcx, qword [rbp - 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
mov dil, 1
movzx edx, bx
lea rcx, [rsp + 0x38]
call fcn.14002f800
cmp bx, 0x7d
jne 0x140027d8c
test dil, dil
je 0x140027d8c
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.140009210
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x140027d89
mov qword [rbp - 0x60], rcx
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x140027d7b
cmp eax, 0xffffffff
je 0x140027d89
lock add dword [rcx], 0xffffffff
setne al
test al, al
jne 0x140027d89
mov rcx, qword [rbp - 0x60]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
xor dil, dil
inc esi
add r14, 2
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
cmp esi, r8d
jl 0x140027ca0
mov rax, qword [rsp + 0x48]
lea r13, [r12 + 0x10]
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 4], 0
je 0x140027dcf
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.140009210
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x290], 0x100
lea rcx, [rbp + 0x2a0]
mov qword [rbp + 0x298], 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.140120320
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, [0x140187f70]
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 0x140028977
xor edi, edi
lea r10, [0x1401570d0]
jmp 0x140027e66
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 0x140027e82
lock inc dword [rax]
mov rax, rbx
inc rax
cmp byte [r10 + rax], 0
jne 0x140027e85
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], r10
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rsp + 0x30]
call fcn.140035bb0
test al, al
je 0x1400287f4
mov eax, 0x7d
mov word [rbp + 0xb00], ax
lea r8d, [rax - 0x7c]
movzx edx, ax
lea rcx, [rsp + 0x30]
call fcn.1400317e0
test al, al
je 0x1400287f4
mov rax, rbx
lea rcx, [0x140156b20]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027ef0
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.14002f3a0
test al, al
je 0x140027f36
mov rax, qword [r12 + 8]
lea rcx, [0x140156b20]
mov qword [rax + rdi*8], rcx
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b10]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027f40
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.14002f3a0
test al, al
je 0x140027f86
mov rax, qword [r12 + 8]
lea r9, [0x140156b10]
mov qword [rax + rdi*8], r9
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b28]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027f90
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.14002f3a0
test al, al
je 0x140027fd6
mov rax, qword [r12 + 8]
lea rcx, [0x140156b28]
mov qword [rax + rdi*8], rcx
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b38]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027fe0
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.14002f3a0
test al, al
je 0x140028026
mov rax, qword [r12 + 8]
lea r9, [0x140156b38]
mov qword [rax + rdi*8], r9
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b40]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028030
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.14002f3a0
test al, al
je 0x140028076
mov rax, qword [r12 + 8]
lea rcx, [0x140156b40]
mov qword [rax + rdi*8], rcx
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b48]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028080
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.14002f3a0
test al, al
je 0x1400280c6
mov rax, qword [r12 + 8]
lea r9, [0x140156b48]
mov qword [rax + rdi*8], r9
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b54]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400280d0
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.14002f3a0
test al, al
je 0x140028116
mov rax, qword [r12 + 8]
lea rcx, [0x140156b54]
mov qword [rax + rdi*8], rcx
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b60]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028120
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.14002f3a0
test al, al
je 0x140028166
mov rax, qword [r12 + 8]
lea r9, [0x140156b60]
mov qword [rax + rdi*8], r9
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b70]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028170
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.14002f3a0
test al, al
je 0x1400281b6
mov rax, qword [r12 + 8]
lea rcx, [0x140156b70]
mov qword [rax + rdi*8], rcx
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b80]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400281c0
mov dword [rbp + 0x50], eax
mov qword [rbp + 0x58], rcx
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x1b0], xmm0
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x30]
call fcn.14002f3a0
test al, al
je 0x140028206
mov rax, qword [r12 + 8]
lea r9, [0x140156b80]
mov qword [rax + rdi*8], r9
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b90]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028210
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.140035bb0
test al, al
je 0x140028350
mov rax, qword [r12 + 8]
lea rcx, [0x140156b90]
mov qword [rax + rdi*8], rcx
mov ecx, 0x20
mov word [rbp + 0xb08], cx
lea r9d, [rcx - 0x1f]
xor r8d, r8d
movzx edx, cx
lea rcx, [rsp + 0x30]
call fcn.1400322a0
test eax, eax
jle 0x1400282f3
mov rcx, qword [rsp + 0x30]
mov r9d, dword [rcx + 4]
sub r9d, eax
sub r9d, 2
lea r8d, [rax + 1]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x30]
call fcn.140032bf0
nop
mov rdx, rax
mov rcx, r13
call fcn.140009210
nop
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx]
test eax, eax
je 0x1400282e0
cmp eax, 0xffffffff
je 0x1400288bb
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400288bb
mov rcx, qword [rsp + 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
jmp 0x1400288bb
lea rax, [0x140187f70]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
mov rcx, r13
call fcn.140009210
nop
mov eax, dword [0x140187f70]
test eax, eax
je 0x140028336
cmp eax, 0xffffffff
je 0x1400288bb
mov eax, ebx
lock xadd dword [0x140187f70], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400288bb
mov edx, 2
lea r8d, [rdx + 6]
lea rcx, [0x140187f70]
call fcn.140039ba0
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156b98]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028360
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x78], rcx
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x1d0], xmm0
mov r8d, 1
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x30]
call fcn.140035bb0
test al, al
mov rax, rbx
je 0x1400283ec
lea rcx, [0x1401570e0]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400283a1
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 + 0x40]
call fcn.14002f880
mov rax, qword [r12 + 8]
lea rcx, [0x141942b8c]
mov qword [rax + rdi*8], rcx
jmp 0x1400288bb
lea rcx, [0x140156ba8]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400283f3
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.14002f3a0
test al, al
je 0x140028455
movzx r14d, r14b
test sil, sil
mov eax, 1
cmovne r14d, eax
mov rax, qword [r12 + 8]
lea rcx, [0x140156ba8]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156bb8]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140028460
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.14002f3a0
test al, al
je 0x1400284c2
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea r9, [0x140156bb8]
mov qword [rax + rdi*8], r9
movzx esi, cl
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156bc8]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400284d0
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.14002f3a0
test al, al
je 0x140028532
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea rcx, [0x140156bc8]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156bd8]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028540
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.14002f3a0
test al, al
je 0x1400285a2
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea r9, [0x140156bd8]
mov qword [rax + rdi*8], r9
movzx esi, cl
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156be8]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400285b0
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.14002f3a0
test al, al
je 0x140028612
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea rcx, [0x140156be8]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156bf8]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028620
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.14002f3a0
test al, al
je 0x140028682
movzx r14d, r14b
test sil, sil
mov ecx, 1
cmovne r14d, ecx
mov rax, qword [r12 + 8]
lea r9, [0x140156bf8]
mov qword [rax + rdi*8], r9
movzx esi, cl
jmp 0x1400288bb
mov rax, rbx
lea rcx, [0x140156c08]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028690
mov dword [rbp + 0xf0], eax
mov qword [rbp + 0xf8], rcx
movaps xmm0, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0x250], xmm0
lea rdx, [rbp + 0x250]
lea rcx, [rsp + 0x30]
call fcn.14002f3a0
test al, al
mov rax, qword [r12 + 8]
je 0x140028728
lea rcx, [0x140156c08]
mov qword [rax + rdi*8], rcx
test sil, sil
jne 0x140028720
test r14b, r14b
jne 0x140028720
mov rax, rbx
lea rcx, [0x140157128]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x1400286f0
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x260], xmm0
lea rdx, [rbp + 0x260]
lea rcx, [rsp + 0x40]
call fcn.14002f880
xor sil, sil
jmp 0x1400288bb
lea rcx, [0x140156b1c]
mov qword [rax + rdi*8], rcx
xor eax, eax
mov byte [rbp + 0xaf8], al
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xaf8]
call fcn.140025e80
nop
mov ecx, 0x20
mov word [rsp + 0x60], cx
mov word [rsp + 0x20], cx
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.14002fae0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14002f590
nop
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x1400287a5
cmp eax, 0xffffffff
je 0x1400287b4
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400287b4
mov rcx, qword [rsp + 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
nop
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x1400287e1
cmp eax, 0xffffffff
je 0x1400288bb
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400288bb
mov rcx, qword [rsp + 0x78]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
jmp 0x1400288bb
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
inc ecx
movsxd rcx, ecx
call fcn.140120320
mov rbx, rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140028c70
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
movsxd r8, dword [rcx + 4]
add rdx, qword [rdx + 0x10]
mov rcx, rbx
call fcn.140128650
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx]
test eax, eax
je 0x140028854
cmp eax, 0xffffffff
je 0x140028862
or rax, 0xffffffffffffffff
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028862
mov rcx, qword [rbp - 0x80]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140039ba0
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov byte [rcx + rbx], 0
mov ecx, dword [rbp + 0x294]
cmp ecx, dword [rbp + 0x290]
jne 0x140028895
lea r8d, [rcx + rcx]
mov edx, ecx
lea rcx, [rbp + 0x290]
call fcn.140027b20
mov ecx, dword [rbp + 0x294]
movsxd rax, ecx
inc ecx
mov dword [rbp + 0x294], ecx
mov rcx, rax
mov rax, qword [rbp + 0x298]
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 0x1400288e0
cmp eax, 0xffffffff
je 0x1400288ee
mov eax, ebx
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400288ee
mov rcx, qword [rsp + 0x30]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
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, [0x1401570d0]
jl 0x140027e60
test r14b, r14b
je 0x140028940
mov dword [rsp + 0x50], 0x2d
lea rax, [0x140157160]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x270], xmm0
lea rdx, [rbp + 0x270]
jmp 0x14002896d
test sil, sil
je 0x140028977
mov dword [rsp + 0x50], 0x25
lea rax, [0x140157190]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x280], xmm0
lea rdx, [rbp + 0x280]
lea rcx, [rsp + 0x40]
call fcn.14002f880
mov rax, qword [rsp + 0x40]
cmp dword [rax + 4], 0
je 0x140028ae8
mov ecx, dword [0x14197c020]
mov rax, qword gs:[0x58]
mov edx, 8
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x141978884], eax
jle 0x140028a56
lea rcx, [0x141978884]
call fcn.140120b44
cmp dword [0x141978884], 0xffffffff
jne 0x140028a56
mov byte [rbp + 0xaf0], 1
lea rdx, [0x140156fc0]
lea rcx, [rbp - 0x78]
call fcn.140043010
nop
mov r8d, 0xa
lea rdx, [rbp + 0xaf0]
mov rcx, rax
call fcn.140025470
mov ebx, eax
mov rcx, qword [rbp - 0x78]
mov edx, dword [rcx]
test edx, edx
je 0x140028a1b
cmp edx, 0xffffffff
je 0x140028a2b
or rax, 0xffffffffffffffff
mov edx, eax
lock xadd dword [rcx], edx
add edx, eax
setne cl
test cl, cl
jne 0x140028a2b
mov rcx, qword [rbp - 0x78]
mov eax, 1
lea r8d, [rax + 7]
mov edx, eax
call fcn.140039ba0
cmp byte [rbp + 0xaf0], 0
je 0x140028a38
test ebx, ebx
jmp 0x140028a41
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
setne al
mov byte [0x141978880], al
lea rcx, [0x141978884]
call fcn.140120ae4
lea rcx, [rsp + 0x40]
cmp byte [0x141978880], 0
jne 0x140028a74
call fcn.140036ca0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140028ae8
lea rdx, [rbp - 0x70]
call fcn.140022db0
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov ecx, 2
call fcn.140125cb8
mov rcx, rax
mov r8, rbx
lea rdx, [0x1401571b8]
call fcn.140028ee0
mov rcx, qword [rbp - 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x140028ac8
cmp eax, 0xffffffff
je 0x140028ad6
or rax, 0xffffffffffffffff
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028ad6
mov rcx, qword [rbp - 0x70]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140039ba0
mov ecx, 2
call fcn.140125cb8
mov rcx, rax
call fcn.14012615c
mov eax, dword [rbp + 0x294]
inc eax
movsxd rcx, eax
mov eax, 8
mul rcx
mov r14, 0xffffffffffffffff
cmovo rax, r14
mov rcx, rax
call fcn.140120320
mov qword [r12], rax
movsxd rcx, dword [rbp + 0x294]
mov qword [rax + rcx*8], 0
movsxd r8, dword [rbp + 0x294]
shl r8, 3
mov rdx, qword [rbp + 0x298]
mov rcx, qword [r12]
call fcn.1401217e0
nop
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx]
test eax, eax
je 0x140028b63
cmp eax, r14d
je 0x140028b72
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
setne al
test al, al
jne 0x140028b72
mov rcx, qword [rsp + 0x40]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
nop
lea rax, [rbp + 0x2a0]
mov rcx, qword [rbp + 0x298]
cmp rcx, rax
je 0x140028b8b
call fcn.140125aac
nop
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx]
test eax, eax
je 0x140028bb1
cmp eax, 0xffffffff
je 0x140028bc0
mov eax, r14d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028bc0
mov rcx, qword [rsp + 0x38]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140039ba0
nop
mov rdi, qword [rsp + 0x48]
mov eax, dword [rdi]
test eax, eax
je 0x140028bea
cmp eax, 0xffffffff
je 0x140028c52
mov eax, r14d
lock xadd dword [rdi], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028c52
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 0x140028c49
nop word [rax + rax]
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x140028c33
cmp eax, 0xffffffff
je 0x140028c44
mov eax, r14d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028c44
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbx]
call fcn.140039ba0
cmp rbx, rsi
jne 0x140028c10
mov rcx, rdi
call fcn.14011dbc0
nop
add rsp, 0xba8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret