Function at 0x10038940
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x840
mov eax, dword [0x1014857c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
je 0x10038969
mov eax, dword [ebp + 8]
push eax
call fcn.1003b320
mov ecx, eax
call fcn.1002b840
push 0x208
push 0
lea ecx, [ebp - 0x824]
push ecx
call fcn.1008e2a0
add esp, 0xc
mov dword [ebp - 0x82c], 1
mov dword [ebp - 0x828], 0x104
mov dword [ebp - 0x830], 0x101125d0
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x82c]
push ecx
push 0x10112654
mov edx, dword [ebp - 0x830]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x10038a8c
call fcn.1003b320
mov ecx, eax
call fcn.1002bc90
push eax
call fcn.10029b90
mov ecx, eax
call fcn.10020b20
push 0x10112660
call fcn.10029b90
mov ecx, eax
call fcn.10020b00
push 0x208
push 0
lea eax, [ebp - 0x20c]
push eax
call fcn.1008e2a0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
mov edx, dword [0x1014ba14]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x20c]
push eax
call fcn.10029b90
mov ecx, eax
call fcn.10020b40
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x834], esp
push 0
call fcn.10028fe0
push 0
push 0
push str.exist_wp
call fcn.10029b90
mov ecx, eax
call fcn.10020920
cmp dword [ebp + 0xc], 0
je 0x10038a85
cmp dword [ebp + 0x10], 0
jle 0x10038a85
push str.exist
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.100aba76
add esp, 0xc
xor eax, eax
jmp 0x10038ca0
call fcn.1003b320
mov ecx, eax
call fcn.1002bf50
test eax, eax
jne 0x10038b6d
push 1
call fcn.10026760
add esp, 4
test eax, eax
jne 0x10038b6d
call fcn.1003b320
mov ecx, eax
call fcn.1002bc90
push eax
call fcn.10029b90
mov ecx, eax
call fcn.10020b20
push 0x1011268c
call fcn.10029b90
mov ecx, eax
call fcn.10020b00
push 0x208
push 0
lea eax, [ebp - 0x414]
push eax
call fcn.1008e2a0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x414]
push ecx
mov edx, dword [0x1014ba14]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x414]
push eax
call fcn.10029b90
mov ecx, eax
call fcn.10020b40
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x838], esp
push 0
call fcn.10028fe0
push 0
push 0
push 0x10112698
call fcn.10029b90
mov ecx, eax
call fcn.10020920
cmp dword [ebp + 0xc], 0
je 0x10038b66
cmp dword [ebp + 0x10], 0
jle 0x10038b66
push str.giveup
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.100aba76
add esp, 0xc
xor eax, eax
jmp 0x10038ca0
cmp dword [0x1014ba40], 0
jne 0x10038c9e
mov eax, dword [0x1014ba40]
add eax, 1
mov dword [0x1014ba40], eax
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0
mov edx, dword [0x1014ba14]
push edx
call fcn.10037270
cmp dword [ebp + 0xc], 0
je 0x10038c9e
cmp dword [ebp + 0x10], 0
jle 0x10038c9e
call fcn.1003b320
mov ecx, eax
call fcn.1002bc90
push eax
call fcn.10029b90
mov ecx, eax
call fcn.10020b20
push 0x101126b8
call fcn.10029b90
mov ecx, eax
call fcn.10020b00
push 0x208
push 0
lea eax, [ebp - 0x61c]
push eax
call fcn.1008e2a0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x61c]
push ecx
mov edx, dword [0x1014ba14]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x61c]
push eax
call fcn.10029b90
mov ecx, eax
call fcn.10020b40
cmp dword [0x10147184], 0
jne 0x10038c62
push 0x101126c4
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.100aba76
add esp, 0xc
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x83c], esp
push 0
call fcn.10028fe0
push 0
push 0
push 0x101126cc
call fcn.10029b90
mov ecx, eax
call fcn.10020920
jmp 0x10038c9e
push 0x101126d4
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.100aba76
add esp, 0xc
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x840], esp
push 0
call fcn.10028fe0
push 0
push 0
push str.fail
call fcn.10029b90
mov ecx, eax
call fcn.10020920
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100810f8
mov esp, ebp
pop ebp
ret 0xc