Function at 0x1009009f
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push 0x250
mov eax, 0x1012bfd8
call fcn.10123c77
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x234]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
and dword [ebp - 0x21c], 0
mov dword [ebp - 0x25c], edi
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x224], eax
call fcn.1008988d
xor ecx, ecx
lea eax, [ebp - 0x214]
push eax
inc ecx
push ecx
push 0
push ebx
push esi
mov dword [ebp - 4], ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x100902e6
mov ecx, 0x80000002
cmp esi, ecx
jne 0x10090216
lea eax, [ebp - 0x214]
xor esi, esi
push eax
inc esi
push esi
push 0
push dword [0x1016adf4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1009014e
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.1008975f
mov dword [ebp - 0x21c], esi
jmp 0x10090395
lea eax, [ebp - 0x218]
push eax
push 0
lea eax, [ebp - 0x220]
push eax
push 0
push dword [0x1016adf8]
push dword [ebp - 0x214]
call ebx
test eax, eax
je 0x10090182
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.1008975f
jmp 0x10090143
push dword [ebp - 0x218]
call fcn.1007de55
pop ecx
mov esi, eax
lea eax, [ebp - 0x218]
push eax
push esi
lea eax, [ebp - 0x220]
push eax
push 0
push dword [0x1016adf8]
push dword [ebp - 0x214]
call ebx
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0x24c]
call fcn.100897d6
push esi
mov byte [ebp - 4], 2
call sub.MSVCR120.dll_free
push 0
push dword [ebp - 0x248]
call dword [sym.imp.MSVCR120.dll_strtod]
fstp qword [ebp - 0x258]
movsd xmm1, qword [ebp - 0x258]
add esp, 0xc
comisd xmm1, xmmword [0x1013b898]
jae 0x100902ba
xorps xmm0, xmm0
comisd xmm0, xmm1
jae 0x100902ba
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 1
call fcn.100898c9
mov esi, dword [ebp - 0x23c]
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x214]
push eax
xor eax, eax
push eax
push 0xf003f
push eax
push eax
push eax
push dword [ebp - 0x238]
push esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1009037d
lea eax, [ebp - 0x24c]
push eax
call fcn.1008fb2e
pop ecx
push dword [eax + 8]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
push dword [eax + 4]
call fcn.10089e9d
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 1
call fcn.100898c9
push 0xff
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x234]
call fcn.10089f32
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x224]
lea eax, [eax*2 + 2]
push eax
lea eax, [ebp - 0x210]
push eax
push 1
push 0
push esi
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x100902ec
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.1008975f
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x21c], 1
mov byte [ebp - 4], 1
call fcn.100898c9
jmp 0x10090395
mov esi, dword [ebp - 0x224]
lea eax, [ebp - 0x218]
push eax
push 0
lea eax, [ebp - 0x220]
push eax
push 0
push esi
push dword [ebp - 0x214]
call ebx
test eax, eax
jne 0x10090371
push dword [ebp - 0x218]
call fcn.1007de55
pop ecx
mov esi, eax
lea eax, [ebp - 0x218]
push eax
push esi
lea eax, [ebp - 0x220]
push eax
push 0
push dword [ebp - 0x224]
push dword [ebp - 0x214]
call ebx
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0x24c]
call fcn.100897d6
push dword [eax + 8]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 4
push dword [eax + 4]
call fcn.10089e9d
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 1
call fcn.100898c9
push esi
call sub.MSVCR120.dll_free
pop ecx
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.1008975f
mov dword [ebp - 0x21c], 1
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0
call fcn.100898c9
mov eax, edi
call fcn.10123c26
ret