Function at 0x10013740
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
sub esp, 0x230
lea eax, [esp + 0x20]
push ebx
push esi
push edi
lea ecx, [esp + 0x28]
push ebp
push 0
push 0
lea edx, [esp + 0x30]
push eax
push 0
push ecx
mov esi, dword [esp + 0x258]
push 0
push 0
push edx
push 0
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov eax, dword [esp + 0x30]
push eax
call fcn.1000ddc0
add esp, 4
mov edi, eax
cmp dword [0x100307cc], 0
je 0x10013796
mov eax, dword [0x100307d0]
jmp 0x1001379b
call fcn.100188c0
test eax, eax
jne 0x10013949
xor ebp, ebp
mov ebx, dword [esp + 0x248]
cmp dword [esp + 0x2c], ebp
jbe 0x10013841
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0x105
lea eax, [esp + 0x18]
push eax
push edi
lea eax, [esp + 0x3c]
push ecx
push 0
push edx
push eax
push ebp
push esi
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x1001380f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x34]
push eax
push edi
push ecx
push 0
push edx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x10013828
inc ebp
cmp ebp, dword [esp + 0x2c]
jb 0x100137b6
jmp 0x10013841
push edi
call fcn.1001f43e
add esp, 4
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
push edi
call fcn.1001f43e
add esp, 4
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
push edi
xor ebp, ebp
call fcn.1001f43e
add esp, 4
cmp dword [esp + 0x28], ebp
jbe 0x100138f3
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x34]
push 0x105
push eax
push ebp
push esi
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
test eax, eax
jne 0x10013900
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x34]
push eax
push ecx
push 0
push 0x20019
push 0
push 0
push 0
push edx
push esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x10013910
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x34]
push eax
push ecx
push 0
push 0x20006
push 0
push 0
push 0
push edx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x10013920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.10013740
add esp, 8
test eax, eax
mov eax, dword [esp + 0x14]
push eax
jne 0x10013930
inc ebp
call edi
mov eax, dword [esp + 0x10]
push eax
call edi
cmp dword [esp + 0x28], ebp
ja 0x1001385c
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
call edi
mov eax, dword [esp + 0x10]
push eax
call edi
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
xor ebp, ebp
mov ebx, dword [esp + 0x248]
cmp dword [esp + 0x2c], ebp
jbe 0x100139e7
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0x105
lea eax, [esp + 0x18]
push eax
push edi
lea eax, [esp + 0x3c]
push ecx
push 0
push edx
push eax
push ebp
push esi
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x100139b5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x34]
push eax
push edi
push ecx
push 0
push edx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x100139ce
inc ebp
cmp ebp, dword [esp + 0x2c]
jb 0x1001395c
jmp 0x100139e7
push edi
call fcn.1001f43e
add esp, 4
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
push edi
call fcn.1001f43e
add esp, 4
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
push edi
xor ebp, ebp
call fcn.1001f43e
add esp, 4
cmp dword [esp + 0x28], ebp
jbe 0x100138f3
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x34]
push 0x105
push eax
push ebp
push esi
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x10013a9e
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x34]
push eax
push ecx
push 0
push 0x20019
push 0
push 0
push 0
push edx
push esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10013aae
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x34]
push eax
push ecx
push 0
push 0x20006
push 0
push 0
push 0
push edx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10013abe
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.10013740
add esp, 8
test eax, eax
mov eax, dword [esp + 0x14]
push eax
jne 0x10013ace
inc ebp
call edi
mov eax, dword [esp + 0x10]
push eax
call edi
cmp dword [esp + 0x28], ebp
ja 0x10013a02
jmp 0x100138f3
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret
call edi
mov eax, dword [esp + 0x10]
push eax
call edi
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x230
ret