Function at 0x43c018
Capabilities:
Encode data using xor

Disassembly:
cmp byte [ebp - 0x50], 0xa3
dec esp
xchg edx, eax
adc byte [esi + 0x3c], bl
retf
js 0x43bf55
mov al, bl
rcr byte [ecx + 0x23], 1
or eax, 0xfe93a633
jne 0x43bf2a
fsub dword [esp + eax*8 + 0x55]
jecxz 0x43bf3c
xchg ah, bh
leave
sbb dword [0x50b6aaa6], edi
in eax, dx
mov ecx, 0x6f7c722d
xchg ecx, eax
out dx, al
inc edi
test esi, ebx
outsb dx, byte [esi]
fsub st(1), st(0)
add byte [ebp + esi + 0x27], al
out dx, eax
cmpsb byte [esi], byte es:[edi]
fisubr word [esi - 0x24]
jmp 0x27790332
inc esp
xor eax, 0xa6ef6527
mov esp, 0x7c028682
xchg ecx, eax
xchg byte [edx], al
jl 0x43becc
sub eax, 0x646d6dfc
dec esp
cld
insd dword es:[edi], dx
insd dword es:[edi], dx
dec esp
push edi
jl 0x43bf2f
sub ebx, dword [ebx + edx*2]
in eax, dx
dec esp
aaa
cmpsd dword [esi], dword es:[edi]
das
dec esp
aad 0xdd
adc dword [esi + 0x6da24e70], ecx
insd dword es:[edi], dx
mov eax, dword [0xe21ed8cf]
arpl word [0x5c5b92e2], bx
sbb eax, 0x5c5b92e2
shr dword [edi + edx*8 - 0x6e], cl
neg byte [esi - 0x78fb557c]
or dword [esi - 0x6dea6b90], ebx
cmp dword [ecx - 0x6ed00239], esp
jo 0x43bf03
adc eax, 0xc7a13992
std
das
xchg ecx, eax
xor ebx, esp
js 0x43bf37
imul ecx, dword [eax + 0x76], 0x1b
retf
pushal
out dx, eax
dec ebx
invalid
jb 0x43bf94
sbb dl, byte [esi]
aad 0xb4
test al, 0x9b
cld
pop ebp
mov ebx, 0x49cdb3ef
invalid
ja 0x43bf5c
call 0xd5abb72e
lds ecx, [edx]
xor bh, byte [eax - 0x285a1deb]
fsub st(7), st(0)
lds edi, [esi + 0x21211cc3]
push ds
jno 0x43bf6d
cmp byte [edi - 0x63bf68b6], 0x6e
lodsb al, byte [esi]
cdq
loopne 0x43c06c
add esi, edi
xchg dword [edx + 0x67302af5], edx
cmc
sub dh, byte [eax]
cmc
cmc
sub dh, byte [eax]
cmc
inc ebp
add ch, byte [ebp + 0x6638a484]
lcall 0xa949, 0x8c9a7953
jns 0x43bfa4
mov word [ecx - 0x57], cs
xchg bp, ax
scasd eax, dword es:[edi]
pop ebp
std
pop ebx
std
out 0xa1, al
mov esi, 0x3e7f7b3c
jnp 0x43c099
scasb al, byte es:[edi]
jnp 0x43c065
jp 0x43c022
pop esi
popal
push ebx
push ss
xchg esp, eax
outsd dx, dword [esi]
add dword [esi + esi*8 - 0xd85e6f3], esp
daa
xchg byte [esi], ah
idiv esi
push esi
inc edx
insd dword es:[edi], dx
imul byte [ecx + 0x4a]
ror dword [ebp + 0x109b0fb1], 1
xchg edx, eax
mov eax, 0xf062f3f
jno 0x43c048
xchg byte [ebx - 0x7b8f6c2c], dl
xchg ebx, eax
aam 0x93
xchg ebx, eax
jo 0x43bfd1
push eax
invalid
out dx, eax
loop 0x43c008
jbe 0x43c04a
inc eax
sahf
jp 0x43c0bb
aam 0x7f
fcomp st(0)
add eax, edx
xchg dword [ecx + 0xb], ecx
imul ecx, esp, 0x66
mov esi, 0x22e8c99
push 0x495ba653
mov gs, word [edi - 5]
into
mov esi, 0x1da5f244
and byte [eax + 0x1d], dl
pushfd
mov bl, 0xb3
jo 0x43c095
invalid
js 0x43c0d1
invalid
adc al, 0xb2
pushfd
fldcw word [ebx + 0x72]
cli
or eax, 0x592f08ec
pop ecx
push ecx
dec edx
mov ch, 0xca
jle 0x43c13c
xchg ebx, eax
fidiv word [ebp + 0x6f]
outsd dx, dword [esi]
push ss
shr dword [edx + 0x78], cl
mov edi, 0xd9c8440
adc dl, byte [edx]
pop edi
ljmp 0x8398
sub word [edx], di
and al, 0xec
leave
mov bh, 0x30
adc dh, byte [eax - 0x29aa5059]
cmp eax, 0x6742384c
cmp byte [edx + 0x67], al
mov dl, 0x9e
mov byte [0x99b0b866], al
inc esp
mov ah, 0xd2
sub bl, byte [ecx]
mov dl, 0x37
cmp eax, 0x86b1704e
pop esp
mov eax, 0x7da79b1
cmp eax, 0xdfc72b38
mov al, 0xf7
fidiv dword [edi]
mov edi, 0x5b9e06a1
jb 0x43c1b1
ret
jle 0x43c14d
fiadd word [ebx]
in al, 0xd2
xor eax, 0xf988f178
push es
wait
xchg edi, eax
sahf
popfd
sbb dword [ebx - 0x42a19cd8], ebx
inc edx
sub eax, 0xdbde26fd
mov eax, dword [0xfb6a92b7]
not dword [eax - 0x75109b9d]
in al, 0x37
xor ebx, dword [ebx + 0x76519a8e]
pop eax
mov cl, 0x92
mov ds, word [edx - 0x4ea789af]
xchg edx, eax
mov ah, 0x51
push ebx
push edx
jo 0x43c194
jge 0x43c1f6
ret
mov byte [edx], 0x3a
fxtract
add ecx, dword [eax - 0x632538dd]
mov dl, byte [ebp + 0x16]
push ds
popal
mov ebx, 0x653f96d
push es
pop esp
mov esp, 0xb752b65a
movsd dword es:[edi], dword [esi]
jbe 0x43c1f4
stc
or edi, edx
dec edi
xchg esp, eax
invalid
jne 0x43c185
xchg esi, eax
xchg esi, eax
cli
jge 0x43c1c7
inc esi
pop ss
les ebp, [esi + 0x22]
les esi, [ecx + 0x20]
adc eax, 0xe17b4ca
lodsd eax, dword [esi]
pop ds
jne 0x43c1db
pop ebx
in eax, 0xc5
sbb byte [ecx - 0x5388bd45], dh
push eax
ja 0x43c1e8
dec esi
and al, 0x4d
aad 0x34
retf 0x53f0