Function at 0xcf47f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb20
mov esi, esp
push 0x1000
call fcn.00cd8c00
add esp, 4
movsd xmm0, qword [0xd0ebf0]
movsd qword [esi + 0x808], xmm0
mov word [esi + 0x810], 0xedce
mov dword [esi + 0x812], 0
mov dword [esi + 0x815], 0
mov dword [esi + 0x558], 0
mov ecx, dword [esi + 0x558]
cmp ecx, 0x10
ja 0xcf48b5
mov edx, dword [esi + 0x558]
mov ecx, dword [esi + 0x558]
movzx edi, byte [esi + ecx + 0x808]
lea ebx, [edx + 0x53d4441d]
lea ecx, [edx + edi]
add ecx, 0x53d4441d
add edx, 0x1d
and edx, edi
and ebx, edi
add ebx, edx
mov edx, ebx
xor edx, ecx
not ebx
and ebx, ecx
add ebx, ebx
sub ebx, edx
mov dword [esi + 0x210], ebx
mov edx, dword [esi + 0x210]
add dl, 0x35
mov ecx, dword [esi + 0x558]
mov byte [esi + ecx + 0x808], dl
inc dword [esi + 0x558]
mov ecx, dword [esi + 0x558]
cmp ecx, 0x11
jb 0xcf4850
mov dword [esi + 0xb4], eax
mov eax, dword [str.default]
movaps xmm0, xmmword [0xd0ec00]
movups xmmword [esi + 0x558], xmm0
mov word [esi + 0x568], 0xc9e2
mov byte [esi + 0x56a], 0xaa
mov dword [esi + 0x56f], 0
mov dword [esi + 0x56b], 0
mov dword [esi + 0x572], 0
mov dword [esi + 0xa0c], 0
mov ecx, dword [esi + 0xa0c]
cmp ecx, 0x1d
ja 0xcf4969
nop word cs:[eax + eax]
mov ecx, dword [esi + 0xa0c]
mov edx, dword [esi + 0xa0c]
movzx edx, byte [esi + edx + 0x558]
add ecx, 0x9da4cff4
xor ecx, edx
mov dword [esi + 0x210], ecx
mov ecx, dword [esi + 0x210]
add cl, 0x54
mov edx, dword [esi + 0xa0c]
mov byte [esi + edx + 0x558], cl
inc dword [esi + 0xa0c]
mov ecx, dword [esi + 0xa0c]
cmp ecx, 0x1e
jb 0xcf4920
mov ecx, dword [str.LPnhqo___tronzzz]
movaps xmm0, xmmword [0xd0ec10]
movups xmmword [esi + 0x210], xmm0
movaps xmm0, xmmword [0xd0ec20]
movups xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [0xd0ec30]
movups xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [0xd0ec40]
movups xmmword [esi + 0x240], xmm0
mov dword [esi + 0x250], 0
mov word [esi + 0x254], 0
mov dword [esi + 0xf0], 0
mov edx, dword [esi + 0xf0]
cmp edx, 0x45
ja 0xcf4a41
nop
mov edx, dword [esi + 0xf0]
mov edi, dword [esi + 0xf0]
movzx ebx, byte [esi + edi + 0x210]
lea edi, [edx + ebx]
add edi, 0xdb150257
add edx, 0xdb150257
and edx, ebx
add edx, edx
mov ebx, edi
not ebx
and ebx, edx
not edx
and edx, edi
sub edx, ebx
mov dword [esi + 0xa0c], edx
mov edx, dword [esi + 0xa0c]
add dl, 0x9f
mov edi, dword [esi + 0xf0]
mov byte [esi + edi + 0x210], dl
mov edx, dword [esi + 0xf0]
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov dword [esi + 0xf0], edx
mov edx, dword [esi + 0xf0]
cmp edx, 0x46
jb 0xcf49d0
movzx edx, byte [esi + 0x210]
mov ebx, dword [esi + 0xb4]
test dl, dl
je 0xcf4a6b
lea edi, [esi + 0x211]
mov ebx, dword [esi + 0xb4]
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0xcf4a60
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0xcf4a8b
inc ecx
nop word cs:[eax + eax]
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0xcf4a80
mov byte [ebx], 0
movzx ecx, byte [esi + 0x558]
test cl, cl
je 0xcf4aab
lea edx, [esi + 0x559]
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0xcf4aa0
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0xcf4acb
inc eax
nop word cs:[eax + eax]
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0xcf4ac0
mov byte [ebx], 0
movzx eax, byte [esi + 0x808]
test al, al
je 0xcf4aeb
lea ecx, [esi + 0x809]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xcf4ae0
mov byte [ebx], 0
push 0
call fcn.00d08f80
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0xd15164]
mov ecx, 0xfbd3fce1
xor ecx, dword [0xd1516c]
add ecx, edx
inc ecx
jmp ecx
aam 0
mov eax, dword [0xa100d4b1]
add byte [ecx + 0x6600d4b2], ah
mov bl, 0xd4
invalid
add byte [ecx + 0x6600d4b2], ah
mov bl, 0xd4
add byte [esi - 0x4d], ah
aam 0
sbb dh, byte [edi - 0x4c71ff2c]
aam 0
mov edi, 0x7a00d4b5
mov dh, 0xd4
add byte [eax - 0x7fff2b4a], al
mov dh, 0xd4
mov bl, 0xd4
add byte [edx], bl
mov bh, 0xd4
add byte [esi - 0x40ff2b4d], cl
mov ch, 0xd4
add byte [edx - 0x4a], bh
aam 0
xor byte [esi - 0x497fff2c], 0xd4
add byte [ebp - 0x6aff2b4a], dl
mov dh, 0xd4
add ah, bl
mov dh, 0xd4
add al, dh
mov dh, 0xd4
add dl, dh
mov dh, 0xd4
add dl, dh
mov dh, 0xd4
add byte [eax], dl
mov bh, 0xd4
add byte [edx], dl
mov bh, 0xd4
add byte [ebx + 0x68], dh
aam 0
nop
stosd dword es:[edi], eax
aam 0
push ecx
xchg esp, edx
add byte [ecx + ebx*4], bl
aam 0
and byte [esi - 0x2c], dh
add byte [esi], dh
outsb dx, byte [esi]
aam 0
mov dword [esp + edx*8], edi
add byte [ebp - 0x2c], bh
add al, ah
mov eax, dword [0x8e4000d4]
aam 0
push eax
mov ss, esp
add byte [eax - 0x72], dh
aam 0
jo 0xd110ac
aam 0
add byte [ecx - 0x6ecfff2c], dl
aam 0
and byte [eax + 0x732000d4], bl
aam 0
mov al, 0x9a
aam 0
shl byte [eax + 0x796000d4], 0xd4
add al, bh
add byte [eax], al
xchg ecx, eax
aam 0
xor byte [ecx - 0x67dfff2c], dl
aam 0
and byte [ebx - 0x2c], dh
add byte [eax - 0x3fff2b66], dh
mov al, byte [0x796000d4]
aam 0
clc
xchg ebp, eax
aam 0
add byte [eax - 0x2c], dh
add byte [ebp - 0x76], ch
aam 0
nop
jb 0xd1111b
add byte [ebp + ebp*4 - 0x52dcff2c], dl
aam 0
ror byte [eax - 0x497fff2c], 0xd4
add al, dh
mov dh, 0xd4
add byte [eax], dl
mov bh, 0xd4
add byte [edx], bh
aam 0
mov dh, 0xd4
add byte [ebx - 0x7d0406ea], bh
xchg ebx, eax
sbb byte [edx], bl
xlatb
inc edx
mov byte [ecx + 0x6a00d467], 0x67
aam 0
lds eax, [edi - 0x191f48cd]
mov esp, fs
xor al, ah
wait
pushal
pop esi
push 0x6a1c00d4
aam 0
sub eax, 0x7a
out dx, al
das
test eax, 0xec64f78e
add dword [ebx + 0x68], esi
aam 0
push 0x69
aam 0
sbb byte [ecx - 0x2d], bl
push 0x69
aam 0
xor ch, byte [edx - 0x2c]
add byte [edi + edx*8 + 0x6897483e], dh
pushfd
cmpsb byte [esi], byte es:[edi]
xchg byte [ebp + esi*2 - 0x2b503c09], dh
add byte [eax - 0x23ff2b96], dl
and cl, cl
cmp al, 0x9d
lcall 0x3afe, 0x4035fb4d
nop
stosd dword es:[edi], eax
aam 0
dec ebp
lodsb al, byte [esi]
aam 0
mov al, byte [0xa03fa72f]
test al, 0xd4
add byte [eax - 0x13ff2b55], dl
dec edx
xlatb
mov ch, 0xc4
test al, 0xd4
add byte [eax + 0x6a], ah
aam 0
lds esp, [edi]
inc ebp
mov eax, dword [0xfa03aa19]
dec ebx
invalid