Function at 0x10c0353
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x350
mov eax, dword [0x111127c]
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.010be9e0
lea ecx, [ebp - 0x31c]
call fcn.010be9e0
cmp esi, edi
jne 0x10c03b8
push 0x100d300
push 0x374
push 0x100cf30
call fcn.0107b4be
push esi
lea ecx, [ebp - 0x250]
call fcn.010be9f9
push 0x5c
push esi
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
cmp eax, edi
je 0x10c03f8
push eax
lea ecx, [ebp - 0x31c]
call fcn.010be9f9
mov eax, dword [ebp - 0x244]
sub eax, dword [ebp - 0x310]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.010ca8cf
push 0x100d2e4
lea ecx, [ebp - 0x250]
call fcn.010bfb32
test eax, eax
je 0x10c069e
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10c043b
test byte [eax + 0x1c], 1
je 0x10c043b
cmp byte [eax + 0x19], 4
jb 0x10c043b
push esi
push 0x100cee0
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019680
mov edi, 0x2000
push edi
call fcn.010c82e6
pop ecx
mov dword [ebp - 0x324], eax
test eax, eax
jne 0x10c047c
mov ecx, dword [0x1111a4c]
mov eax, 0x8007000e
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x334], 0x387
push 0x100ce9c
jmp 0x10c0758
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 0x10c04ea
mov ecx, dword [0x111124c]
cmp ecx, 0x111124c
je 0x10c0787
test byte [ecx + 0x1c], 1
je 0x10c0787
cmp byte [ecx + 0x19], 3
jb 0x10c0787
push eax
push esi
push 0x100cee0
push 0x16
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010196ed
jmp 0x10c0787
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 0x10c05ee
cmp dword [ebp - 0x344], 2
jne 0x10c05f6
push eax
push dword [ebp - 0x324]
lea ecx, [ebp - 0x2d8]
call fcn.010bec70
lea ecx, [ebp - 0x294]
call fcn.010be9e0
lea eax, [ebp - 0x294]
push eax
sub esp, 0x44
lea eax, [ebp - 0x2d8]
mov ecx, esp
push eax
call fcn.010bec95
call fcn.010ca956
push ebx
push ebx
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x294]
call fcn.010bf297
mov ebx, dword [ebp - 0x350]
lea eax, [ebp - 0x294]
push eax
mov ecx, ebx
call fcn.010c00b7
mov dword [ebp - 0x320], eax
test eax, eax
jl 0x10c0639
lea ecx, [ebp - 0x294]
call fcn.010be803
lea ecx, [ebp - 0x2d8]
call fcn.010be803
jmp 0x10c04f6
cmp ebx, 0x103
je 0x10c062c
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10c062c
test byte [eax + 0x1c], 1
je 0x10c062c
cmp byte [eax + 0x19], 3
jb 0x10c062c
push ebx
push dword [ebp - 0x328]
push 0x100d2e4
push 0x100cee0
push 0x17
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0109b90b
test ebx, ebx
je 0x10c04f6
jmp 0x10c0787
mov ecx, dword [0x1111a4c]
push 0x100d250
push 0x100cc58
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.010be803
lea ecx, [ebp - 0x2d8]
call fcn.010be803
jmp 0x10c0787
push 0x100d234
lea ecx, [ebp - 0x250]
call fcn.010bfb32
test eax, eax
je 0x10c070a
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10c06dd
test byte [eax + 0x1c], 1
je 0x10c06dd
cmp byte [eax + 0x19], 4
jb 0x10c06dd
push esi
push 0x100cee0
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019680
lea eax, [ebp - 0x31c]
push eax
mov ecx, ebx
call fcn.010c00b7
cmp eax, edi
mov dword [ebp - 0x320], eax
jge 0x10c0787
mov dword [ebp - 0x334], 0x3c8
push 0x100d210
jmp 0x10c0747
push edi
push esi
lea ecx, [ebp - 0x2d8]
call fcn.010bec70
push eax
mov ecx, ebx
call fcn.010c00b7
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x320], eax
call fcn.010be803
cmp dword [ebp - 0x320], edi
jge 0x10c0787
mov dword [ebp - 0x334], 0x3cf
push 0x100d1e4
mov eax, dword [0x1111a4c]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x320]
push 0x100cc58
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 0x10c079c
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.010be803
lea ecx, [ebp - 0x250]
call fcn.010be803
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x320]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0106f5f8
leave
ret 4