Function at 0x4450d0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e0f08
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x67432c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00452215
test al, al
je 0x44511c
inc esp
sub ebp, ecx
aad 2
imul byte [edi - 0x38]
sub byte [edx - 0x5ea18188], 0x9d
dec eax
invalid
call fcn.004520bc
test al, al
je 0x445143
cmp al, 0xe3
xlatb
xchg esp, eax
jnp 0x445154
sbb byte [eax], dl
daa
jb 0x445161
mov dh, 0x82
aad 0x34
imul ebp, dword [ebx - 0x22], 0xffffffe6
scasb al, byte es:[edi]
hlt
lea ecx, [ebp - 0x40]
call fcn.0046432a
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0
call fcn.004643f0
add al, ch
xchg esi, eax
add dword [eax], eax
test eax, eax
je 0x445276
add byte [ebp + 0x45c7f045], cl
lock add byte [eax], al
add byte [eax], al
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push 0xf013f
push 0
push str.SoftWare
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x18], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x44540c
call fcn.0045236e
test al, al
je 0x4451b3
adc al, 0x7e
dec byte [edi]
sub eax, 0x3ee101a7
or ebx, ecx
push cs
aad 0x29
dec esi
inc eax
and ah, byte [ebx - 0x5027b7f7]
shr al, 0x49
iretd
call fcn.00452101
test al, al
je 0x4451d4
lcall 0xc4e5, 0x752b10ee
shr byte [ebp + 0x4ed6626], 0xc0
iretd
call fcn.0045218b
test al, al
je 0x4451f5
salc
mov word [eax], fs
scasd eax, dword es:[edi]
call 0x33030721
inc ebx
push 0x18e522ed
jle 0x44526a
insb byte es:[edi], dx
pop ebx
fbld tbyte [0x6ae83c]
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x5e6c34
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x445228
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x44540c
call fcn.00452329
test al, al
je 0x445243
int1
dec edi
inc ecx
ret 0x7b10
mov esi, dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax*2 + 2]
push eax
push esi
push 1
push 0
push dword [ebp + 8]
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x18]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
sbb eax, sym.imp.ADVAPI32.dll_RegCloseKey
call ebx
push dword [ebp - 0x10]
call ebx
call fcn.00452596
test al, al
je 0x44528f
mov ds, word [ebx - 0x51485218]
out 0xc1, al
xchg edx, eax
sbb ebx, dword [ebx]
sahf
jnp 0x445276
int1
mov byte [ebp + 0x45c7ec45], cl
in al, dx
add byte [eax], al
add byte [eax], al
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0xf003f
push 0
push str.SoftWare
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1c], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x44540c
call fcn.004524c7
test al, al
je 0x4452db
or ebp, dword [eax - 0x40]
and bl, byte cs:[0xcfe5db14]
sal byte [ecx + 0x44], 1
out dx, al
cmp byte cs:[edx], bl
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push 0x5e6c34
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x445310
push dword [ebp - 0x14]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
jmp 0x44540c
call fcn.004523f8
test al, al
je 0x445334
or al, byte [ebp + 0x24]
cmp al, 0x88
pushfd
adc eax, 0xc63f2633
xor esi, eax
add al, 0xd6
xchg edi, eax
push ebx
xchg ebx, eax
lds ecx, [ecx + 0x70]
mov ebx, 0xb66bc2e3
mov ecx, 0xcf21e8
add byte [eax + eax*8 + 0x57e11574], al
call fcn.0045225a
test al, al
je 0x445352
loope 0x445396
adc cl, bh
or ah, byte [edi - 0x5568a857]
popfd
pop ecx
inc edx
outsb dx, byte [esi]
adc al, 0x40
sub dword [esi - 7], esp
sahf
insb byte es:[edi], dx
call fcn.004523b3
test al, al
je 0x44536d
mov bh, 0x92
pop ds
xchg ebp, eax
lcall 0xf582, 0xc1d19cab
jge 0x445349
sub al, 0xec
invalid
mov esi, dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax*2 + 2]
push eax
push esi
push 1
push 0
push dword [ebp + 8]
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
pushal
pop esi
add bh, bh
salc
push dword [ebp - 0x14]
call esi
call fcn.004522e4
test al, al
je 0x4453bd
sal byte [esp + edx + 0x56], 0x14
imul eax, dword [edx + 0x3976d7d], 0x45
or eax, dword [ebx]
push esi
adc al, 0x6b
cmp byte [ebp + 0x6d], 0x97
add eax, dword [ebp + 0xb]
add al, 0x23
xchg ebp, eax
mov eax, 0x38e31499
clc
mov esp, 0xcd3fe8
add byte [eax + eax*8 - 0x218be18c], al
call fcn.00452101
test al, al
je 0x4453e4
je 0x4453a6
invalid
mov dh, 0x49
loop 0x44541d
cmp eax, 0x3bdc71ad
lahf
shr dword [edx - 0x5646c05], 0x6d
mov ecx, edi
and dh, 0xe8
out 0xcd, eax
add byte [eax], al
call fcn.004521d0
test al, al
je 0x44540c
jle 0x445445
out dx, eax
aam 0x19
jne 0x4453ce
insd dword es:[edi], dx
fdiv dword [esi + 0x6bdc7209]
test dword [ebp + 0x129ca90b], ebx
mov dl, 0xd4
push ecx
xchg ebx, eax
bound edi, qword [eax + ebp - 0x1c]
adc al, 0x8d
dec ebp
shr al, 0x29
out dx, eax
add dword [eax], eax
lea ecx, [ebp - 0x40]
call fcn.0046433d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
add byte [ecx + 0x5f], bl
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [edx + 4]
mov dword [edx], eax
test ecx, ecx
je 0x445452
mov eax, dword [esi]
mov dword [ecx], eax
lea ecx, [edx + 8]
test ecx, ecx
je 0x44545d
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, edx
pop esi
ret