Function at 0x40afa0
Capabilities:
Accept command line arguments
Extract resource via kernel32 functions
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6232b0
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x6b9538]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x31c], 0
call fcn.00412e48
xor eax, eax
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x260]
push str.SOFT_NAME_EN
push eax
mov dword [ebp - 0x21c], 7
call fcn.00414d84
add esp, 8
lea ecx, [ebp - 0x230]
push eax
call fcn.0040ba70
mov edx, dword [ebp - 0x24c]
cmp edx, 8
jb 0x40b063
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b059
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7e3
push edx
push ecx
call fcn.0050f0f2
add esp, 8
xor eax, eax
mov dword [ebp - 0x250], 0
mov word [ebp - 0x260], ax
lea eax, [ebp - 0x278]
push str.SOFT_COMPANY_NAME_EN
push eax
mov dword [ebp - 0x24c], 7
call fcn.00414d84
add esp, 8
lea ecx, [ebp - 0x230]
push eax
call fcn.0040ba70
mov edx, dword [ebp - 0x264]
cmp edx, 8
jb 0x40b0e0
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b0d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7e8
push edx
push ecx
call fcn.0050f0f2
add esp, 8
xor eax, eax
mov dword [ebp - 0x268], 0
mov word [ebp - 0x278], ax
lea eax, [ebp - 0x290]
push str.SOFT_POPMGR_LINK_NAME
push eax
mov dword [ebp - 0x264], 7
call fcn.00414d84
add esp, 8
lea ecx, [ebp - 0x230]
push eax
call fcn.0040ba70
mov edx, dword [ebp - 0x27c]
cmp edx, 8
jb 0x40b15d
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b153
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7ed
push edx
push ecx
call fcn.0050f0f2
add esp, 8
xor eax, eax
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x324]
mov word [ebp - 0x290], ax
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
mov dword [ebp - 0x27c], 7
call fcn.0041f5c3
lea ecx, [ebp - 0x324]
call fcn.00413ed2
test eax, eax
je 0x40b1b3
mov esi, 1
jmp 0x40b754
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x40b1c6
xor esi, esi
jmp 0x40b754
lea ecx, [ebp - 0x310]
call fcn.00412e48
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x310]
call fcn.00413570
call fcn.0041f972
push 0x1388
sub esp, 0x18
mov ecx, esp
push 0xf
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.SoftResFlashZip
mov byte [ecx], 0
call fcn.00409780
mov esi, dword [0x6c9000]
test esi, esi
jne 0x40b27e
push 0x6c9038
call fcn.004c6624
add esp, 4
test eax, eax
je 0x40b233
push eax
call fcn.004c6e54
add esp, 4
mov esi, dword [0x6c9000]
test esi, esi
jne 0x40b256
push 0x28
call fcn.0050ed47
add esp, 4
mov ecx, eax
call fcn.00414a9a
mov esi, eax
mov dword [0x6c9000], esi
push 0x6c9038
mov dword [ebp - 4], 0
call fcn.004c6649
add esp, 4
test eax, eax
je 0x40b277
push eax
call fcn.004c6e54
add esp, 4
mov dword [ebp - 4], 0xffffffff
push edi
mov ecx, esi
call fcn.00414d9e
mov esi, dword [0x6c8f50]
test esi, esi
jne 0x40b2f5
push 0x6c8ec4
call fcn.004c6624
add esp, 4
test eax, eax
je 0x40b2aa
push eax
call fcn.004c6e54
add esp, 4
mov esi, dword [0x6c8f50]
test esi, esi
jne 0x40b2cd
push 0x3c
call fcn.0050ed47
add esp, 4
mov ecx, eax
call fcn.00417c08
mov esi, eax
mov dword [0x6c8f50], esi
push 0x6c8ec4
mov dword [ebp - 4], 1
call fcn.004c6649
add esp, 4
test eax, eax
je 0x40b2ee
push eax
call fcn.004c6e54
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0
push 0
mov ecx, esi
call fcn.00418663
push 0
push 0
push edi
call fcn.004064c0
mov ecx, eax
call fcn.00413ed6
push 9
call fcn.0041f8ac
add esp, 4
lea eax, [ebp - 0x248]
push eax
call fcn.00406580
mov ecx, eax
call fcn.0041ed26
cmp dword [ebp - 0x238], 0
ja 0x40b39f
lea eax, [ebp - 0x2c0]
push eax
call fcn.004064c0
mov ecx, eax
call fcn.00413e81
cmp dword [eax + 0x14], 8
jb 0x40b352
mov eax, dword [eax]
push eax
call fcn.00406580
mov ecx, eax
call fcn.0041f332
mov edx, dword [ebp - 0x2ac]
cmp edx, 8
jb 0x40b39f
mov ecx, dword [ebp - 0x2c0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b395
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7f2
push edx
push ecx
call fcn.0050f0f2
add esp, 8
lea eax, [ebp - 0x2d8]
push str.CMD_SMALLPKG_INST
push eax
call fcn.00414ba6
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b3bb
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.00413abe
movzx eax, al
push eax
call fcn.00406580
mov ecx, eax
call fcn.0041f57f
mov edx, dword [ebp - 0x2c4]
cmp edx, 8
jb 0x40b417
mov ecx, dword [ebp - 0x2d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b40d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7f7
push edx
push ecx
call fcn.0050f0f2
add esp, 8
lea eax, [ebp - 0x2f0]
mov ebx, 1
push str.CMD_SILENCE_INSTALLED
push eax
call fcn.00414ba6
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b438
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.00413abe
test al, al
jne 0x40b479
lea eax, [ebp - 0x2a8]
mov ebx, 3
push str.CMD_FORCE_INSTALL
push eax
call fcn.00414ba6
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b469
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.00413abe
test al, al
je 0x40b47b
mov al, 1
push eax
call fcn.00406580
mov ecx, eax
call fcn.0041f572
test bl, 2
je 0x40b4ea
mov edx, dword [ebp - 0x294]
cmp edx, 8
jb 0x40b4cd
mov ecx, dword [ebp - 0x2a8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b4c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b7fc
push edx
push ecx
call fcn.0050f0f2
add esp, 8
xor eax, eax
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 7
mov word [ebp - 0x2a8], ax
mov edx, dword [ebp - 0x2dc]
cmp edx, 8
jb 0x40b52a
mov ecx, dword [ebp - 0x2f0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b520
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b801
push edx
push ecx
call fcn.0050f0f2
add esp, 8
call fcn.00406580
mov ecx, eax
call fcn.0041f2ab
test al, al
je 0x40b5b1
lea eax, [ebp - 0x308]
push str.CMD_QUDAO_ID
push eax
call fcn.00414ba6
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b556
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.00413048
push eax
call fcn.00406580
mov ecx, eax
call fcn.0041f4e2
mov edx, dword [ebp - 0x2f4]
cmp edx, 8
jb 0x40b5bd
mov ecx, dword [ebp - 0x308]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b5a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b806
push edx
push ecx
call fcn.0050f0f2
add esp, 8
jmp 0x40b5bd
call fcn.00406580
mov ecx, eax
call fcn.0041ec40
call fcn.00406580
mov ecx, eax
call fcn.0041f2a7
test al, al
je 0x40b5e5
lea eax, [ebp - 0x310]
push eax
call fcn.0040b820
mov ecx, eax
call fcn.00405270
jmp 0x40b678
sub esp, 0xc
call fcn.00410e90
test eax, eax
jne 0x40b660
push edi
call fcn.00435730
add esp, 4
push 4
call fcn.00435b60
add esp, 4
push 0x6a5f10
push 0x84
call fcn.0042d7b0
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x40b662
push esi
call fcn.0042d7b0
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x40b657
push esi
call fcn.0042d7b0
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
je 0x40b657
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
call fcn.00435b70
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x40b662
js 0x40b678
call fcn.00411100
mov ecx, dword [0x6c8f44]
test ecx, ecx
je 0x40b678
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
call fcn.0041f921
lea eax, [ebp - 0x318]
push eax
push 0xf003f
push 0
push 0x6a5618
push reloc.gdiplus.dll_Ordinal_1
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40b6e1
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40b6e1
push 4
lea eax, [ebp - 0x314]
mov dword [ebp - 0x314], 1
push eax
push 4
push 0
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x318]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [ebp - 0x234]
mov esi, 1
cmp edx, 8
jb 0x40b72c
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b722
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b80b
push edx
push ecx
call fcn.0050f0f2
add esp, 8
xor eax, eax
mov dword [ebp - 0x238], 0
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.00412e9b
lea ecx, [ebp - 0x324]
call fcn.0041f5d8
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x40b79b
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b791
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b810
push edx
push ecx
call fcn.0050f0f2
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00412e9b
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0050ea72
mov esp, ebp
pop ebp
ret 0x10
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
call fcn.0052db61
int3