Function at 0x43722a
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, 0x44e68f
call fcn.0044d654
mov eax, 0x10060
call fcn.00448b10
push ebx
push esi
mov dword [ebp - 0x14], ecx
xor ebx, ebx
push edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x1c], ebx
call fcn.00413ba6
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], ebx
call fcn.00413ba6
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00413ba6
mov byte [ebp - 4], 2
mov esi, str.0123456789ABCDEF
lea edi, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0xc]
push 0x451fe6
call fcn.0041613a
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 8]
xor ecx, ecx
call fcn.004179f6
mov esi, eax
call fcn.00415a00
sub esp, 0xc
mov esi, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.00413bc3
call fcn.00436de7
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
push eax
sub esp, 0xc
lea edi, [ebp - 0x40]
mov esi, esp
mov dword [ebp - 0x30], esp
call fcn.00413c13
call fcn.00436ee3
cmp al, bl
jne 0x4372dd
push ebx
push 2
pop ecx
jmp 0x437332
cmp dword [ebp - 0x24], ebx
je 0x437300
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryA]
test eax, eax
je 0x4372fb
push ebx
push 3
jmp 0x4372da
mov eax, dword [ebp - 0x1c]
jmp 0x437303
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x30]
or ecx, 0x20019
push ecx
push ebx
push dword [ebp - 0x4c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x43733f
cmp dword [ebp - 0x24], ebx
je 0x43732e
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
push ebx
inc ecx
mov eax, dword [ebp - 0x14]
call fcn.0041eeb7
jmp 0x437563
push ebx
push ebx
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp + 8]
xor ecx, ecx
push ebx
inc ecx
call fcn.004179f6
mov esi, eax
call fcn.00415a00
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push eax
push dword [ebp - 0x18]
call edi
test eax, eax
mov eax, dword [ebp - 0x14]
push ebx
je 0x437374
or ecx, 0xffffffff
jmp 0x437549
mov edx, dword [ebp - 0x50]
mov ecx, edx
call fcn.0041eee5
cmp edx, ebx
mov dword [ebp - 0x10], 0xffff
jbe 0x437542
cmp edx, 2
jbe 0x43750a
cmp edx, 3
je 0x437483
push 4
pop eax
cmp edx, eax
je 0x437436
cmp edx, 7
jne 0x437542
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1006c]
push eax
mov eax, dword [ebp + 8]
push ebx
xor ecx, ecx
push ebx
inc ecx
call fcn.004179f6
mov esi, eax
call fcn.00415a00
push eax
push dword [ebp - 0x18]
call edi
test eax, eax
jne 0x437542
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x1006c], bl
cmp byte [ebp + edx - 0x1006d], bl
jne 0x4373f7
dec edx
mov dword [ebp - 0x10], edx
cmp edx, ebx
jbe 0x437422
xor eax, eax
cmp edx, ebx
jbe 0x437414
lea ecx, [ebp + eax - 0x1006c]
cmp byte [ecx], bl
jne 0x43740f
mov byte [ecx], 0xa
inc eax
cmp eax, edx
jb 0x437401
lea eax, [ebp + eax - 0x1006d]
cmp byte [eax], 0xa
jne 0x437422
mov byte [eax], bl
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1006c]
push eax
call fcn.0041613a
jmp 0x43754e
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp + 8]
push ebx
xor ecx, ecx
push ebx
inc ecx
call fcn.004179f6
mov esi, eax
call fcn.00415a00
push eax
push dword [ebp - 0x18]
call edi
fild dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
test eax, eax
jge 0x43746b
fadd qword [0x455590]
mov esi, dword [ebp + 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
push ecx
push ecx
fstp qword [esp]
call fcn.00416121
jmp 0x43754e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1006c]
push eax
mov eax, dword [ebp + 8]
push ebx
xor ecx, ecx
push ebx
inc ecx
call fcn.004179f6
mov esi, eax
call fcn.00415a00
push eax
push dword [ebp - 0x18]
call edi
test eax, eax
jne 0x437542
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax + 1]
push eax
call fcn.0043f7a8
mov edi, eax
pop ecx
mov byte [edi], bl
xor esi, esi
xor ecx, ecx
cmp dword [ebp - 0x10], ebx
jbe 0x4374f5
movsx eax, byte [ebp + ecx - 0x1006c]
mov edx, eax
shr eax, 4
and edx, 0xf
mov dl, byte [ebp + edx - 0x68]
and eax, 0xf
mov al, byte [ebp + eax - 0x68]
mov byte [esi + edi + 1], dl
mov byte [esi + edi], al
inc esi
inc esi
inc ecx
cmp ecx, dword [ebp - 0x10]
jb 0x4374cb
mov byte [esi + edi], bl
mov esi, dword [ebp + 0xc]
push edi
call fcn.0041613a
push edi
call fcn.0043f3aa
pop ecx
jmp 0x43754e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1006c]
push eax
mov eax, dword [ebp + 8]
push ebx
xor ecx, ecx
push ebx
inc ecx
call fcn.004179f6
mov esi, eax
call fcn.00415a00
push eax
push dword [ebp - 0x18]
call edi
test eax, eax
jne 0x437542
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x1006c], bl
jmp 0x437422
mov eax, dword [ebp - 0x14]
push ebx
push 0xfffffffffffffffe
pop ecx
call fcn.0041eeb7
push dword [ebp - 0x18]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
cmp dword [ebp - 0x24], ebx
je 0x437563
push dword [ebp - 0x1c]
call esi
mov byte [ebp - 4], 1
push dword [ebp - 0x4c]
call fcn.0043f3aa
mov byte [ebp - 4], bl
push dword [ebp - 0x40]
call fcn.0043f3aa
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x28]
call fcn.0043f3aa
mov ecx, dword [ebp - 0xc]
add esp, 0xc
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
leave
ret 8