Function at 0x5282f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, eax
mov eax, 0xffffcccc
push esi
push ebx
sub esp, 0x178
mov word [ebp - 0x13a], ax
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0x1e
mov dword [ebp - 0x156], 0xcccccccc
mov dword [ebp - 0x152], 0xcccccccc
mov dword [ebp - 0x14e], 0xcccccccc
mov dword [ebp - 0x14a], 0xcccccccc
mov dword [ebp - 0x146], 0xcccccccc
mov dword [ebp - 0x142], 0xcccccccc
mov dword [ebp - 0x13e], 0xcccccccc
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x156]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x160]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
sub esp, 0x18
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5f3817
mov dword [eax + 4], edi
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x5f3ac3
call fcn.00527880
call fcn.0057d110
mov dword [eax], 0x5f3817
mov dword [eax + 4], edi
lea eax, [ebp - 0x156]
shr eax, 0x10
je 0x5287a0
lea eax, [ebp - 0x156]
mov dword [esp + 4], 0xffffffff
mov esi, 0x5f3827
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x5284e6
cmp byte [ebp - 0x156], 0
je 0x528830
lea eax, [ebp - 0x155]
lea ebx, [ebp - 0x156]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov byte [ebp - 0x138], 0x22
lea edx, [ebp - 0x137]
mov dword [ebp - 0x164], ebx
mov ecx, eax
mov dword [ebp - 0x168], edi
jmp 0x52846e
cmp al, 9
je 0x528698
cmp al, 0xa
jne 0x5286b9
movzx eax, word [0x5f4f2e]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
test ecx, ecx
jle 0x5284b0
lea ecx, [ebp - 0x15]
cmp ecx, edx
jb 0x5284b0
mov ecx, eax
add dword [ebp - 0x164], 1
mov eax, dword [ebp - 0x164]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x528680
jle 0x528440
cmp al, 0x22
je 0x5286f8
cmp al, 0x5c
jne 0x5286ab
movzx eax, word [0x5f4f36]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
test ecx, ecx
jg 0x528465
nop
mov byte [edx], 0x22
mov edi, dword [ebp - 0x168]
test eax, eax
jle 0x528810
movzx eax, word [0x5f4f3a]
mov byte [edx + 3], 0x2e
mov word [edx + 1], ax
lea eax, [edx + 4]
mov byte [eax], 0
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.0057e390
mov esi, eax
mov eax, dword [ebp + 8]
shr eax, 0x10
je 0x5287d1
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp + 8]
mov ebx, 0x5f3827
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x52860c
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x528849
add eax, 1
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ebx, dword [ebp + 8]
mov byte [ebp - 0x138], 0x22
lea edx, [ebp - 0x137]
mov dword [ebp - 0x16c], edi
mov ecx, eax
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x168], esi
jmp 0x528586
cmp al, 9
je 0x528788
cmp al, 0xa
jne 0x528719
movzx eax, word [0x5f4f2e]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
test ecx, ecx
jle 0x5285d0
lea ecx, [ebp - 0x15]
cmp ecx, edx
jb 0x5285d0
mov ecx, eax
add dword [ebp - 0x164], 1
mov eax, dword [ebp - 0x164]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x528770
jle 0x528558
cmp al, 0x22
je 0x528758
cmp al, 0x5c
jne 0x52870b
movzx eax, word [0x5f4f36]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
test ecx, ecx
jg 0x52857d
lea esi, [esi]
lea esi, [esi]
mov esi, dword [ebp - 0x168]
mov edi, dword [ebp - 0x16c]
mov byte [edx], 0x22
test eax, eax
jle 0x528820
movzx eax, word [0x5f4f3a]
mov byte [edx + 3], 0x2e
mov word [edx + 1], ax
lea eax, [edx + 4]
mov byte [eax], 0
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.0057e390
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x156]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcmp]
mov dword [esp + 0xc], esi
test eax, eax
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5f39e6
movzx eax, al
mov dword [esp], eax
call fcn.00527880
call fcn.0057d110
mov dword [eax + 4], edi
mov dword [eax], 0x5f3817
mov eax, dword [ebp - 0x160]
mov dword [esp + 4], str.got_type__lu_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00527880
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, word [0x5f4f30]
add edx, 2
mov word [edx - 2], ax
jmp 0x52845e
movzx eax, word [0x5f4f32]
add edx, 2
mov word [edx - 2], ax
jmp 0x52845e
lea esi, [eax - 0x20]
mov ebx, esi
cmp bl, 0x5e
jbe 0x5287f0
movzx esi, word [0x5f4f38]
mov ebx, eax
and eax, 0xf
add edx, 4
shr bl, 4
mov word [edx - 4], si
movzx esi, word [0x5f4f28]
movzx edi, bl
mov ebx, esi
mov bl, byte [edi + str.0123456789abcdef.]
mov esi, ebx
mov ebx, esi
mov bh, byte [eax + str.0123456789abcdef.]
mov word [edx - 2], bx
jmp 0x52845e
movzx eax, word [0x5f4f34]
add edx, 2
mov word [edx - 2], ax
jmp 0x52845e
lea esi, [eax - 0x20]
mov ebx, esi
cmp bl, 0x5e
jbe 0x528800
movzx esi, word [0x5f4f38]
mov ebx, eax
and eax, 0xf
add edx, 4
shr bl, 4
mov word [edx - 4], si
movzx esi, word [0x5f4f28]
movzx edi, bl
mov ebx, esi
mov bl, byte [edi + str.0123456789abcdef.]
mov esi, ebx
mov ebx, esi
mov bh, byte [eax + str.0123456789abcdef.]
mov word [edx - 2], bx
jmp 0x528576
movzx eax, word [0x5f4f34]
add edx, 2
mov word [edx - 2], ax
jmp 0x528576
movzx eax, word [0x5f4f30]
add edx, 2
mov word [edx - 2], ax
jmp 0x528576
movzx eax, word [0x5f4f32]
add edx, 2
mov word [edx - 2], ax
jmp 0x528576
lea eax, [ebp - 0x156]
mov dword [ebp - 0x164], eax
movzx eax, word [ebp - 0x164]
mov dword [esp], 0x5f3821
mov dword [esp + 4], eax
call fcn.00526f10
mov esi, eax
mov eax, dword [ebp + 8]
shr eax, 0x10
jne 0x5284f2
movzx eax, word [ebp + 8]
mov dword [esp], 0x5f3821
mov dword [esp + 4], eax
call fcn.00526f10
mov ebx, eax
jmp 0x52860c
mov byte [edx], al
add edx, 1
jmp 0x52845e
mov byte [edx], al
add edx, 1
jmp 0x528576
lea eax, [edx + 1]
jmp 0x5284d3
lea eax, [edx + 1]
jmp 0x5285f9
movzx eax, word [0x5f4f2c]
mov word [ebp - 0x138], ax
lea eax, [ebp - 0x136]
jmp 0x5284d3
movzx eax, word [0x5f4f2c]
mov word [ebp - 0x138], ax
lea eax, [ebp - 0x136]
jmp 0x5285f9