Function at 0x1075c87
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x858
mov eax, dword [0x10d0620]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x848], ecx
lea ecx, [ebp - 0x61c]
mov dword [ebp - 0x844], ecx
lea ecx, [ebp - 0x414]
push ebx
mov dword [ebp - 0x834], eax
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x840], ecx
lea ecx, [ebp - 0x824]
push edi
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x82c], ebx
mov dword [ebp - 0x83c], ecx
mov dword [ebp - 0x858], 0x1014074
mov dword [ebp - 0x854], 0x1014054
mov dword [ebp - 0x850], 0x1014030
mov dword [ebp - 0x84c], 0x1014010
cmp eax, ebx
jne 0x1075d29
mov edi, 0x80004003
push edi
push 0x86b013c
call fcn.0108c55a
jmp 0x1075f3d
push esi
mov dword [eax], ebx
lea eax, [ebp - 0x82c]
push eax
push 0x1013fa0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov edi, eax
cmp edi, ebx
je 0x1075d54
push edi
push 0x872013c
jmp 0x1075f22
mov esi, 0x208
lea eax, [ebp - 0x830]
push eax
push dword [ebp + ebx - 0x848]
mov dword [ebp - 0x830], esi
push 0
push 0
push dword [ebp + ebx - 0x858]
push dword [ebp - 0x82c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
test edi, edi
jne 0x1075de6
add ebx, 4
cmp ebx, 0x10
jb 0x1075d59
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1075d9b
mov ecx, dword [ebp - 0x834]
sub eax, edx
sar eax, 1
lea edx, [ecx + 2]
mov di, word [ecx]
inc ecx
inc ecx
test di, di
jne 0x1075db2
sub ecx, edx
sar ecx, 1
lea eax, [ecx + eax + 5]
cmp eax, 0x104
jb 0x1075df1
mov edi, 0x8007006f
push edi
push 0x886013c
push dword [ebp - 0x834]
call fcn.0108c595
jmp 0x1075f27
push edi
push 0x87e013c
jmp 0x1075f22
push 0x1008ba8
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0103e89a
push dword [ebp - 0x834]
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.0103e89a
push 0x1013f94
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0103e89a
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x828]
push eax
xor ebx, ebx
push ebx
push ebx
mov esi, 0x100e108
push esi
push dword [ebp - 0x82c]
mov dword [ebp - 0x830], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, ebx
je 0x1075e70
push eax
push 0x896013c
push esi
call fcn.0108c595
mov dword [ebp - 0x828], 0xb0
and dword [ebp - 0x828], 0xfffffffe
lea eax, [ebp - 0x20c]
push eax
push 0x1b9
call fcn.0108bc14
push eax
call fcn.0109c1a8
push 0x1004310
call fcn.0109c1a8
mov esi, dword [ebp - 0x838]
add esp, 0xc
push esi
push 0x102299c
push 1
push ebx
push 0x10229cc
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
cmp edi, ebx
je 0x1075ec3
push edi
push 0x8a6013c
jmp 0x1075f22
cmp dword [ebp + 0xc], ebx
je 0x1075ed4
or dword [ebp - 0x828], 0x401
jmp 0x1075ee3
cmp dword [0x10d2280], ebx
je 0x1075ee3
or dword [ebp - 0x828], 2
mov eax, dword [esi]
mov ecx, dword [eax]
lea edx, [ebp - 0x824]
push edx
lea edx, [ebp - 0x414]
push edx
lea edx, [ebp - 0x61c]
push edx
lea edx, [ebp - 0x20c]
push edx
push 0x10046a0
push 1
push 2
push dword [ebp - 0x828]
push eax
call dword [ecx + 0xc]
mov edi, eax
cmp edi, ebx
je 0x1075f3c
push edi
push 0x8b9013c
call fcn.0108c55a
mov esi, dword [ebp - 0x838]
mov eax, dword [esi]
test eax, eax
je 0x1075f3c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [esi], 0
pop esi
cmp dword [ebp - 0x82c], 0
je 0x1075f52
push dword [ebp - 0x82c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
xor ecx, ebp
pop ebx
call fcn.01077dc7
leave
ret 0xc