Function at 0x40526e
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x524
mov eax, dword [0x40f014]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, 0x401f88
push edi
mov dword [ebp - 4], eax
call fcn.004061e0
pop ecx
call fcn.00405e04
test eax, eax
jne 0x4052bc
push 0x401788
push eax
push eax
push edi
push 0x43c
push 0x401240
call fcn.004062d4
add esp, 0x18
xor eax, eax
jmp 0x405758
push ebx
xor ebx, ebx
cmp dword [0x40fba4], ebx
jne 0x4052f1
call fcn.00404adc
test eax, eax
jne 0x4052f1
push 0x401cfc
push ebx
push ebx
push edi
push 0x444
push 0x401240
call fcn.004062d4
add esp, 0x18
xor eax, eax
jmp 0x405757
cmp esi, ebx
jne 0x405304
push 0x401f5c
push ebx
push ebx
push edi
push 0x44b
jmp 0x4052dd
push esi
call fcn.004047f9
test eax, eax
je 0x4052ea
mov eax, dword [0x40fbd0]
cmp eax, ebx
jne 0x405326
push 0x401f24
push ebx
push ebx
push edi
push 0x458
jmp 0x4052dd
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push 0x7d0
call eax
test eax, eax
jne 0x40534c
push 0x401f04
push ebx
push ebx
push edi
push 0x45e
jmp 0x4052dd
push dword [esi + 8]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
lea ecx, [ebp - 0x20c]
push ecx
mov dword [ebp - 0x520], eax
call ebx
mov ecx, dword [ebp - 0x520]
push dword [esi + 8]
lea ecx, [ecx + eax - 1]
mov eax, 0x104
cmp ecx, eax
jle 0x40539d
push 0x401ee0
push 0
push 0
push edi
push 0x463
push 0x401240
call fcn.004062d4
add esp, 0x1c
jmp 0x4052ea
lea ecx, [ebp - 0x20c]
push ecx
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00404a14
add esp, 0x10
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x51c]
push eax
xor ebx, ebx
push ebx
push 2
push ebx
push ebx
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
cmp eax, ebx
je 0x4053f2
push ebx
push eax
push 0x401ecc
push edi
push 0x473
jmp 0x4056d2
push 0x104
lea eax, [ebp - 0x518]
push eax
push dword [esi + 0xc]
call dword [sym.imp.ole32.dll_StringFromGUID2]
cmp eax, ebx
push ebx
push ebx
jne 0x40541d
push 0x401704
push edi
push 0x47d
jmp 0x4056d2
push 0x104
lea ecx, [ebp - 0x310]
push ecx
push eax
lea eax, [ebp - 0x518]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x405459
push 0x4016d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4016bc
push edi
push 0x486
jmp 0x4056d2
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x7d1
call dword [0x40fbd0]
test eax, eax
jne 0x405486
push 0x401f04
push ebx
push ebx
push edi
push 0x48c
jmp 0x4056d2
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp - 0x310]
push eax
push 1
push ebx
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
je 0x4054c8
push ebx
push eax
push 0x401eb8
push edi
push 0x499
jmp 0x4056d2
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x7d2
call dword [0x40fbd0]
test eax, eax
jne 0x4054f5
push 0x401f04
push ebx
push ebx
push edi
push 0x4a2
jmp 0x4056d2
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [esi + 0x10]
lea eax, [ebp - 0x108]
push 1
push ebx
push eax
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
je 0x40552f
push ebx
push eax
push 0x401eb8
push edi
push 0x4af
jmp 0x4056d2
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x7d3
call dword [0x40fbd0]
test eax, eax
jne 0x40555c
push 0x401f04
push ebx
push ebx
push edi
push 0x4b8
jmp 0x4056d2
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [esi + 0x14]
lea eax, [ebp - 0x108]
push 1
push ebx
push eax
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
je 0x405596
push ebx
push eax
push 0x401eb8
push edi
push 0x4c5
jmp 0x4056d2
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x7d5
call dword [0x40fbd0]
test eax, eax
jne 0x4055c3
push 0x401f04
push ebx
push ebx
push edi
push 0x4ce
jmp 0x4056d2
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [esi + 0x18]
lea eax, [ebp - 0x108]
push 1
push ebx
push eax
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
je 0x4055fd
push ebx
push eax
push 0x401eb8
push edi
push 0x4db
jmp 0x4056d2
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x7d4
call dword [0x40fbd0]
test eax, eax
jne 0x40562a
push 0x401f04
push ebx
push ebx
push edi
push 0x4e4
jmp 0x4056d2
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [esi + 0x1c]
lea eax, [ebp - 0x108]
push 1
push ebx
push eax
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
je 0x405661
push ebx
push eax
push 0x401ea4
push edi
push 0x4f1
jmp 0x4056d2
cmp dword [esi], 4
jne 0x40571f
cmp dword [esi + 0x20], ebx
je 0x40571f
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x7d6
call dword [0x40fbd0]
test eax, eax
jne 0x40569d
push 0x401f04
push ebx
push ebx
push edi
push 0x4fc
jmp 0x4056d2
push dword [esi + 0x20]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [esi + 0x20]
lea eax, [ebp - 0x108]
push 1
push ebx
push eax
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
je 0x40571f
push ebx
push eax
push 0x401eb8
push edi
push 0x509
push 0x401240
call fcn.004062d4
add esp, 0x18
cmp dword [ebp - 0x51c], ebx
je 0x405711
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, ebx
je 0x405711
push ebx
push eax
push 0x401e8c
push edi
push 0x518
push 0x401240
call fcn.004062d4
add esp, 0x18
push 0x401e68
call fcn.004061e0
xor eax, eax
jmp 0x405756
push dword [ebp - 0x51c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, ebx
je 0x405749
push ebx
push eax
push 0x4012dc
push edi
push 0x50f
push 0x401240
call fcn.004062d4
add esp, 0x18
push 0x401e40
call fcn.004061e0
xor eax, eax
inc eax
pop ecx
pop ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.004065c9
leave
ret 8