Function at 0x454440
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c0eb8
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x634274]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
call fcn.00460579
test al, al
je 0x4542e7
dec ebp
and dword [edi - 0x7e], ecx
adc dword [edi + 0x32], ecx
cmp dword [eax], esp
push edi
add al, dl
stosd dword es:[edi], eax
and byte [esi - 0x3f27a4ac], al
call fcn.00460351
test al, al
je 0x45430f
fcomp st(7)
xchg edi, eax
mov eax, 0x69b96473
cmp bh, cl
fadd qword [eax]
push edi
in eax, dx
adc eax, 0x36f04a7e
add dword [esi + 0x631b20eb], esi
adc dword [edx + 0x52], ebp
mov ebx, 0x17e86e4d
lds eax, [eax]
add byte [eax + eax*8 + 0x99f1874], al
out dx, al
call fcn.0046082b
test al, al
je 0x454330
lahf
or esi, ebp
adc eax, 0xbb5e3709
cmp dword [eax + 0x1bcf448a], ecx
stosb byte es:[edi], al
sbb dword [ebx + 0x3c], ebx
cmpsd dword [esi], dword es:[edi]
lodsd eax, dword [esi]
test dword [esi + 0x53], ebx
imul eax
test ah, 0
add byte [eax + eax*8 - 0x7935e78c], al
sub al, 0xa7
call fcn.0046082b
test al, al
je 0x454351
sbb dl, cl
xchg byte [edi], ch
retf 0x2c86
cmp ah, byte [ebp + ebx*2 - 0x6b]
dec eax
cwde
push ss
or bl, byte [esi + 0x11]
mov ch, 0x45
adc bl, al
push 0xfffffffffffffff8
or byte [ecx + 0x56], cl
invalid
call fcn.00460282
test al, al
je 0x454378
wait
shr dword [edx - 0x34], 0x56
cmp ebx, dword [ebx - 0x77]
stc
je 0x454338
add eax, 0x7de5216
mov byte [0xf79b1a61], al
xor byte [eax], cl
mov ebp, 0xf7dde3e6
lea ecx, fs:[ebp - 0xd]
lea ecx, [ebp - 0xd]
call fcn.00402b80
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd]
mov dword [ebp - 4], 0
call fcn.00412f90
call fcn.00460420
test al, al
je 0x4543b1
or dl, byte [ecx - 0x3761bd78]
mov esi, 0x2f213eb9
cli
push edx
cld
mov ebx, 0xe0178b28
dec edx
fistp dword [edi - 0x18]
xchg dword [esi - 0x3f7c0000], edi
call fcn.0046023d
test al, al
je 0x4543d0
and esi, eax
rcr byte [ebx - 0x78], 0xf8
imul edx, dword [edx], 0x224df32d
imul esp, dword ss:[edx], 0xffffffb1
add eax, 0x6c85bb79
invalid
call fcn.00460534
test al, al
je 0x4543ee
push edx
fst dword [esi - 0x45]
aas
mov al, 0x4b
cdq
bswap ebp
inc ebp
jmp 0xed1bd093
call fcn.004604aa
test al, al
je 0x454417
call 0x2851acef
dec eax
stosb byte es:[edi], al
movsb byte es:[edi], byte [esi]
push esp
jo method.CRunSetDefaultRelatedCmd.virtual_4
adc dh, 0xee
in eax, 0xa6
scasb al, byte es:[edi]
sbb byte [ecx], 0xaa
ret
lea ecx, [ebp - 0xd]
call fcn.00483a30
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c1092
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x634274]
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
call fcn.004601b3
test al, al
je 0x454487
daa
xlatb
enter 0x6e94, 0xffffffffffffffb0
mov ebx, 0xe46dbfb6
push cs
pop eax
pop ds
or byte [esi - 0x172e4182], ch
push ds
rol byte [eax], 0
call fcn.004604aa
test al, al
je 0x4544b0
dec esi
mov ebx, 0xb5c08cec
mov ch, 0xf2
int3
push 0xc
xor eax, eax
mov dword [ebp - 0x14], 7
push str.SmartCloudWB
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
inc ebp
in al, dx
pop es
add byte [eax], al
add byte [eax - 0x54], ch
pop eax
pop esp
add byte [ebp + 0x45c7d84d], cl
call 0x4544ca
mov word [ebp - 0x28], ax
call fcn.00402510
push 2
push 0x5ca324
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call fcn.00404190
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0047313e
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.00402b70
test eax, eax
je 0x454514
xor esi, esi
jmp 0x4546ca
call fcn.004606d2
test al, al
je 0x454536
xchg edx, eax
dec esi
bound edx, qword [ecx]
mov byte [edx], bh
jmp 0x4544b5
call fcn.00460648
test al, al
je 0x45455f
in eax, dx
xchg ebx, eax
scasb al, byte es:[edi]
test dword [edi], esi
pop ds
xchg esp, eax
adc byte [0xcb97ac22], dh
wait
dec ecx
xchg ecx, eax
and ch, byte [edi + edx*4 - 0x6eb66435]
in eax, 0xe9
mov bl, 0x27
cmp dword [0x7ae23ac1], ebx
in eax, 0x89
fcomp dword [edx + 0x22]
mov dh, 0xe8
add dl, 0
add byte [eax + eax*8 - 0x2a89e78c], al
call fcn.004607e6
test al, al
je 0x454580
jbe 0x45453f
cwde
lds esp, [edi]
push esp
sbb al, 0x5e
aaa
xor al, 9
je 0x454548
fstpnce st(0), st(0)
mov byte [0x13ee9108], al
fidiv word [eax + 0x20a10949]
cli
arpl word [eax], ax
mov eax, dword [0x63fa20]
mov byte [ebp - 0x29], 0
test eax, eax
jne 0x4545b9
push 0x158
call fcn.00455626
add esp, 4
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4545ae
mov ecx, eax
call fcn.00450f00
jmp 0x4545b0
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x63fa20], eax
push 0
push str.InstallTime
push str.AppInfo
mov ecx, eax
call fcn.00461910
push 0
mov dword [ebp - 0x30], eax
call fcn.0048e9e9
add esp, 4
mov ebx, eax
mov dword [ebp - 0x34], ebx
call fcn.004607e6
test al, al
je 0x4545fc
enter 0xffffffffffffab46, 0xffffffffffffffd9
ficomp dword [esi]
push esi
iretd
sub ebx, dword [ebp - 0x30]
mov ecx, 1
mov eax, ebx
movzx ebx, byte [ebp - 0x29]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3840
cmovg ebx, ecx
mov dword [ebp - 0x30], ebx
call fcn.004607e6
test al, al
je 0x454633
out dx, al
mov esi, 0xb9c7a15b
call 0x7683ebdb
sal dword [esi], 1
in al, dx
bnd call fcn.004600e4
call fcn.004600e4
test al, al
je 0x454650
and al, 0x59
sub dword [ecx + 0x61cfe671], 0xbccc4c7f
sar byte [esi], 0x1c
xchg edx, eax
xchg edx, eax
mov ebx, dword [ebp - 0x30]
call fcn.00460129
test al, al
je 0x45466e
or al, 0x7b
cmp ecx, ecx
pop es
cmpsb byte [esi], byte es:[edi]
mov bh, 0xe7
jnp 0x45465d
rol dword [ecx - 0x4a], 1
mov edx, 0x4f7255dd
fild word [ebp + 0x63]
test bl, bl
je 0x454680
call fcn.00427060
push 1
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.00460579
test al, al
je 0x4546a2
das
test eax, 0x92e4d37d
cmp bh, byte [edi - 0x2234964f]
test byte [ebp - 0x16914d65], 0x61
in al, dx
frstor dword [esi - 0x17f0fa0e]
test cl, al
add byte [eax], al
call fcn.0046082b
test al, al
je 0x4546c5
test eax, 0xa92327a8
mov dword es:[edi], ecx
mov cl, 0xe5
in al, 0x3f
push edx
add ch, cl
clc
sub al, 0xbb
nop
add al, 0x5c
out 0xa3, eax
jecxz 0x45472a
dec edx
mov esi, 1
lea ecx, [ebp - 0x3c]
call fcn.00473153
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x4546e7
inc ecx
push ecx
push dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
call fcn.00402610
mov eax, esi
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.00455afe
mov esp, ebp
pop ebp
ret
lds ecx, [ecx + 0x5653f045]
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00460420
test al, al
je 0x45475a
mov byte [0xd47f2352], al
adc dword [0xd1425645], ebx
push ds
invalid
call fcn.0046023d
test al, al
je 0x454779
inc ecx
ror dword [eax + ebx*2], 1
jmp 0x8b97477e
call fcn.00460534
test al, al
je 0x454797
nop
int1
mov esi, 0x895aaf71
and dl, byte [ebp - 0x106e19ac]
in al, dx
pop cx
pushfd
not byte [edi - 0x42f1176e]
add byte [eax], al
call fcn.004604aa
test al, al
je 0x4547c0
test eax, 0x36b2caad
neg byte [edx - 0x4735d4e]
dec esp
mov al, byte [0x49742ba1]
xor ah, bh
out 0xe1, al
mov ebx, esp
xchg edx, eax
mov cl, 0x4f
jb 0x4547b5
loope 0x454742
fcom qword [edx - 0x78db04f]
jno 0x4547f3
xchg esp, eax
lea ecx, [ebp - 0x74]
call fcn.0043bb60
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 0
add byte [eax], al
add byte [eax], al
call fcn.00441e60
call fcn.00460717
test al, al
je 0x4547f6
salc
jmp 0x45481b
mov dl, 0x38
movsb byte es:[edi], byte [esi]
call fcn.004603db
test al, al
je 0x454817
adc eax, 0xa6eb3857
invalid
call fcn.0046082b
test al, al
je 0x45483c
add byte [eax + eax*8 - 0x6a49e38c], al
mov dh, 0x95
jle 0x4547ce
cmpsd dword [esi], dword es:[edi]
xchg byte [ebx*4 - 0x70723e4e], bh
loop 0x454883
xchg edi, eax
push eax
lds ebx, [ebx - 0x49]
movsd dword es:[edi], dword [esi]
inc ebx
jo 0x4548b3
cmp esi, 0x4d8d9b31
mov eax, gs
pop esp
lea ecx, [ebp - 0x74]
call fcn.0043bca0
mov eax, 1
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.00455afe
mov esp, ebp
pop ebp
ret
je 0x454841
invalid
mov eax, dword [pe_dos_header]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x634274]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00460579
test al, al
je 0x4548b2
mov byte [0xca7450c7], ah
cmp eax, 0xc3c70e47
imul esp, ebx, 0xc365f949
sbb bl, byte [esi - 0x18]
call fcn.00460351
test al, al
je 0x4548da
lcall 0x74c0, 0x840000ba
pop ds
push ss
hlt
call fcn.0046082b
test al, al
je 0x4548fb
mov al, byte [0xfc187c10]
pop es
loope 0x45487b
inc dl
ret 0x8d3f
call fcn.0046082b
test al, al
je 0x45491c
xor byte [eax + 0x385299af], ch
mov ah, 0x27
push edx
pop ebx
xchg byte [0x8fe1f3f7], bl
push ebp
xor al, byte [eax]
inc edi
invalid
call fcn.00460282
test al, al
je 0x454943
push edi
lahf
mov ebx, 0xbba77c5d
invalid
lea ecx, [ebp - 0xd]
call fcn.00402b80
lea ecx, [ebp - 0xd]
mov dword [ebp - 4], 0
call fcn.0041d3c0
call fcn.00460579
test al, al
je 0x45497c
xchg ecx, eax
das
sbb ah, byte ds:[ebx]
sbb eax, 0x9ece4a3e
mov dword [0xae92bf54], eax
mov byte [ebp + 0x17], bl
mov edi, 0x5d88ae92
pop ss
jno 0x454980
mov bh, 0x2f
loopne 0x45496f
call fcn.0046082b
test al, al
je 0x45499f
add byte [eax + eax*8 + 0x1a441a74], al
cdq
hlt
inc esp
sbb bl, byte [ecx + 0x669810f4]
dec ebx
add al, 0xbd
mov esi, esp
mov ch, 0xe6
push ebx
ret
lea ecx, [ebp - 0xd]
call fcn.00483a30
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret