Function at 0x406a93
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x2c4]
sub esp, 0x344
mov eax, dword [0x518450]
xor eax, ebp
mov dword [ebp + 0x2c0], eax
push esi
push edi
push edx
lea eax, [ebp + 0x38]
mov edi, ecx
push eax
call fcn.0040e316
push 0xf7860938
mov edx, 0x4ae008d9
mov ecx, 0x471836fd
call fcn.004012b5
pop ecx
push eax
lea eax, [ebp + 0x38]
mov ecx, edi
push eax
call fcn.004203c9
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp + 0x2e]
mov edx, 0xf5794163
push str.Xreveal_2.6.8__2024_07_02_
push eax
movzx eax, word [ebp + 0x2a]
mov ecx, 0xf8817f41
push eax
movzx eax, word [ebp + 0x28]
push eax
push 0x481f4090
call fcn.0040128b
pop ecx
push eax
lea eax, [ebp + 0x38]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x38]
push eax
push 5
push edi
call fcn.0042040f
push 0x98
lea eax, [ebp - 0x70]
mov dword [ebp - 0x74], 0x9c
push 0
push eax
call fcn.004bf040
add esp, 0x30
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea eax, [ebp - 0x78]
mov edx, 0x9b6745cb
push eax
push 0x26014405
mov ecx, 0x969f7bf7
lea esi, [ebp + 0x38]
call fcn.0040128b
pop ecx
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x406c4d
push ebx
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x80], 1
push eax
lea eax, [ebp + 0x240]
mov dword [ebp - 0x7c], 0x80
push eax
lea eax, [ebp - 0x80]
mov edx, 0x3aa656af
push eax
push 0
push 0x87c05740
mov ecx, 0x375e68c3
call fcn.0040128b
pop ecx
push eax
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0xa
push 0xac723f89
mov edx, 0x11143e61
lea ebx, [ebp + 0x240]
mov ecx, 0x1cec0013
call fcn.0040128b
pop ecx
push eax
mov eax, ebx
push eax
call fcn.004bb020
add esp, 0xc
lea esi, [ebp + 0x24a]
test eax, eax
cmovne esi, ebx
cmp dword [ebp - 0x68], 0x55f0
pop ebx
jb 0x406c2a
push 0xa
push 0x2565e817
mov edx, 0x9803e9ff
mov ecx, 0x95fbd7bf
call fcn.0040128b
pop ecx
push eax
push esi
call fcn.004bb020
add esp, 0xc
test eax, eax
jne 0x406c2a
mov byte [esi + 9], 0x31
lea ecx, [ebp + 0x38]
sub ecx, esi
mov al, byte [esi]
mov byte [ecx + esi], al
inc esi
test al, al
jne 0x406c2f
lea ecx, [ebp + 0x38]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c3f
sub ecx, edx
lea esi, [ebp + 0x38]
add esi, ecx
cmp byte [ebp - 0x60], 0
je 0x406c7a
mov byte [esi], 0x5f
lea ecx, [ebp - 0x60]
inc esi
mov eax, ecx
mov edx, esi
sub edx, eax
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x406c60
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c6f
sub ecx, edx
add esi, ecx
push dword [ebp - 0x68]
mov edx, 0xe8dfd72b
mov ecx, 0xe527e97d
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push 0x55b9d6db
call fcn.0040128b
pop ecx
push eax
push esi
call fcn.004bad3c
lea eax, [ebp + 0x38]
push eax
push 5
push edi
call fcn.0042040f
push 0xc8dd6654
mov edx, 0x75bb67b6
mov ecx, 0x7843591a
call fcn.0040128b
push eax
push 5
push edi
call fcn.0042040f
mov ecx, dword [ebp + 0x2c0]
add esp, 0x30
xor ecx, ebp
pop edi
pop esi
call fcn.004b9a6c
lea esp, [ebp + 0x2c4]
pop ebp
ret