Function at 0x545f40
Capabilities:
Encode data using xor

Disassembly:
add al, byte [edx]
popal
pop eax
xor eax, 0xf
sbb eax, 0xcea0202
add al, byte [edx]
add al, byte [edx]
dec edx
inc ecx
inc ebx
inc esp
cmp eax, 0x34475152
test esi, eax
push es
or eax, 0xffffffed
in eax, dx
in eax, dx
das
add eax, dword [edx]
sub eax, 0xffffff99
popal
add al, byte [edx]
pushal
enter 0xffffffffffffb287, 0xfffffffffffffff6
add dword [ecx], eax
push esp
enter 0xffffffffffffb387, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x545f22
xchg dword [esi + esi*8 - 0x3791feff], esi
xchg dword [ebp + 0x4b0101f6], esi
enter 0xffffffffffffb687, 0xfffffffffffffff6
add dword [ecx], eax
outsd dx, dword [esi]
enter 0xffffffffffffb787, 0xfffffffffffffff6
add dword [ecx], eax
arpl ax, cx
xchg dword [eax + 0x690101f6], edi
enter 0xffffffffffffb987, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffffba87, 0xfffffffffffffff6
xchg dword [ecx + 0x670101f6], edi
enter 0xffffffffffffba87, 0xfffffffffffffff6
xchg dword [edx + 0x460101f6], edi
add dword [ecx], eax
inc esi
enter 0xffffffffffffbb87, 0xfffffffffffffff6
add dword [ecx], eax
imul ecx, eax, 0xffffff87
mov esp, 0x740101f6
enter 0xffffffffffffbd87, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffffbe87, 0xfffffffffffffff6
xchg dword [ebx + 0x6b0101f6], edi
enter 0xffffffffffffbc87, 0xfffffffffffffff6
add dword [ecx], eax
je 0x545f61
xchg dword [ebp + 0x670101f6], edi
enter 0xffffffffffffbe87, 0xfffffffffffffff6
xchg dword [esi + 0x650101f6], edi
enter 0xffffffffffffbf87, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffffbf87, 0xfffffffffffffff6
xchg dword [edi + 0x760101f6], edi
enter 0xffffffffffffc087, 0xfffffffffffffff6
add dword [ecx], eax
add dword [ecx], eax
jbe 0x545f76
xchg eax, eax
test byte [ecx], 1
jno 0x545f7d
xchg ecx, eax
test byte [ecx], 1
je 0x545f84
xchg edx, eax
test byte [ecx], 1
jnp 0x545f8b
xchg ebx, eax
test byte [ecx], 1
inc edi
enter 0xffffffffffffc487, 0xfffffffffffffff6
add dword [ecx], eax
jo 0x545f99
xchg ebp, eax
test byte [ecx], 1
jbe 0x545fa0
xchg esi, eax
test byte [ecx], 1
je 0x545fa7
xchg edi, eax
test byte [ecx], 1
jnp 0x545fae
xchg eax, ecx
test byte [ecx], 1
push esi
enter 0xffffffffffffc987, 0xfffffffffffffff6
add dword [ecx], eax
jno 0x545fbc
xchg edx, ecx
test byte [ecx], 1
inc esi
enter 0xffffffffffffcb87, 0xfffffffffffffff6
add dword [ecx], eax
arpl ax, cx
xchg esp, ecx
test byte [ecx], 1
jbe 0x545fd1
xchg ebp, ecx
test byte [ecx], 1
arpl ax, cx
xchg esi, ecx
test byte [ecx], 1
add bl, byte [eax + 0x53]
test esi, eax
push es
sub eax, 0x1f
dec ebp
add al, byte [edx]
cmp eax, 0xffffffd2
cmp al, 3
add al, byte [ebx + 0x30f91f0]
add al, byte [ebx + 0x36c60d0]
add ah, byte [eax + 0x54]
add esp, 0xfffffff6
xchg byte [edx], al
add al, byte [ebx + 0x33997f4]
add al, byte [ebx + 0x252b2cc]
add bl, byte [eax + ecx*8 - 0x79]
xchg edx, eax
clc
add dword [ecx], eax
push esp
enter 0xffffffffffff9387, 0xfffffffffffffff8
add dword [ecx], eax
jbe 0x54601f
xchg dword [eax + edi*8 - 0x3791feff], edx
xchg dword [ebp + 0x4b0101f8], edx
enter 0xffffffffffff9687, 0xfffffffffffffff8
add dword [ecx], eax
outsd dx, dword [esi]
enter 0xffffffffffff9787, 0xfffffffffffffff8
add dword [ecx], eax
arpl ax, cx
xchg dword [eax + 0x690101f8], ebx
enter 0xffffffffffff9987, 0xfffffffffffffff8
add dword [ecx], eax
enter 0xffffffffffff9a87, 0xfffffffffffffff8
add dword [ecx], eax
push esp
xchg dword [edi + 0x630101f8], edx
enter 0xffffffffffff9887, 0xfffffffffffffff8
add dword [ecx], eax
imul ecx, eax, 0x1f89987
add dword [edi - 0x38], esp
xchg dword [edx + 0x540101f8], ebx
enter 0xffffffffffff9b87, 0xfffffffffffffff8
add dword [ecx], eax
js 0x546057
xchg dword [eax + edi*8 - 0x379cfeff], ebx
xchg dword [ebp + 0x560101f8], ebx
enter 0xffffffffffff9e87, 0xfffffffffffffff8
add dword [ecx], eax
jno 0x54606c
xchg dword [edi + 0x580101f8], ebx
enter 0xffffffffffffa087, 0xfffffffffffffff8
add dword [ecx], eax
arpl ax, cx
xchg dword [ecx + 0x20101f8], esp
pop ecx
push esp
test esi, eax
push es
ljmp 0x4702