Function at 0x403b3d
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42ea04
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x860
push esi
mov dword [ebp - 4], 1
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x24]
call fcn.0041cd41
mov byte [ebp - 4], 2
mov byte [ebp - 0x804], 1
lea eax, [ebp - 0x28]
push eax
push 0x20019
push 0
lea ecx, [ebp + 0xc]
call fcn.004062a0
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x403c42
push ecx
mov esi, esp
mov dword [ebp - 0x820], esp
push str.__not_found
lea edx, [ebp + 0xc]
push edx
push str.INFO:_reg_entry__
lea eax, [ebp - 0x824]
push eax
call fcn.0041e187
mov dword [ebp - 0x844], eax
mov ecx, dword [ebp - 0x844]
mov dword [ebp - 0x848], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x848]
push edx
push esi
call fcn.0041e113
mov dword [ebp - 0x84c], eax
call fcn.00403fae
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x824]
call fcn.0041de7e
mov dword [ebp - 0x828], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.0041cd74
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.0041de7e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x10]
call fcn.0041de7e
mov eax, dword [ebp - 0x828]
jmp 0x403eff
mov dword [ebp - 0x800], 0
mov dword [ebp - 0x808], 0x7d0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0x7fc]
push ecx
mov edx, dword [ebp - 0x800]
push edx
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x403cfd
mov byte [ebp - 0x80c], 1
lea ecx, [ebp + 0x10]
call fcn.00406280
test eax, eax
jne 0x403cc0
lea ecx, [ebp + 0x10]
call fcn.00406240
push eax
lea ecx, [ebp - 0x7fc]
push ecx
lea ecx, [ebp + 0x10]
call fcn.004062a0
push eax
call fcn.00416b80
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x80c], al
mov edx, dword [ebp - 0x80c]
and edx, 0xff
test edx, edx
je 0x403cdf
lea eax, [ebp - 0x7fc]
push eax
lea ecx, [ebp - 0x24]
call fcn.004061f0
mov dword [ebp - 0x808], 0x7d0
mov ecx, dword [ebp - 0x800]
add ecx, 1
mov dword [ebp - 0x800], ecx
jmp 0x403c56
mov dword [ebp - 0x2c], 0
jmp 0x403d0f
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x24]
call fcn.00406190
cmp dword [ebp - 0x2c], eax
jge 0x403da4
push ecx
mov ecx, esp
mov dword [ebp - 0x82c], esp
push 0x44040c
call fcn.0041deec
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0x850]
mov dword [ebp - 0x854], eax
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x830], esp
mov edx, dword [ebp - 0x2c]
push edx
push ecx
lea ecx, [ebp - 0x24]
call fcn.004061b0
mov dword [ebp - 0x858], eax
mov eax, dword [ebp - 0x28]
push eax
mov byte [ebp - 4], 2
call fcn.00403b3d
add esp, 0xc
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x810], ecx
cmp dword [ebp - 0x810], 0
je 0x403d9f
cmp dword [ebp - 0x10], 0
jne 0x403d9f
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x10], edx
jmp 0x403d06
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp + 0x10]
call fcn.00406280
test eax, eax
je 0x403ec9
push ecx
mov esi, esp
mov dword [ebp - 0x834], esp
push 0x43a550
lea ecx, [ebp + 0xc]
push ecx
push str.INFO:_deleting_reg_entry__
lea edx, [ebp - 0x838]
push edx
call fcn.0041e187
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
mov dword [ebp - 0x864], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x864]
push ecx
push esi
call fcn.0041e113
mov dword [ebp - 0x868], eax
call fcn.00403fae
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x838]
call fcn.0041de7e
lea ecx, [ebp + 0xc]
call fcn.004062a0
push eax
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], 0
je 0x403ec9
lea ecx, [ebp - 0x81c]
call fcn.00406220
mov byte [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x818]
push eax
mov ecx, dword [ebp - 0x814]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push str.RegDeleteKey____s______d__errno_d_
lea eax, [ebp - 0x81c]
push eax
call fcn.0041c3b1
add esp, 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x83c], esp
lea edx, [ebp - 0x81c]
push edx
call fcn.0041dbf3
mov dword [ebp - 0x86c], eax
call fcn.00403fae
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x403eba
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x81c]
call fcn.0041de7e
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x840], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.0041cd74
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.0041de7e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x10]
call fcn.0041de7e
mov eax, dword [ebp - 0x840]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret