Function at 0xbf90ca00
Capabilities:
Encode data using xor

Disassembly:
out dx, eax
add eax, dword [ebx]
sub dword [esi + 0x20079], 0x10002
add dword [eax], eax
jne 0xbf90c9f1
add eax, dword [ebx]
sub dword [ecx + edi*2 + 0x2000200], 0x1000100
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
sub dword [edx + 0x20079], 0x10002
add dword [eax], eax
jne 0xbf90ca11
out dx, eax
add eax, dword [ebx]
sub dword [eax + 0x20079], 0x10002
add dword [eax], eax
jne 0xbf90ca21
out dx, eax
add eax, dword [ebx]
and dword [esi + 0x20079], 0x10002
add dword [eax], eax
jne 0xbf90ca31
add eax, dword [ebx]
cmp dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
cmp dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90ca51
add eax, dword [ebx]
cmp dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
cmp dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
xor dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90ca81
add eax, dword [ebx]
xor dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
xor dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
sub dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
sub dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90cac1
add eax, dword [ebx]
sub dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
sub dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
and dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
and dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90cb01
add eax, dword [ebx]
and dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
and dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
sbb dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
sbb dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90cb41
add eax, dword [ebx]
sbb dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
sbb dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
adc dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
adc dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90cb81
add eax, dword [ebx]
adc dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
adc dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
or dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
out dx, eax
add eax, dword [ebx]
or dword [edx + edi*2], 0x20002
add dword [eax], eax
add dword [eax], eax
jne 0xbf90cbc1
add eax, dword [ebx]
or dword [edx + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
or dword [eax + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [ebp - 0x11], dh
add eax, dword [ebx]
add dword [esi + 0x7a], 0x2000200
add byte [ecx], al
add byte [ecx], al
add byte [eax + 0x62], ch
imul ebp, dword [esi], 0x1f420
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 1], bl
invalid