Function at 0x10014cd0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
sub esp, 0x538
mov eax, 0xffffffff
mov dword [esp], eax
push ebx
mov dword [esp + 8], eax
push esi
mov si, word [esp + 0x544]
push edi
test si, si
push ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
je 0x10014dbc
call fcn.10018cb0
mov word [0x1002f408], ax
push 0
lea eax, [esp + 0x1c]
push eax
push str.SoftwarePocketSoftRTPatchDelayReg
push 0x80000002
call fcn.10013230
add esp, 0x10
test eax, eax
jne 0x10014ffb
lea eax, [esp + 0x24]
push 0
push 0
push 0
push 0
push eax
mov ecx, dword [esp + 0x2c]
push 0
push 0
push 0
push 0
xor edi, edi
push 0
push 0
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
cmp dword [esp + 0x24], edi
jbe 0x10014db1
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov ebp, 0x105
lea eax, [esp + 0x1c]
push 0
lea ecx, [esp + 0x30]
push 0
mov edx, dword [esp + 0x20]
push 0
mov dword [esp + 0x28], ebp
push 0
push eax
push ecx
push edi
push edx
call ebx
test eax, eax
jne 0x10014daa
lea eax, [esp + 0x130]
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.10018b30
lea ecx, [esp + 0x138]
add esp, 8
push ecx
call fcn.10015050
add esp, 4
inc edi
cmp dword [esp + 0x24], edi
ja 0x10014d63
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp word [0x1002ff30], 0
je 0x10014fb2
mov edi, dword [0x1002ff28]
cmp edi, 0xffffffff
je 0x10014e79
mov ebx, 0xffffffff
lea eax, [esp + 0x338]
push eax
push 0x100290a0
push edi
call fcn.100155f0
lea eax, [esp + 0x34c]
add esp, 0xc
push 0
push eax
call fcn.100185b0
add esp, 8
test ax, ax
je 0x10014e44
lea eax, [esp + 0x340]
push eax
call fcn.100150d0
add esp, 4
test eax, eax
push 0x1002ff2c
push 0x1002ff28
push edi
jne 0x10014e31
call fcn.10015420
jmp 0x10014e67
call fcn.10015420
lea eax, [esp + 0x20]
lea ecx, [esp + 0x1c]
add esp, 0xc
push eax
jmp 0x10014e60
push 0x1002ff2c
push 0x1002ff28
push edi
call fcn.10015420
lea eax, [esp + 0x34]
lea ecx, [esp + 0x2c]
add esp, 0xc
push eax
push ecx
push edi
call fcn.10015340
mov edi, dword [esp + 0x344]
add esp, 0xc
cmp edi, ebx
jne 0x10014dde
cmp dword [esp + 0x10], 0xffffffff
je 0x10014ee1
mov ebx, 0xffffffff
xor bp, bp
mov edi, dword [esp + 0x10]
cmp edi, ebx
je 0x10014edc
lea eax, [esp + 0x338]
push eax
push 0x100290a0
push edi
call fcn.100155f0
lea eax, [esp + 0x34c]
add esp, 0xc
push eax
call fcn.100150d0
add esp, 4
test eax, eax
jne 0x10014ed1
mov bp, 1
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push ecx
push edi
call fcn.10015420
add esp, 0xc
mov edi, dword [esp + 0x338]
cmp edi, ebx
jne 0x10014e90
test bp, bp
jne 0x10014e85
test si, si
jne 0x10014fb2
cmp dword [esp + 0x20], 0xffffffff
je 0x10014fb2
lea eax, [esp + 0x18]
push 0
push eax
push str.SoftwarePocketSoftRTPatchDelayReg
push 0x80000002
call fcn.10013630
add esp, 0x10
test eax, eax
jne 0x10014fb2
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x10014f5c
mov edi, 0xffffffff
lea ecx, [esp + 0x338]
push ecx
push 0x100290a0
push eax
call fcn.100155f0
lea eax, [esp + 0x34c]
mov ecx, dword [esp + 0x24]
add esp, 0xc
push 1
push eax
push ecx
call fcn.10013fc0
mov eax, dword [esp + 0x344]
add esp, 0xc
cmp eax, edi
jne 0x10014f24
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x10014fa2
mov edi, 0xffffffff
lea ecx, [esp + 0x338]
push ecx
push 0x100290a0
push eax
call fcn.100155f0
lea eax, [esp + 0x34c]
mov ecx, dword [esp + 0x24]
add esp, 0xc
push 1
push eax
push ecx
call fcn.10013fc0
mov eax, dword [esp + 0x344]
add esp, 0xc
cmp eax, edi
jne 0x10014f6a
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.10007810
call fcn.10015010
test si, si
je 0x10014ffb
lea eax, [esp + 0x338]
push eax
push str.SoftwarePocketSoftRTPatchDelayReg
call fcn.10018b30
lea eax, [esp + 0x340]
add esp, 8
push eax
push 0x80000002
call fcn.10013c60
lea eax, [esp + 0x340]
add esp, 8
push eax
push 0x80000002
call fcn.10013540
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x538
ret