Function at 0x570920
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Terminate process
Terminate thread

Disassembly:
mov eax, dword [0x56a43c]
push ebp
mov ebp, dword [esp + 0xc]
test eax, eax
je 0x570975
test ebp, ebp
jne 0x570975
mov eax, dword [0x56a2f8]
push eax
push ebp
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x56c6e0]
push ebp
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
je 0x57095e
mov edx, dword [0x56c6e0]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0
push 0x56a55c
call fcn.005738c0
mov eax, 1
pop ebp
ret 0xc
push 0x55b148
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x56a428], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
cmp eax, 0xb7
mov eax, dword [0x56a304]
sete cl
test eax, eax
mov dword [0x56a434], ecx
jne case.0x570f63.0
push esi
mov dword [0x56a304], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [0x56c6d8], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, dword [0x56c6d8]
and eax, 0x3fdffffe
or eax, 0x200001
mov dword [0x56c6d8], eax
xor eax, eax
push eax
mov dword [eax*4 + 0x56c700], 0
call fcn.00571910
add esp, 4
cmp eax, 0x64
jl 0x5709e0
push 0x56c6c0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x55dd38
call esi
push 0x55dd28
call esi
push 0x55dd1c
call esi
push 0x55dd10
call esi
push 0x55dd04
call esi
mov eax, dword [0x55dc98]
mov ecx, dword [0x55dc9c]
mov dx, word [ecx]
add ecx, 8
mov word [0x56a9f0], dx
mov si, word [ecx - 6]
mov word [0x56a9f2], si
mov edx, dword [ecx - 4]
mov dword [0x55dc9c], ecx
mov ecx, dword [0x56a9f0]
and ecx, 0xffff
mov dword [0x56a9e8], edx
cmp ecx, 0x5910
jg 0x570cb4
je 0x570ee4
cmp ecx, 0x1992
jg 0x570be7
je 0x570bc8
cmp ecx, 0x704
jg 0x570b70
je 0x570b4c
cmp ecx, 0xe4
je 0x570b18
cmp ecx, 0x342
je 0x570b0b
cmp ecx, 0x611
jne 0x570a32
xor ecx, ecx
mov cx, si
cmp ecx, 0x68
je 0x570ad9
cmp ecx, 0x28e
jne 0x570aee
mov ecx, dword [eax]
and ecx, 0xffff
jmp 0x570ae1
mov ecx, dword [eax]
and ecx, 0xff
mov dword [eax], ecx
mov edx, dword [0x56a9e8]
mov eax, dword [0x55dc98]
mov ecx, dword [eax]
add eax, 4
test ecx, ecx
mov dword [0x55dc98], eax
je 0x570a32
mov dword [0x55dc9c], edx
jmp 0x570a32
xor ecx, ecx
mov cx, si
mov dword [eax + ecx*4], edx
jmp 0x570a2d
mov ecx, dword [eax]
push ecx
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [eax + 8]
push ecx
mov ecx, dword [eax + 0xc]
push ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push ecx
push eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx + 0x14], eax
mov eax, dword [0x55dc98]
add eax, 0x14
mov dword [0x55dc98], eax
jmp 0x570a32
push esi
push edx
call fcn.00570850
mov dx, word [0x56a9f2]
inc eax
push eax
mov eax, dword [0x56a9e8]
push edx
push eax
call fcn.005707f0
add esp, 0x14
jmp 0x570a2d
sub ecx, 0x96f
je 0x570f47
sub ecx, 0x723
je 0x570bb1
sub ecx, 0x77
jne 0x570a32
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx + 4], eax
mov eax, dword [0x55dc98]
add eax, 4
mov dword [0x55dc98], eax
jmp 0x570a32
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
add esp, 8
add dword [ecx], eax
jmp 0x570a2d
mov eax, dword [eax]
push eax
push esi
push edx
call fcn.005707f0
mov eax, dword [0x55dc98]
add esp, 0xc
add eax, 4
mov dword [0x55dc98], eax
jmp 0x570a32
cmp ecx, 0x3345
jg 0x570c69
je 0x570c52
sub ecx, 0x1a44
je 0x570c3b
sub ecx, 0x801
je 0x570c21
sub ecx, 0x72
jne 0x570a32
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
add esp, 8
sub dword [ecx], eax
jmp 0x570a2d
mov ecx, dword [eax]
xor edx, edx
mov dx, si
mov dword [0x55dc9c], ecx
lea eax, [eax + edx*4]
mov dword [0x55dc98], eax
jmp 0x570a32
sub eax, 4
mov dword [0x55dc98], eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx], eax
jmp 0x570a2d
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
add esp, 8
and dword [ecx], eax
jmp 0x570a2d
cmp ecx, 0x3dc8
je 0x570c8f
cmp ecx, 0x5211
jne 0x570a32
mov eax, dword [eax]
push eax
push esi
push edx
call fcn.005707f0
add esp, 0xc
jmp 0x570a2d
push esi
push edx
call fcn.00570850
mov cx, word [0x56a9f2]
mov edx, dword [0x56a9e8]
dec eax
push eax
push ecx
push edx
call fcn.005707f0
add esp, 0x14
jmp 0x570a2d
cmp ecx, 0x9b73
jg 0x570e35
je 0x570e05
cmp ecx, 0x7123
jg 0x570d9b
je 0x570d4d
sub ecx, 0x654d
je 0x570d36
sub ecx, 0x5e
je 0x570cfe
sub ecx, 0x3df
jne 0x570a32
push 0
push esi
push edx
call fcn.005707f0
add esp, 0xc
jmp 0x570a2d
mov edx, dword [eax]
xor ecx, ecx
mov cx, si
add eax, 4
cmp edx, ecx
mov dword [0x55dc98], eax
je 0x570a32
mov ecx, dword [0x55dc9c]
sub eax, 4
mov dword [0x55dc98], eax
mov dword [eax], ecx
mov edx, dword [0x56a9e8]
mov dword [0x55dc9c], edx
jmp 0x570a2d
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
add esp, 8
or dword [ecx], eax
jmp 0x570a2d
xor ecx, ecx
mov cx, si
cmp ecx, 0x68
je 0x570d69
cmp ecx, 0x28e
jne 0x570d7e
mov ecx, dword [eax]
and ecx, 0xffff
jmp 0x570d71
mov ecx, dword [eax]
and ecx, 0xff
mov dword [eax], ecx
mov edx, dword [0x56a9e8]
mov eax, dword [0x55dc98]
mov ecx, dword [eax]
add eax, 4
test ecx, ecx
mov dword [0x55dc98], eax
jne 0x570a32
mov dword [0x55dc9c], edx
jmp 0x570a32
cmp ecx, 0x74bb
je 0x570dee
cmp ecx, 0x8109
je 0x570dd2
cmp ecx, 0x9104
jne 0x570a32
push esi
push edx
call fcn.00570850
mov edx, eax
mov eax, dword [0x55dc98]
add esp, 8
imul edx, dword [eax]
mov dword [eax], edx
jmp 0x570a2d
mov edx, dword [eax]
xor ecx, ecx
mov cx, si
add eax, 4
cmp edx, ecx
mov dword [0x55dc98], eax
jne 0x570a32
jmp 0x570d15
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
add esp, 8
xor dword [ecx], eax
jmp 0x570a2d
mov ecx, dword [eax]
push ecx
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [eax + 8]
push ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push ecx
push eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx + 0x10], eax
mov eax, dword [0x55dc98]
add eax, 0x10
mov dword [0x55dc98], eax
jmp 0x570a32
cmp ecx, 0xbed7
jg 0x570eef
je 0x570ec9
cmp ecx, 0xaa61
je 0x570e9d
cmp ecx, 0xb323
je 0x570e75
cmp ecx, 0xba51
jne 0x570a32
mov eax, dword [eax]
push eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx], eax
jmp 0x570a2d
mov ecx, dword [eax]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
push ecx
push eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx + 8], eax
mov eax, dword [0x55dc98]
add eax, 8
mov dword [0x55dc98], eax
jmp 0x570a32
mov ecx, dword [eax]
push ecx
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push ecx
push eax
call edx
mov ecx, dword [0x55dc98]
mov dword [ecx + 0xc], eax
mov eax, dword [0x55dc98]
add eax, 0xc
mov dword [0x55dc98], eax
jmp 0x570a32
mov edx, dword [0x55dc9c]
sub eax, 4
mov dword [0x55dc98], eax
mov dword [eax], edx
mov edx, dword [0x56a9e8]
mov eax, dword [0x55dc98]
mov dword [0x55dc9c], edx
jmp 0x570a32
cmp ecx, 0xcd03
je 0x570f22
cmp ecx, 0xfb52
jne 0x570a32
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
mov esi, eax
xor edx, edx
add esp, 8
mov eax, dword [ecx]
div esi
mov dword [ecx], eax
jmp 0x570a2d
push esi
push edx
call fcn.00570850
mov ecx, dword [0x55dc98]
add esp, 8
sub ecx, 4
mov dword [0x56a9e8], eax
mov dword [0x55dc98], ecx
mov dword [ecx], eax
jmp 0x570a2d
xor eax, eax
mov ax, si
pop esi
cmp eax, 0xb
mov dword [0x56a3fc], eax
ja case.default.0x570f63
xor ecx, ecx
mov cl, byte [eax + 0x5710a8]
jmp dword [ecx*4 + 0x571098]
mov edx, dword [0x56a428]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x56a43c]
test eax, eax
jne 0x571023
cmp dword [0x56a304], 1
jbe 0x571023
push 0x56a55c
call fcn.00572ee0
test ax, ax
je 0x570fa9
and eax, 0xffff
pop ebp
ret 0xc
mov ax, word [0x55afb6]
mov cx, word [0x55afb4]
push eax
push ecx
push 0x56a55c
call fcn.00573a90
test ax, ax
je 0x570fd0
and eax, 0xffff
pop ebp
ret 0xc
push 0x56a448
push 0x56a55c
call fcn.00572f60
test ax, ax
je 0x570fed
and eax, 0xffff
pop ebp
ret 0xc
mov dx, word [0x55a008]
push edx
push 0x56a55c
call fcn.005730f0
mov ecx, dword [0x55afbc]
test ecx, ecx
je 0x57101a
mov ax, word [0x55afb8]
push eax
push 0x56a55c
call fcn.00573840
and eax, 0xffff
pop ebp
ret 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
push ecx
push ebp
push edx
call dword [0x55cf74]
pop ebp
ret 0xc
push 1
call dword [sym.imp.MSVCRT.dll_exit]
mov dword [0x56a3fc], 2
and word [0x55a004], 0xfffe
push 0x2010
call fcn.00570070
push eax
call fcn.00571e40
add esp, 8
push 0
push 0
push 0x56a55c
call fcn.005738c0
mov word [0x56a440], ax
mov al, byte [0x55a004]
test al, 1
jne 0x57108f
mov eax, dword [0x56a3fc]
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor eax, eax
pop ebp
ret 0xc