Function at 0x4895f0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x520bdc
mov eax, dword fs:[0]
push eax
sub esp, 0x124
mov eax, dword [0x56fcac]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp + 8]
push eax
push 0xb6
mov ecx, dword [ebp - 0x128]
call fcn.004c2a8f
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x128]
add ecx, 0x74
call fcn.00492bd0
mov ecx, dword [ebp - 0x128]
add ecx, 0x78
call fcn.004144f0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x128]
mov dword [ecx], vtable.CRepairDlg.2.0
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x74], vtable.CRepairDlg.1.0
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x78], vtable.CRepairDlg.0
mov ecx, dword [ebp - 0x128]
add ecx, 0x450
call fcn.00404400
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x128]
add ecx, 0x46c
call fcn.00404400
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x128]
add ecx, 0x490
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x4a0
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x4b0
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x4c0
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x4d0
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x4e0
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x4f0
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x500
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x510
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x520
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x530
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x540
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x550
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x560
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x570
call fcn.004947b0
mov ecx, dword [ebp - 0x128]
add ecx, 0x580
call fcn.004947b0
mov ecx, dword [ebp - 0x128]
add ecx, 0x594
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x5ac
call fcn.004710e0
mov ecx, dword [ebp - 0x128]
add ecx, 0x624
call fcn.00479840
mov ecx, dword [ebp - 0x128]
add ecx, 0x62c
call fcn.0040f700
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x128]
add ecx, 0x634
call fcn.00493190
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x128]
add ecx, 0x64c
call fcn.00404400
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x6a4], 0
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x6a8], 0
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x6ac], 0
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x6b0], 0
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x61c], 0
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x6a0], 1
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x698], 0
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x69c], 0
push 0
push 0
push 0
push 1
mov ecx, dword [ebp - 0x128]
add ecx, 0x62c
call fcn.0040f780
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x648], 0
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x618], 1
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x5a8], 0
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x488], 0
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x5a4], 1
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x88], 0
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x610], 1
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x5ec], 0
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x5e8], 0
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x5e4], 0
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x5e0], 0
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x5f0], 0
push 0x1e
push 0x103
push 0
push 0
lea ecx, [ebp - 0x1c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x490
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x14
push 0x12b
push 0
push 0xfc
lea ecx, [ebp - 0x2c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x4a0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x14
push 0x15b
push 0
push 0x12c
lea ecx, [ebp - 0x3c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x4b0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x15e
push 0x84
push 0x150
push 0xb
lea ecx, [ebp - 0x4c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x4c0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x162
push 0x15b
push 0x14a
push 0x111
lea ecx, [ebp - 0x5c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x4d0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x56
push 0x166
push 0x1e
push 1
lea ecx, [ebp - 0x6c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x4e0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x82
push 0x14c
push 0x5b
push 9
lea ecx, [ebp - 0x7c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x510
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x79
push 0x22
push 0x64
push 0xd
lea ecx, [ebp - 0x8c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x4f0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x9c]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x520
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x87
push 0x161
push 0x87
push 0x154
lea ecx, [ebp - 0xac]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x550
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x140
push 0x161
push 0x87
push 0x154
lea ecx, [ebp - 0xbc]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x594
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x140
push 0x161
push 0x140
push 0x154
lea ecx, [ebp - 0xcc]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x560
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x140
push 0x171
push 0x86
push 0
lea ecx, [ebp - 0xdc]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x5ac
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x145
push 0x116
push 0x8a
push 0xfa
lea ecx, [ebp - 0xec]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x520
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x145
push 0x14f
push 0x8a
push 0x116
lea ecx, [ebp - 0xfc]
call fcn.00479850
mov ecx, dword [ebp - 0x128]
add ecx, 0x500
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0xd
push 0x136
push 0x70
push 0x15
lea ecx, [ebp - 0x10c]
call fcn.00479ed0
mov ecx, dword [ebp - 0x128]
add ecx, 0x570
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0xb
push 0x132
push 0x72
push 0x17
lea ecx, [ebp - 0x11c]
call fcn.00479ed0
mov ecx, dword [ebp - 0x128]
add ecx, 0x580
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push 0x18
call fcn.004aaa2e
add esp, 4
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x124], 0
je 0x489dc9
cmp dword [ebp - 0x128], 0
je 0x489da3
mov ecx, dword [ebp - 0x128]
add ecx, 0x74
mov dword [ebp - 0x12c], ecx
jmp 0x489dad
mov dword [ebp - 0x12c], 0
push 1
mov edx, dword [ebp - 0x12c]
push edx
mov ecx, dword [ebp - 0x124]
call fcn.00417170
mov dword [ebp - 0x130], eax
jmp 0x489dd3
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x120]
mov dword [ecx + 0x644], edx
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x670], 1
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x66c], 1
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x674], 0
mov eax, dword [ebp - 0x128]
fldz
fstp qword [eax + 0x690]
mov ecx, dword [ebp - 0x128]
fldz
fstp qword [ecx + 0x680]
mov edx, dword [ebp - 0x128]
fldz
fstp qword [edx + 0x678]
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x8c], 0
mov ecx, dword [ebp - 0x128]
mov dword [0x571ffc], ecx
mov ecx, dword [ebp - 0x128]
call fcn.00492810
movzx edx, al
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x688], edx
push str.LoginToolDlg
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 0x44c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x489ebf
mov edx, dword [ebp - 0x128]
mov dword [edx + 0x448], 0
jmp 0x489eda
mov eax, dword [ebp - 0x128]
mov dword [eax + 0x448], 1
mov ecx, dword [ebp - 0x128]
call fcn.004902b0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 4