Function at 0x404793
Capabilities:
Delete registry value
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x40700c]
push ebx
mov ebx, ecx
push esi
push edi
mov edi, edx
cmp eax, 0xffffffff
je 0x4047bb
push 0x401bfc
push 0xc
push eax
call dword [sym.imp.rtutils.dll_TracePrintfExA]
add esp, 0xc
mov eax, dword [edi]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push 0
push 0x40157c
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 4]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x4017f4
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 8]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x40181c
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0xc]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401834
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x10]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x40184c
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x24]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401870
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x14]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401890
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x18]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x4018a8
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x1c]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x4018dc
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x20]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x40190c
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x28]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401934
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x2c]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401954
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x30]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401970
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x34]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401994
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x38]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x4019bc
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x3c]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x4019ec
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x40]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401a14
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x4c]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x4017d8
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x60]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401a30
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x70]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401a54
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
jne 0x404ba8
mov eax, dword [edi + 0x74]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 4
push esi
push 0x401a64
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edx, dword [edi + 0x44]
mov ecx, ebx
call fcn.0040437c
mov esi, eax
test esi, esi
jne 0x404ba8
push ecx
push dword [edi + 0x58]
mov edx, 0x401a74
mov ecx, ebx
call fcn.00404faf
mov esi, eax
test esi, esi
jne 0x404ba8
push ecx
push dword [edi + 0x5c]
mov edx, 0x401a8c
mov ecx, ebx
call fcn.00404faf
mov esi, eax
test esi, esi
jne 0x404ba8
push ecx
push dword [edi + 0x64]
mov edx, 0x401aa0
mov ecx, ebx
call fcn.00404faf
mov esi, eax
test esi, esi
jne 0x404ba8
push ecx
push dword [edi + 0x68]
mov edx, 0x401ab4
mov ecx, ebx
call fcn.00404faf
mov esi, eax
test esi, esi
jne 0x404ba8
mov edx, dword [edi + 0x6c]
mov ecx, ebx
call fcn.00404621
mov esi, eax
test esi, esi
jne 0x404ba8
push dword [edi + 0x48]
mov edx, 0x401ac8
mov ecx, ebx
call fcn.0040507a
mov esi, eax
test esi, esi
jne 0x404ba8
push dword [edi + 0x50]
mov edx, 0x401b20
mov ecx, ebx
call fcn.0040507a
mov esi, eax
test esi, esi
jne 0x404ba8
push dword [edi + 0x54]
mov edx, 0x401b4c
mov ecx, ebx
call fcn.0040507a
mov esi, eax
test esi, esi
jne 0x404ba8
push dword [edi + 0x78]
mov edx, 0x401b7c
mov ecx, ebx
call fcn.0040507a
mov esi, eax
test esi, esi
jne 0x404ba8
push 0x401af4
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
and dword [edi + 0x80], esi
mov eax, dword [0x40700c]
cmp eax, 0xffffffff
je 0x404bc4
push esi
push 0x401c14
push 0xc
push eax
call dword [sym.imp.rtutils.dll_TracePrintfExA]
add esp, 0x10
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret