Function at 0x623051
Capabilities:
Encode data using xor

Disassembly:
cdq
xchg byte [ecx], dh
sub byte [ebx + 0x4c], dl
add al, 0xda
cmp bl, byte [edi]
cmpsb byte [esi], byte es:[edi]
jns 0x6230b2
out dx, eax
test dword [eax + 0x2264033], 0x760713e3
xor eax, dword [eax + 0x26]
add ah, bl
adc eax, dword [edi]
jbe 0x62303d
invalid
fcom dword [edx + edi*8 + 2]
push edx
movsb byte es:[edi], byte [esi]
cdq
mov eax, 0x40901f36
in al, dx
aaa
repne outsd dx, dword [esi]
out 0x5f, eax
and byte [ecx], bh
xchg dword [edi + 0x10234622], esi
inc esi
and edx, dword [eax]
pop edi
xchg edi, eax
inc eax
jbe 0x623072
not bl
or edx, dword [edi - 0x32]
pushfd
fadd qword [ebx + esi*4]
pop ebp
xchg esp, eax
and dword [eax], 0xaeeecadc
or esi, esi
adc dword [eax], eax
invalid
call 0xdd19fe33
pop ds
popfd
mov es, word [ebp + ecx*8 + 0x39]
pop ecx
inc edx
rcr dword [esi], cl
push ds
add eax, 0xf8685c79
les esi, [eax + 0x6c]
imul eax, dword [edx], 0xffffffd6
xor al, 0x6d
mov al, 0xe6
shr ebx, cl
jo 0x6230d8
sbb al, 0x1a
ljmp 0x33d7
arpl word [edx + 0x64], bp
or dl, bh
xor eax, dword [edi + ecx*4]
movsd dword es:[edi], dword [esi]
xchg ebx, eax
mov eax, 0x9a68b773
mov byte [eax + 0x27a5d90b], cl
fsubp st(3)
xchg edx, eax
sub dword [esi], 0x82c59c74
out 0x52, eax
ficom dword [ebx + 0x21ba232]
inc ebx
xchg ch, ch
xchg edx, eax
lcall 0x163f, 0x4f239443
jne 0x623186
pop ebp
xchg edi, eax
salc
lodsb al, byte [esi]
add al, byte [esi + 0x26]
sub dl, byte [esi + 0x71130072]
xor al, 0x12
xor al, byte [edi - 0x4cf4c090]
in eax, 0x23
daa
lcall 0xd2aa, 0x9a30b2b1
jmp 0xe828caf8
adc esi, ecx
into
xchg ebx, eax
mov dl, 0xe2
inc edi
xor ebx, dword [eax]
sti
loop 0x6231b8
or eax, 0x291c800
adc byte [edi + 0x3b], cl
lcall 0x6667, 0xf35703ff
mov byte [0xb0d1a06d], al
xchg esp, eax
ret 0x2890
pushal
jae 0x6231ff
inc edi
push esi
push ebp
mov dword [0x97f78673], eax
retf 0xa192
popal
cmpsb byte [esi], byte es:[edi]
jl 0x623185
xchg edx, eax
pop esi
nop
pop es
aas
std
int1
in al, 0xed
daa
les eax, [eax]
adc eax, 0x6552671e
push ss
mov ah, 0x5a
fsubr dword [edx]
push esi
mov esp, 0x1ec647
cmp al, 0x2f
fild dword [ebp + 0xae3c045]
mov edx, 0x33e49ef9
leave
dec ecx
cmp dword [eax - 0xa], esi
sbb byte [eax + 0x576a04b0], ch
adc bl, byte [eax - 0x2870182f]
aam 0x60
xchg ebp, eax
fdiv dword [edi + 8]
xchg edi, eax
test dword [ebp - 0x25], edi
ja 0x6232aa
xchg edi, eax
or dl, byte [esi]
add edi, edx
ret 0xba85
pop ebp
fdiv st(6)
cli
push edx
outsb dx, byte [esi]
adc eax, 0x20375715
add dword [edx - 0x7c0acb5f], ecx
cmp dh, bh
in al, 0xfb
rcr byte [esi + esi*8 + 0x6cb97ca2], 1
movlhps xmm6, xmm2
mov gs, edi
adc ah, byte [ebp + 0x70]
shl dword [esi], 1
inc esi
movsb byte es:[edi], byte [esi]
inc esp
and bl, byte [ecx - 0x475cf05c]
shr dh, 0x86
inc ecx
mov bl, 0xc0
out dx, al
inc eax
sbb al, 0xa5
lahf
jns 0x623305
pop ds
add edx, dword [ebx + 6]
or eax, 0xd8681554
mov ah, 0xb0
ja 0x623326
salc
and edi, ebp
jecxz 0x62333a
xor esi, dword [esi]
loop 0x623276
xchg edi, eax
in eax, 0xbb
push edx
or dword [ebx + 0x25dd56d0], ebx
sbb byte [eax], 0xa2
out dx, eax
test esi, esi
adc esi, dword [ebx + 0x69]
adc byte es:[esi], al
adc dword [ebx - 0x7e5c8a1b], edi
mov dl, 0xe
jmp 0x70e6256e
test byte [eax + eax*4 + 0x757a820], 0xd6
pop esp
cwde
loop 0x623377
cmc
sbb eax, 0xb8e120d7
mov bh, byte [ebp + 0x55]
or dl, al
inc esp
add ch, byte [eax]
jb 0x623320
inc dword [ebx]
fcom dword [edi + 0x53424f75]
add ebx, eax
xchg edi, eax
jne 0x623375
inc edx
push ebx
ret 0x56cd
inc edx
push edx
adc al, byte [edi]
mov dword [esi + esi*8 + 0x45b68ac6], eax
hlt
xor cl, byte [ebp + 0x20]
dec ebp
clc
and byte [ebp + 0x2e], cl
clc
mov es, edi
aaa
add bl, byte [esi + 0x3071e214]
add al, 0x45
push esi
outsb dx, byte [esi]
mov dh, 0x17
cmpsd dword [esi], dword es:[edi]
inc ebp
int1
invalid