Function at 0x4500c0
Capabilities:
Accept command line arguments
Check mutex on windows
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46150a
mov eax, dword fs:[0]
push eax
sub esp, 0x91c
mov eax, dword [0x47ea94]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x844], ecx
push 0
push 0
push 0
push 0
push 0
push 0x46b4a8
lea ecx, [ebp - 0x848]
call fcn.00407b80
mov dword [ebp - 4], 0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x868], 0
mov ecx, dword [ebp - 0x844]
call fcn.00452670
push 0x20a
push 0
lea eax, [ebp - 0x21c]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x864], 0
call fcn.00435190
mov dword [ebp - 0x864], eax
cmp dword [ebp - 0x864], 0
jne 0x450170
call fcn.004409c0
mov dword [ebp - 0x864], eax
mov ecx, dword [ebp - 0x864]
push ecx
push 0x104
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
push str.QMDns.dll
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x21c]
push ecx
call fcn.0043df60
add esp, 4
test eax, eax
je 0x4501c0
lea edx, [ebp - 0x21c]
push edx
call fcn.0043ba10
add esp, 4
cmp dword [ebp + 8], 0
jne 0x4501dc
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x850], 0
jmp 0x450213
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
jne 0x4501fc
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x850], 0
jmp 0x450213
lea edx, [ebp - 0x868]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
mov edx, dword [ebp - 0x868]
push edx
mov ecx, dword [ebp - 0x844]
call fcn.00451040
cmp dword [ebp - 0x850], 0
je 0x450242
mov eax, dword [ebp - 0x850]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 0x844]
cmp dword [ecx + 0x174], 0
je 0x4502dd
push 0x46b4f4
lea ecx, [ebp - 0x86c]
call fcn.0040bcd0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x86c]
push edx
call fcn.0044ab10
add esp, 4
push 0x46b4f8
lea eax, [ebp - 0x86c]
push eax
call fcn.00456940
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4502a2
lea edx, [ebp - 0x86c]
push edx
call fcn.0044ac50
add esp, 4
mov dword [ebp - 0x8c4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x86c]
call fcn.0040bc80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8c4]
jmp 0x450e76
mov eax, dword [ebp - 0x844]
cmp dword [eax + 0x180], 0
je 0x4505ab
push str.QRP381868F9_552F_449B_8491_E17C2C4083AE
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
jne 0x450335
mov dword [ebp - 0x8dc], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8dc]
jmp 0x450e76
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x8e8], eax
cmp dword [ebp - 0x8e8], 0xb7
jne 0x450381
mov ecx, dword [ebp - 0x87c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8e4], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8e4]
jmp 0x450e76
mov dword [ebp - 0x860], 0x2a0
mov dword [ebp - 0x85c], 0
push 0
push 0x3c
mov edx, dword [ebp - 0x85c]
push edx
mov eax, dword [ebp - 0x860]
push eax
call fcn.0045c370
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], edx
push 0
push 0x3c
mov ecx, dword [ebp - 0x85c]
push ecx
mov edx, dword [ebp - 0x860]
push edx
call fcn.0045c370
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], edx
push 0
push 0x3e8
mov eax, dword [ebp - 0x85c]
push eax
mov ecx, dword [ebp - 0x860]
push ecx
call fcn.0045c370
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], edx
mov dword [ebp - 0x8f8], 0x6ddd00
mov dword [ebp - 0x888], 0
push 0x20a
push 0
lea edx, [ebp - 0x428]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x870], 0
call fcn.00435190
mov dword [ebp - 0x870], eax
cmp dword [ebp - 0x870], 0
jne 0x450454
call fcn.004409c0
mov dword [ebp - 0x870], eax
mov eax, dword [ebp - 0x870]
push eax
lea ecx, [ebp - 0x428]
push ecx
call fcn.004561f0
add esp, 8
push 0x46b554
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x428]
push eax
call fcn.0043df60
add esp, 4
test eax, eax
je 0x4504cb
lea ecx, [ebp - 0x428]
push ecx
lea ecx, [ebp - 0x69c]
call fcn.00405bb0
mov byte [ebp - 4], 2
push 1
lea edx, [ebp - 0x69c]
push edx
call fcn.00402120
mov ecx, eax
call fcn.00402420
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x69c]
call fcn.00405b50
jmp 0x450503
push 0x46b4fc
lea ecx, [ebp - 0x684]
call fcn.00405bb0
mov byte [ebp - 4], 3
push 1
lea eax, [ebp - 0x684]
push eax
call fcn.00402120
mov ecx, eax
call fcn.00402420
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x684]
call fcn.00405b50
push 4
call fcn.00408fa0
mov ecx, eax
call fcn.0040a870
test eax, eax
je 0x450544
mov ecx, dword [ebp - 0x888]
push ecx
push str.call_UnlockHaoQQ__d
push 0x46b58c
push 0x133
push 0x46b5c8
push 0
push 4
push 0
call fcn.00408fa0
push eax
call fcn.0040a910
add esp, 0x24
mov edx, dword [ebp - 0x888]
push edx
mov ecx, dword [ebp - 0x844]
call fcn.00454130
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x2710
call fcn.00402120
mov ecx, eax
call fcn.00403300
mov eax, dword [ebp - 0x87c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8e0], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8e0]
jmp 0x450e76
mov ecx, dword [ebp - 0x844]
cmp dword [ecx + 0x178], 0
je 0x450743
push str.http:__hao.qq.com__unco400493_1so400493_1
lea ecx, [ebp - 0x880]
call fcn.0040bcd0
mov byte [ebp - 4], 4
push 0
push 0
push 0x47eb48
lea ecx, [ebp - 0x8c0]
call fcn.00456640
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8c0]
call fcn.00457120
push eax
lea ecx, [ebp - 0x854]
call fcn.004562d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x854]
call fcn.0041fa10
test eax, eax
je 0x450667
lea ecx, [ebp - 0x854]
call fcn.0041fa10
mov dword [ebp - 0x88c], eax
push 1
mov edx, dword [ebp - 0x88c]
push edx
mov eax, dword [ebp - 0x88c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
call edx
lea ecx, [ebp - 0x854]
call fcn.0041fa10
mov dword [ebp - 0x8b0], eax
mov eax, dword [ebp - 0x844]
push eax
mov ecx, dword [ebp - 0x8b0]
push ecx
mov edx, dword [ebp - 0x8b0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x1c]
call ecx
push 0
push 0
push 0x1f4
lea ecx, [ebp - 0x880]
call fcn.0040be50
lea edx, [eax + eax + 2]
push edx
push 0
lea ecx, [ebp - 0x880]
call fcn.0040be60
push eax
push 0xf4f0c
push 0x4722a4
lea eax, [ebp - 0x8c0]
push eax
call fcn.0040b980
lea ecx, [ebp - 0x854]
call fcn.0041fa10
test eax, eax
je 0x4506df
lea ecx, [ebp - 0x854]
call fcn.0041fa10
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x844]
push ecx
mov edx, dword [ebp - 0x890]
push edx
mov eax, dword [ebp - 0x890]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
call edx
lea ecx, [ebp - 0x8c0]
call fcn.0040ae30
mov dword [ebp - 0x8d8], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x854]
call fcn.00456780
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8c0]
call fcn.004568b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x880]
call fcn.0040bc80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8d8]
jmp 0x450e76
mov eax, dword [ebp - 0x844]
cmp dword [eax + 0x17c], 0
je 0x4508de
xor ecx, ecx
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x638], ecx
mov edx, 8
mov word [ebp - 0x63c], dx
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x637], 1
mov edx, 1
shl edx, 0
mov byte [ebp + edx - 0x637], 0x6f
push 0
push 0
push 0x47eb48
lea ecx, [ebp - 0x8b8]
call fcn.00456640
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8b8]
call fcn.00457120
push eax
lea ecx, [ebp - 0x858]
call fcn.004562d0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x858]
call fcn.0041fa10
test eax, eax
je 0x450825
lea ecx, [ebp - 0x858]
call fcn.0041fa10
mov dword [ebp - 0x894], eax
push 1
mov eax, dword [ebp - 0x894]
push eax
mov ecx, dword [ebp - 0x894]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
lea ecx, [ebp - 0x858]
call fcn.0041fa10
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x844]
push ecx
mov edx, dword [ebp - 0x898]
push edx
mov eax, dword [ebp - 0x898]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
call edx
push 0
push 0x1f4
push 0
push 8
lea eax, [ebp - 0x63c]
push eax
push 0xf4e8c
push 0x4722a4
lea ecx, [ebp - 0x8b8]
push ecx
call fcn.0040b960
mov dword [ebp - 0x8fc], eax
lea ecx, [ebp - 0x858]
call fcn.0041fa10
test eax, eax
je 0x45088e
lea ecx, [ebp - 0x858]
call fcn.0041fa10
mov dword [ebp - 0x89c], eax
mov edx, dword [ebp - 0x844]
push edx
mov eax, dword [ebp - 0x89c]
push eax
mov ecx, dword [ebp - 0x89c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
lea ecx, [ebp - 0x8b8]
call fcn.0040ae30
mov dword [ebp - 0x8d4], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x858]
call fcn.00456780
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8b8]
call fcn.004568b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8d4]
jmp 0x450e76
mov dword [ebp - 0x84c], 0
push 0x20a
push 0
lea ecx, [ebp - 0x634]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x844]
mov eax, dword [edx + 0x15c]
push eax
push str.Global66F3A37B_70DC_41c5_A7E4_E4EDA8FCA35B__x
lea ecx, [ebp - 0x634]
push ecx
call fcn.004561c0
add esp, 0xc
lea ecx, [ebp - 0x928]
call fcn.004565e0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x634]
push edx
push 0
push 1
lea ecx, [ebp - 0x928]
call fcn.00456970
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
je 0x4509b4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4509b4
mov eax, dword [ebp - 0x84c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x8d0], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x928]
call fcn.00456860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8d0]
jmp 0x450e76
mov ecx, dword [ebp - 0x864]
push ecx
lea edx, [ebp - 0x21c]
push edx
call fcn.004561f0
add esp, 8
push str.DR.DLL
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x21c]
push ecx
call fcn.0043df60
add esp, 4
test eax, eax
je 0x450a2b
lea edx, [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x66c]
call fcn.00405bb0
mov byte [ebp - 4], 0xa
push 1
lea eax, [ebp - 0x66c]
push eax
call fcn.00402120
mov ecx, eax
call fcn.00402420
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x66c]
call fcn.00405b50
jmp 0x450a63
push 0x46b5c4
lea ecx, [ebp - 0x654]
call fcn.00405bb0
mov byte [ebp - 4], 0xb
push 1
lea ecx, [ebp - 0x654]
push ecx
call fcn.00402120
mov ecx, eax
call fcn.00402420
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x654]
call fcn.00405b50
mov dword [ebp - 0x884], 0
push 0x46b694
lea edx, [ebp - 0x884]
push edx
call fcn.00435720
add esp, 8
test eax, eax
je 0x450aa1
cmp dword [ebp - 0x884], 0
je 0x450aa1
mov eax, dword [ebp - 0x884]
push eax
call fcn.00402120
mov ecx, eax
call fcn.004576f0
mov ecx, dword [ebp - 0x844]
call fcn.00450eb0
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x8a8], 0xffffffff
cmp dword [ebp - 0x8a0], 0
je 0x450b67
push str.MainFlow
mov ecx, dword [ebp - 0x8a0]
push ecx
call fcn.0043ba90
add esp, 8
mov dword [ebp - 0x8a4], eax
cmp dword [ebp - 0x8a4], 0
je 0x450b04
push 0xffffffffffffffff
call sub.IMM32.dll_ImmDisableIME
call fcn.0040f8e0
mov edx, dword [ebp + 8]
push edx
call dword [ebp - 0x8a4]
jmp 0x450b65
push 1
call fcn.00408fa0
mov ecx, eax
call fcn.0040a870
test eax, eax
je 0x450b52
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x8cc], eax
push str.no_found
push 0x46b798
push 0x197
push 0x46b7d0
mov eax, dword [ebp - 0x8cc]
push eax
push 1
push 0x480580
call fcn.00408fa0
push eax
call fcn.0040a910
add esp, 0x20
xor ecx, ecx
jne 0x450b04
call fcn.0040f8e0
mov dword [ebp - 0x8a8], 0xfffffffe
jmp 0x450bc8
push 1
call fcn.00408fa0
mov ecx, eax
call fcn.0040a870
test eax, eax
je 0x450bb5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x8c8], eax
push str.Load_Fail
push str.CQMRepairApp::InitInstance
push 0x19c
push 0x46b8e8
mov edx, dword [ebp - 0x8c8]
push edx
push 1
push 0x480584
call fcn.00408fa0
push eax
call fcn.0040a910
add esp, 0x20
xor eax, eax
jne 0x450b67
call fcn.0040f8e0
mov dword [ebp - 0x8a8], 0xffffffff
mov ecx, dword [ebp - 0x844]
cmp dword [ecx + 0x15c], 5
jne 0x450c5b
mov dword [ebp - 0x874], 0
push 0x11c
push 0
lea edx, [ebp - 0x840]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x840], 0x11c
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x874], eax
cmp dword [ebp - 0x874], 0
jne 0x450c3e
mov dword [ebp - 0x840], 0x114
lea ecx, [ebp - 0x840]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x874], eax
cmp dword [ebp - 0x838], 1
jne 0x450c5b
cmp dword [ebp - 0x83c], 5
jne 0x450c5b
mov ecx, dword [ebp - 0x844]
call fcn.00452ba0
mov ecx, dword [ebp - 0x844]
call fcn.00451570
mov ecx, dword [ebp - 0x844]
call fcn.004527f0
mov ecx, dword [ebp - 0x844]
call fcn.00452110
push 1
push 0x15cd
mov edx, dword [ebp - 0x844]
add edx, 0x64
push edx
call fcn.00402120
mov ecx, eax
call fcn.00455dd0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x75300
jbe 0x450def
push 0x46b9b4
call fcn.00434bc0
add esp, 4
test eax, eax
jne 0x450def
lea ecx, [ebp - 0x724]
call fcn.00456480
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x8ac], 0
lea eax, [ebp - 0x724]
push eax
call fcn.00437630
add esp, 4
mov dword [ebp - 0x8ac], eax
cmp dword [ebp - 0x8ac], 0
jne 0x450de0
mov dword [ebp - 0x878], 0
cmp dword [ebp - 0x720], 0x1335301
jb 0x450d65
mov ecx, dword [ebp - 0x71c]
and ecx, 1
jne 0x450d65
lea edx, [ebp - 0x8f4]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [ebp - 0x8f4]
sub eax, dword [ebp - 0x704]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x8f0]
sub ecx, dword [ebp - 0x700]
mov dword [ebp - 0x700], ecx
mov edx, dword [ebp - 0x71c]
or edx, 1
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x878], 1
mov eax, dword [ebp - 0x71c]
and eax, 0xf0000
jne 0x450d8e
mov ecx, dword [ebp - 0x71c]
or ecx, 0x40000
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x878], 1
cmp dword [ebp - 0x878], 0
je 0x450db0
lea edx, [ebp - 0x724]
push edx
call fcn.00437550
add esp, 4
mov dword [ebp - 0x878], 1
push 1
push 0x1706
lea eax, [ebp - 0x724]
push eax
call fcn.00402120
mov ecx, eax
call fcn.00455f10
test eax, eax
je 0x450de0
push str.UpdateSFDR
call fcn.00434970
add esp, 4
call fcn.00437710
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x724]
call fcn.00456800
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x2710
call fcn.00402120
mov ecx, eax
call fcn.00403300
mov ecx, dword [ebp - 0x844]
cmp dword [ecx + 0x15c], 0xe
jne 0x450e25
mov ecx, dword [ebp - 0x844]
call fcn.00447fe0
cmp dword [ebp - 0x84c], 0
je 0x450e45
mov edx, dword [ebp - 0x84c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x8ec], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x928]
call fcn.00456860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00407aa0
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045be1b
mov esp, ebp
pop ebp
ret 4