Function at 0x403120
Capabilities:
Accept command line arguments

Disassembly:
push 0x234
mov eax, 0x423ae0
call fcn.00413d00
mov eax, dword [ebp + 8]
xor edi, edi
push 0x208
mov dword [ebp - 0x234], eax
mov dword [0x42f798], eax
lea eax, [ebp - 0x218]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str...360Base.dll
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x218]
call fcn.00404da1
test eax, eax
jne 0x40318f
xor eax, eax
jmp 0x4032fd
or ebx, 0xffffffff
push ebx
call dword [sym.imp.IMM32.dll_ImmDisableIME]
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [ebp - 0x238], 2
mov esi, eax
jl 0x4032fb
push str._se1
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x403305
call fcn.00402d54
test al, al
je 0x4032c1
push 0x208
lea eax, [ebp - 0x218]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [ebp - 0x220], edi
push 0x427e90
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00403d06
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b93
push 0x427e94
lea ecx, [ebp - 0x230]
call fcn.00403b93
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b93
lea edx, [ebp - 0x234]
mov dword [ebp - 0x234], edi
lea ecx, [ebp - 0x230]
call fcn.0040302f
cmp dword [ebp - 0x234], edi
je 0x4032b6
push dword [ebp - 0x234]
push edi
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x4032a6
push 0x7148
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x230]
call fcn.00404880
jmp 0x403188
lea ecx, [ebp - 0x230]
call fcn.00404880
cmp dword [ebp - 0x238], 3
jne 0x4032fb
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
push edi
mov ecx, dword [esi + 4]
mov edx, eax
call fcn.004029e2
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x403188
cmp eax, 0x4c7
je 0x403188
mov eax, ebx
call fcn.00413c80
ret 0x10
push str._se2
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4033fa
call fcn.00402d54
test al, al
je 0x4033dc
push 0x208
lea eax, [ebp - 0x218]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [ebp - 0x220], edi
push 0x427e90
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00403d06
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b93
push 0x427e94
lea ecx, [ebp - 0x230]
call fcn.00403b93
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b93
lea edx, [ebp - 0x234]
mov dword [ebp - 0x234], edi
lea ecx, [ebp - 0x230]
call fcn.0040302f
cmp dword [ebp - 0x234], edi
jne 0x403284
lea ecx, [ebp - 0x230]
call fcn.00404880
cmp dword [ebp - 0x238], 3
jne 0x4032fb
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
push 1
jmp 0x4032d5
push str._sex1
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4034ef
cmp dword [ebp - 0x238], 3
jne 0x40342a
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
push edi
jmp 0x40351b
call fcn.00402d54
test al, al
je 0x4032fb
push 0x208
lea eax, [ebp - 0x218]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [ebp - 0x220], edi
push 0x427e90
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00403d06
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b93
push 0x427e94
lea ecx, [ebp - 0x230]
call fcn.00403b93
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b93
lea edx, [ebp - 0x234]
mov dword [ebp - 0x234], edi
lea ecx, [ebp - 0x230]
call fcn.0040302f
cmp dword [ebp - 0x234], edi
jne 0x403284
lea ecx, [ebp - 0x230]
call fcn.00404880
jmp 0x4032fb
push str._sex2
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x403546
cmp dword [ebp - 0x238], 3
jne 0x40342a
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
push 1
mov ecx, dword [esi + 4]
mov edx, eax
call fcn.004029e2
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x403188
cmp eax, 0x4c7
jne 0x40342a
jmp 0x403188
push str._se1
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x403581
cmp dword [ebp - 0x238], 4
jne 0x4032fb
push dword [esi + 0xc]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
push edi
mov ecx, dword [esi + 8]
mov edx, eax
call fcn.004029e2
jmp 0x4036a3
push str._se2
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4035b0
cmp dword [ebp - 0x238], 4
jne 0x4032fb
push dword [esi + 0xc]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
push 1
jmp 0x403572
push str.ieoption
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4035fd
cmp dword [ebp - 0x238], 2
jle 0x4035d9
push dword [esi + 8]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov edi, eax
mov ecx, edi
call fcn.00405796
test al, al
jne 0x403188
mov ecx, edi
call fcn.004056bb
xor ecx, ecx
test al, al
sete cl
mov eax, ecx
jmp 0x4032fd
push str.uninstallui
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x403625
call fcn.004054ba
test al, al
jne 0x403188
call fcn.004053f2
jmp 0x4035ef
push str.queryicon
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x403675
call fcn.00402858
mov esi, eax
cmp esi, ebx
je 0x4032fb
push str.360DTA
push edi
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventW]
test eax, eax
je 0x403669
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x403188
mov ecx, esi
call fcn.00402897
jmp 0x403188
push str.ievolume
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4036ae
cmp dword [ebp - 0x238], 4
jne 0x4036ae
mov edx, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 8]
fld1
fstp dword [esp]
call fcn.004017cd
neg eax
pop ecx
sbb eax, eax
inc eax
jmp 0x4032fd
push str.lockhomepage
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4036d2
mov ecx, dword [ebp - 0x234]
call fcn.0040306c
jmp 0x4032fd
push str.lspscan
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x403743
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x427f40
push dword [esi + 8]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x403701
xor edi, edi
inc edi
jmp 0x403716
push 0x427f48
push dword [esi + 8]
call ebx
mov edi, eax
neg edi
pop ecx
sbb edi, edi
pop ecx
add edi, 2
push dword [esi + 0xc]
lea ecx, [ebp - 0x234]
call fcn.00403b44
push ecx
mov ecx, dword [ebp - 0x234]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00403e4a
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004025a1
jmp 0x4037b2
push str.lspfix
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4037c3
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x427f40
push dword [esi + 8]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x403772
xor edi, edi
inc edi
jmp 0x403787
push 0x427f48
push dword [esi + 8]
call ebx
mov edi, eax
neg edi
pop ecx
sbb edi, edi
pop ecx
add edi, 2
push dword [esi + 0xc]
lea ecx, [ebp - 0x234]
call fcn.00403b44
push ecx
mov ecx, dword [ebp - 0x234]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00403e4a
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004021ac
pop ecx
lea ecx, [ebp - 0x234]
call fcn.00403cc2
jmp 0x403188
push str._funcnetmoncheck
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4032fb
cmp dword [ebp - 0x238], 3
jne 0x4032fb
mov ecx, dword [esi + 8]
call fcn.00406f5f
push 0x30
mov dword [ebp - 0x234], eax
call dword [sym.imp.msvcrt.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
pop ecx
test esi, esi
je 0x403824
mov dword [esi + 4], edi
lea ecx, [esi + 0xc]
mov dword [esi + 8], edi
mov dword [esi], vtable.ScanAdware.0
call fcn.00404f33
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
jmp 0x403826
mov esi, edi
mov dword [ebp - 0x23c], edi
lea ecx, [ebp - 0x240]
push dword [ebp - 0x23c]
mov dword [ebp - 0x240], edi
push esi
call fcn.004040fe
mov edi, dword [ebp - 0x240]
test edi, edi
je 0x403871
mov esi, dword [ebp - 0x234]
test esi, esi
je 0x403871
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x403871
mov ecx, edi
mov dword [edi + 0x24], esi
call fcn.0040708c
mov edi, eax
jmp 0x403873
mov edi, ebx
mov dword [ebp - 4], 2
mov esi, dword [ebp - 0x23c]
test esi, esi
je 0x4038a2
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x4038a2
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x4038a2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, edi
jmp 0x4032fd