Function at 0x2175244
Capabilities:
Encode data using xor

Disassembly:
sbb byte [ebp + ecx*2 - 0x5cc675b4], ah
mov bh, dh
fdivr qword [ebp - 0x1f]
adc eax, 0x21a283ca
invalid
jmp 0x217524e
pushal
call 0x2175254
pop ebp
sub ebp, 0x10
sub ebp, 0x1d75244
jmp 0x217526a
mov eax, 0x1d75244
add eax, ebp
add eax, 0x4c
mov ecx, 0x5d5
mov edx, 0xc5690880
xor byte [eax], dl
inc eax
dec ecx
jne 0x2175281
jmp 0x2175294
or ecx, dword [ebp + 0xb]
or dword [eax + eax*4 + 0x41018080], edi
js 0x2175220
add byte [eax - 0x7ac7b27d], 0x80
add byte [eax - 0x7f7f57c6], 0x80
ja 0x2175312
or dword [eax + 0xb], 1
mov word [eax + 0x45838080], es
or eax, 0x97ca4e4
test byte [ebp + ecx + 0x97ca4e4], ah
test byte [eax + ebp*8 - 0x7f5d48b0], ah
call 0x834cedc6
sub dword [esp + 0x2c97b5e8], 0x808568a0
add byte [eax - 0x7f7f4997], 0x80
or eax, 0x97ca4e4
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0xb80a4ec
add eax, 0x80808088
or edx, dword [0x8080808c]
or ecx, dword [0x80808090]
inc ecx
imul eax, dword [edx + 0x420382b1], 0x58fc984
je 0x217538d
jg 0x217538f
or ebp, dword [esp - 0x7b5b1bf3]
inc edx
movsb byte es:[edi], byte [esi]
or eax, 0x4284a4e4
mov word [eax - 0x7b5bf3f5], es
add byte [eax - 0x48af1780], 0xa2
sub al, 0xf4
lcall 0xd1a4, 0xac818135
push 0x80808085
imul edi, dword [ecx - 0x2a7f7f7e], 0xf57f6c0b
call 0x82ba0a76
call 0x834cee1f
sub dword [esp - 0x7f7a972f], 0xb9698080
add byte [eax + 0x6c0bd580], 0x7f
cmc
invalid
mov byte [eax - 0x14], ch
add byte [eax - 0x77c2f480], 0x80
add byte [eax + 0x52b349b3], 3
push 0x48fc885
into
add byte [eax - 0x37f77080], 0x80
add byte [eax - 0x4663f41a], 0
jnp 0x21753d0
pop dword [edx + ebx*4]
add byte [eax + 0x697b0080], 0x8f
add al, 0x91
add byte [eax + 0x7b01e680], 0x7f
movsd dword es:[edi], dword [esi]
add byte [eax], 0x7b
imul ecx, dword [edi - 0x7f7f6efc], 0x7b01e680
jg 0x2175321
pop dword [edx*4 - 0x3e7f7f80]
imul ecx, dword [edi + edi*2 + 0x7f], 0xb9cca97f
add dword [ebx], 0x68038541
test byte [ecx + 0x3d], ch
jg 0x2175415
inc ecx
test dword [ebx], eax
push 0x7f3d6984
jg 0x2175416
add ebp, dword [eax - 0x7c]
imul edi, dword [0xa97f7f7f], 0x382b9d4
jg 0x2175341
test eax, 0x382b9d4
aam 0xb9
add byte [ebx], 0x41
inc ecx
xchg byte [ebx], al
push 0xffffffffffffff84
add ebp, dword [eax - 0x7b]
imul ebp, dword [ebx], 0xb7f7f7f
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0x4284a4e4
mov word [eax - 0x2993f42b], es
xlatb
aad 0xb
cmc
mov word [ebx], cs
std
mov byte [edx + esi], bh
or al, byte [esi - 0x7f7eb9ff]
add byte [eax + 0x47018708], 0x81
add byte [eax - 0x7f7dc480], 0x80
add byte [edx - 0x7afa70ae], 0x80
add byte [eax - 0x6d3969f6], 0x52
pop dword [ebx]
pop eax
jg 0x2175468
add byte [eax - 0x7f7f7dc5], 0x80
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
jg 0x217536d
push edx
pop dword [0x80808085]
or dl, byte [esi - 0x70ad6d3a]
add ebp, edx
add byte [eax - 0x7dbf4c80], 0x52
pop dword [0x80808085]
or dl, byte [esi - 0x70ad6d3a]
add ebp, dword [edx - 0x7d7f7f7f]
push edx
pop dword [0x80808085]
add eax, 0x80808085
test dword [eax - 0x69f57f80], eax
invalid
or dl, byte [esi - 0x6cad6d3a]
inc eax
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid
add dword [eax + 0x52828080], 0x8085058f
add byte [eax - 0x6d3969f6], 0x52
xchg ebx, eax
inc eax
adc byte [edx - 0x71], 5
test dword [eax - 0x69f57f80], eax
invalid