Function at 0x47bd34
Capabilities:
Encode data using xor

Disassembly:
std
xchg dword [edi], edx
loop 0x47bd75
pop ss
pop edx
mov ch, 0x97
test dword ds:[esi], ebp
aas
iretd
jne 0x47bdce
sbb ecx, dword [eax + 0x1d]
mov byte [ebx], ch
xchg byte [eax], dh
dec eax
sbb eax, 0x30862b88
xchg edi, eax
test dword [edi + 0x719c9368], edx
popal
inc esp
pop ss
hlt
lahf
fsub qword [ebp - 0x324026ac]
lcall 0xae57, 0xb27cb21f
out 0x14, eax
pop ebp
retf
push es
movsd dword es:[edi], dword [esi]
mov edx, dword [edi + edx*8]
movsb byte es:[edi], byte [esi]
adc al, 0xe4
xor al, 0xb5
mov eax, dword [0xe335b586]
pop ebx
jbe 0x47bdd0
pop ebx
pop ds
nop
pushal
jne 0x47be1b
inc esi
ja 0x47bd78
add eax, 0x23fb6b15
pop dword [esi + 0x5d]
mov al, byte [0xf4d7c387]
jecxz 0x47bdb2
xlatb
hlt
mov eax, dword [0x7ff10357]
sub dword [edx + 0x676d5679], edi
inc edx
mov ebp, 0xf6657261
xchg esi, eax
pop ebp
push ds
test eax, 0xfb07795f
sbb eax, dword [ebp - 0x3cbada40]
xor byte [edi - 0x6e5e3523], 0xc1
cdq
cdq
mov eax, dword [0x9999c191]
push 0x8036720
push ebp
jl 0x47be96
pop ebp
cmp ecx, dword [ecx + ebp*2 + 0x3a8cdc0b]
xchg ebx, eax
and eax, 0xe5b6dde4
out 0xc5, eax
fadd qword [edx]
xor byte [ebp + 0x50], bh
mov ch, 0x96
retf
invalid
xor al, 0xa1
pop ebp
jbe 0x47be04
scasb al, byte es:[edi]
js 0x47bdf4
add eax, 0x45b57cbb
inc esp
add dword [edx + 0x3844e640], 0x73427af
xchg ebx, edi
mov al, 0x67
mov word [esi], fs
push ss
je 0x47be48
arpl word [esi], di
push edx
push es
and dword [ebx], edx
daa
out 0x97, eax
xor dword [esi], eax
sbb ecx, edx
call 0xa1cfb078
inc edx
jg 0x47be36
rcr byte [ebp - 0x3dcf3862], 1
loope 0x47be61
mov esi, 0xfc5405b7
cmc
lds edx, [edi + 0x6f669f12]
and byte [esi], dl
daa
movsb byte es:[edi], byte [esi]
shr byte [esi - 0x10], 0xf5
jge 0x47be81
out 0x46, al
add dh, byte [esi + 0x1b8205f7]
in al, dx
das
mov dh, 0xf7
add eax, 0x2fec1b82
adc ah, byte [ebp + 0x43]
pop ss
insb byte es:[edi], dx
sal byte [ecx + 0x5d3809c6], 0x26
aad 0xdc
or byte [ebx - 0x7e], ch
mov ah, 0x45
cmpsb byte [esi], byte es:[edi]
dec edi
xchg ecx, eax
cmp al, 0x12
mov esi, 0x15432667
mov al, 0x4b
mov byte [edx], bh
adc eax, 0x3a884bb0
add al, byte [eax + 0x46]
jge 0x47bf5f
sub eax, 0xfb63c3f6
adc al, 0x98
xchg edi, eax
pop es
xchg esi, eax
in eax, dx
mov al, 0xb8
cmpsd dword [esi], dword es:[edi]
aam 0x6a
xchg esp, eax
mov dh, 0xca
xchg esp, eax
movsd dword es:[edi], dword [esi]
scasd eax, dword es:[edi]
ret 0xe293
pop ss
and byte [edi + 0x51], ch
add al, ch
out dx, al
add ah, byte [edx + 0x396d1d56]
mov byte [0x403774dd], al
pop esp
and al, 0x68
mov ch, 0x28
cdq
xchg dword [ecx - 0x31], eax
jne 0x47beba
push esp
xor dh, byte [esi - 0x52]
inc esp
pop ebx
mov ch, 0x74
movsd dword es:[edi], dword [esi]
sbb dword [ebx], ecx
jns 0x47bf78
mov byte [0x46d9f9d2], al
inc esi
shr dword [esi], 1
xor ebx, edx
xchg edx, eax
loope 0x47bf06
ficom dword [edx + 0x7525c9e1]
mov ch, 0x60
in eax, dx
and eax, 0xed60b575
inc ebp
pop esp
cmp eax, 0x7a98e44a
and al, 0x45
push edi
aaa
xlatb
pop edx
stosb byte es:[di], al
stosb byte es:[edi], al
insb byte es:[edi], dx
push ebp
push edi
std
jae 0x47bedd
xlatb
add eax, 0xb5cf838f
ret 0x74a6
mov ch, 0xc2
cmpsb byte [esi], byte es:[edi]
je 0x47bf8d
inc ebp
inc ecx
jno 0x47bf5d
mov edx, 0x109b0745
mov ecx, 0x90210035
jno 0x47bf39
ret
jmp 0xe831b13b
cmp al, byte [edi - 2]
rol dword [eax + 0x75da55e8], 1
lahf
cmp byte [edi - 0x40], 0x84
mov ah, 0xe1
loope 0x47bf51
jg 0x47c006
push 0x689f9737
sbb dh, byte [eax]
adc al, 0x3b
jo 0x47bf34
in al, 0x8d
jge 0x47bff3
and al, 0xcc
lea ebp, [ebx - 0x7c159a6c]
rcr byte [0x79d8c135], cl
test dword [ecx - 3], eax
rol esi, cl
mov eax, dword [0x1560e573]
mov ebx, 0xcc476877
lds ebx, [eax]
mov byte [0x3c676dc3], al
rcr ebp, 0xec
or dword [ebx], edx
test eax, 0x452d75f1
cdq
mov ebp, 0x42bfc637
inc ebp
invalid
add dh, byte [esi - 0x53]
cli
xor eax, 0xd5b616ba
enter 0xffffffffffffb69f, 0xffffffffffffffd7
cmp dword [ebx + 1], edx
xchg ecx, eax
push edi
cld
xchg dword [esp + ebp - 0x43], ebx
out 0x95, al
adc al, 0x12
pop es
test al, 0xba
mov dl, 0xe8
inc ebx
aaa
add eax, 0x17bbe567
insb byte es:[edi], dx
outsd dx, dword [esi]
pop ss
cmp eax, dword [ebp - 0x5f]
jnp 0x47c077
imul eax, dword [ebx + 0x2559b132], 0x37
faddp st(5)
movsb byte es:[edi], byte [esi]
xor dword [edx], 0xffffffb1
pop ecx
and eax, 0xa4c5de37
jg 0x47c023
push es
sar byte ss:[ebp - 0x4d], 5
rcl byte [edi + ebp*4 - 0x61583e76], cl
inc esi
inc esp
mov cl, 0x8c
mov bh, 0xf7
push esp
adc eax, 0x608956a7
pushal
and eax, dword [ebx + 0x31]
push edx
add edx, dword [esi - 0x3a499528]
sal byte [eax - 0x546bda4e], cl
mov dword [0x97f1d2a5], eax
rcr byte [ebx], 1
inc ecx
push ebx
or byte [esi], dh
dec edx
add dword [ecx], ebp
mov dword [0xb7ae5548], eax
jns 0x47c014
fsubr dword [edx - 0x4a]
invalid
ja 0x47c076
jg 0x47c04e
mov word [edx], ds
adc edx, ebp
and edx, ebx
popal
mov dh, 7
fisub dword [ecx - 0x4a]
pop es
lahf
invalid