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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x621620
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x6b6538]
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 - 0x328]
mov dword [ebp - 0x30c], 0
call fcn.00412b88
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.004148cc
add esp, 8
lea ecx, [ebp - 0x230]
push eax
call fcn.0040b7a0
mov edx, dword [ebp - 0x24c]
cmp edx, 8
jb 0x40adb3
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ada9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b511
push edx
push ecx
call fcn.0050d502
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.004148cc
add esp, 8
lea ecx, [ebp - 0x230]
push eax
call fcn.0040b7a0
mov edx, dword [ebp - 0x264]
cmp edx, 8
jb 0x40ae30
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ae26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b516
push edx
push ecx
call fcn.0050d502
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.004148cc
add esp, 8
lea ecx, [ebp - 0x230]
push eax
call fcn.0040b7a0
mov edx, dword [ebp - 0x27c]
cmp edx, 8
jb 0x40aead
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aea3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b51b
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x320]
mov word [ebp - 0x290], ax
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
mov dword [ebp - 0x27c], 7
call fcn.0041ec26
lea ecx, [ebp - 0x320]
call fcn.00413af5
test eax, eax
je 0x40af03
mov esi, 1
jmp 0x40b482
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x40af16
xor esi, esi
jmp 0x40b482
lea ecx, [ebp - 0x310]
call fcn.00412b88
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x310]
call fcn.004132b0
call fcn.0041efd5
mov esi, dword [0x6c6000]
test esi, esi
jne 0x40afa7
push 0x6c6038
call fcn.004c4a54
add esp, 4
test eax, eax
je 0x40af5c
push eax
call fcn.004c5284
add esp, 4
mov esi, dword [0x6c6000]
test esi, esi
jne 0x40af7f
push 0x28
call fcn.0050d157
add esp, 4
mov ecx, eax
call fcn.004145e2
mov esi, eax
mov dword [0x6c6000], esi
push 0x6c6038
mov dword [ebp - 4], 0
call fcn.004c4a79
add esp, 4
test eax, eax
je 0x40afa0
push eax
call fcn.004c5284
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x1388
push edi
mov ecx, esi
call fcn.004148e6
mov esi, dword [0x6c5f50]
test esi, esi
jne 0x40b023
push 0x6c5ec4
call fcn.004c4a54
add esp, 4
test eax, eax
je 0x40afd8
push eax
call fcn.004c5284
add esp, 4
mov esi, dword [0x6c5f50]
test esi, esi
jne 0x40affb
push 0x3c
call fcn.0050d157
add esp, 4
mov ecx, eax
call fcn.00417678
mov esi, eax
mov dword [0x6c5f50], esi
push 0x6c5ec4
mov dword [ebp - 4], 1
call fcn.004c4a79
add esp, 4
test eax, eax
je 0x40b01c
push eax
call fcn.004c5284
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0
push 0
mov ecx, esi
call fcn.004180d3
push 0
push 0
push edi
call fcn.00406210
mov ecx, eax
call fcn.00413af9
push 9
call fcn.0041ef0f
add esp, 4
lea eax, [ebp - 0x248]
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041e389
cmp dword [ebp - 0x238], 0
ja 0x40b0cd
lea eax, [ebp - 0x2c0]
push eax
call fcn.00406210
mov ecx, eax
call fcn.00413aa4
cmp dword [eax + 0x14], 8
jb 0x40b080
mov eax, dword [eax]
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041e995
mov edx, dword [ebp - 0x2ac]
cmp edx, 8
jb 0x40b0cd
mov ecx, dword [ebp - 0x2c0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b0c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b520
push edx
push ecx
call fcn.0050d502
add esp, 8
lea eax, [ebp - 0x2d8]
push str.CMD_SMALLPKG_INST
push eax
call fcn.004146ee
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b0e9
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.004137fe
movzx eax, al
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041ebe2
mov edx, dword [ebp - 0x2c4]
cmp edx, 8
jb 0x40b145
mov ecx, dword [ebp - 0x2d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b13b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b525
push edx
push ecx
call fcn.0050d502
add esp, 8
lea eax, [ebp - 0x2f0]
mov ebx, 1
push str.CMD_SILENCE_INSTALLED
push eax
call fcn.004146ee
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b166
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.004137fe
test al, al
jne 0x40b1a7
lea eax, [ebp - 0x2a8]
mov ebx, 3
push str.CMD_FORCE_INSTALL
push eax
call fcn.004146ee
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b197
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.004137fe
test al, al
je 0x40b1a9
mov al, 1
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041ebd5
test bl, 2
je 0x40b218
mov edx, dword [ebp - 0x294]
cmp edx, 8
jb 0x40b1fb
mov ecx, dword [ebp - 0x2a8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b1f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b52a
push edx
push ecx
call fcn.0050d502
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 0x40b258
mov ecx, dword [ebp - 0x2f0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b24e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b52f
push edx
push ecx
call fcn.0050d502
add esp, 8
call fcn.004062d0
mov ecx, eax
call fcn.0041e90e
test al, al
je 0x40b2df
lea eax, [ebp - 0x308]
push str.CMD_QUDAO_ID
push eax
call fcn.004146ee
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x40b284
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x310]
call fcn.00412d88
push eax
call fcn.004062d0
mov ecx, eax
call fcn.0041eb45
mov edx, dword [ebp - 0x2f4]
cmp edx, 8
jb 0x40b2eb
mov ecx, dword [ebp - 0x308]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b2d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b534
push edx
push ecx
call fcn.0050d502
add esp, 8
jmp 0x40b2eb
call fcn.004062d0
mov ecx, eax
call fcn.0041e2a3
call fcn.004062d0
mov ecx, eax
call fcn.0041e90a
test al, al
je 0x40b313
lea eax, [ebp - 0x310]
push eax
call fcn.0040b550
mov ecx, eax
call fcn.00404fc0
jmp 0x40b3a6
sub esp, 0xc
call fcn.00410bc0
test eax, eax
jne 0x40b38e
push edi
call fcn.00433a80
add esp, 4
push 4
call fcn.00433eb0
add esp, 4
push 0x6a3608
push 0x84
call fcn.0042bb00
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x40b390
push esi
call fcn.0042bb00
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x40b385
push esi
call fcn.0042bb00
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
je 0x40b385
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
call fcn.00433ec0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x40b390
js 0x40b3a6
call fcn.00410e40
mov ecx, dword [0x6c5f44]
test ecx, ecx
je 0x40b3a6
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
call fcn.0041ef84
lea eax, [ebp - 0x318]
push eax
push 0xf003f
push 0
push 0x6a2d20
push reloc.gdiplus.dll_Ordinal_1
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40b40f
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40b40f
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 0x40b45a
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b450
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b539
push edx
push ecx
call fcn.0050d502
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.00412bdb
lea ecx, [ebp - 0x320]
call fcn.0041ec3b
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x40b4c9
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b4bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b53e
push edx
push ecx
call fcn.0050d502
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00412bdb
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.0050ce82
mov esp, ebp
pop ebp
ret 0x10
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
call fcn.0052bf71
int3