Function at 0x610187
Capabilities:
Encode data using xor

Disassembly:
test dword [ecx], 0x72959210
stc
jb 0x610135
mov bh, 0x55
into
pop es
mov esi, 0x60553e10
outsb dx, byte [esi]
invalid
and al, 0xee
cmp eax, 0x871dd535
mov al, byte [0xc6c3efa6]
mov edx, 0xe28681b1
je 0x61013a
mov edi, edi
sbb dh, byte [ecx + 0x56]
jno 0x6101f5
mov dh, byte [edx + 0x43]
inc esi
fmul st(1)
outsb dx, byte [esi]
bound ebp, qword [eax + 0x10]
adc bh, byte [edi + 0x61]
dec eax
and esp, dword [ebx]
cmp eax, 0xa0c6b193
mov byte [ecx - 0x28], 0xdb
mov al, 0xc1
xor byte [edx - 0x4d0a3b16], ch
ror byte [ebx + 0x1e], 1
inc ecx
jbe 0x61019d
jecxz 0x610240
daa
pop ss
cmpsd dword [esi], dword es:[edi]
cmp byte cs:[eax + edx*4], ah
aas
pop edx
sbb al, dh
cmpsb byte [esi], byte es:[edi]
mov eax, dword [0x94cef094]
lahf
sub eax, 0xa2978086
invalid
or dword [ebp + edx*4 - 0x48f0454d], eax
in al, 0xfb
mov cl, 0x28
mov al, byte [0x9112eaf7]
inc esp
inc edx
sub dword [eax + 0x53], esi
xlatb
jb 0x610205
out dx, eax
pop ecx
fistp word [ecx - 0x36]
mov al, byte [0xf6ad8080]
mov dh, 0xb1
dec esp
ror byte [eax + 0x41a647a1], cl
ja 0x610243
div byte [esi - 0x772db34f]
mov eax, dword [0x7741a647]
and byte [edi + 0x1ffe1533], dh
mov dl, 0xdf
mov bh, 0x33
adc eax, 0xdfb21ffe
push 0xffffffffffffffa1
xchg byte [esp + ecx - 0x6f], ah
rcr dword [ebx], 1
das
xor esi, edi
cmp byte [ecx - 0x36dd616a], al
leave
aam 0x53
loope 0x610217
inc ebp
inc ebp
mov ebx, 0x26747ac5
dec esi
jp 0x6102b9
dec esi
in al, 0x30
test dword [eax], 0x5c175874
add edx, eax
mov dword [0xf8937291], eax
sbb bh, byte [eax]
neg dword [eax]
cmp dword [ecx - 0x5f], 0x56291391
out dx, eax
leave
push esp
jb 0x61020c
or bh, bh
invalid
xlatb
xchg ebp, eax
inc eax
jg 0x61023a
test al, 0x2f
cmp edi, dword [ebp - 0x1e2f0024]
invalid
and al, 0x68
in eax, 0xc0
pop ecx
and dword [edi + 0x34], ebx
xchg dword [ebp - 0xe], esp
xlatb
dec esi
ljmp 0xfd5e
in eax, dx
xchg edi, esi
jg 0x6102e0
add bh, ch
cmp byte [ecx], ch
pushal
push esi
mov al, 0x57
xchg dword [ebx + edi + 0x18], ecx
lar edx, word [ebx]
mov ah, 0x38
imul ecx, ebx, 0xffffffa0
shl cl, 0x87
push edi
jecxz 0x610271
xchg ebp, eax
push ds
adc dword [eax + ebp - 0x4d], edi
ftst
je 0x61033b
in al, 0x74
pop eax
pop edx
jne 0x6102e3
test al, 0xb2
cmp cl, byte [0x5d301df6]
xor byte [edi + 0x26be87d4], dl
pushfd
jne 0x61034b
pop edx
xchg edx, eax
loop 0x61028c
xchg dword [eax + ecx*8 - 0x998aab7], ecx
adc ebx, dword [eax]
xor byte [ebx - 0x7a9c83b0], cl
cmp dl, byte [edi - 0x2c74b5a0]
mov esi, 0xe028c23b
pop es
add eax, 0x809b5ff7
xchg esp, eax
pop esi
int 0xa1
mov dl, 0x42
pop ebx
inc eax
xlatb
xor esi, 0x71
cli
sbb bl, byte [eax + 0x50]
movsb byte es:[edi], byte [esi]
xor al, 0x2a
pushal
rcl byte [ecx - 0x5e8021df]
leave
mov edx, 0x4de089d0
dec ebp
mov bl, 0xbf
into
mov esi, 0x3f4427d0
mov al, 0x27
dec ebp
ja 0x61035b
adc al, 0xae
fnstcw word [esi - 0x7d]
jle 0x61035b
jp 0x6102ee
loop 0x61038b
mov al, 0xd3
xchg ebx, eax
out 0x3a, eax
jmp 0x43d14b53
inc edi
jo 0x6103a1
add byte [ecx + 0x67], ch
mov al, byte [0x710d]
xchg cl, cl
adc al, 0xb6
xor al, 0x99
dec ebp
xor cl, cl
and dword [esi - 0x30], edi
xor bh, byte [edx]
invalid
salc
push ds
test byte [0xca94ca34], bl
push eax
inc ecx
ret 0x7a1e
sub dh, byte [ebx - 0x176a6c39]
adc eax, 0x12595730
int3