Function at 0x14003f7f0
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 0x14003fb6d
cmp r14, 0x1000
jb 0x14003fb6d
movabs rcx, 0xffff800000000000
test rcx, r14
jne 0x14003fb6d
test esi, esi
je 0x14003fb6d
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 0x14003f98e
mov r12, qword [rbx + 0x90]
test r12, r12
je 0x14003f98e
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 0x14003f8ea
mov r8d, edi
call sym.vkat.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 0x14003fb5e
mov r8, r13
call sym.vkat.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 0x14003f94a
nop word [rax + rax]
mov r8, rsi
mov rdx, r15
mov rcx, r12
call sym.vkat.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 0x14003f920
test rdi, rdi
je 0x14003f96e
mov r8, rdi
mov rdx, r15
mov rcx, r12
call sym.vkat.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 0x14003fb5e
bt eax, 0x11
jb 0x14003fb13
mov byte [r15 + r14], 0
mov eax, dword [rbx + 0x30]
mov edi, r15d
bt eax, 0x1e
jae 0x14003f9b6
mov edx, edi
mov rcx, r14
call fcn.140005a00
mov eax, dword [rbx + 0x30]
test al, 0x40
je 0x14003f9cb
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.140001830
mov eax, dword [rbx + 0x30]
test al, al
jns 0x14003f9e0
mov r8b, 1
mov rdx, rdi
mov rcx, r14
call fcn.140001830
mov eax, dword [rbx + 0x30]
test al, 8
je 0x14003f9f2
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 0x14003fa5a
cmp byte [rbx + 0x10f8], sil
je 0x14003fa4b
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.0x140035d81.0]
mov eax, dword [rbx + 0x28]
bt rax, 9
jae 0x14003fa4b
mov rcx, qword [rbx + 0xc0]
mov rdx, qword [rbx + 0xc8]
mov rax, qword [rcx + 0x30]
call qword [case.0x140035d81.0]
cmp dword [rbx + 0xf0], esi
je 0x14003fa5a
add qword [rbx + 0xe0], rdi
mov eax, dword [rbx + 0x30]
test al, 2
je 0x14003fa6f
mov rdx, rdi
mov rcx, r14
call fcn.14006b150
mov eax, dword [rbx + 0x30]
test al, 4
je 0x14003fa7e
mov rdx, rdi
mov rcx, r14
call fcn.14006b1a0
mov rax, qword [rbx + 0x50]
test rax, rax
je 0x14003fad4
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x14003fa98
mov dword [rcx + 4], r15d
mov rax, qword [rbx + 0x50]
mov rdx, rbp
mov rcx, rbx
call qword [case.0x140035d81.0]
test al, al
jne 0x14003fad4
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 0x14003fae3
mov dword [rax + 4], esi
mov byte [r14], sil
cmp dword [rbx + 0xf0], esi
jbe 0x14003fb5e
test byte [rbx + 0x30], 1
je 0x14003fb5e
call fcn.14006c070
xor edx, edx
xor r9d, r9d
div dword [rbx + 0xe8]
xor r8d, r8d
mov rcx, rbx
mov edx, eax
call fcn.14003fe60
jmp 0x14003fb5e
shr esi, 1
cmp r15d, esi
jbe 0x14003fb5e
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.vkat.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