Function at 0x43d693
Capabilities:
Encode data using xor

Disassembly:
pop es
add byte [eax], al
add byte [ebx], dl
add byte [eax], ah
dec esi
add byte [eax], al
add byte [eax], al
add byte [edx + 0x4f4], ah
add byte [eax], al
insb byte es:[edi], dx
les esp, [esi]
or eax, dword [esi + 0x4e01d870]
mov ah, 0x51
or eax, dword [esi + 0x4e01d870]
mov ah, 0x51
or eax, dword [esi + 0x4e01d870]
mov ah, 0x51
or eax, dword [esi + 0x1d870]
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 + eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
push es
add edx, dword [ebx]
outsd dx, dword [esi]
add byte [ebp], dh
outsb dx, byte [esi]
add byte [eax + eax + 0x73], ah
add byte [eax], al
add byte [ecx - 0x41], dl
add al, byte [eax]
add byte [eax], al
xor al, 0
jo 0x43d622
pushal
add byte [eax], al
add byte [eax], al
add byte [edx + 0x4f4], ah
add byte [eax], al
dec esi
mov ah, 0x51
or eax, dword [esi - 0x1bfe2790]
dec esi
outsb dx, byte [esi]
or eax, dword [esi - 0x1bfe2790]
dec esi
outsb dx, byte [esi]
or eax, dword [esi - 0x1bfe2790]
dec esi
outsb dx, byte [esi]
or eax, dword [esi + 0x1d870]
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
adc byte [eax], al
add byte [eax], al
add byte [edi], cl
add dword [ebx], edx
jo 0x43d66e
outsd dx, dword [esi]
add byte [eax + eax + 0x69], dh
add byte [esi], ah
jns 0x43d678
inc edx
add byte [edx], dh
popal
add byte [esi], ch
add byte fs:[ecx], ch
outsb dx, byte [esi]
add byte [edi], ah
push ecx
mov edi, 2
xor al, 0
push 0x5200
add byte [eax], al
add byte [edx + 0x4f4], ah
add byte [eax], al
dec esi
mov ah, 0x51
or eax, dword [esi - 0x1bfe2790]
dec esi
outsb dx, byte [esi]
or eax, dword [esi - 0x1bfe2790]
dec esi
outsb dx, byte [esi]
or eax, dword [esi - 0x1bfe2790]
dec esi
outsb dx, byte [esi]
or eax, dword [esi + 0x1d870]
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
adc byte [eax], al
add byte [eax], al
add byte [eax], cl
add dl, byte [ebx]
push eax
add byte [edi], cl
push esp
add byte [ecx], cl
inc esi
add byte [esi], bh
xor dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
jae 0x43d6b1
add al, byte [eax]
add byte [eax], al
xor al, byte [eax]
jo 0x43d6fa
pushal
add byte [eax], al
add byte [eax], al
add byte [edx + 0x4f4], ah
add byte [eax], al
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
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], dl
add byte [eax], al
add byte [eax], al
lgdt [eax + eax + 0x77]
mov al, 0x70
or eax, dword [esi + 0x1d870]
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
adc byte [eax], al
add byte [eax], al
add byte [edi], cl
add dword [eax + eax + 0x77], edx
add byte [ecx], ch
je 0x43d74a
je 0x43d74c
add byte gs:[edx], dh
inc edx
add byte [edx], dh
popal
add byte [esi], ch
add byte fs:[ecx], ch
outsb dx, byte [esi]
add byte [edi], ah
jae 0x43d721
add al, byte [eax]
add byte [eax], al
xor al, byte [eax]
push 0x5200
add byte [eax], al
add byte [edx + 0x4f4], ah
add byte [eax], al
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
sal dword [eax + 0x70860b70], cl
fadd dword [ecx]
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], dl
add byte [eax], al
add byte [eax], al
or byte [edx], al
push esp
add byte [edi], dl
dec ecx
add byte [eax + eax + 0x54], dl
add byte [ebp], al
jle 0x43d7c0
xor dword [eax], eax
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
adc byte [eax], al
add byte [eax], al
add al, byte [eax]
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], 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 al, 0
mov byte [edx], bl
add byte [eax], al
add byte [edx], al
add al, byte [eax]
xor byte [edx + 0x906771a], al
sub al, byte [esi + 0xdf78648]
add dword [edi], eax
add ah, byte [eax + 0x30681a82]
sbb byte [edx], 0x64
add al, byte [ecx]
add dword [ecx], esi
or esi, dword [eax]
or dword [esi], eax
add eax, 0x2030e2b
sbb al, byte [0x6683000]
or ch, byte [ebx]
push es
add dword [ecx + eax], eax
xor byte [edi], 2
add dword [eax], eax
pop edx
xor byte [eax + 0x30], bl
xor eax, dword [esi]
or ch, byte [ebx]
push es
add dword [ecx + eax], eax
xor byte [edi], 2
add dword [edi], ecx
xor byte [0xa0000103], ah
and byte [edx + 0x1c801e], ah
cmp al, 0
cmp al, 0
cmp al, 0
dec edi
add byte [edx], ah
jae 0x43d867
outsd dx, dword [esi]
add byte [eax + eax + 0x65], ch
add byte [eax + eax + 0x65], dh
add byte [esi], bh
add byte [esi], bh
add byte [esi], bh
xor byte [ecx], ah
xor byte [ecx], cl
push es
add eax, 0x2030e2b
sbb al, byte [0xc4140400]
mov ebx, edx
add bl, bl
jmp 0x5d2a2740