Function at 0x407ed0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44aae6
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x465944]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x466d80
mov dword [ebp - 0x10], 0
call fcn.0040d4f0
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x407f22
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x466d80
call fcn.0040d4d0
mov ecx, eax
call fcn.00410300
push 0x44e644
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x30], eax
call fcn.004069b0
push 0x44eb94
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0
call fcn.004069b0
mov edi, eax
mov ecx, dword [0x4644dc]
mov esi, dword [edi]
push 0x44eb98
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 1
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [edi]
lea ecx, [ebp - 0x14]
push dword [esi - 8]
push 0x44eb98
push eax
call fcn.00407a30
mov ecx, 0x466d80
call fcn.0040d4d0
mov ecx, eax
call fcn.004102e0
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00406df0
mov eax, dword [ebp - 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x407fd3
lea esi, [eax - 0xc]
push esi
call ebx
test eax, eax
jg 0x407fd3
push esi
call fcn.00425cdd
add esp, 4
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 5
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x407ffe
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x407ffe
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff4
push eax
call fcn.00425cdd
add esp, 4
cmp dword [ebp - 0x30], 0
je 0x408185
push 0x44ebb8
lea ecx, [ebp - 0x30]
call fcn.004069b0
mov ebx, eax
push 0x44ebbc
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.004069b0
mov edi, eax
mov ecx, dword [0x4644dc]
mov eax, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, dword [edi]
push 0x44ebc0
mov byte [ebp - 4], 8
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x10], 4
call eax
push dword [edi]
lea ecx, [ebp - 0x24]
push dword [esi - 8]
push 0x44ebc0
push eax
call fcn.00407a30
mov ecx, 0x466d80
call fcn.0040d4d0
mov ecx, eax
call fcn.004102e0
mov eax, dword [eax]
mov edi, dword [ebp - 0x24]
mov ecx, dword [0x4644dc]
push eax
push dword [eax - 8]
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x28]
push edi
push dword [edi - 8]
mov byte [ebp - 4], 9
mov dword [ebp - 0x10], 0xc
call fcn.00407a30
mov eax, dword [0x4644dc]
lea ecx, [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
push eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x10], 0x1c
push dword [eax - 8]
push esi
push dword [esi - 8]
call fcn.00407a30
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.00406d70
mov eax, dword [ebp - 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x4080f9
add eax, 0xfffffff4
push eax
mov dword [ebp - 0x28], eax
call ebx
test eax, eax
jg 0x4080f9
push dword [ebp - 0x28]
call fcn.00425cdd
add esp, 4
lea eax, [esi - 0xc]
cmp eax, dword [0x4644d8]
je 0x408117
add esi, 0xfffffff4
push esi
call ebx
test eax, eax
jg 0x408117
push esi
call fcn.00425cdd
add esp, 4
lea eax, [edi - 0xc]
cmp eax, dword [0x4644d8]
je 0x408135
add edi, 0xfffffff4
push edi
call ebx
test eax, eax
jg 0x408135
push edi
call fcn.00425cdd
add esp, 4
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x40815c
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x40815c
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff4
push eax
call fcn.00425cdd
add esp, 4
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x40819f
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x40819f
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff4
push eax
call fcn.00425cdd
add esp, 4
jmp 0x40819f
mov eax, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x44ebc0
call eax
push 0x44ebc0
push eax
lea ecx, [ebp - 0x18]
call fcn.004077d0
mov eax, dword [0x4644dc]
push str..log
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x20
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push str..log
push eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x14]
push eax
push dword [eax - 8]
call fcn.00407a30
lea eax, [ebp - 0x14]
mov ecx, 0x467058
push eax
call fcn.0041b6b0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x40820b
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x40820b
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff4
push eax
call fcn.00425cdd
add esp, 4
push str.Command_Line:
lea ecx, [ebp - 0x2c]
call fcn.004069b0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
mov ecx, dword [0x4644dc]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x10], 0x40
test esi, esi
je 0x408241
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [edi]
push esi
push eax
push ecx
push dword [ecx - 8]
lea ecx, [ebp - 0x30]
call fcn.00407a30
mov esi, dword [ebp - 0x30]
push esi
call fcn.0041b930
lea eax, [esi - 0xc]
add esp, 4
cmp eax, dword [0x4644d8]
je 0x40827b
add esi, 0xfffffff4
push esi
call ebx
test eax, eax
jg 0x40827b
push esi
call fcn.00425cdd
add esp, 4
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 5
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x4082a6
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4082a6
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff4
push eax
call fcn.00425cdd
add esp, 4
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov ecx, edi
push eax
push str.ModuleUpdate.exe
push 0x44ec7c
push esi
mov dword [ebp - 0x34], 0
call fcn.00422880
test eax, eax
je 0x408383
mov ecx, edi
call fcn.004230e0
push esi
push str.Check_single_instance_EXIST:___s_
call fcn.0041b930
mov edi, dword [ebp - 0x34]
add esp, 8
mov ecx, 0x466d80
call fcn.0040d4d0
mov ecx, eax
call fcn.00410300
test eax, eax
jne 0x40832f
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40832f
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
je 0x408323
push 9
push edi
call eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push edi
call eax
push edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call fcn.00408c90
push str.Add_Task_to_Exsit_Wnd_and_Quit_
call fcn.0041b930
add esp, 8
mov ecx, 0x466d80
call fcn.0040d4d0
mov ecx, eax
call fcn.004100d0
push eax
push 0xd
mov ecx, 0x466d80
call fcn.0040d4d0
mov ecx, eax
call fcn.004102e0
push eax
call fcn.004233a0
mov ecx, eax
call fcn.00423400
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
jmp 0x408396
push esi
push str.Check_single_instance_NOT_EXIST:___s_
call fcn.0041b930
add esp, 8
mov edi, 1
mov eax, dword [ebp - 0x1c]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4644d8]
je 0x4083bd
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4083bd
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff4
push eax
call fcn.00425cdd
add esp, 4
lea eax, [esi - 0xc]
cmp eax, dword [0x4644d8]
je 0x4083db
add esi, 0xfffffff4
push esi
call ebx
test eax, eax
jg 0x4083db
push esi
call fcn.00425cdd
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret