Function at 0x180631c3
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov bl, cl
push edi
mov byte [ebp - 1], bl
call fcn.1806163c
test al, al
je 0x180631e4
mov eax, 0x80004005
jmp 0x180633eb
xor edi, edi
mov dword [ebp - 0x20], 0x180e50e0
lea edx, [ebp - 0x20]
mov dword [ebp - 0x1c], edi
mov cl, bl
call fcn.18062cef
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
mov edx, dword [eax + 4]
cmp edx, 0x18011b77
jne 0x18063212
push 0xffffffffffffffff
call dword [eax + 0xc]
jmp 0x18063214
call edx
mov dword [ebp - 0x38], 0x180e49a8
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], 0x200
call fcn.180663aa
mov eax, str.HKLMSoftwareASUSUpdate_
test bl, bl
jne 0x18063238
mov eax, str.HKCUSoftwareASUSUpdate_
push edi
push ecx
push 0xf003f
push ecx
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.180120eb
mov ebx, eax
test ebx, ebx
js 0x180633aa
push edi
push edi
push edi
push edi
push 0x180ee230
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x18063271
mov ebx, edi
jmp 0x180633aa
lea ecx, [ebp - 8]
call fcn.18005c3b
lea ecx, [ebp - 8]
call fcn.180094a5
mov esi, dword [ebp - 8]
test eax, eax
js 0x1806339c
xor ebx, ebx
lea ecx, [ebp - 0x38]
inc ebx
push ebx
push esi
push 0x180ee230
call fcn.1801287c
test eax, eax
js 0x1806339c
mov ecx, 0x180ff078
call fcn.1801a740
lea ecx, [ebp - 0x38]
call fcn.1806316c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.180629e4
mov edi, dword [ebp - 0x2c]
test eax, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], eax
js 0x1806335c
cmp edi, eax
je 0x1806335c
sub esp, 0xc
xor eax, eax
mov ebx, esp
mov dword [ebp - 0x18], ebx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], ecx
cmp eax, ecx
je 0x18063346
mov edi, ecx
sub edi, eax
sar edi, 2
push edi
call fcn.1800a301
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x10]
lea eax, [eax + edi*4]
mov edi, dword [ebp - 0xc]
mov dword [ebx + 8], eax
mov ebx, dword [ebp - 0x14]
mov ecx, dword [edi]
sub ecx, 0x10
call fcn.180060dc
add eax, 0x10
add edi, 4
mov dword [esi], eax
add esi, 4
cmp edi, ebx
jne 0x18063324
mov ebx, dword [ebp - 0x18]
mov dword [ebx + 4], esi
mov esi, dword [ebp - 8]
mov cl, byte [ebp - 1]
call fcn.18062d50
mov edi, dword [ebp - 0x2c]
mov ebx, eax
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 0xc], eax
test edi, edi
je 0x180633a0
cmp edi, eax
je 0x1806337e
mov esi, dword [ebp - 0xc]
mov ecx, dword [edi]
sub ecx, 0x10
call fcn.18003140
add edi, 4
cmp edi, esi
jne 0x18063367
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
sub eax, edi
and eax, 0xfffffffc
push eax
push edi
call fcn.180064b3
xor edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
jmp 0x180633a2
mov ebx, eax
jmp 0x180633a2
xor edi, edi
lea ecx, [esi - 0x10]
call fcn.18003140
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0x180e49a8
je 0x180633ca
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], 0x200
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 8]
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0x180e50e0
je 0x180633e9
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret