Function at 0x40acb0
Capabilities:
Query or enumerate registry value

Disassembly:
jmp 0x40acb0
mov eax, 0x184c
call fcn.0041be90
mov eax, dword [0x44e1b4]
xor eax, esp
mov dword [esp + 0x1848], eax
push edi
mov edi, dword [esp + 0x1854]
test edi, edi
mov dword [esp + 0xc], edi
jne 0x40acf0
xor eax, eax
pop edi
mov ecx, dword [esp + 0x1848]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x184c
ret
push ebp
mov ebp, dword [esp + 0x185c]
test ebp, ebp
je 0x40ad06
cmp dword [esp + 0x1860], 0
jne 0x40ad1f
pop ebp
xor eax, eax
pop edi
mov ecx, dword [esp + 0x1848]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x184c
ret
push ebx
push esi
push str.UNInfo
push ebp
push edi
call fcn.0040120d
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40b04f
lea ebx, [ebx]
push 0x200
lea eax, [esp + 0x105c]
push 0
push eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x100
call fcn.0041be10
push 0x200
lea ecx, [esp + 0x1668]
push 0
push ecx
call fcn.0041be10
push 0x200
lea edx, [esp + 0x1474]
push 0
push edx
call fcn.0041be10
push 0x200
lea eax, [esp + 0xc78]
push 0
push eax
call fcn.0041be10
xor eax, eax
push 0x200
push eax
lea ecx, [esp + 0x1290]
push ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
call fcn.0041be10
push 0x208
lea edx, [esp + 0xe90]
push 0
push edx
call fcn.0041be10
add esp, 0x48
push 0x200
lea eax, [esp + 0x854]
push 0
push eax
call fcn.0041be10
push 0x200
lea ecx, [esp + 0xa60]
push 0
push ecx
call fcn.0041be10
push 0x410
lea edx, [esp + 0x4c]
push 0
push edx
call fcn.0041be10
push 0x410
lea eax, [esp + 0x468]
push 0
push eax
call fcn.0041be10
push 0x200
lea ecx, [esp + 0x108c]
push ecx
push esi
call fcn.004011fe
add esp, 0x3c
test eax, eax
je 0x40b695
push 0x200
lea edx, [esp + 0x165c]
push edx
push eax
call fcn.004011fe
add esp, 0xc
test eax, eax
je 0x40b5f8
push 0x200
lea ecx, [esp + 0x145c]
push ecx
push eax
call fcn.004011fe
add esp, 0xc
test eax, eax
je 0x40b647
push 0x200
lea edx, [esp + 0xc54]
push edx
push eax
call fcn.004011fe
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40b695
lea eax, [esp + 0xc50]
push eax
call fcn.0041bee1
mov ebp, eax
mov eax, esi
sub eax, edi
mov ecx, eax
sar ecx, 1
add esp, 4
cmp ecx, dword [esp + 0x1864]
mov ebx, esi
jae 0x40af8a
mov edi, eax
movzx eax, word [esi]
cmp ax, 0xd
je 0x40af8a
cmp ax, 0x48
jne 0x40af73
push 3
push esi
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.0041c29b
add esp, 0x10
push 0x4352c8
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40b086
push 0x4352d0
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40b09b
push 0x4352d8
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40b0b0
push 0x4352e0
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40b0c5
push 0x4352e8
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40b0da
add edi, 2
mov edx, edi
sar edx, 1
add esi, 2
cmp edx, dword [esp + 0x1864]
jb 0x40aed2
push 0x200
lea ecx, [esp + 0xa54]
push ecx
push ebx
call fcn.004011fe
push 0x200
lea edx, [esp + 0x860]
push edx
push eax
call fcn.004011fe
push 0x200
push 0x4787f0
push eax
call fcn.004011fe
push 0x200
push 0x479248
push eax
call fcn.004011fe
push 0x200
push 0x450e58
push eax
call fcn.004011fe
add esp, 0x3c
lea eax, [esp + 0x1058]
push eax
push ebp
lea ecx, [esp + 0x1660]
push ecx
lea edx, [esp + 0x85c]
push edx
lea eax, [esp + 0x1468]
push eax
lea ecx, [esp + 0xa64]
push ecx
call fcn.004011db
add esp, 0x18
test eax, eax
je 0x40b6dd
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1864]
mov edx, esi
sub edx, edi
sar edx, 1
push str.UNInfo
sub eax, edx
push eax
push esi
call fcn.0040120d
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40ad40
mov ebp, dword [esp + 0x1864]
push str.UNInfo
push ebp
push edi
call fcn.0040120d
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40b1d7
mov eax, 1
mov ecx, dword [esp + 0x1858]
pop esi
pop ebx
pop ebp
pop edi
xor ecx, esp
call fcn.0041bdf4
add esp, 0x184c
ret
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000000
jmp 0x40b0ed
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000002
jmp 0x40b0ed
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000001
jmp 0x40b0ed
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000003
jmp 0x40b0ed
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000005
push 0x200
lea edx, [esp + 0x125c]
push edx
push eax
mov dword [esp + 0x1c], esi
call fcn.004011fe
add esp, 0xc
test eax, eax
je 0x40b6dd
push 0x208
lea ecx, [esp + 0xe54]
push ecx
push eax
call fcn.004011fe
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40b6dd
lea edx, [esp + 0x10]
push edx
push 0x20019
push 0
lea eax, [esp + 0x1264]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40b183
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xa54]
push edx
push eax
push eax
lea eax, [esp + 0xe60]
push eax
push ecx
mov dword [esp + 0x2c], 0x200
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x200
lea eax, [esp + 0x854]
push eax
push edi
call fcn.004011fe
push 0x200
push 0x4787f0
push eax
call fcn.004011fe
push 0x200
push 0x479248
push eax
call fcn.004011fe
push 0x200
push 0x450e58
push eax
call fcn.004011fe
add esp, 0x30
mov esi, eax
jmp 0x40afe3
mov ebp, dword [esp + 0x1864]
push 0x200
lea eax, [esp + 0x105c]
push 0
push eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x100
call fcn.0041be10
push 0x200
lea ecx, [esp + 0x1668]
push 0
push ecx
call fcn.0041be10
push 0x200
lea edx, [esp + 0x1474]
push 0
push edx
call fcn.0041be10
push 0x200
lea eax, [esp + 0xc78]
push 0
push eax
call fcn.0041be10
xor eax, eax
push 0x200
push eax
lea ecx, [esp + 0x1290]
push ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
call fcn.0041be10
push 0x208
lea edx, [esp + 0xe90]
push 0
push edx
call fcn.0041be10
add esp, 0x48
push 0x200
lea eax, [esp + 0x854]
push 0
push eax
call fcn.0041be10
push 0x200
lea ecx, [esp + 0xa60]
push 0
push ecx
call fcn.0041be10
push 0x410
lea edx, [esp + 0x4c]
push 0
push edx
call fcn.0041be10
push 0x410
lea eax, [esp + 0x468]
push 0
push eax
call fcn.0041be10
push 0x200
lea ecx, [esp + 0x108c]
push ecx
push esi
call fcn.004011fe
add esp, 0x3c
test eax, eax
je 0x40b695
push 0x200
lea edx, [esp + 0x165c]
push edx
push eax
call fcn.004011fe
add esp, 0xc
test eax, eax
je 0x40b5f8
push 0x200
lea ecx, [esp + 0x145c]
push ecx
push eax
call fcn.004011fe
add esp, 0xc
test eax, eax
je 0x40b647
push 0x200
lea edx, [esp + 0xc54]
push edx
push eax
call fcn.004011fe
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40b695
lea eax, [esp + 0xc50]
push eax
call fcn.0041bee1
mov eax, esi
sub eax, edi
mov ecx, eax
sar ecx, 1
add esp, 4
cmp ecx, ebp
mov ebx, esi
jae 0x40b40c
mov edi, eax
movzx eax, word [esi]
cmp ax, 0xd
je 0x40b40c
cmp ax, 0x48
jne 0x40b3f5
push 3
push esi
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.0041c29b
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add esp, 0x10
push 0x4352c8
lea eax, [esp + 0x20]
push eax
call ebp
test eax, eax
je 0x40b4b6
push 0x4352d0
lea ecx, [esp + 0x20]
push ecx
call ebp
test eax, eax
je 0x40b4cb
push 0x4352d8
lea edx, [esp + 0x20]
push edx
call ebp
test eax, eax
je 0x40b4e0
push 0x4352e0
lea eax, [esp + 0x20]
push eax
call ebp
test eax, eax
je 0x40b4f5
push 0x4352e8
lea ecx, [esp + 0x20]
push ecx
call ebp
test eax, eax
je 0x40b50a
add edi, 2
mov edx, edi
sar edx, 1
add esi, 2
cmp edx, dword [esp + 0x1864]
jb 0x40b362
push 0x200
lea ecx, [esp + 0xa54]
push ecx
push ebx
call fcn.004011fe
push 0x200
lea edx, [esp + 0x860]
push edx
push eax
call fcn.004011fe
push 0x200
push 0x4787f0
push eax
call fcn.004011fe
push 0x200
push 0x479248
push eax
call fcn.004011fe
push 0x200
push 0x450e58
push eax
call fcn.004011fe
add esp, 0x3c
lea eax, [esp + 0x1458]
push eax
lea ecx, [esp + 0x105c]
push ecx
call fcn.004011a9
add esp, 8
test eax, eax
je 0x40b6dd
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1864]
mov edx, esi
sub edx, edi
sar edx, 1
push str.UNInfo
sub eax, edx
push eax
push esi
call fcn.0040120d
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40b1d0
jmp 0x40b068
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000000
jmp 0x40b51d
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000002
jmp 0x40b51d
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000001
jmp 0x40b51d
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000003
jmp 0x40b51d
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov esi, 0x80000005
push 0x200
lea edx, [esp + 0x125c]
push edx
push eax
mov dword [esp + 0x1c], esi
call fcn.004011fe
add esp, 0xc
test eax, eax
je 0x40b6dd
push 0x208
lea ecx, [esp + 0xe54]
push ecx
push eax
call fcn.004011fe
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40b6dd
lea edx, [esp + 0x10]
push edx
push 0x20019
push 0
lea eax, [esp + 0x1264]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40b5ab
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xa54]
push edx
push eax
push eax
lea eax, [esp + 0xe60]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x200
lea eax, [esp + 0x854]
push eax
push edi
call fcn.004011fe
push 0x200
push 0x4787f0
push eax
call fcn.004011fe
push 0x200
push 0x479248
push eax
call fcn.004011fe
push 0x200
push 0x450e58
push eax
call fcn.004011fe
add esp, 0x30
mov esi, eax
jmp 0x40b465
mov ecx, dword [0x486304]
push 0x100
lea eax, [esp + 0x34]
push eax
push 0x452
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
push str.setup.ini
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x448]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push 0
lea ecx, [esp + 0x450]
push ecx
push 0
call fcn.004010be
add esp, 0x18
xor eax, eax
jmp 0x40b06d
mov eax, dword [0x486304]
push 0x100
lea edx, [esp + 0x34]
push edx
push 0x452
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push str.setup.ini
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x448]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
push 0
lea eax, [esp + 0x450]
push eax
push 0
call fcn.004010be
add esp, 0x18
xor eax, eax
jmp 0x40b06d
mov edx, dword [0x486304]
push 0x100
lea ecx, [esp + 0x34]
push ecx
push 0x452
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
push str.setup.ini
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x448]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
push 0
lea edx, [esp + 0x450]
push edx
push 0
call fcn.004010be
add esp, 0x18
xor eax, eax
jmp 0x40b06d