Function at 0x1800cd9fc
Capabilities:
Print debug messages

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x890
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov qword [rbp + 0x898], rbx
mov qword [rbp + 0x8a0], rsi
mov qword [rbp + 0x8a8], rdi
mov r13d, r9d
mov r14, r8
mov rsi, rcx
xor r15d, r15d
cmp dword [rcx + 8], r15d
je 0x1800cdc45
cmp dword [rcx + 0x10], r15d
je 0x1800cdc45
mov r8d, edx
lea rdx, [rbp + 0x28]
call fcn.1800cdc6c
nop
movabs rbx, 0xffffffffffffff0
mov rdi, qword [rbp + 0x8b0]
cmp rdi, r15
jne 0x1800cda77
mov r12, r15
jmp 0x1800cdaea
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x1800cda92
mov r12, r15
jmp 0x1800cdaea
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1800cdaa4
mov rcx, rbx
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800f12f0
sub rsp, rcx
lea rbx, [rsp + 0x30]
cmp rbx, r15
je 0x1800cdae7
mov word [rbx], r15w
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb r12, r12
and r12, rbx
jmp 0x1800cdaea
mov r12, r15
lea rbx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rbx, qword [rbp + 0x30]
cmp rbx, r15
jne 0x1800cdb02
mov r8, r15
jmp 0x1800cdb7c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x1800cdb1d
mov r8, r15
jmp 0x1800cdb7c
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1800cdb36
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800f12f0
sub rsp, rcx
lea rdi, [rsp + 0x30]
cmp rdi, r15
je 0x1800cdb79
mov word [rdi], r15w
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], rdi
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb r8, r8
and r8, rdi
jmp 0x1800cdb7c
mov r8, r15
mov dword [rsp + 0x28], r13d
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
mov r9, r12
lea rdx, str.SBWATCHMAN_s_::__s____s__d___r_n
lea rcx, [rbp + 0x60]
call fcn.1800d20e8
mov ebx, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x18], r15
mov byte [rbp + 8], r15b
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x890]
call fcn.1800041c0
nop
lea r8, [rbp]
mov rdx, rax
mov rcx, qword [rsi + 0x18]
call fcn.1800cedc4
nop
mov rcx, qword [rbp + 0x890]
add rcx, 0xfffffffffffffff4
lea rax, [0x18015f758]
cmp rcx, rax
je 0x1800cdc04
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jg 0x1800cdc04
mov rcx, qword [rbp + 0x890]
add rcx, 0xfffffffffffffff4
call fcn.1800d1434
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
nop
cmp qword [rbp + 0x20], 0x10
jb 0x1800cdc29
mov rcx, qword [rbp + 8]
call fcn.1800d1290
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x18], r15
mov byte [rbp + 8], r15b
cmp qword [rbp + 0x48], 0x10
jb 0x1800cdc45
mov rcx, qword [rbp + 0x30]
call fcn.1800d1290
mov rbx, qword [rbp + 0x898]
mov rsi, qword [rbp + 0x8a0]
mov rdi, qword [rbp + 0x8a8]
lea rsp, [rbp + 0x860]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret