Function at 0x10024292
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e2fe0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1fcc
call fcn.100c1e30
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [0x1017f504], 3
mov word [ebp - 0x1f3c], 0
mov ecx, 0x513
xor eax, eax
lea edi, [ebp - 0x1f3a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov byte [ebp - 0xa40], 0
mov ecx, 0x289
xor eax, eax
lea edi, [ebp - 0xa3f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xae0], 0
mov dword [ebp - 0xad8], 0
push 0x94
push 0
lea eax, [ebp - 0xad4]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0xad4], 0x94
lea ecx, [ebp - 0xad4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x10024255
mov edx, dword [ebp - 0xac8]
mov dword [0x1017f514], edx
mov eax, dword [ebp - 0xad0]
mov dword [0x1017f50c], eax
mov ecx, dword [ebp - 0xacc]
mov dword [0x1017f510], ecx
mov edx, dword [0x1017f504]
mov dword [ebp - 0x1fdc], edx
mov eax, dword [ebp - 0x1fdc]
sub eax, 3
mov dword [ebp - 0x1fdc], eax
cmp dword [ebp - 0x1fdc], 0xc
ja case.0x1002428b.3
mov edx, dword [ebp - 0x1fdc]
xor ecx, ecx
mov cl, byte [edx + 0x10024749]
jmp dword [ecx*4 + 0x10024739]
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0xadc], eax
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x1f3c]
mov dword [ebp - 0xae0], ecx
cmp dword [ebp - 0xadc], 0
jne 0x100242ca
jmp case.0x1002428b.3
cmp dword [ebp - 0x14], 2
jge 0x100242e2
mov edx, dword [ebp - 0xadc]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
push 0xa27
mov eax, dword [ebp - 0xadc]
mov ecx, dword [eax + 4]
push ecx
lea edx, [ebp - 0x1f3c]
push edx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
mov dword [ebp - 0xae8], 0
jmp 0x1002431c
mov eax, dword [ebp - 0xae8]
add eax, 1
mov dword [ebp - 0xae8], eax
cmp dword [ebp - 0xae8], 2
jge 0x10024382
mov ecx, dword [ebp - 0xae0]
add ecx, 2
mov dword [ebp - 0xae0], ecx
mov edx, dword [ebp - 0xae0]
mov dword [ebp - 0x18], edx
push 0x3f
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x10024357
jmp 0x10024382
mov ecx, dword [ebp - 0x18]
add ecx, 2
mov dword [ebp - 0x18], ecx
push 0x3f
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
mov dword [ebp - 0xae0], eax
cmp dword [ebp - 0xae0], 0
jne 0x10024380
jmp 0x10024382
jmp 0x1002430d
cmp dword [ebp - 0xae8], 2
jne 0x100243b1
cmp dword [ebp - 0xae0], 0
je 0x1002439f
mov eax, dword [ebp - 0xae0]
mov word [eax], 0
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.MSVCRT.dll__wtoi]
add esp, 4
mov dword [0x1017f500], eax
mov edx, dword [ebp - 0xadc]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
lea eax, [ebp - 0x1f3c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xae0], 0
lea ecx, [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0xadc], eax
cmp dword [ebp - 0xadc], 0
jne 0x100243fb
jmp case.0x1002428b.3
cmp dword [ebp - 0x14], 2
jge 0x10024413
mov edx, dword [ebp - 0xadc]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
mov dword [ebp - 0xae8], 1
jmp 0x1002442e
mov eax, dword [ebp - 0xae8]
add eax, 1
mov dword [ebp - 0xae8], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 1
cmp dword [ebp - 0xae8], ecx
jge 0x1002446c
push 0x1010632c
mov edx, dword [ebp - 0xae8]
mov eax, dword [ebp - 0xadc]
mov ecx, dword [eax + edx*4]
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x1002446a
mov dword [ebp - 0xad8], 1
jmp 0x1002446c
jmp 0x1002441f
cmp dword [ebp - 0xad8], 0
jne 0x10024487
mov edx, dword [ebp - 0xadc]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
mov eax, dword [ebp - 0xae8]
add eax, 1
mov dword [ebp - 0xae8], eax
push 0xa27
mov ecx, dword [ebp - 0xae8]
mov edx, dword [ebp - 0xadc]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x1f3c]
push ecx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
push 0x3a
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x100244e5
mov eax, dword [ebp - 0xadc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
mov ecx, dword [ebp - 0x18]
add ecx, 2
mov dword [ebp - 0x18], ecx
push 0x3a
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
mov dword [ebp - 0xae0], eax
cmp dword [ebp - 0xae0], 0
jne 0x1002451e
mov eax, dword [ebp - 0xadc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
mov ecx, dword [ebp - 0xae0]
mov word [ecx], 0
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.MSVCRT.dll__wtoi]
add esp, 4
mov dword [0x1017f500], eax
mov eax, dword [ebp - 0xadc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
lea ecx, [ebp - 0x1f3c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xae0], 0
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0xadc], eax
cmp dword [ebp - 0xadc], 0
jne 0x10024585
jmp case.0x1002428b.3
cmp dword [ebp - 0x14], 2
jge 0x1002459d
mov eax, dword [ebp - 0xadc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
mov dword [ebp - 0xae8], 1
jmp 0x100245b8
mov ecx, dword [ebp - 0xae8]
add ecx, 1
mov dword [ebp - 0xae8], ecx
mov edx, dword [ebp - 0xae8]
cmp edx, dword [ebp - 0x14]
jge 0x100245f3
push str.QQCMD
mov eax, dword [ebp - 0xae8]
mov ecx, dword [ebp - 0xadc]
mov edx, dword [ecx + eax*4]
push edx
call dword [sym.imp.MSVCRT.dll_wcsstr]
add esp, 8
test eax, eax
je 0x100245f1
mov dword [ebp - 0xad8], 1
jmp 0x100245f3
jmp 0x100245a9
cmp dword [ebp - 0xad8], 0
jne 0x1002460e
mov eax, dword [ebp - 0xadc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
push 0
push 0
push 0xa28
lea ecx, [ebp - 0xa40]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0xae8]
mov eax, dword [ebp - 0xadc]
mov ecx, dword [eax + edx*4]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x10024650
mov edx, dword [ebp - 0xadc]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp case.0x1002428b.3
mov eax, dword [ebp - 0xadc]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.QQToolKit.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0xaec], eax
cmp dword [ebp - 0xaec], 0
jne 0x1002467c
jmp case.0x1002428b.3
push str.ParserQQCommandLine
mov ecx, dword [ebp - 0xaec]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xae4], eax
cmp dword [ebp - 0xae4], 0
je 0x1002471b
push 0x9c
push 0
lea edx, [ebp - 0x1fd8]
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0x1fd8], 0x9c
mov dword [ebp - 4], 0
lea eax, [ebp - 0x1fd8]
push eax
lea ecx, [ebp - 0xa40]
push ecx
call dword [ebp - 0xae4]
jmp 0x10024700
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1fd4], 0
je 0x1002471b
mov eax, dword [ebp - 0x1fd4]
mov dword [0x1017f500], eax
mov ecx, dword [ebp - 0xaec]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret