Function at 0x423d08
Capabilities:
Encode data using xor

Disassembly:
lodsd eax, dword [esi]
ror byte [eax*8 - 0x4f558fb0], cl
push ds
sbb dword [eax - 0x50], eax
mov dl, 0xda
sbb byte [ebx + 0x74], dh
inc esi
push ds
sbb dword [edi + 0x67308ef], ebp
out dx, eax
or byte [ebx + 6], dh
jno 0x423bf2
sbb dword [edi + 0xe7370ef], ebp
jno 0x423bfa
sbb dword [ebp - 0x50efcb1c], ebp
fisubr dword [ebp*4 + 0x50c574d2]
jo 0x423bdb
mov al, 0x1e
sbb dword [eax + 0x7c], eax
mov dl, 0xda
sbb byte [ebx + 0x43], dh
jae 0x423c37
inc esi
push ds
sbb dword [edi + 0x6d730cef], ebp
jae 0x423c69
jno 0x423c1d
sbb dword [edi + 0x557328ef], ebp
jno 0x423c25
sbb dword [ebp - 0x50efcb1c], ebp
fisubr dword [ebp*4 + 0x50c574d2]
jo 0x423bf1
mov al, 0x1e
sbb dword [eax - 0x2c], eax
dec ebp
ficomp dword [eax]
jae 0x423bcd
inc esi
push ds
sbb dword [ebp + 0x5b9508ef], ebp
xchg ebp, eax
pop ebx
sub al, 0x73
mov edi, 0xad191f71
in al, 0x34
adc byte [edi - 0x2d52d326], ch
or al, 0xc5
push eax
jo 0x423c61
ror byte [eax*8 - 0x4fd98fb0], cl
push ds
lds edx, [eax + 0x70]
mov al, 0x1e
mov al, 0x1e
sbb dword [eax - 0x78], eax
dec ebp
ficomp dword [eax]
jae 0x423c35
inc esi
push ds
sbb dword [ecx], ebx
xchg dword [eax + esi*2], ecx
cmp byte [edi + ebx + 0x19], ah
push ebp
lodsd eax, dword [esi]
in al, 0x34
adc byte [edi - 0x2d52d326], ch
jo 0x423c21
push eax
jo 0x423c69
mov cl, 0x1e
sbb dword [eax + 0x4c], eax
dec ebp
ficomp dword [eax]
jae 0x423c3d
inc esi
push ds
sbb dword [ecx], ebx
xchg dword [eax], ecx
jo 0x423c8d
pop ds
pop ds
sbb dword [ebp + 0x19], edx
xchg dword [eax], ecx
jo 0x423c7f
pop ds
sbb dword [ebp - 0x53], edx
in al, 0x34
adc byte [edi - 0x2d52d326], ch
or al, 0xc5
push eax
jo 0x423ce3
mov cl, 0x1e
push ds
sbb dword [eax + 0x28], eax
dec esp
ficomp dword [eax]
jae 0x423cb7
inc esi
push ds
sbb dword [ecx], ebx
xchg dword [eax + esi*2 + 0x69], esi
pop ds
sbb dword [ebp - 0x53], edx
in al, 0x34
adc byte [edi - 0x2d52d326], ch
js 0x423c72
push eax
jo 0x423c6b
mov cl, 0x1e
sbb dword [eax - 0x24], eax
dec esp
ficomp dword [eax]
jae 0x423cbf
sbb byte [ebx + 5], dh
inc edi
push ds
sbb dword [ebp - 0x50efcb1c], ebp
xor al, 0x10
scasd eax, dword es:[edi]
fisubr dword [ebp*4 + 0x50c57cd2]
jo 0x423c61
mov cl, 0x1e
sbb dword [eax - 0x5c], eax
movsb byte es:[edi], byte [esi]
dec esp
ficomp dword [eax]
jae 0x423d35
inc edi
push ds
sbb dword [ebp - 0x50efcb1c], ebp
fisubr dword [ebp*4 + 0x50c50cd2]
push eax
jo 0x423c73
mov cl, 0x1e
sbb dword [eax + 0x50], eax
dec ecx
ficomp dword [eax]
jae 0x423d4f
inc edi
push ds
sbb dword [esp + ebp*2 + 0x6c], ebp
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
lodsd eax, dword [esi]
out dx, eax
or byte [ebx - 0x47], dh
or eax, 0xe4ad191f
xor al, 0x10
scasd eax, dword es:[edi]
fisubr dword [ebp*4 + 0x50c500d2]
jo 0x423cf3
mov cl, 0x1e
sbb dword [eax + 0x24], eax
inc ebp
ficomp dword [eax]
jae 0x423ccf
inc edi
push ds
sbb dword [edi + 0x1972f4af], ebp
sbb dword [ebx + 0x3a], esi
jae 0x423d65
pop ds
sbb dword [ebp - 0x50efcb1c], ebp
fisubr dword [ebp*4 + 0x1972f492]
sbb ebp, eax
push eax
jo 0x423d69
lodsd eax, dword [esi]
xchg edx, eax
hlt
mov cl, 0x1e
sbb dword [ebp + 0x50c500d2], ebp
jo 0x423d59
mov cl, 0x1e
sbb dword [eax - 0x28], eax
inc ebp
ficomp dword [eax]
jae 0x423d35
inc edi
push ds
sbb dword [edi + 0x191d34af], ebp
sbb dword [ebx - 0x17], esi
sbb eax, 0xe9731919
bound ebx, qword [ecx]
sbb dword [ebp - 0x50efcb1c], ebp
sbb dword [ecx], ebx
lodsd eax, dword [esi]
in al, 0x34
adc byte [edi - 0x6d52d326], ch
scasd eax, dword es:[edi]
fisubr dword [ebp*4 + 0x191d3492]
sbb ebp, eax
push eax
jo 0x423deb
xchg edx, eax
xor al, 0x1d
sbb dword [ecx], ebx
lds edx, [eax + 0x70]
jns 0x423d29
mov dh, 0x1e
push ds
sbb dword [ebp + 0x50c508d2], ebp
jo 0x423de3
mov dh, 0x1e
sbb dword [eax - 0x74], eax
inc ebp
ficomp dword [eax]
jae 0x423db7
inc edi
push ds
sbb dword [esp + ebp*2 + 0x6c], ebp
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
out 0xad, eax
or al, 0x43
loopne 0x423db6
aad 0x18
jo 0x423d5f
add byte [ecx], bl
sbb eax, esi
sbb bl, bl
ficomp dword [eax]
jo 0x423e08
mov cl, 0x1e
sbb dword [ebp + 0x55ff1454], edx
invalid
jecxz 0x423e0d
push ebp
invalid
adc ebp, edx
sbb byte [eax - 0x44], dh
add dword [edi], ebx
sbb ebp, eax
pop eax
invalid
lds ebx, [eax - 0x10]
iretd
insb byte es:[edi], dx
adc ebp, edx
sbb byte [eax - 0x4ae72508], ah
inc eax
clc
ficomp dword [eax]
mov ch, 0x40
adc ebp, edx
sbb byte [edx + 0x18d5115c], bh
mov ch, 0x54
adc ebp, edx
sbb byte [ebp + 0x18d51168], dh
mov ch, 0x64
adc ebp, edx
sbb byte [ebp + 0x18d51160], dh
mov ch, 0x7c
adc ebp, edx
sbb byte [ebp + 0x18d51178], dh
mov ch, 0x74
adc ebp, edx
sbb byte [ebp + 0x18d51170], dh
jo 0x423e08
mov cl, 0x1e
sbb ebx, esp
push ebp
inc ebx
or byte [ecx], dl
aad 0x18
jo 0x423e14
add dword [edi], ebx
sbb ebp, eax
pop eax
invalid