Function at 0x180003ab0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
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 r13, r9
mov r10, rcx
xor edi, edi
mov r14, qword [rsp + 0xd0]
mov word [r14], di
mov rax, qword [rsp + 0xe0]
mov byte [rax], dil
mov r15, qword [rsp + 0xb8]
mov esi, dword [r15]
mov rbx, qword [rsp + 0xf0]
mov dword [rbx + 8], esi
mov eax, dword [r15 + 4]
mov dword [rbx + 0xc], eax
mov ebp, edi
mov r12d, dword [rsp + 0xb0]
mov ecx, r12d
test r12d, r12d
je 0x180003b86
sub ecx, 1
je 0x180003b7d
sub ecx, 1
je 0x180003b38
cmp ecx, 1
jne 0x180003b8f
mov ecx, esi
call fcn.180002920
jmp 0x180003b8d
test esi, esi
js 0x180003b74
mov esi, 0x8007029c
mov dword [rsp + 0x30], esi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov rcx, r10
call fcn.1800063c0
mov dword [rbx + 8], esi
mov ecx, esi
call fcn.180002ae0
mov dword [rbx + 0xc], eax
mov ecx, esi
call fcn.180002900
jmp 0x180003b8d
mov ecx, esi
call fcn.1800028e0
jmp 0x180003b8d
mov ecx, esi
call fcn.1800028c0
mov ebp, eax
mov dword [rbx], r12d
mov dword [rbx + 4], edi
cmp dword [r15 + 8], 1
jne 0x180003ba3
mov dword [rbx + 4], 8
mov eax, 1
lock xadd dword [0x180012b48], eax
inc eax
mov dword [rbx + 0x10], eax
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x180003bc7
cmp word [rax], di
jne 0x180003bca
mov rax, rdi
mov qword [rbx + 0x18], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbx + 0x20], eax
mov rax, qword [rsp + 0x90]
mov qword [rbx + 0x38], rax
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], r13
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
xor eax, eax
movups xmmword [rbx + 0x68], xmm0
mov qword [rbx + 0x78], rax
movups xmmword [rbx + 0x50], xmm0
mov qword [rbx + 0x60], rax
mov rax, qword [0x180012c08]
test rax, rax
je 0x180003c47
call rax
jmp 0x180003c4a
mov rax, rdi
mov qword [rbx + 0x80], rax
mov rax, qword [0x180012c20]
test rax, rax
je 0x180003c62
mov rcx, rbx
call rax
mov rax, qword [0x180012c18]
test rax, rax
je 0x180003c81
mov r8d, 0x400
mov rdx, qword [rsp + 0xe0]
mov rcx, rbx
call rax
mov rax, qword [0x180012c10]
test rax, rax
je 0x180003c92
mov rcx, rbx
call rax
mov rax, qword [0x180012bc8]
test rax, rax
je 0x180003ca9
test byte [rbx + 4], 2
jne 0x180003ca9
mov rcx, rbx
call rax
cmp dword [rbx + 8], edi
jl 0x180003ccc
cmp r12d, 3
jne 0x180003d98
mov dword [rbx + 8], 0x8000ffff
mov ecx, 0x8000ffff
call fcn.180002ae0
mov dword [rbx + 0xc], eax
cmp byte [0x180012c49], dil
jne 0x180003cf8
mov rax, qword [0x180012c50]
test rax, rax
je 0x180003ce8
call rax
movzx edi, al
jmp 0x180003cf4
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
setne dil
test edi, edi
je 0x180003cfe
test byte [rbx + 4], 2
je 0x180003d1f
mov rax, qword [0x180012c58]
test rax, rax
je 0x180003d62
cmp byte [0x180012c38], 0
jne 0x180003d62
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call rax
jmp 0x180003d62
mov rax, qword [0x180012c58]
test rax, rax
je 0x180003d42
cmp byte [0x180012c38], 0
jne 0x180003d42
mov r8d, 0x800
mov rdx, r14
mov rcx, rbx
call rax
cmp word [r14], 0
jne 0x180003d59
mov r8, rbx
mov edx, 0x800
mov rcx, r14
call fcn.180002440
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test byte [rbx + 4], 4
jne 0x180003d71
cmp byte [0x180012c48], 0
je 0x180003d80
mov rax, qword [0x180012c00]
test rax, rax
je 0x180003d80
call rax
nop
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180004070
int3