Function at 0x140027a50
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa68]
sub rsp, 0xb68
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov r15, rdx
mov r12, rcx
mov rax, qword [rcx]
test rax, rax
je 0x140027abd
cmp qword [rax], 0
je 0x140027ab4
xor ebx, ebx
xor r8d, r8d
mov rax, qword [r12]
mov rcx, qword [r8 + rax]
call fcn.140103fb8
lea rbx, [rbx + 1]
lea r8, [rbx*8]
mov rax, qword [r12]
cmp qword [r8 + rax], 0
jne 0x140027a90
mov rcx, qword [r12]
call fcn.140103fb8
mov rcx, qword [r12 + 8]
call fcn.140103fb8
lea rax, [0x14013adf0]
mov qword [rsp + 0x40], rax
lea r13, [0x140168648]
mov qword [rsp + 0x38], r13
xor dil, dil
xor esi, esi
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
or rbx, 0xffffffffffffffff
test r8d, r8d
jle 0x140027c0b
xor r14d, r14d
nop dword [rax + rax]
mov rcx, qword [rdx + 0x10]
add rcx, rdx
movzx ebx, word [rcx + r14]
cmp bx, 0x25
jne 0x140027b87
test dil, dil
jne 0x140027b87
lea eax, [rsi + 1]
cmp eax, r8d
jge 0x140027b87
mov rcx, qword [rdx + 0x10]
add rcx, rdx
cmp word [rcx + r14 + 2], 0x7b
jne 0x140027b87
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x140027b84
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.1400091b0
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x140027b84
mov qword [rbp - 0x58], rcx
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x140027b76
cmp eax, 0xffffffff
je 0x140027b84
lock add dword [rcx], 0xffffffff
setne al
test al, al
jne 0x140027b84
mov rcx, qword [rbp - 0x58]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
mov dil, 1
movzx edx, bx
lea rcx, [rsp + 0x38]
call fcn.14002ec90
cmp bx, 0x7d
jne 0x140027bec
test dil, dil
je 0x140027bec
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.1400091b0
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x140027be9
mov qword [rbp - 0x50], rcx
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x140027bdb
cmp eax, 0xffffffff
je 0x140027be9
lock add dword [rcx], 0xffffffff
setne al
test al, al
jne 0x140027be9
mov rcx, qword [rbp - 0x50]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
xor dil, dil
inc esi
add r14, 2
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
cmp esi, r8d
jl 0x140027b00
mov rax, qword [rsp + 0x40]
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 4], 0
je 0x140027c2a
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.1400091b0
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x250], 0x100
lea rcx, [rbp + 0x260]
mov qword [rbp + 0x258], 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.140103568
mov qword [r12 + 8], rax
mov rcx, qword [rsp + 0x40]
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
mov qword [rsp + 0x48], r13
xor r15d, r15d
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 0xc]
sub ecx, edx
lea ebx, [r15 + 1]
test ecx, ecx
jle 0x1400287b7
xor edi, edi
lea r9, [0x14013a2a8]
or r13, 0xffffffffffffffff
nop dword [rax]
nop word [rax + rax]
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 0x140027cdc
lock inc dword [rax]
mov rax, r13
nop
inc rax
cmp byte [r9 + rax], 0
jne 0x140027ce0
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], r9
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp + 0x110], xmm0
mov r8d, ebx
lea rdx, [rbp + 0x110]
lea rcx, [rsp + 0x30]
call fcn.140035030
test al, al
je 0x1400285ed
mov eax, 0x7d
mov word [rsp + 0x52], ax
mov r8d, ebx
movzx edx, ax
lea rcx, [rsp + 0x30]
call fcn.140030ca0
test al, al
je 0x1400285ed
mov rax, r13
lea rcx, [0x140139bb0]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027d45
mov dword [rbp - 0x10], eax
mov qword [rbp - 8], rcx
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x120], xmm0
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027d8b
mov rax, qword [r12 + 8]
lea rcx, [0x140139bb0]
mov qword [rax + rdi*8], rcx
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139ba0]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027d95
mov dword [rbp], eax
mov qword [rbp + 8], rcx
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0x130], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027ddb
mov rax, qword [r12 + 8]
lea r8, [0x140139ba0]
mov qword [rax + rdi*8], r8
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139bb8]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027de5
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x18], rcx
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x140], xmm0
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027e2b
mov rax, qword [r12 + 8]
lea rcx, [0x140139bb8]
mov qword [rax + rdi*8], rcx
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139bc8]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027e35
mov dword [rbp + 0x20], eax
mov qword [rbp + 0x28], rcx
movaps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x150], xmm0
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027e7b
mov rax, qword [r12 + 8]
lea r8, [0x140139bc8]
mov qword [rax + rdi*8], r8
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139bd0]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027e85
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x38], rcx
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x160], xmm0
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027ecb
mov rax, qword [r12 + 8]
lea rcx, [0x140139bd0]
mov qword [rax + rdi*8], rcx
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139bd8]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027ed5
mov dword [rbp + 0x40], eax
mov qword [rbp + 0x48], rcx
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x170], xmm0
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027f1b
mov rax, qword [r12 + 8]
lea r8, [0x140139bd8]
mov qword [rax + rdi*8], r8
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139be4]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027f25
mov dword [rbp + 0x50], eax
mov qword [rbp + 0x58], rcx
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x180], xmm0
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027f6b
mov rax, qword [r12 + 8]
lea rcx, [0x140139be4]
mov qword [rax + rdi*8], rcx
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139bf0]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027f75
mov dword [rbp + 0x60], eax
mov qword [rbp + 0x68], rcx
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x190], xmm0
lea rdx, [rbp + 0x190]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140027fbb
mov rax, qword [r12 + 8]
lea r8, [0x140139bf0]
mov qword [rax + rdi*8], r8
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c00]
inc rax
cmp byte [rcx + rax], 0
jne 0x140027fc5
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x78], rcx
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x1a0], xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x14002800b
mov rax, qword [r12 + 8]
lea rcx, [0x140139c00]
mov qword [rax + rdi*8], rcx
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c10]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028015
mov dword [rbp + 0x80], eax
mov qword [rbp + 0x88], rcx
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x1b0], xmm0
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140028064
mov rax, qword [r12 + 8]
lea r8, [0x140139c10]
mov qword [rax + rdi*8], r8
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c20]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140028070
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x98], rcx
movaps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp + 0x1c0], xmm0
mov r8d, ebx
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x30]
call fcn.140035030
test al, al
je 0x140028158
mov rax, qword [r12 + 8]
lea rcx, [0x140139c20]
mov qword [rax + rdi*8], rcx
mov r9d, ebx
xor r8d, r8d
lea edx, [r8 + 0x20]
lea rcx, [rsp + 0x30]
call fcn.140031860
test eax, eax
jle 0x1400286b4
mov rcx, qword [rsp + 0x30]
mov r9d, dword [rcx + 4]
sub r9d, eax
sub r9d, 2
lea r8d, [rax + 1]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.140032220
mov rdx, qword [r12 + 0x10]
mov qword [rbp + 0x108], rdx
mov rcx, qword [rax]
mov qword [r12 + 0x10], rcx
mov qword [rax], rdx
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx]
test eax, eax
je 0x140028145
cmp eax, 0xffffffff
je 0x1400286b4
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400286b4
mov rcx, qword [rsp + 0x58]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c28]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028162
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0xa8], rcx
movaps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x1d0], xmm0
mov r8d, ebx
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x30]
call fcn.140035030
test al, al
je 0x140028208
xor eax, eax
mov byte [rbp + 0xab8], al
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xab8]
call fcn.140025f40
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14002edd0
nop
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x1400281f5
cmp eax, 0xffffffff
je 0x1400286b4
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400286b4
mov rcx, qword [rsp + 0x60]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c38]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028212
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xb8], rcx
movaps xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x1e0], xmm0
lea rdx, [rbp + 0x1e0]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x14002826f
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rcx, [0x140139c38]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c48]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140028280
mov dword [rbp + 0xc0], eax
mov qword [rbp + 0xc8], rcx
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x1f0], xmm0
lea rdx, [rbp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x1400282dd
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea r8, [0x140139c48]
mov qword [rax + rdi*8], r8
mov sil, 1
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c58]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400282e7
mov dword [rbp + 0xd0], eax
mov qword [rbp + 0xd8], rcx
movaps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x200], xmm0
lea rdx, [rbp + 0x200]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140028344
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rcx, [0x140139c58]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c68]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140028350
mov dword [rbp + 0xe0], eax
mov qword [rbp + 0xe8], rcx
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x210], xmm0
lea rdx, [rbp + 0x210]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x1400283ad
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea r8, [0x140139c68]
mov qword [rax + rdi*8], r8
mov sil, 1
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c78]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400283b7
mov dword [rbp + 0xf0], eax
mov qword [rbp + 0xf8], rcx
movaps xmm0, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0x220], xmm0
lea rdx, [rbp + 0x220]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140028414
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rcx, [0x140139c78]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c88]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140028420
mov dword [rbp - 0x40], eax
mov qword [rbp - 0x38], rcx
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x230], xmm0
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
je 0x140028474
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea r8, [0x140139c88]
mov qword [rax + rdi*8], r8
mov sil, 1
jmp 0x1400286b4
mov rax, r13
lea rcx, [0x140139c98]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140028480
mov dword [rbp - 0x30], eax
mov qword [rbp - 0x28], rcx
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x240], xmm0
lea rdx, [rbp + 0x240]
lea rcx, [rsp + 0x30]
call fcn.14002eb20
test al, al
mov rax, qword [r12 + 8]
je 0x140028527
lea rcx, [0x140139c98]
mov qword [rax + rdi*8], rcx
test sil, sil
jne 0x14002851f
test r14b, r14b
jne 0x14002851f
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xac0]
call fcn.140025ee0
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14002edd0
nop
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx]
test eax, eax
je 0x140028511
cmp eax, 0xffffffff
je 0x14002851f
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14002851f
mov rcx, qword [rsp + 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
xor sil, sil
jmp 0x1400286b4
lea rcx, [0x140139bac]
mov qword [rax + rdi*8], rcx
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xac8]
call fcn.140025ec0
nop
mov ecx, 0x20
mov word [rsp + 0x54], cx
mov word [rsp + 0x20], cx
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.14002f000
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14002edd0
nop
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x14002859d
cmp eax, 0xffffffff
je 0x1400285ac
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400285ac
mov rcx, qword [rsp + 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
nop
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x1400285da
cmp eax, 0xffffffff
je 0x1400286b4
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400286b4
mov rcx, qword [rsp + 0x78]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
jmp 0x1400286b4
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
inc ecx
movsxd rcx, ecx
call fcn.140103568
mov rbx, rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140028aa0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
movsxd r8, dword [rcx + 4]
add rdx, qword [rdx + 0x10]
mov rcx, rbx
call fcn.14010bc10
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx]
test eax, eax
je 0x14002864c
cmp eax, 0xffffffff
je 0x14002865a
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x14002865a
mov rcx, qword [rbp - 0x80]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1400397e0
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov byte [rcx + rbx], 0
mov ecx, dword [rbp + 0x254]
cmp ecx, dword [rbp + 0x250]
jne 0x14002868d
lea r8d, [rcx + rcx]
mov edx, ecx
lea rcx, [rbp + 0x250]
call fcn.140027990
mov ecx, dword [rbp + 0x254]
movsxd rax, ecx
inc ecx
mov dword [rbp + 0x254], ecx
mov rcx, rax
mov rax, qword [rbp + 0x258]
mov qword [rax + rcx*8], rbx
mov rax, qword [r12 + 8]
mov qword [rax + rdi*8], rbx
mov ebx, 1
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x1400286da
cmp eax, 0xffffffff
je 0x1400286e8
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400286e8
mov rcx, qword [rsp + 0x30]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
inc r15d
inc rdi
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 0xc]
sub ecx, edx
cmp r15d, ecx
lea r9, [0x14013a2a8]
jl 0x140027cc0
test r14b, r14b
je 0x140028761
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x51]
call fcn.140025f20
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14002edd0
nop
mov rcx, qword [rbp - 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x140028751
cmp eax, 0xffffffff
je 0x1400287bb
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400287bb
mov rcx, qword [rbp - 0x78]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
jmp 0x1400287bb
test sil, sil
je 0x1400287bb
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.140025f00
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14002edd0
nop
mov rcx, qword [rbp - 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x1400287a7
cmp eax, 0xffffffff
je 0x1400287bb
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400287bb
mov rcx, qword [rbp - 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
jmp 0x1400287bb
or r13, 0xffffffffffffffff
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x140028927
mov ecx, dword [0x14194ef20]
mov rax, qword gs:[0x58]
mov edx, 8
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x14194b8f4], eax
jle 0x140028896
lea rcx, [0x14194b8f4]
call fcn.140103d8c
cmp dword [0x14194b8f4], 0xffffffff
jne 0x140028896
mov byte [rbp + 0xab0], 1
lea rdx, [0x140139f88]
lea rcx, [rbp - 0x68]
call fcn.140042530
nop
mov r8d, 0xa
lea rdx, [rbp + 0xab0]
mov rcx, rax
call fcn.1400256c0
mov ebx, eax
mov rcx, qword [rbp - 0x68]
mov edx, dword [rcx]
test edx, edx
je 0x14002885d
cmp edx, 0xffffffff
je 0x14002886b
mov edx, r13d
lock xadd dword [rcx], edx
add edx, 0xffffffff
setne cl
test cl, cl
jne 0x14002886b
mov rcx, qword [rbp - 0x68]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1400397e0
cmp byte [rbp + 0xab0], 0
je 0x140028878
test ebx, ebx
jmp 0x140028881
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
setne al
mov byte [0x14194b8f0], al
lea rcx, [0x14194b8f4]
call fcn.140103d2c
lea rcx, [rsp + 0x48]
cmp byte [0x14194b8f0], 0
jne 0x1400288b4
call fcn.1400360e0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140028927
lea rdx, [rbp - 0x60]
call fcn.140023370
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov ecx, 2
call fcn.140108fb4
mov rcx, rax
mov r8, rbx
lea rdx, [0x14013a2ac]
call fcn.140028d20
mov rcx, qword [rbp - 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x140028907
cmp eax, 0xffffffff
je 0x140028915
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028915
mov rcx, qword [rbp - 0x60]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1400397e0
mov ecx, 2
call fcn.140108fb4
mov rcx, rax
call fcn.140109458
mov eax, dword [rbp + 0x254]
inc eax
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.140103568
mov qword [r12], rax
movsxd rcx, dword [rbp + 0x254]
mov qword [rax + rcx*8], 0
movsxd r8, dword [rbp + 0x254]
shl r8, 3
mov rdx, qword [rbp + 0x258]
mov rcx, qword [r12]
call fcn.1401049f0
nop
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
test eax, eax
je 0x14002899b
cmp eax, 0xffffffff
je 0x1400289aa
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400289aa
mov rcx, qword [rsp + 0x48]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
nop
lea rax, [rbp + 0x260]
mov rcx, qword [rbp + 0x258]
cmp rcx, rax
je 0x1400289c3
call fcn.140108da8
nop
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx]
test eax, eax
je 0x1400289e9
cmp eax, 0xffffffff
je 0x1400289f8
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x1400289f8
mov rcx, qword [rsp + 0x38]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1400397e0
nop
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi]
test eax, eax
je 0x140028a1e
cmp eax, 0xffffffff
je 0x140028a82
mov eax, r13d
lock xadd dword [rdi], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028a82
mov rdi, qword [rsp + 0x40]
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 0x140028a79
nop dword [rax + rax]
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x140028a63
cmp eax, 0xffffffff
je 0x140028a74
mov eax, r13d
lock xadd dword [rcx], eax
add eax, 0xffffffff
setne al
test al, al
jne 0x140028a74
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbx]
call fcn.1400397e0
cmp rbx, rsi
jne 0x140028a40
mov rcx, rdi
call fcn.140103560
nop
add rsp, 0xb68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret