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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
push str.SetProcessDPIAware
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4013f8
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0
mov dword [0x40e3fc], 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [0x40e738], eax
xor esi, esi
rdtsc
mov dword [0x40e734], eax
nop
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x408244]
mulss xmm0, dword [0x408328]
addss xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
movss dword [esi*4 + 0x40a3f0], xmm0
inc esi
cmp esi, 0x1000
jb 0x401420
push 0
push section..text
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x401350
push 0
push 0
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1388
call esi
push 0x3e8
call esi
push 0
push 0
push 0
push 0x406160
push 0
push 0
call ebx
push str.Monoxide.exe
push 1
push 0
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x401a83
movaps xmm0, xmmword [0x408420]
movups xmmword [0x40e54c], xmm0
mov dword [0x40e400], 0x403510
movaps xmm0, xmmword [0x408420]
movups xmmword [0x40e560], xmm0
mov dword [0x40e404], 0
movaps xmm0, xmmword [0x408440]
movups xmmword [0x40e574], xmm0
mov dword [0x40e408], 0x403680
movaps xmm0, xmmword [0x408420]
mov dword [0x40e40c], 0x4036e0
mov dword [0x40e410], 0
mov dword [0x40e414], 0x403870
mov dword [0x40e418], 0x4038c0
mov dword [0x40e41c], 0
mov dword [0x40e420], 0x403b30
mov dword [0x40e424], 0x403c50
mov dword [0x40e428], 0
mov dword [0x40e42c], 0x403870
mov dword [0x40e430], 0x403f90
mov dword [0x40e434], 0
mov dword [0x40e438], 0x404030
mov dword [0x40e43c], 0x404080
mov dword [0x40e440], 0
mov dword [0x40e444], 0x403870
mov dword [0x40e448], 0x404390
mov dword [0x40e44c], 0
mov dword [0x40e450], 0x4044e0
mov dword [0x40e454], 0x404650
mov dword [0x40e458], 0x404530
mov dword [0x40e45c], 0x404970
mov dword [0x40e460], 0x4049c0
mov dword [0x40e464], 0
mov dword [0x40e468], 0
mov dword [0x40e46c], 0x404ca0
mov dword [0x40e470], 0
mov dword [0x40e474], 0
mov dword [0x40e478], 0x404eb0
mov dword [0x40e47c], 0
mov dword [0x40e480], 0
mov dword [0x40e484], 0x405180
mov dword [0x40e488], 0
mov dword [0x40e48c], 0
mov dword [0x40e490], 0x405240
mov dword [0x40e494], 0
mov dword [0x40e498], 0
mov dword [0x40e49c], 0x405300
mov dword [0x40e4a0], 0
mov dword [0x40e4a4], 0x403870
mov dword [0x40e4a8], 0x4053d0
mov dword [0x40e4ac], 0
mov dword [0x40e4b0], 0
mov dword [0x40e4b4], 0x405590
mov dword [0x40e4b8], 0
mov dword [0x40e4bc], 0
mov dword [0x40e4c0], 0x405730
mov dword [0x40e4c4], 0
mov dword [0x40e4c8], 0
mov dword [0x40e4cc], 0x4059e0
mov dword [0x40e4d0], 0
mov dword [0x40e4d4], 0
mov dword [0x40e4d8], 0x405bf0
mov dword [0x40e4dc], 0
mov dword [0x40e4e0], 0
mov dword [0x40e4e4], 0x405cf0
mov dword [0x40e4e8], 0
mov dword [0x40e4ec], 0x403870
mov dword [0x40e4f0], 0x405ea0
mov dword [0x40e4f4], 0
mov dword [0x40e4f8], 0x403870
mov dword [0x40e520], 0x4060e0
mov dword [0x40e524], 0
mov dword [0x40e528], 0
mov dword [0x40e540], 0xbb80
mov dword [0x40e544], 0x15f900
mov dword [0x40e548], 0x401cb0
mov dword [0x40e55c], 0x401e40
mov dword [0x40e570], 0x401ec0
mov dword [0x40e584], 0x4022b0
movups xmmword [0x40e588], xmm0
mov dword [0x40e598], 0x4023a0
movaps xmm0, xmmword [0x408420]
movups xmmword [0x40e59c], xmm0
push 0
movaps xmm0, xmmword [0x408430]
movups xmmword [0x40e5b0], xmm0
push 0
movaps xmm0, xmmword [0x408450]
movups xmmword [0x40e5c4], xmm0
push 0
movaps xmm0, xmmword [0x408450]
movups xmmword [0x40e5d8], xmm0
push 0x401a90
movaps xmm0, xmmword [0x408420]
movups xmmword [0x40e5ec], xmm0
push 0
movaps xmm0, xmmword [0x408420]
movups xmmword [0x40e600], xmm0
push 0
movaps xmm0, xmmword [0x408420]
movups xmmword [0x40e614], xmm0
mov dword [0x40e5ac], 0x4023d0
movaps xmm0, xmmword [0x408440]
movups xmmword [0x40e628], xmm0
mov dword [0x40e5c0], 0x402430
movaps xmm0, xmmword [0x408450]
movups xmmword [0x40e63c], xmm0
mov dword [0x40e5d4], 0x402480
movaps xmm0, xmmword [0x408450]
movups xmmword [0x40e650], xmm0
mov dword [0x40e5e8], 0x402740
movaps xmm0, xmmword [0x408450]
mov dword [0x40e5fc], 0x4028c0
mov dword [0x40e610], 0x4029b0
mov dword [0x40e624], 0x402a10
mov dword [0x40e638], 0x402b70
mov dword [0x40e64c], 0x402ce0
mov dword [0x40e660], 0x402e70
movups xmmword [0x40e664], xmm0
mov dword [0x40e674], 0x403010
mov dword [0x40e678], 0
mov dword [0x40e67c], 0
mov dword [0x40e720], 0xbb80
mov dword [0x40e724], 0x15f900
mov dword [0x40e728], 0x403190
mov dword [0x40e72c], 0
mov dword [0x40e730], 0
call ebx
mov dword [ebp - 8], eax
nop word [eax + eax]
mov edx, dword [0x40e734]
shl edx, 0xd
xor edx, dword [0x40e734]
mov eax, edx
shr eax, 0x11
xor eax, edx
mov ecx, eax
shl ecx, 5
xor ecx, eax
mov eax, 0x86186187
mul ecx
mov eax, ecx
mov dword [0x40e734], ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x15
push 0
push 0
sub ecx, eax
lea eax, [ecx + ecx*2]
lea eax, [eax*4 + 0x40e400]
push eax
push 0x4032f0
push 0
push 0
call ebx
mov edx, dword [0x40e734]
mov ebx, eax
shl edx, 0xd
mov eax, 0xaaaaaaab
xor edx, dword [0x40e734]
mov ecx, edx
shr ecx, 0x11
xor ecx, edx
mov esi, ecx
shl esi, 5
xor esi, ecx
mul esi
mov ecx, esi
mov dword [0x40e734], esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
je 0x4019e2
mov eax, 0x2710
jmp 0x401a12
mov eax, esi
shl eax, 0xd
xor eax, esi
mov ecx, eax
shr ecx, 0x11
xor ecx, eax
mov eax, 0xcccccccd
mov esi, ecx
shl esi, 5
xor esi, ecx
mul esi
mov dword [0x40e734], esi
shr edx, 2
lea eax, [edx + edx*4]
sub esi, eax
imul eax, esi, 0x9c4
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call edi
cmp dword [0x40a3e8], 0x708
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
jl 0x401950
mov ebx, dword [ebp - 4]
mov esi, dword [sym.imp.KERNEL32.dll_TerminateThread]
push 0
push ebx
call esi
push ebx
call edi
mov ebx, dword [ebp - 8]
push 0
push ebx
call esi
push ebx
call edi
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0x40e720
push 0x401b40
push 0
push 0
call esi
push eax
call edi
push 0
push 0
push 0x40e520
push 0x4032f0
push 0
push 0
call esi
push eax
call edi
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10