Function at 0x14009fd90
Capabilities:
Print debug messages

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 8], r9
mov rbx, r8
mov edi, edx
mov r13, rcx
mov edx, dword [rbp + 0x80]
mov rsi, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xa0]
mov r15, qword [rbp + 0x88]
mov word [rax], 0
mov byte [rcx], 0
mov ecx, dword [r15]
mov dword [rsi + 8], ecx
mov eax, dword [r15 + 4]
mov dword [rsi + 0xc], eax
cmp rdx, 3
ja case.default.0x14009fe07
lea rax, [0x1400a0080]
mov r12, rdx
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
call fcn.1400a0090
jmp 0x14009fe71
mov r12, rdx
xor r14d, r14d
jmp 0x14009fe74
call fcn.1400a00ab
jmp 0x14009fe71
test ecx, ecx
js 0x14009fe65
mov rax, qword [rbp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0x8007029c
mov rcx, r13
mov edx, edi
mov r8, rbx
mov r9, qword [rbp - 8]
call fcn.14009fc33
mov dword [rsi + 8], 0x8007029c
mov ecx, 0x8007029c
call fcn.1400222c0
mov dword [rsi + 0xc], eax
mov ecx, dword [rsi + 8]
call fcn.1400a00c6
jmp 0x14009fe71
call fcn.140020f27
mov r14d, eax
mov dword [rsi], r12d
movzx eax, byte [r15 + 8]
shl eax, 3
mov dword [rsi + 4], eax
mov eax, 1
lock xadd dword [0x1401a0da4], eax
mov rcx, qword [rbp + 0x90]
inc eax
mov dword [rsi + 0x10], eax
xor eax, eax
test rcx, rcx
je 0x14009feaa
cmp word [rcx], 0
cmovne rax, rcx
mov qword [rsi + 0x18], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsi + 0x20], eax
mov qword [rsi + 0x38], rbx
mov dword [rsi + 0x40], edi
mov dword [rsi + 0x44], r14d
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x28], rax
mov rax, qword [rbp - 8]
mov qword [rsi + 0x30], rax
mov rax, qword [rbp + 0x78]
mov qword [rsi + 0x88], rax
mov qword [rsi + 0x90], r13
xorps xmm0, xmm0
movups xmmword [rsi + 0x48], xmm0
movups xmmword [rsi + 0x58], xmm0
movups xmmword [rsi + 0x68], xmm0
mov qword [rsi + 0x78], 0
mov rcx, qword [0x1401857e0]
test rcx, rcx
je 0x14009ff0b
call rcx
jmp 0x14009ff0d
xor eax, eax
mov qword [rsi + 0x80], rax
mov rax, qword [0x1401857d0]
test rax, rax
je 0x14009ff33
mov r8, qword [rbp + 0xb8]
mov rcx, rsi
mov rdx, qword [rbp + 0xb0]
call rax
mov rax, qword [0x1401857d8]
test rax, rax
je 0x14009ff44
mov rcx, rsi
call rax
mov dil, byte [rbp + 0x98]
mov rax, qword [0x140185840]
test rax, rax
je 0x14009ff61
test dil, dil
jne 0x14009ff61
mov rcx, rsi
call rax
cmp dword [rsi + 8], 0
js 0x14009ff85
cmp r12d, 3
jne 0x1400a0058
mov dword [rsi + 8], 0x8000ffff
mov ecx, 0x8000ffff
call fcn.1400222c0
mov dword [rsi + 0xc], eax
mov bl, 1
cmp byte [0x140185798], 0
jne 0x14009ffad
mov rax, qword [0x140185790]
test rax, rax
je 0x14009ffa2
call rax
mov ebx, eax
jmp 0x14009ffad
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
setne bl
and bl, byte [0x14017ef40]
mov rax, qword [0x140185788]
test rax, rax
setne dl
cmp byte [0x1401857b8], 0
sete cl
and cl, dl
test bl, bl
jne 0x14009ffe5
test dil, dil
jne 0x14009ffe5
test cl, cl
je 0x1400a002f
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call rax
jmp 0x1400a002f
mov rdi, qword [rbp + 0xa8]
test cl, cl
je 0x14009ffff
mov rcx, rsi
mov rdx, qword [rbp + 0xa0]
mov r8, rdi
call rax
mov rax, qword [rbp + 0xa0]
cmp word [rax], 0
jne 0x1400a001e
mov rcx, qword [rbp + 0xa0]
mov rdx, rdi
mov r8, rsi
call fcn.140021e60
test bl, bl
je 0x1400a002f
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [0x1401857a8], 0
je 0x1400a0046
mov rax, qword [0x1401857f0]
test rax, rax
je 0x1400a0046
call rax
nop
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1400a00e1
int3