Function at 0x1400039a0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12, r9
mov r13, r8
mov r10, rcx
xor r8d, r8d
mov rsi, qword [rsp + 0xd0]
mov word [rsi], r8w
mov rax, qword [rsp + 0xe0]
mov byte [rax], r8b
mov rbx, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xb8]
mov edi, dword [r14]
mov dword [rbx + 8], edi
mov eax, dword [r14 + 4]
mov dword [rbx + 0xc], eax
mov ebp, r8d
mov r15d, dword [rsp + 0xb0]
mov ecx, r15d
test r15d, r15d
je 0x140003a79
sub ecx, 1
je 0x140003a70
sub ecx, 1
je 0x140003a28
cmp ecx, 1
jne 0x140003a82
mov ecx, edi
call fcn.140003630
jmp 0x140003a80
test edi, edi
js 0x140003a67
mov edi, 0x8007029c
mov dword [rsp + 0x30], edi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r8, r13
mov rcx, r10
call fcn.140003f60
mov dword [rbx + 8], edi
mov ecx, edi
call fcn.140003d74
mov dword [rbx + 0xc], eax
mov ecx, edi
call fcn.140003618
jmp 0x140003a80
mov ecx, edi
call fcn.140003600
jmp 0x140003a80
mov ecx, edi
call fcn.1400035e8
mov ebp, eax
mov dword [rbx], r15d
xor edi, edi
mov dword [rbx + 4], edi
cmp byte [r14 + 8], dil
je 0x140003a97
mov dword [rbx + 4], 8
mov eax, 1
lock xadd dword [0x14000b928], eax
inc eax
mov dword [rbx + 0x10], eax
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x140003abb
cmp word [rax], di
jne 0x140003abe
mov rax, rdi
mov qword [rbx + 0x18], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbx + 0x20], eax
mov qword [rbx + 0x38], r13
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x40], eax
mov dword [rbx + 0x44], ebp
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], r12
mov rax, qword [rsp + 0xa8]
mov qword [rbx + 0x88], rax
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x48], rdi
xorps xmm0, xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm0
mov rax, qword [0x14000b8c8]
test rax, rax
je 0x140003b31
call qword [0x140008370]
jmp 0x140003b34
mov rax, rdi
mov qword [rbx + 0x80], rax
mov rax, qword [0x14000b8d0]
test rax, rax
je 0x140003b5e
mov r8d, 0x400
mov rdx, qword [rsp + 0xe0]
mov rcx, rbx
call qword [0x140008370]
mov rax, qword [0x14000b8d8]
test rax, rax
je 0x140003b73
mov rcx, rbx
call qword [0x140008370]
mov rax, qword [0x14000b8e0]
test rax, rax
je 0x140003b88
mov rcx, rbx
call qword [0x140008370]
cmp dword [rbx + 8], edi
jl 0x140003ba7
cmp r15d, 3
jne 0x140003c76
mov ecx, 0x8000ffff
mov dword [rbx + 8], ecx
call fcn.140003d74
mov dword [rbx + 0xc], eax
cmp byte [0x14000b8e8], dil
jne 0x140003bfd
mov rax, qword [0x14000b8f0]
test rax, rax
je 0x140003bc7
call qword [0x140008370]
movzx ecx, al
jmp 0x140003bd4
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov ecx, edi
test eax, eax
setne cl
test ecx, ecx
jne 0x140003bfd
mov rax, qword [0x14000b910]
test rax, rax
je 0x140003c42
cmp byte [0x14000b908], dil
jne 0x140003c42
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [0x140008370]
jmp 0x140003c42
mov ebp, 0x800
mov rax, qword [0x14000b910]
test rax, rax
je 0x140003c26
cmp byte [0x14000b908], dil
jne 0x140003c26
mov r8d, ebp
mov rdx, rsi
mov rcx, rbx
call qword [0x140008370]
cmp word [rsi], di
jne 0x140003c39
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.1400036f8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [0x14000b918], dil
je 0x140003c5e
mov rax, qword [0x14000b920]
test rax, rax
je 0x140003c5e
call qword [0x140008370]
nop
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000363c
int3