Function at 0x10c0191
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x350
mov eax, dword [0x111027c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, ecx
xor edi, edi
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x350], ebx
mov dword [ebp - 0x320], edi
mov dword [ebp - 0x32c], edi
mov dword [ebp - 0x324], edi
call fcn.010be75e
lea ecx, [ebp - 0x31c]
call fcn.010be75e
cmp esi, edi
jne 0x10c01f6
push 0x100d300
push 0x374
push 0x100cf2c
call fcn.0107b644
push esi
lea ecx, [ebp - 0x250]
call fcn.010be795
push 0x5c
push esi
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
cmp eax, edi
je 0x10c0236
push eax
lea ecx, [ebp - 0x31c]
call fcn.010be795
mov eax, dword [ebp - 0x244]
sub eax, dword [ebp - 0x310]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.010ca7b1
push 0x100d2e4
lea ecx, [ebp - 0x250]
call fcn.010bf921
test eax, eax
je 0x10c04dc
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10c0279
test byte [eax + 0x1c], 1
je 0x10c0279
cmp byte [eax + 0x19], 4
jb 0x10c0279
push esi
push 0x100cedc
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019633
mov edi, 0x2000
push edi
call fcn.010c39d4
pop ecx
mov dword [ebp - 0x324], eax
test eax, eax
jne 0x10c02ba
mov ecx, dword [0x1110a4c]
mov eax, 0x8007000e
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x334], 0x387
push 0x100ce98
jmp 0x10c0596
push edi
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x32c]
push eax
push 0x20019
push 0
mov esi, 0x100d270
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x10c0328
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x10c05c5
test byte [ecx + 0x1c], 1
je 0x10c05c5
cmp byte [ecx + 0x19], 3
jb 0x10c05c5
push eax
push esi
push 0x100cedc
push 0x16
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
jmp 0x10c05c5
and dword [ebp - 0x328], 0
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push 0
push eax
mov dword [ebp - 0x34c], esi
mov dword [ebp - 0x348], edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x324]
lea eax, [ebp - 0x344]
push eax
push 0
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x328]
push dword [ebp - 0x32c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
inc dword [ebp - 0x328]
mov ebx, eax
test ebx, ebx
jne 0x10c042c
cmp dword [ebp - 0x344], 2
jne 0x10c0434
push eax
push dword [ebp - 0x324]
lea ecx, [ebp - 0x2d8]
call fcn.010be99f
lea ecx, [ebp - 0x294]
call fcn.010be75e
lea eax, [ebp - 0x294]
push eax
sub esp, 0x44
lea eax, [ebp - 0x2d8]
mov ecx, esp
push eax
call fcn.010be9c4
call fcn.010ca838
push ebx
push ebx
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x294]
call fcn.010befc6
mov ebx, dword [ebp - 0x350]
lea eax, [ebp - 0x294]
push eax
mov ecx, ebx
call fcn.010bfef5
mov dword [ebp - 0x320], eax
test eax, eax
jl 0x10c0477
lea ecx, [ebp - 0x294]
call fcn.010be581
lea ecx, [ebp - 0x2d8]
call fcn.010be581
jmp 0x10c0334
cmp ebx, 0x103
je 0x10c046a
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10c046a
test byte [eax + 0x1c], 1
je 0x10c046a
cmp byte [eax + 0x19], 3
jb 0x10c046a
push ebx
push dword [ebp - 0x328]
push 0x100d2e4
push 0x100cedc
push 0x17
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019c0f
test ebx, ebx
je 0x10c0334
jmp 0x10c05c5
mov ecx, dword [0x1110a4c]
push 0x100d250
push 0x100cc54
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x340]
push 0x100cc1c
push eax
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x338], 0x100cf80
mov dword [ebp - 0x334], 0x3b5
mov dword [ebp - 0x330], ebx
call sym.wbengine.exe_public:_void___cdecl_CTraceFailureHelper::TraceMessage_unsigned_short_int_const__
add esp, 0x10
lea ecx, [ebp - 0x294]
call fcn.010be581
lea ecx, [ebp - 0x2d8]
call fcn.010be581
jmp 0x10c05c5
push 0x100d234
lea ecx, [ebp - 0x250]
call fcn.010bf921
test eax, eax
je 0x10c0548
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10c051b
test byte [eax + 0x1c], 1
je 0x10c051b
cmp byte [eax + 0x19], 4
jb 0x10c051b
push esi
push 0x100cedc
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019633
lea eax, [ebp - 0x31c]
push eax
mov ecx, ebx
call fcn.010bfef5
cmp eax, edi
mov dword [ebp - 0x320], eax
jge 0x10c05c5
mov dword [ebp - 0x334], 0x3c8
push 0x100d210
jmp 0x10c0585
push edi
push esi
lea ecx, [ebp - 0x2d8]
call fcn.010be99f
push eax
mov ecx, ebx
call fcn.010bfef5
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x320], eax
call fcn.010be581
cmp dword [ebp - 0x320], edi
jge 0x10c05c5
mov dword [ebp - 0x334], 0x3cf
push 0x100d1e4
mov eax, dword [0x1110a4c]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x320]
push 0x100cc54
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x340]
push 0x100cc1c
push eax
mov dword [ebp - 0x338], 0x100cf80
mov dword [ebp - 0x330], ebx
call sym.wbengine.exe_public:_void___cdecl_CTraceFailureHelper::TraceMessage_unsigned_short_int_const__
add esp, 0x10
cmp dword [ebp - 0x32c], 0
je 0x10c05da
push dword [ebp - 0x32c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x324]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea ecx, [ebp - 0x31c]
call fcn.010be581
lea ecx, [ebp - 0x250]
call fcn.010be581
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x320]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0106f798
leave
ret 4