Function at 0x54cb3f
Capabilities:
Encode data using xor

Disassembly:
fstp dword [edi + reloc.OPENGL32.dll_glLoadIdentity]
jge 0x54cb39
enter 0x60fe, 0x5e
lahf
scasd eax, dword es:[edi]
xchg esi, eax
xor byte [ebp*8 - 0x3c33eada], ah
imul ebp, dword [ebx - 5], 0x1b
or byte [edx + 0x30], ch
insb byte es:[edi], dx
xchg ebx, eax
inc dl
loope 0x54cb91
invalid
mov dword [ebp + 0x3c], eax
lodsb al, byte [esi]
xor dl, dh
lodsb al, byte [esi]
std
rol dword [ebp - reloc.OPENGL32.dll_glLoadIdentity], 1
xchg ebx, edx
invalid
test dword [edx + ebx*4 - reloc.OPENGL32.dll_glLoadIdentity], ebx
rol dword [ecx + edx], cl
add al, 0x11
sbb ecx, esi
sbb al, dl
adc al, 0x1c
movsb byte es:[edi], byte [esi]
aad 0x58
mov ebp, 0x80ec84cb
loop 0x54cb33
jb 0x54cb05
dec edi
push es
inc ebp
dec esi
mov al, 0xf1
fstp qword [ecx - 0x54]
sbb byte [edi - 0x11], bl
jge 0x54cb6f
movsb byte es:[edi], byte [esi]
xchg byte [ebp + 0x41], ch
mov dh, byte [ebp*4 + 0x75ae2a94]
fist word [eax + 0x36]
or eax, dword [ecx - reloc.OPENGL32.dll_glLoadIdentity]
or eax, dword ss:[ecx - reloc.OPENGL32.dll_glLoadIdentity]
out 0x3e, eax
ljmp 0x7cff
add ah, byte fs:[edi - 0x2efe0670]
aam 0x5b
jo 0x54cb30
or dword [edx - reloc.OPENGL32.dll_glLoadIdentity], eax
add al, 0xa5
inc edi
loop 0x54cbeb
jne 0x54cba6
xchg esp, eax
popal
cmp eax, 0x4e632a39
sti
test ebx, 0xa1476f8b
and dword [edi], edi
xchg esi, eax
adc al, 0x55
inc edi
mov eax, dword [reloc.OPENGL32.dll_glLoadIdentity]
push ebp
scasb al, byte es:[edi]
pop edi
dec edi
mov ebp, 0xf5f49303
adc cl, byte [edx + 0xab4733d]
adc dword [eax + reloc.OPENGL32.dll_glLoadIdentity], ebx
mov ebp, dword [edi - reloc.OPENGL32.dll_glLoadIdentity]
and eax, 0xb96c8ea5
push 0x3bf7551e
rol dl, 1
or eax, esp
mov ebp, dword [ebx + eax]
int1
out 0x58, eax
jne 0x54cc1b
adc dword [ebx + 0x47], edi
inc dword [edi]
mov byte [0xb24b9b84], al
jp 0x54cb86
sub dword [eax - reloc.OPENGL32.dll_glLoadIdentity], ebp
add eax, 0x2655330b
push esp
cmp edx, dword [ebx + 0x16]
push ebx
push ss
sbb al, 0xf4
cmp dword [ecx - reloc.OPENGL32.dll_glLoadIdentity], esi
daa
or dword [ebp - reloc.OPENGL32.dll_glLoadIdentity], 0xffffff8c
ja 0x54cbfa
jge 0x54cc2e
cmp eax, 0x8f36aa62
das
dec ebx
push edx
fldcw word [edi - 0x28]
movsb byte es:[edi], byte [esi]
stosd dword es:[edi], eax
inc eax
pop ecx
adc eax, 0xb1e0488d
pop edi
xlatb
inc ebx
dec esi
jge 0x54cbaa
hlt
or dh, byte [eax]
cld
mov bh, 0xcf
cld
arpl word [ecx - 0x5c], sp
lea eax, [ecx - 0x17]
stosd dword es:[edi], eax
salc
pop ebx
loope 0x54cc8e
pop edi
jne 0x54ccc1
mov cs, word [edi + 0x7a]
inc ebx
add eax, 0xb0944e54
out dx, al
scasd eax, dword es:[edi]
ja 0x54cc04
and byte [ebx - 0x37], 0xb2
nop
in al, 0x85
xchg ecx, eax
out 0xd8, eax
mov al, byte [0x7d0b616e]
push esi
stosd dword es:[edi], eax
mov bl, 0x32
aam 0x59
salc
insb byte es:[edi], dx
dec esi
jmp 0xec380f0
inc ebx
test eax, 0x6a29172
sub byte [ebx], 0x8b
cmpsd dword [esi], dword es:[edi]
mov edx, 0x76d1a2c8
dec esi
dec edi
invalid
xor ch, dl
cwde
nop
stosd dword es:[edi], eax
cli
xor ah, byte [edi + 0x19c63287]
mov byte [0xf990036a], al
stosb byte es:[edi], al
rcr dword [edx - reloc.OPENGL32.dll_glLoadIdentity], 1
adc esi, dword [esi]
aas
scasd eax, dword es:[edi]
push cs
or eax, 0x405a101d
or byte [eax], bh
adc al, 0xf9
dec ecx
dec ebp
pop eax
or al, 0x86
out 0x4e, al
and eax, 0xcc48e9a6
fisub word [0x148c1dc2]
xchg ebx, eax
adc al, 0x93
cmp ecx, esi
arpl dx, dx
sbb eax, 0xf18fc384
jno 0x54cd47
xor dword [edx], edx
aam 0xd8
cwde
aam 0x60
imul ebx, dword [edx - reloc.OPENGL32.dll_glLoadIdentity], 0x6b
invalid
xor ecx, ecx
lcall 0xfbcb, 0x3c9b0971
cmpsb byte ds:[esi], byte es:[edi]
popal
mov ch, 0xd7
loopne 0x54ccf9
xchg esp, eax
invalid