Function at 0x100051d0
Capabilities:
Check mutex on windows

Disassembly:
sub esp, 0x448
push ebx
push esi
push edi
fld qword [esp + 0x458]
push 0x10043530
push 1
fstp qword [0x10067dc4]
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x10067db0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10005494
push 0
push 0
push 0xffffffffffffffff
push dword [esp + 0x46c]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, eax
sar edx, 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
push dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add ecx, ecx
push ecx
call fcn.1000cf14
add esp, 4
mov dword [esp + 0x54], eax
push eax
push 0xffffffffffffffff
push dword [esp + 0x46c]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [esp + 0x50]
push 0
push 0x10003cd0
mov dword [0x10067db8], edx
fld qword [esp + 0x460]
sub esp, 8
fnstcw word [esp + 4]
fldcw word [0x100434d8]
fistp dword [esp]
fldcw word [esp + 4]
pop esi
add esp, 4
push esi
push 0x4b0
push dword [0x10068228]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov ebx, eax
test eax, eax
jne 0x1000536d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push 0x100
push 0
lea ecx, [esp + 0x5c]
push ecx
call fcn.1000cfc4
push 0x100
push 0
lea edx, [esp + 0x268]
push edx
call fcn.1000cfc4
push 0
push 0xff
lea ecx, [esp + 0x274]
push ecx
push 0x400
push edi
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
add esp, 0x18
test edi, edi
je 0x10005340
lea ecx, [esp + 0x254]
test edi, edi
push ecx
je 0x1000531e
mov edx, edi
and edx, 0xffff
or edx, 0x80070000
jmp 0x10005320
xor edx, edx
push edx
push 0x31f
push 0x10043548
push 0x10043424
lea ecx, [esp + 0x68]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
jmp 0x1000535d
push 0x31f
push 0x10043548
push 0x1004348c
lea edx, [esp + 0x60]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0x10
push 0
lea edx, [esp + 0x5c]
push edx
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
test ebx, ebx
je 0x10005488
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0x24]
push ecx
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x1c]
test edx, edx
jns 0x1000539c
inc edx
sar edx, 1
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jns 0x100053a7
inc ecx
sar ecx, 1
sub edx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
test edx, edx
jns 0x100053b8
inc edx
sar edx, 1
mov ecx, dword [esp + 0x30]
test ecx, ecx
jns 0x100053c3
inc ecx
sar ecx, 1
sub edx, ecx
mov dword [esp + 0x18], edx
push 1
push dword [esp + 0x34]
push dword [esp + 0x34]
push edx
push dword [esp + 0x24]
push ebx
call dword [sym.imp.USER32.dll_MoveWindow]
push 0
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0
push 0
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x1000543a
lea ecx, [esp + 0x34]
push ecx
push ebx
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x10005425
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x100053ff
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push esi
call dword [sym.imp.USER32.dll_SetActiveWindow]
push dword [esp + 0x50]
call fcn.1000cf4c
mov eax, dword [esp + 0x46c]
sub eax, dword [esp + 0x464]
push eax
push dword [esp + 0x468]
lea ecx, [esp + 0x474]
call fcn.10006a18
add esp, 4
fld qword [0x100435a4]
pop edi
pop esi
pop ebx
add esp, 0x448
ret
push dword [0x10067db0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x468]
sub eax, dword [esp + 0x460]
push eax
push dword [esp + 0x464]
lea ecx, [esp + 0x470]
call fcn.10006a18
fldz
pop edi
pop esi
pop ebx
add esp, 0x448
ret