Function at 0x14001c920
Capabilities:
Print debug messages

Disassembly:
push rbx
push rbp
push rsi
push r14
sub rsp, 0x38
mov rbp, qword [rcx + 0x40]
mov rbx, rcx
mov eax, dword [rbp + 0xc]
mov r14, qword [rbp + 0x10]
mov esi, dword [rbp + 8]
test eax, eax
je 0x14001cc9d
cmp r14, 0x1000
jb 0x14001cc9d
movabs rcx, 0xffff800000000000
test rcx, r14
jne 0x14001cc9d
test esi, esi
je 0x14001cc9d
cmp eax, esi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x30], r15
lea r15d, [rsi - 1]
cmovb r15d, eax
mov eax, dword [rbx + 0x30]
test al, 0x20
je 0x14001cabe
mov r12, qword [rbx + 0x90]
test r12, r12
je 0x14001cabe
mov esi, dword [rbx + 0x84]
add r12, 0x10
add rsi, 0xffffffffffffffe0
mov edi, r15d
mov r15, qword [rbx + 0x98]
mov rdx, r14
mov qword [rsp + 0x70], r13
mov rax, r15
sub rax, r12
mov r13, rsi
cmp rax, rsi
cmovae r15, r12
sub r13, rax
cmp rax, rsi
mov rcx, r15
cmovae r13, rsi
cmp rdi, r13
jae 0x14001ca1a
mov r8d, edi
call sym.NetMonitor.exe_nocrt_memcpy
mov r13, qword [rsp + 0x70]
lea rax, [r15 + rdi]
mov byte [rax], 0
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x88]
add rax, rdi
xor esi, esi
mov qword [rbx + 0x88], rax
mov dword [rbp + 0xc], esi
mov byte [r14], sil
jmp 0x14001cc8e
mov r8, r13
call sym.NetMonitor.exe_nocrt_memcpy
mov rax, qword [rbx + 0x88]
lea r15, [r14 + r13]
add rax, r13
sub rdi, r13
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x98], r12
cmp rdi, rsi
jb 0x14001ca7a
nop word [rax + rax]
mov r8, rsi
mov rdx, r15
mov rcx, r12
call sym.NetMonitor.exe_nocrt_memcpy
mov rax, qword [rbx + 0x88]
add r15, rsi
add rax, rsi
sub rdi, rsi
mov qword [rbx + 0x88], rax
cmp rdi, rsi
jae 0x14001ca50
test rdi, rdi
je 0x14001ca9e
mov r8, rdi
mov rdx, r15
mov rcx, r12
call sym.NetMonitor.exe_nocrt_memcpy
mov rax, qword [rbx + 0x88]
add rax, rdi
mov qword [rbx + 0x88], rax
mov r13, qword [rsp + 0x70]
lea rax, [r12 + rdi]
mov byte [rax], 0
xor esi, esi
mov qword [rbx + 0x98], rax
mov dword [rbp + 0xc], esi
mov byte [r14], sil
jmp 0x14001cc8e
bt eax, 0x11
jb 0x14001cc43
mov byte [r15 + r14], 0
mov eax, dword [rbx + 0x30]
mov edi, r15d
bt eax, 0x1e
jae 0x14001cae6
mov edx, edi
mov rcx, r14
call fcn.1400400f0
mov eax, dword [rbx + 0x30]
test al, 0x40
je 0x14001cafb
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.140001650
mov eax, dword [rbx + 0x30]
test al, al
jns 0x14001cb10
mov r8b, 1
mov rdx, rdi
mov rcx, r14
call fcn.140001650
mov eax, dword [rbx + 0x30]
test al, 8
je 0x14001cb22
mov rdx, rdi
mov rcx, r14
call sub.KERNEL32.dll_OutputDebugStringA
mov eax, dword [rbx + 0x30]
and al, 0x21
xor esi, esi
cmp al, 1
jne 0x14001cb8a
cmp byte [rbx + 0x10f8], sil
je 0x14001cb7b
mov rax, qword [rbx + 0xc0]
mov r9, rdi
mov rdx, qword [rbx + 0xc8]
mov rcx, rax
mov r8, r14
mov qword [rsp + 0x20], rsi
mov rax, qword [rax + 0x28]
call qword [case.0x14004be35.0]
mov eax, dword [rbx + 0x28]
bt rax, 9
jae 0x14001cb7b
mov rcx, qword [rbx + 0xc0]
mov rdx, qword [rbx + 0xc8]
mov rax, qword [rcx + 0x30]
call qword [case.0x14004be35.0]
cmp dword [rbx + 0xf0], esi
je 0x14001cb8a
add qword [rbx + 0xe0], rdi
mov eax, dword [rbx + 0x30]
test al, 2
je 0x14001cb9f
mov rdx, rdi
mov rcx, r14
call fcn.140040100
mov eax, dword [rbx + 0x30]
test al, 4
je 0x14001cbae
mov rdx, rdi
mov rcx, r14
call fcn.140040150
mov rax, qword [rbx + 0x50]
test rax, rax
je 0x14001cc04
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x14001cbc8
mov dword [rcx + 4], r15d
mov rax, qword [rbx + 0x50]
mov rdx, rbp
mov rcx, rbx
call qword [case.0x14004be35.0]
test al, al
jne 0x14001cc04
sub rbp, qword [rbx + 0x38]
xor edx, edx
movzx ecx, byte [rbx + 0x34]
sar rbp, 5
lea rax, [rbp + 1]
div rcx
mov rbp, rdx
mov byte [rbx + 0x35], bpl
shl rbp, 5
add rbp, qword [rbx + 0x38]
mov qword [rbx + 0x40], rbp
mov r14, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov dword [rbp + 0xc], esi
test rax, rax
je 0x14001cc13
mov dword [rax + 4], esi
mov byte [r14], sil
cmp dword [rbx + 0xf0], esi
jbe 0x14001cc8e
test byte [rbx + 0x30], 1
je 0x14001cc8e
call fcn.140040970
xor edx, edx
xor r9d, r9d
div dword [rbx + 0xe8]
xor r8d, r8d
mov rcx, rbx
mov edx, eax
call fcn.14001cf90
jmp 0x14001cc8e
shr esi, 1
cmp r15d, esi
jbe 0x14001cc8e
mov rbx, qword [rbx + 0x28]
lea rax, str._r_n_DROP_DROP_DROP__r_n
and ebx, 0x10
mov ecx, esi
mov edi, 0x12
lea rdx, str._n_DROP_DROP_DROP__n
mov r8d, edi
mov r15d, 0x14
cmovne r8d, r15d
test rbx, rbx
cmovne rdx, rax
add rcx, r14
call sym.NetMonitor.exe_nocrt_memcpy
test rbx, rbx
cmovne edi, r15d
add edi, esi
mov dword [rbp + 0xc], edi
mov r12, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
add rsp, 0x38
pop r14
pop rsi
pop rbp
pop rbx
ret