Function at 0x418b40
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
xor eax, eax
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
call fcn.0042af76
test al, al
je 0x418b73
test eax, ecx
fild qword [edi]
adc byte [edi], ch
retf 0x2556
call fcn.0042aeec
test al, al
je 0x418b97
adc esp, ecx
push cs
dec esi
fisub dword [esi]
jo 0x418b9a
not dword [ebx + 0x58]
inc eax
loopne 0x418be3
and al, 0x6c
fcmovnbe st(0), st(1)
add dl, byte fs:[eax + 0x25cad848]
div byte [edx - 0x18]
or esp, dword [ebx]
call fcn.0042aea7
add dword [eax], eax
test al, al
je 0x418bb9
xor byte [edx], al
adc dword [edx + esi*8], ebp
aas
pop ebx
test al, 0x6d
ror byte fs:[ebx + 0x38], 1
sbb edx, dword [esi + 0x68]
js 0x418bb7
or dword [ebx - 0x45], eax
xchg esp, eax
shr byte [ebp + ecx*4 + 0x45], 1
cld
lea eax, [ebp - 4]
push eax
push 0xf013f
push 0
push dword [ebp + 0xc]
push reloc.WS2_32.dll_closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x418da3
call fcn.0042add8
test al, al
je 0x418bf5
inc edx
mov byte [0xe9870325], al
outsd dx, dword [esi]
push esi
nop
enter 0x15c5, 0xffffffffffffffc9
out dx, eax
inc edi
les esi, [ecx + 0x76]
call fcn.0042aa9c
test al, al
je 0x418c19
jecxz 0x418c04
sahf
add ecx, dword [ecx - 0x65e64b83]
add al, 0x41
test byte [eax - 0x452a17bf], dl
mov ah, 0x19
lcall 0xe841, 0x90844104
aad 0xba
movsd dword es:[edi], dword [esi]
sar dword [edi], cl
mov ch, 0xfd
adc ebx, dword [eax + 0x74]
mov eax, dword [0x1e7ee880]
add dword [eax], eax
call fcn.0042aa9c
test al, al
je 0x418c3d
dec edx
movsb byte es:[edi], byte [esi]
xor al, 0x29
sbb eax, 0xed0a924c
popal
mov esp, 0xc87f2737
lcall 0xd707, 0x2ceee665
and dword [ebx], eax
stosb byte es:[edi], al
mov al, byte [0xf8458d18]
lea eax, [ebp - 8]
mov ebx, 0xf013f
push eax
push ebx
xor edi, edi
push edi
push str.SoftWare
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x418c6a
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x418da3
push edi
lea eax, [ebp - 0xc]
push eax
push edi
push ebx
push edi
push edi
push edi
push dword [ebp + 8]
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x418c99
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 8]
call esi
push dword [ebp - 4]
call esi
jmp 0x418da3
call fcn.0042aae1
test al, al
je 0x418cb5
lea edi, [ebx + 0x6fb825b5]
push 0x30
iretd
call fcn.0042aa57
test al, al
je 0x418cd4
push 0xe98e5013
imul eax, dword [ebp - 0x7d2bc90c], 0x57e9ebed
dec ecx
cmp eax, 0x3e62580
xorps xmm1, xmmword [ebp + 0x5750f045]
push edi
lea eax, [ebp - 0x10]
push eax
push edi
push 0xf013f
push edi
push edi
push edi
push dword [ebp + 0x10]
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x418cff
push dword [ebp - 0xc]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
jmp 0x418c8a
push dword [ebp + 0x18]
call fcn.00578706
pop ecx
lea eax, [eax*2 + 2]
stc
adc eax, 0x48d5900
inc ebp
add al, byte [eax]
add byte [eax], al
push eax
push dword [ebp + 0x18]
push 1
push edi
push dword [ebp + 0x14]
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
adc eax, sym.imp.ADVAPI32.dll_RegSetValueExW
add byte [edx], bl
push dword [ebp - 0x10]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call edi
push dword [ebp - 0xc]
call edi
call fcn.0042ae1d
test al, al
je 0x418d4b
jecxz 0x418d1f
pop ds
test eax, 0x69359f0b
jno 0x418d04
and byte [esi + 0x51], cl
jp 0x418ce8
mov edx, 0x11e1be8
add byte [eax + eax*8 - 0x53efe88c], al
xchg ebx, eax
arpl word [eax - 0x1e38e8ab], bx
das
psrld mm2, mm0
cmc
mov eax, dword [0xf830d96a]
jmp 0xe8eb9897
call fcn.0042ab6b
test al, al
je 0x418d6b
adc byte [ebx + edx*4 + 0x17559863], ch
invalid
call fcn.0042aa57
test al, al
je 0x418d99
or ah, byte [ecx - 0x4d]
jmp 0x418d1d
push dword [ebp - 8]
call edi
push dword [ebp - 4]
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret