Function at 0x46c34a
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
call fcn.004607e6
test al, al
je 0x46c379
shl byte [eax - 0x49c5069a], 1
push edx
inc esp
add eax, ecx
inc esp
push 0xb368614f
xor ebx, ebx
lea eax, [ebp - 0xc]
mov esi, 0xf013f
push eax
push esi
push ebx
push str.SoftWare
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x46c4b6
push ebx
lea eax, [ebp - 8]
push eax
push ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push ebx
push ebx
push ebx
push dword [ebp + 8]
push dword [ebp - 0xc]
call esi
test eax, eax
je 0x46c3c6
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x46c4b6
call fcn.00460534
test al, al
je 0x46c3e4
arpl word [ebx - 0x61], ax
je 0x46c3d6
sbb byte [edi - 0x7b], bl
sbb ebp, dword [edi + 0x569449e3]
test dword [ebx], ebx
scasd eax, dword es:[edi]
jecxz 0x46c424
xchg esp, eax
push esi
jns 0x46c45a
div dword [ebp + 0x53db3305]
push ebx
lea eax, [ebp - 4]
push eax
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push dword [ebp + 0xc]
push dword [ebp - 8]
call esi
test eax, eax
je 0x46c411
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 4]
jmp 0x46c4b4
push dword [ebp + 0x14]
call fcn.0049899e
pop ecx
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0x14]
push 1
push ebx
push dword [ebp + 0x10]
adc al, 0x6a
add dword [ebx - 1], edx
jne 0x46c43b
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00460396
test al, al
je 0x46c45e
pop esp
add al, ch
push esp
aas
invalid
push 0xf
dec edi
jns 0x46c44c
nop
jp 0x46c47c
adc al, 0x2b
adc al, 0x2b
test dword [edi], esp
sbb edi, dword [0xf0201d69]
fisubr dword [0x53d70d9e]
sahf
or eax, 0xc8e853d7
inc ebx
invalid
call fcn.0046082b
test al, al
je 0x46c484
sar bl, 0x8a
add eax, 0x52ac72c8
js 0x46c44d
neg byte [ebp - 0x49d2f189]
invalid
adc esp, dword [edi]
cmp al, 0x30
int1
aaa
js 0x46c4c2
call fcn.004601b3
test al, al
je 0x46c4a6
mov al, 0xd5
test al, 0xee
invalid
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0xc]
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or al, 0x53
xor eax, eax
push esi
push edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
call fcn.00460420
test al, al
je 0x46c4f0
xchg esp, eax
les ebp, [ebp - 0x1306e628]
fsub dword [ecx - 0x77]
inc ecx
rcl byte [ebp - 0x654b03f0], 0xc6
invalid
call fcn.0046023d
test al, al
cmp eax, 0xc084ffff
je 0x46c50f
push esp
mov al, byte [0x982ac47e]
lodsb al, byte [esi]
cmpsb byte [esi], byte es:[edi]
leave
jle 0x46c4f2
test al, 0x2a
int3
call fcn.00460534
test al, al
je 0x46c52d
invalid
call fcn.004604aa
test al, al
je 0x46c556
insb byte es:[edi], dx
pushfd
xchg edi, eax
inc esi
lodsb al, byte [esi]
sti
retf
lea eax, [ebp - 0xc]
push eax
push 0xf013f
push 0
aas
add dword [edi], ecx
add byte [edx], ch
push str.SoftWare
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x46c69b
call fcn.004607a1
test al, al
je 0x46c59f
xchg ecx, eax
push eax
push 0xc
test eax, 0x8c095558
cmp ecx, dword [edx]
stc
push esi
adc dword [edx + 0x7354b07], eax
mov eax, 0x18faa944
mov eax, dword [0xe8cdd390]
aad 0x3f
invalid
call fcn.00460579
test al, al
je 0x46c5c4
pop ecx
sbb al, dl
sbb eax, 0xe2d0f32b
ja 0x46c59b
js 0x46c55b
test eax, 0x48a7008e
xlatb
mov cl, 0x4e
std
pop eax
lcall 0x8ddb, 0x33bea4d6
inc ebp
clc
xor ebx, ebx
lea eax, [ebp - 8]
push ebx
push eax
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push dword [ebp + 8]
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x46c5f2
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x46c69b
call fcn.004607e6
test al, al
je 0x46c60d
stc
insb byte es:[edi], dx
sub ch, byte [eax - 0xc]
and eax, 0x6ab11eaf
push ebp
cwde
invalid
push ebx
lea eax, [ebp - 4]
push eax
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push dword [ebp + 0xc]
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x46c63b
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 4]
jmp 0x46c699
call fcn.0046030c
test al, al
je 0x46c663
fst qword [ecx]
sub eax, 0xc446a762
cmpsb byte [esi], byte es:[edi]
sti
jmp 0x4a74fb5c
push dword [ebp + 0x14]
call fcn.0049899e
pop ecx
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0x14]
push 1
push ebx
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 4]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 8]
call esi
push dword [ebp - 0xc]
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret