Function at 0x1400b31d8
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x20
mov rdi, rcx
mov r13d, 1
test dl, dl
jne 0x1400b3276
cmp byte [0x140172346], dl
je 0x1400b3276
mov r14, qword [0x140172360]
test r14, r14
je 0x1400b3276
test rcx, rcx
je 0x1400b3276
mov r15b, byte [rcx]
test r15b, r15b
je 0x1400b3276
or rsi, 0xffffffffffffffff
inc rsi
cmp byte [rcx + rsi], 0
jne 0x1400b3227
mov ebx, dword [r14 + 0x10]
cmp rsi, rbx
ja 0x1400b3276
sub ebx, esi
mov r14, qword [r14 + 8]
js 0x1400b3276
lea rbp, [r14 - 1]
mov al, byte [r14]
add rbp, r13
add r14, r13
sub ebx, r13d
cmp r15b, al
jne 0x1400b3272
cmp rdi, rbp
je 0x1400b32d7
test rbp, rbp
je 0x1400b3272
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call fcn.140106000
test eax, eax
je 0x1400b32d7
test ebx, ebx
jns 0x1400b3245
xor sil, sil
cmp byte [0x140172345], sil
jne 0x1400b3295
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x1400b3295
cmp byte [0x140172347], sil
je 0x1400b329e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x140172358], 0
jne 0x1400b3436
cmp byte [0x140172347], 0
je 0x1400b32dc
mov rax, qword [0x14016b658]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x1400b3436
xor edx, edx
mov rcx, rdi
call fcn.1400b3084
jmp 0x1400b3436
mov sil, r13b
jmp 0x1400b329e
lea rcx, [0x1401725a8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lock add dword [0x140172368], r13d
mov rcx, qword [0x140172360]
test rcx, rcx
jne 0x1400b3369
mov ecx, 0x10
call fcn.1400f44e0
mov rbx, rax
xor r8d, r8d
lea rax, [0x140143040]
mov edx, 0x20000
xor ecx, ecx
mov qword [rbx], rax
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov ecx, 0x40
mov qword [0x140172350], rbx
mov qword [rbx + 8], rax
call fcn.1400f44e0
mov rcx, rax
mov qword [0x140172360], rcx
and dword [rax + 0x38], 0
mov rax, qword [0x140172350]
and dword [rcx + 0x10], 0
mov qword [rcx], rax
lea rax, [rcx + 0x18]
mov qword [rcx + 8], rax
mov byte [rax], 0
mov dword [rcx + 0x14], 0x8001
jmp 0x1400b337e
cmp dword [rcx + 0x10], 0xfff80
jle 0x1400b337e
call fcn.1400b17d0
mov rcx, qword [0x140172360]
test rdi, rdi
je 0x1400b3392
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400b3387
jmp 0x1400b3394
xor ebx, ebx
test sil, sil
jne 0x1400b33d6
mov r8, rbx
mov rdx, rdi
call fcn.1400b18f8
cmp byte [0x140172344], sil
je 0x1400b33d6
mov ecx, r13d
call fcn.1400fbac4
mov r9, rax
mov r8, rbx
mov rdx, r13
mov rcx, rdi
call fcn.140109f78
mov ecx, r13d
call fcn.1400fbac4
mov rcx, rax
call fcn.14010a524
mov rcx, qword [0x140172348]
test rcx, rcx
je 0x1400b3417
lea rdx, [0x14013ed58]
call fcn.140107760
mov rsi, rax
test rax, rax
je 0x1400b3417
mov r9, rax
mov r8, rbx
mov rdx, r13
mov rcx, rdi
call fcn.140109f78
mov rcx, rsi
call fcn.14010a524
mov rcx, rsi
call fcn.140107928
mov rdx, rbx
mov rcx, rdi
call fcn.1400b3084
lea rcx, [0x1401725a8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lock dec dword [0x140172368]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r13
ret