Function at 0x12cac22c
Capabilities:
Encode data using xor

Disassembly:
jmp 0x12cac236
pushal
call 0x12cac23c
pop ebp
sub ebp, 0x10
sub ebp, 0x2cac22c
mov al, byte [esp + 0x28]
cmp al, 1
je 0x12cac260
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x12cac269
mov eax, 0x2cac22c
add eax, ebp
add eax, 0x63
mov ecx, 0x5d1
mov edx, 0xd165b353
xor byte [eax], dl
inc eax
dec ecx
jne 0x12cac280
jmp 0x12cac293
fcomp dword [esi + 0x536fdad8]
push ebx
push ebx
rcl byte [edx + 0x535353ab], cl
push eax
sahf
jmp 0x12cac2fa
mov edx, 0x53535367
fidiv word [edi]
ja 0x12cac28a
fidivr dword [edi + 0x77]
pop es
push cs
fcom st(6)
pop ebx
push ebx
push ebx
push ebx
fadd st(6)
pop edi
push ebx
push ebx
push ebx
fcomp st(6)
inc ebx
push ebx
push ebx
push ebx
xchg edx, eax
mov edx, 0xd0516251
xchg ecx, eax
push edi
sbb bl, byte [esi + edx*8 - 0x59]
lodsb al, byte [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
fdivr dword [edi + 0x77]
fidiv word [edi]
ja 0x12cac35f
xchg ecx, eax
pop edi
push ebx
fcomp st(7)
ja 0x12cac366
push ebx
push ebx
push ebx
cmp edx, dword [ebx + 0x3b5305d5]
aas
push 0x7f525127
ja 0x12cac2fe
aaa
ja 0x12cac2d2
ficomp dword [edi + 0x77]
mov ebx, 0x53535356
mov edx, 0x53535104
fidiv word [edi]
ja 0x12cac2e3
fidivr dword [edi + 0x77]
pop es
push cs
lodsb al, byte [esi]
pop edi
lodsb al, byte [esi]
pop ebx
mov ebx, 0x535353d7
fsubr st(6)
pop ebx
push ebx
push ebx
push ebx
shl byte [edx + 0x13597a3f], cl
shl byte [edx + 0x13597a3f], cl
pushal
lcall 0x28d3, 0xc4f9a1d2
shl byte [ecx + 0x28d3c4f9], cl
mov eax, dword [0x28d3c4f9]
pushal
adc eax, 0x5c1b56bb
xlatb
sar byte [ebx - 0x28a3e4aa], 1
sbb eax, 0x5c535353
fistp dword [ebx]
push ebx
push ebx
push ebx
xor eax, 0xd36a4fd8
test al, 0xbb
pop esp
xlatb
dec ecx
push ebx
push ebx
push ebx
shr dword [eax + 0x42d75cba], cl
push ebx
push ebx
push ebx
xor eax, 0x76aca8d2
pop esp
xlatb
inc esi
push ebx
push ebx
push ebx
adc bh, byte [edx - 0x53535361]
jp 0x12cac3be
push 0x52
rcl byte [edx + 0x57bbd056]
mov edx, 0xacacacee
lodsb al, byte [esi]
lodsb al, byte [esi]
jp 0x12cac3b5
push 0x51
rcl byte [edx + 0x57b9d055]
push edi
sar byte [ebx - 0x530745aa], 1
lodsb al, byte [esi]
lodsb al, byte [esi]
fdivr dword [edi + 0x77]
fidiv word [edi]
ja 0x12cac41c
xchg ecx, eax
pop edi
push ebx
push es
fdivr dword [edi - 0x27f9fbfb]
pop edi
fsubr dword [esi]
pop ebx
scasd eax, dword es:[edi]
loope 0x12cac3aa
fst dword [ebp - 0x2e]
xchg ebp, eax
push edx
push ebx
push ebx
push ebx
fist dword [edx + edx*8 - 0x6c]
push edx
push ebx
push ebx
push ebx
call 0x661e173d
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd05c8141
mov ebp, dword [esp + ebp*4 + 0x5c8151ac]
salc
push esi
push ebx
push ebx
push ebx
fld dword [ebp + 0x15]
inc ecx
sbb dword [eax + edx*8 + 0x39], 0x60535353
xchg ebx, eax
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd05c8141
jns 0x12cac477
fld dword [ebp + 0x15]
inc ecx
sbb dword [eax + edx*8 + 0x79], 0x51535352
push ebx
push ebx
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
pop esp
xlatb
push ebp
push ebx
push ebx
push ebx
fmul dword [eax + edi*2 - 0x24af2675]
push esp
adc al, 0xe8
push ecx
push ebx
push ebx
push ebx
mov edx, 0xacacac23
jmp 0x12cac4d0
sbb dword [ecx + edx*8 - 0x73], 0x5acacac
fsub dword [eax + edi*2 + 0xdf7a0a6]
mov edx, 0xacacac5b
sbb edx, dword [edx + 0x55d95bb3]
adc eax, 0x52eabbd8
push ebx
push ebx
push ebx
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x9a408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd15c8141
lea ebp, [esp + ebp*4 + 0x53abd2ac]
push ebx
push ebx
ror byte [edx - 0x53535354], cl
shr byte [ebx + 0x53535653], cl
ror byte [edx - 0x53535354], cl
shr byte [ebx + 0x535353d3], cl
rol byte [edx + 0x53535353], cl
shr byte [ebx + 0x535353d3], cl
rol byte [edx + 0x53535353], cl
add eax, 0xa378a4d8
mov al, byte [0xc8ba0df7]
lodsd eax, dword [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
fst dword [ebp + 0x15]
pushal
lcall 0x49d7, 0x5c52bb93
push ebx
push ebx
push ebx
rol byte [edx + 0x53535351], cl
fdivr dword [ebx + 0x78a4d805]
mov dword [0xe80df7a0], eax
push edx
push ebx
push ebx
push ebx
mov edx, 0xacacad20
push cs
js 0x12cac5aa
pop ebx
fcom dword [esp + ecx + 0xeb6d80d]
xchg ecx, eax
pop ebx
push ebx
fsubr dword [edi + 0x77]
fidiv word [edi]
ja 0x12cac5e5
fsub dword [edi + 0x77]
fidiv word [edi]
ja 0x12cac5ec
mov edx, 0x53535357
pop ecx
invalid
push ebx
ljmp 0x4be9
xchg ebx, eax
rcr byte [ebx + ecx*2], 0xcc
mov dl, 0xc0
xor cl, byte [edi - 0x34]
mov dl, 0xca
mov cl, 0x4b
dec ebx
dec ebx
dec ebx
inc esp
iretd