Function at 0x405a00
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
push 0x456770
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46c5a0]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [esp + 0x18]
push ecx
push eax
mov dword [esp + 0x24], eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [esp + 0x18], 2
mov edi, eax
mov dword [esp + 0x14], edi
jl 0x405da9
mov eax, dword [edi + 4]
push eax
call fcn.0044a220
mov esi, eax
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405a66
sub eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x34], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405a81
mov ebp, dword [esp + 0x3c]
sub eax, edx
push eax
push esi
lea ecx, [ebp + 0xc4]
call fcn.00404d70
or ebx, 0xffffffff
mov dword [esp + 0x34], ebx
test esi, esi
je 0x405aaf
push esi
call fcn.0040efb4
add esp, 4
mov eax, dword [edi + 8]
push eax
call fcn.0044a220
mov esi, eax
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405ac1
sub eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x34], 1
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405ae0
sub eax, edx
push eax
lea edi, [ebp + 0xa8]
push esi
mov ecx, edi
call fcn.00404d70
mov dword [esp + 0x34], ebx
test esi, esi
je 0x405b09
push esi
call fcn.0040efb4
add esp, 4
cmp dword [ebp + 0xbc], 0
jne 0x405b20
push 4
push str.NOSN
mov ecx, edi
call fcn.00404d70
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
push eax
call fcn.0044a220
mov esi, eax
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405b36
sub eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x34], 2
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405b55
sub eax, edx
push eax
lea edi, [ebp + 0xe0]
push esi
mov ecx, edi
call fcn.00404d70
mov dword [esp + 0x34], ebx
test esi, esi
je 0x405b7e
push esi
call fcn.0040efb4
add esp, 4
cmp dword [ebp + 0xf4], 0
jne 0x405b95
push 0x19
push str.http:__update.gdca.com.cn
mov ecx, edi
call fcn.00404d70
cmp dword [esp + 0x18], 6
jl 0x405d03
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
push eax
call fcn.0044a220
mov esi, eax
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405bb6
sub eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x34], 3
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405bd5
sub eax, edx
push eax
lea edi, [ebp + 0x108]
push esi
mov ecx, edi
call fcn.00404d70
mov dword [esp + 0x34], ebx
test esi, esi
je 0x405bfe
push esi
call fcn.0040efb4
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x14]
push eax
call fcn.0044a220
mov esi, eax
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405c14
sub eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x34], 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405c33
sub eax, edx
push eax
lea ebx, [ebp + 0x124]
push esi
mov ecx, ebx
call fcn.00404d70
mov dword [esp + 0x34], 0xffffffff
test esi, esi
je 0x405c60
push esi
call fcn.0040efb4
add esp, 4
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x18]
push eax
call fcn.0044a220
mov esi, eax
mov dword [esp + 0x20], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405c76
sub eax, edx
mov dword [esp + 0x24], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x34], 5
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405c95
sub eax, edx
push eax
add ebp, 0x140
push esi
mov ecx, ebp
call fcn.00404d70
mov dword [esp + 0x34], 0xffffffff
test esi, esi
je 0x405cc2
push esi
call fcn.0040efb4
add esp, 4
mov ecx, str.null
call fcn.00403d50
test al, al
je 0x405cd5
call fcn.004042f0
mov ecx, str.null
mov edi, ebx
call fcn.00403d50
test al, al
je 0x405cea
call fcn.004042f0
mov ecx, str.null
mov edi, ebp
call fcn.00403d50
test al, al
je 0x405cff
call fcn.004042f0
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
push str._silent
push esi
call fcn.0042fcb0
add esp, 8
test eax, eax
je 0x405d20
mov byte [ebp + 0xfc], 1
push str._autorun
push esi
call fcn.0042fcb0
add esp, 8
test eax, eax
je 0x405d39
mov byte [ebp + 0xfd], 1
push str._from_client
push esi
call fcn.0042fcb0
add esp, 8
test eax, eax
je 0x405d55
mov dword [ebp + 0x100], 0
push str._from_downtool
push esi
call fcn.0042fcb0
add esp, 8
test eax, eax
je 0x405d71
mov dword [ebp + 0x100], 1
push str._runlocal
push esi
call fcn.0042fcb0
add esp, 8
test eax, eax
je 0x405d8d
mov dword [ebp + 0x160], 1
push str._run_download
push esi
call fcn.0042fcb0
add esp, 8
test eax, eax
je 0x405da9
mov dword [ebp + 0x160], 2
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 4