Function at 0x12725fb5
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x1c
push 0x12770788
call fcn.1273b4d0
xor esi, esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x19], 0
call sub.DDRAW.dll_AcquireDDThreadLock
wait
mov dword [ebp - 4], esi
push dword [ebp + 8]
call fcn.12727417
pop ecx
test eax, eax
je 0x127261b0
wait
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp + 0xc], eax
push 4
pop ebx
cmp dword [ebp + 0x1c], 3
jb 0x1272601d
mov ecx, ebx
mov edi, 0x127217f0
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1272601d
call sub.DDRAW.dll_ReleaseDDThreadLock
jmp 0x127261bd
mov ecx, ebx
mov edi, 0x12721820
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x12726047
call fcn.1272db44
test eax, eax
jne 0x12726047
mov edi, 0x80070057
call sub.DDRAW.dll_ReleaseDDThreadLock
mov eax, edi
jmp 0x127261c2
lea eax, [ebp - 0x20]
push eax
push 0x12721580
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x12726099
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
push 0x12721574
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x12726090
cmp dword [ebp - 0x28], ebx
jne 0x12726090
cmp dword [ebp - 0x2c], eax
je 0x12726090
mov byte [ebp - 0x19], 1
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x478]
test eax, eax
je 0x127260f4
mov ecx, ebx
mov edi, 0x12721810
mov esi, dword [ebp + 8]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x127260f4
test dword [eax + 0x10], 0x8000
je 0x127260f4
push 0x1e38
call fcn.127243c0
pop ecx
test eax, eax
je 0x127260e2
mov ecx, eax
call fcn.12725f57
mov esi, eax
jmp 0x127260e4
xor esi, esi
test esi, esi
je 0x12726114
mov dword [esi + 0xf58], 3
jmp 0x12726110
push 0x1e38
call fcn.127243c0
pop ecx
test eax, eax
je 0x1272610e
mov ecx, eax
call fcn.12725f57
mov esi, eax
jmp 0x12726110
xor esi, esi
test esi, esi
jne 0x1272611e
mov edi, 0x8007000e
jmp 0x1272603b
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x4c]
call fcn.1272ce3d
test eax, eax
je 0x12726135
mov ecx, dword [ebx + 0x4c]
call fcn.1272cf7e
mov eax, dword [esi]
push dword [ebp + 0x1c]
push dword [ebp + 0x14]
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push ebx
push dword [ebp + 8]
mov ecx, esi
call dword [eax + 0x60]
mov edi, eax
test edi, edi
je 0x12726160
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x5c]
jmp 0x1272603b
cmp byte [ebp - 0x19], 0
je 0x1272616d
or dword [esi + 0xf04], 0x10
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 4]
test dword [eax + 0xc], 0x8000
je 0x127261a0
cmp dword [esi + 0xf58], 2
jl 0x127261a0
wait
fnstcw word [ebp + 8]
mov ax, word [ebp + 8]
and ax, 0xfcff
or ax, 0x3f
and ax, 0xf3ff
mov word [ebp + 0x1c], ax
fldcw word [ebp + 0x1c]
call sub.DDRAW.dll_ReleaseDDThreadLock
xor eax, eax
jmp 0x127261c2
call sub.DDRAW.dll_ReleaseDDThreadLock
wait
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x80070057
call fcn.1273b515
ret 0x18