Function at 0x1312658
Capabilities:
Encode data using xor

Disassembly:
btr cx, 0x13
xor ebx, eax
add ebp, eax
mov dword [esp + ecx*2 - 0x311fccf8], edx
movzx eax, dx
xor ecx, dword [esp + ecx - 0x188fe678]
mov eax, dword [eax + edi - 0x8c41]
shl edx, cl
lea edi, [edx + edi - 0x3ad7187e]
bts edx, edx
jae 0xc4c646
push 0x27acfa98
adc ebp, 3
xor edx, edx
push 0x8bd71af
test ecx, ecx
jmp 0xb92838
lea esp, [esp + 8]
je 0x13a3714
push 0xabb077ad
sar word [esp + 2], 0x28
mov dword [esp], esi
mov esi, 0x30099e9f
movzx esi, byte [eax + esi*2 - 0x60133d3e]
xor esi, edx
and esi, 0xff
call fcn.00bad1ff
movsb byte es:[edi], byte [esi]
nop
pushfd
popfd
dec ebx
add al, dl
outsd dx, dword [esi]
mov ah, 0x3c
mov esp, 0xe203bba5
lcall 0xd50, 0x4b7fea8b
dec ebp
invalid
mov dword [esp + ecx - 0x57510590], ebp
ret 4
jmp 0x1313a5b
mov eax, dword [ebp + ebx*4]
call 0x11d6a8e
mov dword [esp + edx*2 - 0x75ae3104], eax
not byte [esp + edx*2 - 0x75ae3106]
push dword [esp + 8]
popfd
bswap ecx
push edx
mov dword [esp + edx - 0x3ad71886], ebp
ret 0xc
cwde
rol ecx, 2
lea eax, [edx*2 - 0x38c39a5c]
xor ebx, ecx
idiv ax
add ebp, ecx
dec edx
cwde
jl fcn.012d91cb
mov eax, 0xc1a4d7a9
mov ecx, eax
mov edx, dword [esi]
add ax, ax
mov eax, dword [esi + 4]
lea ecx, [ecx*2 - 0x17ccd351]
adc ecx, 0xee2d74ba
shr cx, 0x6b
mov cl, byte [esi + ecx - 0x59aa0002]
jne 0x11d6a89
mov edx, dword [esp + eax]
movsx ecx, dx
add dword [esp + eax], esi
ret
call fcn.013e1bae
mov dword [esp], 0xb8019e8b
sal dword [esp], 0x2c
mov dword [esp], eax
dec ebx
jne 0xc29d94
mov eax, dword [ebp]
push 0x5f31269c
lea esp, [esp + 4]
call eax
mov esi, 0xe68287b9
ror esi, 0x65
mov edx, esi
mov ebp, dword [ebp - 4]
movzx ecx, dl
mov dword [ebp + ecx - 0x3d], eax
push esi
imul si, word [esp + ecx - 0x3b]
mov esi, ebp
call fcn.01368b1c
inc esp
movsx ebx, dx
dec eax
mov eax, dword [esi + edx*4 - 0x54db4e60]
mov cl, byte [esi + edx*2 - 0x2a6da724]
dec ebp
bt ebx, ebx
movzx ebp, dx
inc esp
movzx esi, ch
dec eax
lea esi, [esi + ebp - 0xd390]
dec eax
shld ebx, eax, cl
dec eax
mov dword [esi + edx - 0x1536d39a], ebx
inc cx
btr ebx, ebp
inc esp
movzx esp, dx
inc esp
and ah, ch
dec ebp
lea eax, [eax + edx*2 - 0x2a6da738]
inc ebx
mov ecx, dword [eax + esi - 0x9a]
dec esp
lea edi, [edx*4 + 0x7a989322]
inc ecx
xor ecx, ecx
inc ecx
movsx ebx, si
rol ebx, 0xc1
dec esi
lea ebp, [ebx*8 - 0xce998e8]
xor ecx, 0x24b2dba9
inc ecx
rol ah, 0x22
dec ecx
shl ebp, 0xcf
dec ecx
xor ecx, 0xc798e8bd
dec edx
lea edi, [ebx*8 - 0x7c478446]
neg ecx
inc ecx
shr ch, 0xe2
inc ecx
push ecx
inc dl
inc ecx
sub dl, ch
xor dword [esp + edx*4 - 0x54db4e6c], ecx
jmp 0xc276dc
xor cl, dh
movzx edx, byte [esi]
je 0x13155ac
xor cl, cl
dec ecx
adc esi, 1
sub ecx, ecx
btr ecx, 0x24
xor dl, bl
btc cx, 0xa1
bts ecx, ecx
inc dl
lea ecx, [ecx - 0x74f59d41]
neg dl
sub dl, 0x1e
ror cx, 0x4f
shr dword [esp + 2], cl
lea ecx, [ecx + ecx*8 - 0x4061495e]
xor dl, 0x90
ror dword [esp + 4], cl
add ecx, ecx
sbb dl, 0xb2
xor bl, dl
sub word [esp + ecx - 0x45ff50f7], cx
lea edx, [esp + edx + 8]
not cx
sbb ecx, 0x8c9c0d9a
inc dword [esp + 3]
mov byte [edx], al
imul ecx, ecx
jb 0xbab1c2
push 0xa00de52e
inc dword [esp]
sub esi, 4
mov eax, dword [esi]
xor eax, ebx
push 0x16a8b089
push 0xefa62a1e
add eax, 0x579487a2
mov edx, 0x51054420
mov ecx, 0xb2029623
ror eax, 1
inc edx
imul edx, edx
not eax
setae cl
bswap eax
add ecx, 0x668d5088
jp 0xb42c72
jmp 0x126e3ef
pop eax
pop ecx
jmp ebp
xor eax, ebx
rol dword [esp + 5], 0xcf
jae 0x12ae529
lea ecx, [edx + edx*2 + 0x129a4b2b]
xor eax, 0xe0b14ac
pop ecx
add ecx, 0x70b03
jmp ecx
movsx eax, bx
inc ecx
pop ecx
dec eax
cwde
dec eax
arpl cx, cx
dec esp
add edx, ecx
inc ecx
jmp edx
pop ecx
mov word [edi + ecx*2 - 0x3a11fa52], dx
movzx edx, ax
mov ecx, dword [ecx + esi - 0x1d08fd29]
rol eax, 0xcd
xor dl, al
lea esi, [edx + esi - 0x3c7d]
sal dx, 0x6a
btc eax, eax
add dl, al
xor ecx, ebx
sub ecx, 0x9ebc6501
shr eax, 0x3c
neg ax
setge al
ror ecx, 3
neg eax
dec ecx
sub eax, edx
cdq
setb dl
xor ecx, 0xcc29ff8f
jmp 0xcbb55e
mov ecx, 0x7e14f6ad
movzx eax, cx
xchg cx, ax
not edx
call fcn.00c29b32
push 0xbe33a38b
mov eax, dword [edi]
add edi, 4
sar dword [esp], 0xed
xor eax, ebx
ror eax, 3
pop ecx
or cx, 0xd606
movzx edx, cl
bswap eax
dec eax
and dl, 0x84
inc dl
ror eax, 2
not edx
xor eax, 0x7b2638bd
xchg ecx, edx
dec edx
bt ecx, edx
xor ebx, eax
and ecx, edx
adc ebp, eax
shr cx, 0x49
mov ax, word [esi + ecx*8 + 0x17fc28]
push ecx
and cl, dl
jle fcn.00aac43d
mov dx, word [esi + ecx + 0x2ffe8]
xchg byte [esp + ecx + 0x2ffe8], cl
add word [esp + ecx*4 + 0xbfc0d], 0x6819
and cx, cx
mov cl, byte [ecx + esi + 0x2ff07]
not dword [esp]
push 0x1b0740a2
adc esi, 4
shrd ax, dx, cl
mov ecx, dword [esp + 1]
mov word [esi], ax
jmp 0x1301e3f