Function at 0x4209e0
Capabilities:
Move file
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x4a3f09
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x4d3a00]
xor eax, esp
mov dword [esp + 0x138], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d3a00]
xor eax, esp
push eax
lea eax, [esp + 0x150]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x20], ebx
xor ecx, ecx
xor eax, eax
push 7
pop edx
mov dword [esp + 0x34], ecx
mov ebp, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ecx
mov word [esp + 0x24], ax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], ecx
mov word [esp + 0x6c], ax
mov byte [esp + 0x158], 1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], ecx
mov word [esp + 0x84], ax
mov byte [esp + 0x158], 2
lea ecx, [esp + 0x9c]
push str.T_rT:N
call fcn.00403059
mov byte [esp + 0x158], 3
lea eax, [esp + 0x18]
push eax
push str.Softwareliebao
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
xor edi, edi
test eax, eax
jne 0x420b75
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x14]
push eax
push edi
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 1
push eax
push edi
push str.AppDataPath
push dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
call esi
test eax, eax
jne 0x420b6b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x24]
shr eax, 1
add eax, 0x10
push edi
push eax
call fcn.00421f1a
add dword [esp + 0x14], 2
lea ecx, [esp + 0x14]
cmp dword [esp + 0x38], 8
lea eax, [esp + 0x24]
push ecx
cmovae eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x24]
push eax
push edi
push str.AppDataPath
push dword [esp + 0x2c]
call esi
test eax, eax
jne 0x420b6b
cmp dword [esp + 0x38], 8
lea ecx, [esp + 0x24]
cmovae ecx, dword [esp + 0x24]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x420b51
sub ecx, edx
sar ecx, 1
push edi
push ecx
lea ecx, [esp + 0x2c]
call fcn.00421f1a
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.liebaoUser_Data
lea edx, [esp + 0x28]
lea ecx, [esp + 0x58]
call fcn.00403ecd
pop ecx
mov byte [esp + 0x158], 4
lea ecx, [esp + 0x24]
push eax
call fcn.00403d23
mov byte [esp + 0x158], 3
lea ecx, [esp + 0x54]
push edi
push 1
call fcn.0040314a
cmp dword [esp + 0x38], 8
lea eax, [esp + 0x24]
push edi
cmovae eax, dword [esp + 0x28]
push eax
call fcn.0047d61f
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x420c72
mov esi, 0x4b5338
lea ecx, [esp + 0x54]
push esi
call fcn.00403059
mov byte [esp + 0x158], 5
lea ecx, [esp + 0x3c]
push esi
call fcn.00403059
mov byte [esp + 0x158], 6
lea ecx, [esp + 0xe4]
call fcn.0041f92d
mov esi, eax
mov byte [esp + 0x158], 7
mov ecx, ebx
mov edx, dword [ebx]
call dword [edx + 8]
mov edx, dword [esi]
xor ebx, ebx
mov ecx, dword [eax + 4]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
push ebx
push 0x4b87a0
push str.user_data
push dword [ecx + 4]
mov ecx, esi
call dword [edx]
mov byte [esp + 0x158], 6
lea ecx, [esp + 0xe8]
call fcn.0041f9f7
mov byte [esp + 0x158], 5
xor edi, edi
push ebx
inc edi
lea ecx, [esp + 0x40]
push edi
call fcn.0040314a
mov byte [esp + 0x158], 3
lea ecx, [esp + 0x54]
jmp 0x420faf
xor ebx, ebx
xor eax, eax
lea edi, [esp + 0x3e]
mov word [esp + 0x3c], ax
inc ebp
stosd dword es:[edi], eax
push ebp
push 0x4b86f0
push 0xa
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x48]
push eax
call fcn.00410a62
lea eax, [esp + 0x4c]
push eax
call fcn.00402919
add esp, 0x14
lea ecx, [esp + 0x84]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00403190
push 0x4b8b8c
lea edx, [esp + 0x28]
lea ecx, [esp + 0xd0]
call fcn.00403ecd
mov byte [esp + 0x15c], 9
lea ecx, [esp + 0x88]
push ecx
mov edx, eax
lea ecx, [esp + 0xbc]
call fcn.00403f3c
mov byte [esp + 0x160], 0xa
mov edx, eax
push 0x4b8b88
lea ecx, [esp + 0x60]
call fcn.00412487
add esp, 0xc
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x6c]
push eax
call fcn.00403d23
mov byte [esp + 0x158], 0xa
xor edi, edi
push ebx
inc edi
lea ecx, [esp + 0x58]
push edi
call fcn.0040314a
mov byte [esp + 0x158], 9
lea ecx, [esp + 0xb4]
push ebx
push edi
call fcn.0040314a
mov byte [esp + 0x158], 3
lea ecx, [esp + 0xcc]
push ebx
push edi
call fcn.0040314a
cmp dword [esp + 0x80], 8
lea eax, [esp + 0x6c]
push ebx
cmovae eax, dword [esp + 0x70]
push eax
call fcn.0047d61f
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x420c74
cmp dword [esp + 0x80], 8
lea ecx, [esp + 0x6c]
lea eax, [esp + 0x24]
cmovae ecx, dword [esp + 0x6c]
cmp dword [esp + 0x38], 8
push ecx
cmovae eax, dword [esp + 0x28]
push eax
call fcn.0047d6d3
push str.User_Data
lea edx, [esp + 0xa8]
mov esi, eax
lea ecx, [esp + 0x48]
call fcn.00403ecd
mov byte [esp + 0x164], 0xc
mov edx, eax
push 0x4b8b8c
lea ecx, [esp + 0x64]
call fcn.00412487
mov byte [esp + 0x168], 0xd
lea ecx, [esp + 0x94]
push ecx
mov edx, eax
lea ecx, [esp + 0xc8]
call fcn.00403f3c
mov byte [esp + 0x16c], 0xe
mov edx, eax
push 0x4b8b90
lea ecx, [esp + 0xe4]
call fcn.00412487
add esp, 0x18
mov byte [esp + 0x158], 0xf
lea ecx, [esp + 0x9c]
push eax
call fcn.00403d23
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0xcc]
push ebx
push edi
call fcn.0040314a
mov byte [esp + 0x158], 0xd
lea ecx, [esp + 0xb4]
push ebx
push edi
call fcn.0040314a
mov byte [esp + 0x158], 0xc
lea ecx, [esp + 0x54]
push ebx
push edi
call fcn.0040314a
mov byte [esp + 0x158], 3
lea ecx, [esp + 0x3c]
push ebx
push edi
call fcn.0040314a
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x3c]
test esi, esi
mov esi, 0x4b5338
push esi
jne 0x420f1d
call fcn.00403059
mov byte [esp + 0x158], 0x10
lea ecx, [esp + 0x54]
push esi
call fcn.00403059
mov byte [esp + 0x158], 0x11
lea ecx, [esp + 0xe4]
call fcn.0041f92d
mov edi, eax
mov byte [esp + 0x158], 0x12
lea esi, [esp + 0x9c]
cmp dword [esp + 0xb0], 8
mov ecx, ebx
mov edx, dword [ebx]
cmovae esi, dword [esp + 0x9c]
call dword [edx + 8]
mov edx, dword [edi]
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x58]
xor ebx, ebx
mov eax, dword [eax + 4]
push ecx
push ebx
push 0x4b87a0
push esi
push dword [eax + 4]
mov ecx, edi
call dword [edx]
mov byte [esp + 0x158], 0x11
lea ecx, [esp + 0xe8]
call fcn.0041f9f7
mov byte [esp + 0x158], 0x10
xor edi, edi
inc edi
jmp 0x420f98
call fcn.00403059
mov byte [esp + 0x158], 0x14
lea ecx, [esp + 0x54]
push esi
call fcn.00403059
mov byte [esp + 0x158], 0x15
lea ecx, [esp + 0xe4]
call fcn.0041f92d
mov esi, eax
mov byte [esp + 0x158], 0x16
mov ecx, ebx
mov edx, dword [ebx]
call dword [edx + 8]
mov edx, dword [esi]
xor ebx, ebx
mov ecx, dword [eax + 4]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x58]
push eax
push ebx
push 0x4b87a0
push str.T_rT1Y_
push dword [ecx + 4]
mov ecx, esi
call dword [edx]
mov byte [esp + 0x158], 0x15
lea ecx, [esp + 0xe8]
call fcn.0041f9f7
mov byte [esp + 0x158], 0x14
push ebx
push edi
lea ecx, [esp + 0x5c]
call fcn.0040314a
mov byte [esp + 0x158], 3
lea ecx, [esp + 0x3c]
push ebx
push edi
call fcn.0040314a
mov byte [esp + 0x158], 2
lea ecx, [esp + 0x9c]
push ebx
push edi
call fcn.0040314a
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x84]
push ebx
push 1
call fcn.0040314a
mov byte [esp + 0x158], bl
lea ecx, [esp + 0x6c]
push ebx
push 1
call fcn.0040314a
or dword [esp + 0x158], 0xffffffff
lea ecx, [esp + 0x24]
push ebx
push 1
call fcn.0040314a
mov ecx, dword [esp + 0x150]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.0047aabf
add esp, 0x148
ret