Function at 0x103aaebc
Capabilities:
Encode data using xor

Disassembly:
jmp 0x103aaec6
pushal
call 0x103aaecc
pop ebp
sub ebp, 0x10
sub ebp, 0x3aaebc
mov al, byte [esp + 0x28]
cmp al, 1
je 0x103aaef0
popal
xor eax, eax
inc eax
ret 0xc
add cl, ch
add al, 0
add byte [eax], al
inc eax
pushal
idiv byte [eax + 0x3aaebc]
jmp 0x103aaef9
mov eax, 0x3aaebc
add eax, ebp
add eax, 0x63
mov ecx, 0x613
mov edx, 0xd263125e
xor byte [eax], dl
inc eax
dec ecx
jne 0x103aaf10
invalid
jmp 0x103aaf23
cmp edi, dword [ebx]
mov ch, dl
aad 0x93
xchg ebx, eax
aad 0xd7
bound ebx, qword [esi + 0x5e]
pop esi
fistp word [edi + 0x5e5e5ea6]
pop ebp
xchg ebx, eax
out 0x5d, al
pop esi
pop esi
pop esi
in al, 0x76
pop esi
pop esi
pop esi
test eax, 0xd5965dbc
fist word [edx + 0x5e]
pop esi
pop esi
pop ebp
wait
sar dword [edx], cl
jp 0x103aaeef
xlatb
pop edx
jp 0x103aaf24
cmp bh, byte [edx - 0x5e]
xlatb
pop edx
jp 0x103aaf8e
out 0x22, al
push eax
pop esi
pop edi
insb byte es:[edi], dx
jb 0x103aafbf
pop edi
jb 0x103aafde
nop
jae 0x103aaf6b
jno 0x103aaf20
pop ebx
pop esi
pop esi
pop esi
mov bh, 0x6a
pop esi
pop esi
pop esi
sar dword [edx], cl
jp 0x103aaf19
cmp bh, byte [edx - 0x5e]
xlatb
jb 0x103aaff4
or al, byte [ebx]
aad 0xdb
push esi
pop esi
pop esi
pop esi
aad 0xcb
push edx
pop esi
pop esi
pop esi
aad 0xd3
dec esi
pop esi
pop esi
pop esi
lahf
mov bh, 0x5c
outsd dx, dword [esi]
pop esp
fstp qword [edx + ebx*2 - 0x5524aee9]
mov eax, dword [0x72d5a1a1]
jp 0x103aaf74
cmp bh, byte [edx + 0x5a]
pushfd
push edx
pop esi
aad 0xd2
jp 0x103ab005
pop esi
pop esi
pop esi
out 0x22, al
push eax
pop esi
pop edi
insb byte es:[edi], dx
jb 0x103ab016
pop edi
jb 0x103ab035
movzx ebx, byte [ebx + 0x5e]
pop esi
pop esi
mov bh, 0x13
pop esp
pop esi
pop esi
sar dword [edx], cl
jp 0x103aaf6c
xlatb
jb 0x103ab047
sal dword [edx], cl
jp 0x103ab02f
mov eax, dword [0x2ba1522b]
push esi
mov dh, 0x26
pop esi
pop esi
pop esi
aad 0xe3
push esi
pop esi
pop esi
pop esi
fild qword [edi - 0x606b78b6]
fild qword [edi - 0x606b78b6]
insd dword es:[edi], dx
xchg edi, eax
insd dword es:[edi], dx
mov ebp, ds
mov dh, 0x5b
pop ebx
push ss
push ecx
ficom dword [eax]
pop esi
pop esi
pop esi
push ecx
salc
push ss
pop esi
pop esi
pop esi
cmp ch, dl
inc edx
fisub word [di + 0x51b6]
fiadd dword [esi + ebx*2 + 0x5e]
pop esi
fisub word [ebp + 0x4fda51b7]
pop esi
pop esi
pop esi
cmp bh, bl
movsd dword es:[edi], dword [esi]
mov eax, dword [0x4bda517b]
pop esi
pop esi
pop esi
pop ds
mov bh, 0x92
mov eax, dword [0x1277a1a1]
pop edi
fstp qword [edi + 0x5ab6dd5b]
mov bh, 0xe3
pop ebx
fnsave dword [esi - 0x5e1c48a6]
mov eax, dword [0x670a77a1]
pop esp
mov eax, dword [0xa77a1a1]
pop esp
fstp qword [edi + 0x5ab4dd58]
fnsave dword [esi - 0x5e0a48a5]
mov eax, dword [0x7a72d5a1]
sar dword [edx], cl
jp 0x103ab0ab
mov eax, dword [0x72d5a1a1]
jp 0x103ab021
cmp bh, byte [edx + 0x5a]
pushfd
push edx
pop esi
or edx, ebp
mov dl, 8
or dword [ebx], ecx
aad 0x2b
push edx
aad 0x23
push esi
mov byte [0x58d4deec], al
fistp word [eax + 0x5e5e5e5f]
salc
pop ecx
fistp word [ecx + 0x5e5e5e5f]
in eax, 0x5c
pop esi
pop esi
pop esi
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x51], cl
fld qword [esi + 0x5ca1a1a1]
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x51], cl
fnsave dword [esi + ebx*2]
pop esi
pop esi
insd dword es:[edi], dx
sahf
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x51], cl
fnsave dword [edi + ebx*2 + 0x5e]
dec esp
mov word [ecx - 0x23], ss
je 0x103ab110
pop esi
pop esi
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
sahf
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
sahf
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
sahf
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
sahf
push ecx
ficomp dword [eax + 0x5e]
pop esi
pop esi
aad 0x81
jne 0x103ab07f
aam 0x5d
salc
pop ecx
sbb ebp, esp
pop esp
pop esi
pop esi
pop esi
mov bh, 0x2e
mov eax, dword [0x5fe6a1a1]
pop esi
pop esi
pop esi
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
fistp dword [ebx + 0x5e]
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
sahf
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x51], cl
fadd qword [eax + 0x75a1a1a1]
popfd
in eax, 0x5f
pop esi
pop esi
pop esi
push ecx
fld xword [edx + 0x5e]
pop esi
pop esi
out 0x5f, eax
pop esi
pop esi
pop esi
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
xchg edi, eax
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x51], cl
fadd qword [eax + 0x8a1a1a1]
aad 0xa9
jne 0x103ab113
lodsd eax, dword [esi]
cli
add byte [edi - 0x5e5e5eaa], dh
push ss
lahf
mov esi, 0x1858d456
aad 0xb6
out 0x5f, eax
pop esi
pop esi
pop esi
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x4d], cl
xchg edi, eax
pop esp
mov word [ecx - 0x25], ss
pop ebx
pop esi
pop esi
pop esi
aam 0x48
sbb byte [esp + ecx*4 + 0x51], cl
fadd qword [eax - 0x205e5e5f]
cmpsb byte [esi], byte es:[edi]
pop esi
and ebx, dword [esi + 0x5e]
fild word [edi - 0x5e5e5e5f]
fbld tbyte [esi + 0x5e5e5b5e]
fild word [edi - 0x5e5e5e5f]
fbld tbyte [esi + 0x5e5e5ede]
fisttp word [edi + 0x5e5e5e5e]
fbld tbyte [esi + 0x5e5e5ede]
fisttp word [edi + 0x5e5e5e5e]
or ch, dl
test eax, 0xfaadae75
add byte [edi - 0x5e5e5f3b], dh
aam 0x58
sbb byte [ebp - 0x69], ch
sahf
mov dh, 0x5f
push ecx
fiadd dword [esi + ebx*2 + 0x5e]
pop esi
fisttp word [edi + 0x5e5e5e5c]
aad 0xb6
or ch, dl
test eax, 0xfaadae75
add ch, ah
pop edi
pop esi
pop esi
pop esi
mov bh, 0x2d
mov al, byte [0x7503a1a1]
and edx, dword [esi - 0x2b]
cdq
add dword [eax], eax
aad 0xbb
add ebx, dword [esi + edx*2 - 0x48fffea2]
pop edx
pop esi
pop esi
pop esi
pop ss
out 0xf, al
invalid