Function at 0x432af0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5df90c
mov eax, dword fs:[0]
push eax
sub esp, 0x258
mov eax, dword [0x67432c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp + 8]
push 0x208
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x218]
push 0
push eax
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
call fcn.00480640
add esp, 0xc
call fcn.0045209f
test al, al
je 0x432b9d
xchg esp, eax
cmp ah, byte [eax]
fstp qword [ebp + 0x37969d4a]
aas
adc byte ss:[ebx + edx*8 + 0x67], ch
xor eax, 0x2bccb55e
xor esi, dword [ecx + 8]
invalid
push 1
xor eax, eax
mov dword [ebp - 0x234], 7
push 0x5e9dec
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
call fcn.00402ad0
push 0x24
push str.C3F37BD9_8872_46FF_85CE_DC58B69FDB53
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], 0
call fcn.00405da0
push 1
push 0x5e9e3c
lea ecx, [ebp - 0x248]
call fcn.00405da0
call fcn.00452351
test al, al
je 0x432c17
sbb bh, byte [esi]
adc esp, eax
lea esp, [edi + 0x21]
lahf
adc al, ah
and al, cl
mov dword [esp + 0x46], 0x6b476b5f
salc
clc
invalid
call fcn.004520e4
test al, al
je 0x432c38
push ds
mov cl, 0xc7
imul byte [ebx + ebp - 0x412f76d]
jge 0x432c41
push esi
jnp 0x432c38
invalid
call fcn.0045216e
test al, al
je 0x432c59
sub byte [eax], 6
adc eax, 0x7adcd86d
mov ah, 0xf9
imul ch
pop edx
out 0xb6, al
sbb esp, ebp
inc esp
invalid
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x24c]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push 0
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push eax
push dword [ebp - 0x260]
call ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x432d6d
push 9
xor eax, eax
mov dword [ebp - 0x21c], 7
push 0x5e6c2c
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402ad0
push 6
push str._Class
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 1
call fcn.00405da0
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x432d00
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x432d20
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push 0x5e6948
push dword [ebp - 0x24c]
call esi
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 0
cmp eax, 8
jb 0x432d6d
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402c20
call fcn.0045230c
test al, al
je 0x432d8e
sar dword [eax + ebp*8 - 0x1d], 1
out 0xf, al
invalid
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x43318d
push 0
lea ecx, [ebp - 0x250]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push str.InprocServer32
push eax
call ebx
test eax, eax
jne 0x432ecd
call fcn.00402320
mov ecx, eax
call fcn.00471d44
push eax
lea ecx, [ebp - 0x230]
call fcn.004041e0
mov eax, dword [ebp - 0x264]
lea ecx, [ebp - 0x230]
push 0xffffffffffffffff
push 0
add eax, 0x48
mov byte [ebp - 4], 2
push eax
call fcn.00405c90
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x432e11
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x432e30
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push 0x5e6948
push dword [ebp - 0x250]
call esi
movups xmm0, xmmword [str.Apartment]
mov eax, dword [0x5e9c64]
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x208], eax
lea edx, [ecx + 2]
movups xmmword [ebp - 0x218], xmm0
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x432e80
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push str.ThreadingModel
push dword [ebp - 0x250]
call esi
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 0
cmp eax, 8
jb 0x432ecd
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402c20
push 0
lea eax, [ebp - 0x25c]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.Programmable
push dword [ebp - 0x24c]
call ebx
test eax, eax
jne 0x43318d
push eax
lea eax, [ebp - 0x258]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.TypeLib
push dword [ebp - 0x24c]
call ebx
test eax, eax
jne 0x432ff0
call fcn.00452579
test al, al
je 0x432f41
xchg esp, eax
sbb eax, 0x45aeee45
pop ss
xor esp, ebp
rep outsb dx, byte [esi]
cmp dh, byte [ebp - 0x46]
insd dword es:[edi], dx
mov dword [ebx + 0x5e60781d], ecx
add byte [eax - 0x14], ch
popfd
pop esi
add byte [ebp - 0x22f73], cl
invalid
push 0x5e9dec
lea ecx, [ebp - 0x230]
call fcn.004041e0
push str.34E7B5C6_21C6_4A4B_AEFF_CD81A5A6EA57
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 3
call fcn.0040aae0
push 0x5e9e3c
lea ecx, [ebp - 0x230]
call fcn.0040aae0
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x432f90
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x432fb0
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push 0x5e6948
push dword [ebp - 0x258]
call esi
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0
call fcn.00403710
push 0
lea eax, [ebp - 0x254]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push 0x5ea1bc
push dword [ebp - 0x24c]
call ebx
test eax, eax
jne 0x433082
call fcn.004524aa
test al, al
je 0x433038
xchg ebp, eax
and al, 0xc9
mov byte [0x16cf673e], al
ret
mov eax, dword [0x5e9fa8]
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x218], eax
lea edx, [ecx + 2]
mov eax, dword [0x5e9fac]
mov dword [ebp - 0x214], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x433057
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push 0x5e6948
push dword [ebp - 0x254]
call esi
call fcn.004523db
test al, al
je 0x4330a6
xchg edi, eax
add bh, byte [ebx]
mov edi, 0xec9e8440
or edx, dword [ecx - 0x37df660a]
jns 0x4330df
hlt
call fcn.0045223d
test al, al
je 0x4330c4
mov ch, 0x27
push 0xffffffffffffffd5
push ds
inc esp
xchg ebp, eax
ja 0x4330f9
adc eax, 0xa6b8d34f
pop ds
pop ds
lcall 0xcde8, 0x72f68449
add dword [eax], eax
call fcn.00452396
test al, al
je 0x4330df
in eax, dx
invalid
mov eax, dword [ebp - 0x254]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x4330f2
push eax
call ebx
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x4330ff
sal byte [ebx + eax + 0x50], 0xff
shr eax, cl
inc edx
out dx, al
add dword [eax], eax
push eax
call ebx
call fcn.00451f46
test al, al
je 0x433118
and eax, dword [ebx - 0x70f3c0cc]
adc dword [eax + 0x72b032a8], ebx
xor eax, 0x8bc46f41
test dword [ebp + edi*8 - 0x3f7a0001], esp
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x433125
push eax
call ebx
call fcn.004523db
test al, al
je 0x43314b
sub eax, 0xca235de
out 9, eax
mov eax, 0x439b001d
pop es
les ebp, [eax + 0x680b8b13]
cmc
std
pop ss
mov ebx, dword [esi + 0x62324ea4]
shr al, cl
lahf
add dword [eax], eax
call fcn.004524ef
test al, al
je 0x433172
xchg esi, eax
xor ebx, dword [ebp + ebp*2 - 0x75ae8a42]
jmp 0x4330f0
mov eax, dword [ebp - 0x250]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x433185
push eax
call esi
push dword [ebp - 0x24c]
call esi
mov eax, dword [ebp - 0x234]
cmp eax, 8
jb 0x4331ab
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.00402c20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046d81d
mov esp, ebp
pop ebp
ret 4