Function at 0x5474b2
Capabilities:
Encode data using xor

Disassembly:
aaa
mov ecx, 0x35e0b030
wait
sbb ch, dl
push es
loop 0x54750c
int 0x20
cmp eax, 0x83417030
pop edx
nop
div dword [ecx]
xor ch, bl
shr dword [edi - 0x52], 1
insd dword es:[edi], dx
cld
push edi
add dword [esi - 0x1b], esp
jge 0x5474b3
sub cl, cl
xlatb
jg 0x5474ec
mov byte [edi + 0x3b], ah
adc dword [ebp - reloc.OPENGL32.dll_glLoadIdentity], edx
push edx
out 0xf9, eax
pop es
push ss
in eax, dx
jmp 0x5474f2
aam 0x3c
sbb al, 0x75
mov byte [0x4dcd80d8], al
mov dh, 0x9d
dec ecx
pop esp
push ds
aas
sti
fisttp qword [ebx - 0x78acf2af]
xchg ebp, eax
pop ebp
lea esi, [ebp - 3]
sti
xchg dword [0xc7dd7fc1], esi
mov ecx, 0xcac7533b
push es
lahf
rep movsd dword es:[edi], dword [esi]
fiadd word [ebx + eax*2 + 0xe778912]
jo 0x547594
cmp edx, dword [ebx - 0x39]
retf 0x9f06
mov eax, 0x3fbafd82
insb byte es:[edi], dx
test dword [ebx], esi
or dword [eax - 0x17], edi
dec edx
xor dword [esi + 0x2a], eax
xchg edi, eax
sbb al, bl
mov ds, word [edx]
cli
ror ebx, 0xeb
add al, 0x35
lahf
popfd
leave
mov edx, 0x1d3aed8
pop ss
sub al, 0x5b
sal ecx, cl
wait
test al, 0xa1
test esp, ebx
jg 0x547517
and al, 0x8c
cmc
mov esi, edi
daa
fstp xword [esp + esi]
or edi, dword [ecx - reloc.OPENGL32.dll_glLoadIdentity]
inc edx
and byte [edi + 0x2b], al
stosb byte es:[edi], al
inc esi
sti
das
test eax, 0xe983165b
and eax, 0x1a474299
orps xmm3, xmm5
int1
pop eax
push cs
aam 0xf3
out dx, eax
imul ecx, dword [edx - reloc.OPENGL32.dll_glLoadIdentity], 0x9009451e
add byte [esi + 0x3c], bh
test al, al
std
sbb dword [ebp + 0x4bbe3bee], eax
sub al, 0xf6
jnp 0x5475f5
out dx, al
cmp edi, dword [esi + reloc.OPENGL32.dll_glLoadIdentity]
pop ecx
sub dl, byte [edi + 0x6d]
push edi
insd dword es:[edi], dx
mov ebp, dword [edx - reloc.OPENGL32.dll_glLoadIdentity]
cdq
scasb al, byte es:[edi]
xor byte [0x9a73ec5a], 0xf5
push ss
xor al, byte [edi]
fld xword [ebx + 0x4c1026f6]
pop edx
pop eax
jecxz 0x54759d
invalid
int1
sar byte [edi - 0x22089f3e], 1
movsd dword es:[edi], dword [esi]
fiadd word [edx]
jg 0x5475f8
ret 0xf760
xlatb
cmpsb byte [esi], byte es:[edi]
pop es
fild qword [edx]
jecxz 0x54758b
cmp esp, eax
mov ebp, 0x9c2e3f03
lodsb al, byte [esi]
stc
xchg ebp, eax
js 0x547693
cmp dword [reloc.OPENGL32.dll_glLoadIdentity], ebx
mov byte [0xd067190e], al
sbb dword [esi - 0x7308f38], edi
shr ch, cl
mov byte [0xbccc9bf1], al
push ebp
sbb esp, dword [0x16d2e87f]
leave
retf 0x5df4
rcl byte [eax]
das
mov bh, 0x9f
imul ebp, esp, 0xa9f5a4e5
sti
mov byte [esi + 0x1c00cc49], 0xcc
neg dword [ebx - reloc.OPENGL32.dll_glLoadIdentity]
mov edx, 0x36789689
sbb al, byte [eax - 0x51030fec]
pop ds
inc esp
push ecx
add al, 0xc3
sal dword [ecx - reloc.OPENGL32.dll_glLoadIdentity], 1
inc edx
xchg sp, ax
imul byte [eax]
mov edi, 0xcc93a284
insb byte es:[edi], dx
xlatb
mov ebp, dword [edx]
mov ebx, 0xaa0e28a
shl dword [ebx], cl
lds ebp, [eax + 0x1a29b5d6]
or eax, 0xd253e1be
add ch, byte [edi + 0x1d]
loopne 0x54774a
add dword [edi + 0x2f], ecx
pushal
insb byte es:[edi], dx
lds ecx, [ebx + 0x711dad27]
push ecx
stosb byte es:[edi], al
sti
aaa
xchg edi, eax
sub ebx, ebp
jo 0x547715
cmc
invalid
invalid
stosd dword es:[edi], eax
dec edi
fild dword [esi]
and byte [ecx], ch
adc edi, ecx
test dword [esi], reloc.OPENGL32.dll_glLoadIdentity
pop ebx
loop 0x5476ed
cmp ah, byte [ebp + 0x61f4b82e]
dec edx
int 6
hlt