Function at 0x140047330
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x13d8]
mov eax, 0x14d8
call fcn.140117f40
sub rsp, rax
mov rbx, qword [rbp + 0x1450]
xor eax, eax
mov r12, qword [rbp + 0x1440]
mov rdi, rcx
mov r13, qword [rbp + 0x1448]
mov r15, r9
mov word [rbp + 0x3d0], ax
mov r14, r8
mov ecx, dword [rbx]
mov esi, edx
mov byte [rbp - 0x30], al
mov eax, dword [rbx + 4]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], eax
call fcn.1400494c0
xor ecx, ecx
mov dword [rsp + 0x20], eax
cmp byte [rbx + 8], cl
mov dword [rsp + 0x30], 3
lea eax, [rcx + 8]
cmovne ecx, eax
mov dword [rsp + 0x34], ecx
lea ecx, [rax - 7]
lock xadd dword [0x1401bf8f4], ecx
inc ecx
xor ebx, ebx
mov dword [rsp + 0x40], ecx
mov rcx, qword [rbp + 0x1458]
test rcx, rcx
je 0x1400473d4
mov qword [rsp + 0x48], rcx
cmp word [rcx], bx
jne 0x1400473d9
mov qword [rsp + 0x48], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xorps xmm1, xmm1
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x74], eax
xor eax, eax
mov qword [rbp - 0x58], rax
mov rax, qword [0x1401bf820]
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r15
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], rdi
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rbp - 0x78], xmm1
test rax, rax
je 0x140047437
call qword [case.0x1400a07c7.0]
mov qword [rbp - 0x50], rax
jmp 0x14004743b
mov qword [rbp - 0x50], rbx
mov rax, qword [0x1401bf808]
test rax, rax
je 0x140047452
lea rcx, [rsp + 0x30]
call qword [case.0x1400a07c7.0]
mov rax, qword [0x1401bf810]
test rax, rax
je 0x140047473
mov r8d, 0x400
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x30]
call qword [case.0x1400a07c7.0]
mov rax, qword [0x1401bf818]
test rax, rax
je 0x14004748a
lea rcx, [rsp + 0x30]
call qword [case.0x1400a07c7.0]
mov rax, qword [0x1401bf880]
test rax, rax
je 0x1400474a8
test byte [rsp + 0x34], 2
jne 0x1400474a8
lea rcx, [rsp + 0x30]
call qword [case.0x1400a07c7.0]
cmp dword [rsp + 0x38], ebx
jl 0x1400474c0
mov ecx, 0x8000ffff
mov dword [rsp + 0x38], ecx
call fcn.140049054
mov dword [rsp + 0x3c], eax
cmp byte [0x1401bf7d0], bl
jne 0x1400474f0
mov rax, qword [0x1401bf7c8]
test rax, rax
je 0x1400474df
call qword [case.0x1400a07c7.0]
movzx ecx, al
jmp 0x1400474ec
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
mov ecx, ebx
setne cl
test ecx, ecx
je 0x140047559
cmp byte [0x140177c90], bl
je 0x140047559
test byte [rsp + 0x34], 2
jne 0x140047559
mov rax, qword [0x1401bf7c0]
mov edi, 0x800
test rax, rax
je 0x14004752d
cmp byte [0x1401bf7f0], bl
jne 0x14004752d
mov r8d, edi
lea rdx, [rbp + 0x3d0]
lea rcx, [rsp + 0x30]
call qword [case.0x1400a07c7.0]
cmp word [rbp + 0x3d0], bx
jne 0x14004754a
lea r8, [rsp + 0x30]
mov rdx, rdi
lea rcx, [rbp + 0x3d0]
call fcn.14004873c
lea rcx, [rbp + 0x3d0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x14004757d
mov rax, qword [0x1401bf7c0]
test rax, rax
je 0x14004757d
cmp byte [0x1401bf7f0], bl
jne 0x14004757d
xor r8d, r8d
lea rcx, [rsp + 0x30]
xor edx, edx
call qword [case.0x1400a07c7.0]
test byte [rsp + 0x34], 4
jne 0x14004758c
cmp byte [0x1401bf7e0], bl
je 0x14004759e
mov rax, qword [0x1401bf830]
test rax, rax
je 0x14004759e
call qword [case.0x1400a07c7.0]
lea rcx, [rsp + 0x30]
call fcn.14004a94c
int3