Function at 0x418450
Capabilities:
Encode data using xor

Disassembly:
inc edi
add al, 3
pop ebp
push ebx
push ebp
xchg bh, al
pop es
test bl, cl
cmp edx, edi
add eax, dword [ebx]
pop ebx
push esi
pop edx
xchg bh, al
pop es
test dh, ah
aas
mov ebp, 0xee840303
insb byte es:[edi], dx
sub eax, 0xe6840303
retf
pop esi
leave
mov byte [edi], ah
test dword [edx], 0x88c95502
sub bh, dh
add al, byte [edx]
ja 0x418429
mov byte [ecx], ch
test dword [edx], 0x88c96f02
sub dh, bh
add al, byte [edx]
dec esp
leave
mov byte [ebx], ch
test dword [edx], 0x88c97002
sub al, 0xf7
add al, byte [edx]
leave
mov byte [0x6a0202f7], ch
sub eax, 0x6a0202f7
leave
mov byte [esi], ch
test dword [edx], 0x88c96802
das
test dword [edx], 0x88c94702
xor bh, dh
add al, byte [edx]
insb byte es:[edi], dx
leave
mov byte [ecx], dh
test dword [edx], 0x88c97502
xor dh, bh
add al, byte [edx]
push 0xf73388c9
xor esi, edi
add al, byte [edx]
leave
mov byte [edi + esi*8], dh
add al, byte [edx]
ja 0x41847d
mov byte [0x720202f7], dh
xor eax, 0x720202f7
leave
mov byte [esi], dh
test dword [edx], 0x88c97502
aaa
test dword [edx], 0x88c97c02
cmp bh, dh
add al, byte [edx]
dec eax
leave
mov byte [ecx], bh
test dword [edx], 0x88c97102
cmp dh, bh
add al, byte [edx]
ja 0x4184a7
mov byte [ebx], bh
test dword [edx], 0x88c97502
cmp al, 0xf7
add al, byte [edx]
jl 0x4184b5
mov byte [0x570202f7], bh
leave
mov byte [esi], bh
test dword [edx], 0x88c97202
test dword [edx], 0x88c95702
test dword ds:[edx], 0x88c97202
aas
test dword [edx], 0x88c94702
inc eax
test dword [edx], 0x88c96402
inc ecx
test dword [edx], 0x88c97702
inc edx
test dword [edx], 0x88c96402
inc ebx
test dword [edx], 0x84590302
stc
shl byte [esi], 1
add al, 3
jmp 0x418530
add eax, dword [ebx]
add edi, dword [eax]
push eax
cmp byte [esp + ecx*2 + 0x4c], al
cmp al, 0x86
mov dword [edi], 0xbf0ff184
add eax, dword [ebx]
popal
push esp
xchg bh, al
pop es
test cl, dh
movsx eax, word [ebx]
add esp, dword [ecx + 0x54]
test ah, dh
inc edi
inc edx
add al, 3
test ah, al
jno 0x4184ee
add eax, dword [ebx]
test ah, cl
aaa
rol byte [ebx], cl
add ebx, dword [ecx + ecx*8 - 0x78]
pop ds
stc
add al, byte [edx]
push ebp
leave
mov byte [eax], ah
stc
add al, byte [edx]
ja 0x418526
mov byte [ecx], ah
stc
and ecx, edi
add al, byte [edx]
outsd dx, dword [esi]
leave
mov byte [edx], ah
stc
add al, byte [edx]
dec esp
leave
mov byte [ebx], ah
stc
add al, byte [edx]
jo 0x41853b
mov byte [ecx + edi*8], ah
and al, 0xf9
add al, byte [edx]
leave
mov byte [0x6a0202f9], ah
leave
mov byte [esi], ah
stc
add al, byte [edx]
push 0xf92788c9
add al, byte [edx]
push ebp
leave
mov byte [eax], ch
stc
add al, byte [edx]
jns 0x41855e
mov byte [ecx], ch
stc
add al, byte [edx]
leave
mov byte [edx], ch
stc
add al, byte [edx]
push edi
leave
mov byte [ebx], ch
stc
add al, byte [edx]
jb 0x418573
mov byte [ecx + edi*8], ch
add al, byte [edx]
pop ecx
leave
mov byte [0x640202f9], ch
leave
mov byte [esi], ch
stc
add al, byte [edx]
add ebx, dword [ecx + 0x56]
xchg bh, al
pop es
test cl, cl
dec esp
rol dword [ebx], 1
add eax, dword [ecx + edi*8 + 0x3044d04]
test cl, dl
xchg byte [ebp - 0x367bfcfd], cl
out 0x30, eax
add al, 3
popal
push ebx
test bl, dh
add ebx, dword [0xc3840304]
out dx, eax
aam 3
add eax, dword [ebx + ecx*8 + 0x303f09d]
pop ebx
leave
mov byte [ebx], cl
stc
add al, byte [edx]
push ebp
leave
mov byte [ecx + edi*8], cl
add al, byte [edx]
ja 0x4185c8
mov byte [0x6f0202f9], cl
or eax, 0x6f0202f9
leave
mov byte [esi], cl
stc
add al, byte [edx]
dec esp
leave
mov byte [edi], cl
stc
add al, byte [edx]
jo 0x4185dd
mov byte [eax], dl
stc
add al, byte [edx]
leave
mov byte [ecx], dl
stc
add al, byte [edx]
push 0xffffffffffffffc9
mov byte [edx], dl
stc
add al, byte [edx]
push 0xf91388c9
adc edi, ecx
add al, byte [edx]
push ecx
leave
mov byte [ecx + edi*8], dl
add al, byte [edx]
ja 0x418600
mov byte [0x4b0202f9], dl
leave
mov byte [esi], dl
stc
add al, byte [edx]
push 0xf91788c9
add al, byte [edx]
leave
mov byte [eax], bl
stc
add al, byte [edx]
leave
mov byte [ecx], bl
stc
add al, byte [edx]
push 0xf91a88c9
add al, byte [edx]
jne 0x41862a
mov byte [ebx], bl
stc
add al, byte [edx]
add ecx, dword [esi + 0x2e2d398]
add cl, byte [eax + ebx*4 + 0x202f813]
push esi
push esp
xchg bh, al
pop es
test dh, al
pop esi
or al, 4
add ebp, esi
or dword [edx + 0x3f], eax
dec ecx
dec ecx
push eax
pop esi
pop edx
push ebx
xchg bh, al
pop es
test dl, ch
imul ebp, dword [esp + eax], 3
test dl, dh
inc ecx
and byte [ebx + eax], al
test dl, bh
pop es
sbb byte [ebx + eax], al
test dl, ch
jbe 0x4186c5
add al, 3
bound esp, qword [edi - 0x5c]
sbb eax, dword [ebx]
add eax, dword [ebx]
mov word [eax + 0x202e673], cs
mov ss, word [eax + 0x202e673]
mov ss, word [ebx + esi - 0x74]
cwde
outsd dx, dword [esi]
out 2, al
add cl, byte [esi + 0x2e66f88]
add cl, byte [eax + ecx*4 + 0x202eeeb]
push ebx
pop ecx
xchg bh, al
pop es
out dx, al
or al, byte [edi + 0x4c]
inc ebx
inc ebp
push ecx
push eax
aaa
jmp 0x4186e6
xchg bh, al
pop es
pop ebx
push ebp
test ch, dh
loope 0x418757
add al, 3
test ch, cl
pop esi
push ecx
add al, 3
add eax, dword [ebp + ecx*8 + 0x304515e]
test ch, al
sub eax, 0x5d03047e
xchg al, al
jmp 0x4186f0
add eax, dword [ebx]
test ch, dh
push esi
retf
add eax, dword [ebx]
pop ebp
xchg al, al
jmp 0x418751