Function at 0x140002400
Capabilities:
Check mutex on windows
Create thread
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
movaps xmmword [rsp + 0x40], xmm6
lea rcx, str.user32.dll
movaps xmmword [rsp + 0x30], xmm7
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
lea rdx, str.SetProcessDPIAware
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140002445
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor ebp, ebp
xor ecx, ecx
mov qword [0x140030ba0], rbp
call qword [sym.imp.USER32.dll_GetDC]
mov qword [0x140030bb0], rax
rdtsc
movdqa xmm6, xmmword [0x140024880]
lea rsi, [0x14002cb80]
movaps xmm7, xmmword [0x1400248c0]
mov ebx, ebp
shl rdx, 0x20
mov rdi, rsi
or rax, rdx
mov dword [0x140030b98], eax
movd xmm0, ebx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm6
cvtdq2ps xmm0, xmm0
addps xmm0, xmm0
mulps xmm0, xmm7
call fcn.140015ad0
movups xmmword [rdi], xmm0
add rdi, 0x10
add ebx, 4
cmp ebx, 0x1000
jb 0x140002490
movaps xmm7, xmmword [rsp + 0x30]
movsxd rax, ebx
cmp rax, 0x1000
jae 0x140002506
movss xmm6, dword [0x140024644]
lea rdi, [rsi + rax*4]
nop dword [rax]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm0, xmm0
call fcn.140019f90
movss dword [rdi], xmm0
inc ebx
add rdi, 4
cmp ebx, 0x1000
jb 0x1400024e0
xor r9d, r9d
lea r8, section..text
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayMonitors]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
lea r8, [0x140009e40]
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.1400013c0
movaps xmm6, xmmword [rsp + 0x40]
test eax, eax
je 0x140002cbb
mov ecx, 0x1388
mov qword [rsp + 0x60], r14
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
lea r8, [0x140001e90]
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
lea r8, [0x140002240]
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
lea r8, [0x140002260]
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea r8, str.Monoxide.exe
mov edx, 1
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
xorps xmm0, xmm0
mov dword [0x140030e40], 0xbb80
lea rax, [0x140003120]
mov dword [0x140030e44], 0x15f900
mov qword [0x140030e48], rax
lea rax, [0x140003330]
mov qword [0x140030e68], rax
lea rax, [0x1400033b0]
mov qword [0x140030e88], rax
lea rax, [0x140003860]
mov qword [0x140030ea8], rax
lea rax, [0x140003b70]
mov qword [0x140030ec8], rax
lea rax, [0x140003bb0]
mov qword [0x140030ee8], rax
lea rax, [0x140003c10]
mov qword [0x140030f08], rax
lea rax, [0x140003c50]
mov qword [0x140030f28], rax
lea rax, [0x140003fb0]
mov qword [0x140030f48], rax
movdqu xmmword [0x140030e50], xmm0
mov dword [0x140030e60], 0x1f40
mov dword [0x140030e64], 0x3a980
movdqu xmmword [0x140030e70], xmm0
mov dword [0x140030e80], 0x1f40
mov dword [0x140030e84], 0x3a980
movdqu xmmword [0x140030e90], xmm0
mov dword [0x140030ea0], 0x3e80
mov dword [0x140030ea4], 0x75300
movdqu xmmword [0x140030eb0], xmm0
mov dword [0x140030ec0], 0x1f40
mov dword [0x140030ec4], 0x3a980
movdqu xmmword [0x140030ed0], xmm0
mov dword [0x140030ee0], 0x1f40
mov dword [0x140030ee4], 0x3a980
movdqu xmmword [0x140030ef0], xmm0
mov dword [0x140030f00], 0x2ee0
mov dword [0x140030f04], 0x57e40
movdqu xmmword [0x140030f10], xmm0
mov dword [0x140030f20], 0xbb80
mov dword [0x140030f24], 0x15f900
movdqu xmmword [0x140030f30], xmm0
mov dword [0x140030f40], 0xbb80
mov dword [0x140030f44], 0x15f900
movdqu xmmword [0x140030f50], xmm0
lea rax, [0x140004470]
mov dword [0x140030f60], 0x1f40
mov qword [0x140030f68], rax
lea rcx, [0x1400062c0]
lea rax, [0x140004570]
mov dword [0x140030f64], 0x3a980
mov qword [0x140030f88], rax
lea rax, [0x1400045d0]
mov qword [0x140030fa8], rax
lea rax, [0x1400047c0]
mov qword [0x140030fc8], rax
lea rax, [0x1400049c0]
mov qword [0x140030fe8], rax
lea rax, [0x140004e50]
mov qword [0x140031008], rax
lea rax, [0x140005380]
mov qword [0x140031028], rax
lea rax, [0x140005540]
mov qword [0x140031148], rax
lea rax, [0x140005ae0]
mov qword [0x140030be0], rax
lea rax, [0x140005c60]
mov qword [0x140030bf0], rax
lea rax, [0x140005ce0]
mov qword [0x140030bf8], rax
lea rax, [0x140006340]
mov qword [0x140030c10], rax
lea rax, [0x1400066b0]
mov qword [0x140030c20], rax
lea rax, [0x140006840]
mov qword [0x140030c28], rax
lea rax, [0x140006f30]
mov qword [0x140030c40], rax
lea rax, [0x140006fe0]
mov qword [0x140030c50], rax
lea rax, [0x140007060]
mov qword [0x140030c58], rax
lea rax, [0x1400072d0]
mov qword [0x140030c70], rax
lea rax, [0x140007480]
mov qword [0x140030c80], rax
lea rax, [0x140007690]
mov qword [0x140030c88], rax
lea rax, [0x140007500]
mov qword [0x140030c90], rax
lea rax, [0x140007b30]
mov qword [0x140030c98], rax
lea rax, [0x140007bb0]
mov qword [0x140030ca0], rax
movdqu xmmword [0x140030f70], xmm0
mov dword [0x140030f80], 0x1f40
mov dword [0x140030f84], 0x3a980
movdqu xmmword [0x140030f90], xmm0
mov dword [0x140030fa0], 0x1f40
mov dword [0x140030fa4], 0x3a980
movdqu xmmword [0x140030fb0], xmm0
mov dword [0x140030fc0], 0x3e80
mov dword [0x140030fc4], 0x75300
movdqu xmmword [0x140030fd0], xmm0
mov dword [0x140030fe0], 0xbb80
mov dword [0x140030fe4], 0x15f900
movdqu xmmword [0x140030ff0], xmm0
mov dword [0x140031000], 0xbb80
mov dword [0x140031004], 0x15f900
movdqu xmmword [0x140031010], xmm0
mov dword [0x140031020], 0xbb80
mov dword [0x140031024], 0x15f900
movdqu xmmword [0x140031030], xmm0
mov dword [0x140031140], 0xbb80
mov dword [0x140031144], 0x15f900
movdqu xmmword [0x140031150], xmm0
mov qword [0x140030be8], rbp
mov qword [0x140030c00], rbp
mov qword [0x140030c08], rcx
mov qword [0x140030c18], rbp
mov qword [0x140030c30], rbp
mov qword [0x140030c38], rcx
mov qword [0x140030c48], rbp
mov qword [0x140030c60], rbp
mov qword [0x140030c68], rcx
mov qword [0x140030c78], rbp
lea rax, [0x140007f00]
mov qword [0x140030d28], rcx
mov qword [0x140030cb8], rax
lea r8, [0x140002cd0]
lea rax, [0x1400081c0]
mov qword [0x140030db8], rcx
mov qword [0x140030cd0], rax
xor r9d, r9d
lea rax, [0x140008570]
mov qword [0x140030dd0], rcx
mov qword [0x140030ce8], rax
xor edx, edx
lea rax, [0x1400086b0]
mov qword [rsp + 0x28], rbp
mov qword [0x140030d00], rax
xor ecx, ecx
lea rax, [0x140008870]
mov qword [0x140030d20], rbp
mov qword [0x140030d18], rax
lea rax, [0x140008af0]
mov qword [0x140030d30], rax
lea rax, [0x140008cc0]
mov qword [0x140030d48], rax
lea rax, [0x140008e80]
mov qword [0x140030d60], rax
lea rax, [0x140009160]
mov qword [0x140030d78], rax
lea rax, [0x1400095a0]
mov qword [0x140030d90], rax
lea rax, [0x1400096e0]
mov qword [0x140030da8], rax
lea rax, [0x140009af0]
mov qword [0x140030dc0], rax
lea rax, [0x140009db0]
mov qword [0x140030e20], rax
movdqu xmmword [0x140030ca8], xmm0
mov qword [0x140030db0], rbp
movdqu xmmword [0x140030cc0], xmm0
mov qword [0x140030dc8], rbp
movdqu xmmword [0x140030cd8], xmm0
mov dword [rsp + 0x20], ebp
movdqu xmmword [0x140030cf0], xmm0
movdqu xmmword [0x140030d08], xmm0
movdqu xmmword [0x140030d38], xmm0
movdqu xmmword [0x140030d50], xmm0
movdqu xmmword [0x140030d68], xmm0
movdqu xmmword [0x140030d80], xmm0
movdqu xmmword [0x140030d98], xmm0
movdqu xmmword [0x140030e28], xmm0
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rsi, rax
lea r14, [0x140030be0]
nop dword [rax + rax]
mov edx, dword [0x140030b98]
lea r8, [0x140005790]
shl edx, 0xd
xor edx, dword [0x140030b98]
mov eax, edx
mov qword [rsp + 0x28], rbp
shr eax, 0x11
xor eax, edx
mov dword [rsp + 0x20], ebp
mov ecx, eax
shl ecx, 5
xor ecx, eax
mov eax, 0x86186187
mul ecx
mov eax, ecx
mov dword [0x140030b98], ecx
sub eax, edx
shr eax, 1
add eax, edx
xor edx, edx
shr eax, 4
imul eax, eax, 0x15
sub ecx, eax
lea rcx, [rcx + rcx*2]
lea r9, [r14 + rcx*8]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [0x140030b98]
mov rbx, rax
shl edx, 0xd
mov eax, 0xaaaaaaab
xor edx, dword [0x140030b98]
mov ecx, edx
shr ecx, 0x11
xor ecx, edx
mov r8d, ecx
shl r8d, 5
xor r8d, ecx
mul r8d
mov dword [0x140030b98], r8d
shr edx, 1
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
je 0x140002bdf
mov edx, 0x2710
jmp 0x140002c18
mov eax, r8d
shl eax, 0xd
xor eax, r8d
mov ecx, eax
shr ecx, 0x11
xor ecx, eax
mov eax, 0xcccccccd
mov r8d, ecx
shl r8d, 5
xor r8d, ecx
mul r8d
mov dword [0x140030b98], r8d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r8d, eax
imul edx, r8d, 0x9c4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x14002cb70], 0x708
jl 0x140002b40
mov r14, qword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r9, [0x140030e20]
mov qword [rsp + 0x28], rbp
lea r8, [0x140005790]
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r9, [0x140031140]
mov qword [rsp + 0x28], rbp
lea r8, [0x140002f80]
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret