Function at 0x1001003d
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
sub esp, 0x9c
lea ebp, [esp - 4]
mov eax, dword [0x1002f810]
xor eax, ebp
mov dword [ebp + 0x9c], eax
push 0x54
mov eax, 0x10027ba1
call fcn.1001957d
mov esi, dword [ebp + 0xa8]
mov ebx, ecx
lea eax, [ebx + 0x20]
xor edi, edi
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
call fcn.100074f4
lea eax, [ebp - 0x30]
push eax
push esi
mov ecx, ebx
mov dword [ebp - 4], edi
call fcn.1000b092
mov eax, dword [ebp - 0x30]
and al, 0xf0
neg al
mov edi, 0x10030d08
sbb eax, eax
neg eax
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x38], eax
jne 0x100100bb
test byte [esi + 0x10], 1
lea ecx, [ebp - 0x10]
je 0x100100b5
push 0x10030d0c
jmp 0x100100b6
push edi
call fcn.100082b3
cmp dword [esi + 0x14], 0x10
jne 0x100100e4
mov eax, dword [esi + 0x10]
dec eax
je 0x100100db
dec eax
je 0x100100d4
dec eax
jne 0x100100e4
push 0x10030d10
jmp 0x100100dc
push 0x10030d0c
jmp 0x100100dc
push edi
lea ecx, [ebp - 0x10]
call fcn.100082b3
cmp dword [esi + 0x14], 0x40
jne 0x10010117
mov eax, dword [esi + 0x10]
dec eax
je 0x1001010e
dec eax
je 0x10010107
dec eax
je 0x10010100
dec eax
jne 0x10010117
push 0x10030d14
jmp 0x1001010f
push 0x10030d10
jmp 0x1001010f
push 0x10030d0c
jmp 0x1001010f
push edi
lea ecx, [ebp - 0x10]
call fcn.100082b3
push 0x9c
lea eax, [ebp]
push 0
push eax
call fcn.10016e50
mov edi, dword [ebp - 0x10]
add esp, 0xc
test edi, edi
mov word [ebp + 0x24], 0x9c
je 0x10010140
mov ecx, edi
call fcn.10001054
jmp 0x10010142
xor eax, eax
push eax
mov ecx, ebx
call fcn.100049ef
neg eax
sbb al, al
inc al
test edi, edi
mov byte [ebp - 0x3c], al
je 0x10010160
mov ecx, edi
call fcn.10001054
jmp 0x10010162
xor eax, eax
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, ebx
call fcn.1000af0b
push dword [esi + 0x18]
mov ecx, ebx
call fcn.100033bc
cmp eax, 1
je 0x10010194
push dword [esi + 0x1c]
mov ecx, ebx
call fcn.100033bc
cmp eax, 1
jne 0x100101a2
mov dword [ebp - 0x14], 0x280
mov dword [ebp - 0x18], 0x1e0
test edi, edi
je 0x100101af
mov ecx, edi
call fcn.10001054
jmp 0x100101b1
xor eax, eax
xor edi, edi
push edi
lea ecx, [ebp]
push ecx
push 0xffffffffffffffff
push eax
call fcn.10003353
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x70]
add esp, 0x10
cmp eax, ecx
jbe 0x100101d7
cmp eax, dword [ebp - 0x14]
jb 0x100101eb
cmp ecx, dword [ebp - 0x18]
jmp 0x100101e5
jae 0x10010271
cmp ecx, dword [ebp - 0x14]
jb 0x100101eb
cmp eax, dword [ebp - 0x18]
jae 0x10010271
lea eax, [ebp - 0x24]
push eax
push str.SoftwareIntelDisplayigfxcuiigfxdev
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x24], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x10010271
cmp dword [ebp - 0x24], edi
je 0x10010271
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
push str.MaxSuppXX
push dword [ebp - 0x24]
mov dword [ebp - 0x2c], 4
call edi
test eax, eax
jne 0x10010240
cmp dword [ebp - 0x28], 4
jne 0x10010240
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
push 0
push str.MaxSuppYY
push dword [ebp - 0x24]
call edi
test eax, eax
jne 0x10010268
cmp dword [ebp - 0x28], 4
jne 0x10010268
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x9c
xor edi, edi
lea eax, [ebp]
push edi
push eax
call fcn.10016e50
push 0x1c
lea eax, [ebp - 0x60]
push edi
push eax
mov word [ebp + 0x24], 0x9c
call fcn.10016e50
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
add esp, 0x18
lea eax, [ebp - 0x60]
push eax
mov ecx, ebx
call fcn.10009612
test eax, eax
jl 0x100102bc
cmp dword [ebp - 0x4c], edi
je 0x100102bc
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jbe 0x100102bc
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x100102ca
call fcn.10001054
jmp 0x100102cc
xor eax, eax
push dword [ebp - 0x3c]
lea ecx, [ebp]
push ecx
push dword [ebp - 0x20]
push eax
call fcn.10003353
add esp, 0x10
test eax, eax
je 0x100103de
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 0x6c], eax
jb 0x100102ff
mov eax, dword [ebp - 0x18]
cmp dword [ebp + 0x70], eax
jb 0x100102ff
mov edi, dword [ebp + 0x68]
cmp edi, dword [ebp - 0x34]
jae 0x10010304
inc dword [ebp - 0x20]
jmp 0x100102bc
mov ebx, dword [ebp - 0x1c]
cmp ebx, 0x3e8
jge 0x100103e1
test byte [ebp + 0x28], 0x80
je 0x1001033f
mov eax, dword [ebp + 0x34]
sub eax, 0
je 0x10010338
dec eax
je 0x10010333
dec eax
je 0x1001032e
dec eax
jne 0x10010338
push 4
jmp 0x10010330
push 2
pop eax
jmp 0x1001033a
xor eax, eax
inc eax
jmp 0x1001033a
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x100102ff
mov dx, word [ebp + 0x6c]
mov eax, ebx
imul eax, eax, 0x14
add eax, esi
test dword [ebp + 0x28], 0x400000
lea ecx, [eax + 0x40]
mov word [ecx], dx
mov dx, word [ebp + 0x70]
mov word [eax + 0x42], dx
mov dx, word [ebp + 0x68]
mov word [eax + 0x46], dx
je 0x100103d6
xor edx, edx
cmp dword [ebp - 0x38], edx
jne 0x10010395
test byte [ebp + 0x74], 2
mov cx, word [ebp + 0x78]
mov word [eax + 0x44], cx
je 0x100103d6
mov ecx, dword [ebp + 0x78]
add ebx, 4
imul ebx, ebx, 0x14
add ecx, ecx
mov word [ebx + esi], 1
mov word [eax + 0x44], cx
jmp 0x100103d6
cmp ebx, edx
mov word [eax + 0x44], 0x3c
jle 0x100103d6
lea eax, [esi + 0x40]
movzx ebx, word [eax + 6]
cmp ebx, edi
jne 0x100103bb
movzx ebx, word [eax]
cmp ebx, dword [ebp + 0x6c]
jne 0x100103bb
movzx ebx, word [eax + 2]
cmp ebx, dword [ebp + 0x70]
je 0x100103c6
inc edx
add eax, 0x14
cmp edx, dword [ebp - 0x1c]
jl 0x100103a2
jmp 0x100103d6
push 0x14
push 0
push ecx
call fcn.10016e50
add esp, 0xc
dec dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
jmp 0x100102ff
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x100103fb
and dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 0x280
mov dword [ebp - 0x18], 0x1e0
jmp 0x100102bc
test ebx, ebx
mov ecx, dword [ebp - 0x10]
mov word [esi + 0x3c], bx
jle 0x10010413
test ecx, ecx
je 0x1001040f
call fcn.10007f28
xor eax, eax
jmp 0x10010424
test ecx, ecx
mov byte [esi], 1
je 0x1001041f
call fcn.10007f28
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x9c]
xor ecx, ebp
call fcn.10016eca
add ebp, 0xa0
leave
ret 4