Function at 0x41f860
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x632a40]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
push ebx
push esi
push edi
push 0x20
mov ebx, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x10]
push str.5273c17b52c4816c14cef0825a507b94
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.00408580
cmp dword [ebp - 0x10], 0x100
mov eax, dword [ebp - 0xc]
jbe 0x41f8f6
cmp eax, 0x10
jb 0x41f8df
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
push ecx
pop ebp
pop esp
pop ebp
pop esi
pop ecx
pop eax
push edx
push edx
push ebp
pop ebp
push ebx
push edx
pop edi
pop edx
push eax
pop edx
pop edi
push esi
pop eax
push edx
jmp 0x41f908
cmp eax, 0x10
jb 0x41f908
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
push 0x20
push str.7808ebaafc31376590b63e7f8f815931
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.00408580
cmp dword [ebp - 0x10], 0x100
mov eax, dword [ebp - 0xc]
jbe 0x41f963
cmp eax, 0x10
jb 0x41f947
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
push esp
pop ebp
pop edx
push edx
push edx
pop ecx
push edi
pop esp
pop esi
pop esi
push esi
push ecx
push ecx
push esp
push ebx
pop ecx
push esp
pop esi
push esi
push ebp
pop esp
pop eax
push edx
push edi
push esp
pop esi
jmp 0x41f975
cmp eax, 0x10
jb 0x41f975
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
push 0x20
push str.57d0fe31bdd0193168aeb025444b8d6f
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.00408580
cmp dword [ebp - 0x10], 0x100
mov eax, dword [ebp - 0xc]
jbe 0x41f9cf
cmp eax, 0x10
jb 0x41f9b4
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
pop ebp
push edx
pop edx
pop eax
pop eax
push esp
pop esp
pop edx
push esp
push esp
push ecx
pop ebp
pop edx
push ecx
pop eax
push edx
pop ebx
push esi
pop ecx
pop ecx
push ecx
push edi
mov ebx, dword [ebp - 0x34]
jmp 0x41f9e1
cmp eax, 0x10
jb 0x41f9e1
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
push 0x20
push str.458260d2290b89f72e5abff4127c2881
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], 0xf
mov dword [ebp - 0x10], 0
mov byte [ebp - 0x20], 0
call fcn.00408580
cmp dword [ebp - 0x10], 0x100
mov eax, dword [ebp - 0xc]
jbe 0x41fa37
cmp eax, 0x10
jb 0x41fa20
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
pop ecx
pop edx
pop edi
push ecx
pop eax
push ecx
push esp
pop esi
push ebp
pop edi
push edx
pop ebp
push eax
pop edi
push ebp
pop edi
pop eax
push esp
pop edi
pop esi
push esp
jmp 0x41fa49
cmp eax, 0x10
jb 0x41fa49
inc eax
lea ecx, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.00408a70
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x24]
push eax
push 0xf013f
push 0
push ebx
push reloc.WS2_32.dll_closesocket
call esi
test eax, eax
jne 0x41fc07
call fcn.0043b5f0
test al, al
je 0x41fa88
push ecx
push ecx
push esi
pop ebp
pop ebx
push esp
push ebx
push ecx
pop eax
pop ebp
pop ebp
pop ecx
pop edx
pop edi
push edi
push esi
push esp
push ebp
push eax
pop eax
pop edx
lea eax, [ebp - 0x28]
push eax
push 0xf013f
push 0
push str.SoftWare
push dword [ebp - 0x24]
call esi
test eax, eax
je 0x41fabb
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00579ec9
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x2c]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x623ac8
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x41fbf7
call fcn.0043b350
test al, al
je 0x41fafe
push edx
pop ebp
pop edi
push edx
push ebx
push edi
pop ebx
push edi
push edx
push esp
pop esp
push edx
push edx
pop ebx
push ecx
pop edx
push eax
call fcn.0043b900
test al, al
je 0x41fb24
pop esp
push esi
pop eax
pop ebx
pop edx
pop esi
pop edx
push ebp
pop esp
push edx
pop ebp
push esi
push edi
pop ebx
push esp
push ebp
push ecx
push eax
push ecx
pop esp
pop esp
push esp
push esp
push esp
push ebp
push ebx
push ecx
push esp
push edx
push 0
lea eax, [ebp - 0x30]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push str.GDftSet
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x41fb59
push dword [ebp - 0x2c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
jmp 0x41fbfd
mov esi, dword [ebp - 0x38]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fb61
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push esi
push 1
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x30]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call ebx
push dword [ebp - 0x2c]
call ebx
call fcn.0043ba50
test al, al
je 0x41fbba
push ecx
push ebp
pop esp
pop ebx
push ebx
push esi
pop eax
pop edi
pop edi
pop eax
pop esp
pop ecx
pop ebp
pop esi
push edi
push ebp
push eax
pop ecx
pop ebp
pop eax
push edi
pop ecx
push ecx
pop ecx
call fcn.0043b660
test al, al
je 0x41fbdc
push esp
push ebx
push ecx
push esp
push edi
push ebx
push ecx
pop eax
pop edx
push ebp
pop edi
push ecx
push ecx
push esp
pop ebx
pop esi
push eax
pop edx
push esi
push esp
pop ebp
pop eax
pop ebp
pop esi
push edx
call fcn.0043b3c0
test al, al
je 0x41fbf7
pop edx
push esi
pop edi
push esp
pop esi
pop esi
pop esi
pop ebx
push ecx
pop ebx
push esi
push esi
push ebp
push ebp
push edi
pop ebx
pop edx
pop eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x28]
call esi
push dword [ebp - 0x24]
call esi
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00579ec9
mov esp, ebp
pop ebp
ret