Function at 0x13fcc88
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
inc dword [eax]
xor edx, esi
shr edi, 0x18
mov esi, dword [edi*4 + 0x1398220]
and esi, 0xff000000
xor edx, esi
mov esi, dword [ebp - 8]
and esi, eax
movzx eax, byte [esi*4 + 0x1398220]
xor edx, eax
xor edx, dword [ecx + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, edx
shr ecx, 0x18
mov byte [eax + 0xc], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 0xd], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 0xe], cl
mov byte [eax + 0xf], dl
jmp 0x138fc43
pop edi
pop esi
pop ebx
leave
ret
jb 0x138fc69
jae 0x138fc69
out dx, eax
sbb cl, byte [ebx + 0x55]
salc
inc esp
and ebx, esi
mov ch, 0x55
fisttp dword [ebx + 0x2e]
fucom st(7)
pop ebp
fdiv qword [edx + 0x15]
in al, 0xb7
or al, 0x8a
sbb byte [eax + 0x75], ah
sbb dword [edi + edx + 0x12], esi
jne 0x138fbf5
pushal
jne 0x138fc85
je 0x138fc85
adc dh, byte [ebp - 0x7c]
add ebp, dword [ebp + 0x37c4bd2d]
cwde
sub eax, 0x6437c4bd
cwde
sbb dword [ecx - 0x1d8de418], ecx
invalid
bswap eax
jnp 0x138fca1
jp 0x138fca1
mov ah, 0xd3
test eax, 0x7d1a8403
mov word [ebx], cs
jecxz 0x138fcff
not dword [edx - 0xa8bc19f]
or al, 0xff
bswap di
jg 0x138fcbd
jmp 0x138fcbd
popal
js 0x138fcd9
jmp 0x138fcd9
xor eax, 0x6e3fcca5
mov edi, 0x39caaf3f
rcl cl, 0x56
push esi
je 0x138fcf5
jne 0x138fcf5
cld
jle 0x138fccd
mov eax, dword [esi + 0x70e261d7]
pop ss
loop 0x138fc73
or eax, 0x95660393
scasd eax, dword es:[edi]
sbb al, 0xa3
xor edx, dword [esi - 0x5b]
push dword [esp]
jno 0x138fd11
jo 0x138fd11
mov bl, 0x34
stosb byte es:[edi], al
int 0x3c
mov ebx, 0x197ee86a
call 0x2ff138c4
dec ecx
mov eax, 0xeb7bf5d3
mov word [esp + 3], ax
js 0x138fd2d
jns 0x138fd2d
add dword [0x8a0ffc95], 0xf899098c
xchg ebp, eax
cld
jp 0xf9d206b0
or ecx, dword [esi + 0x197ee86a]
call 0x55c12de8
and al, 5
mov byte [esp + 5], dl
jmp 0x138fd49
mov ds, word [ebx + edi*2]
xchg esi, eax
stosb byte es:[edi], al
lcall 0x8e4a, 0x1be88919
or byte [esi + 0x198f08f9], bl
sahf
or al, 0x6b
cmpsb byte [esi], byte es:[edi]
pop dword [esp]
jmp 0x138fd65
pop word [esp]
jmp 0x138fd81
or bh, 0x88
and al, 0x24
mov byte [esp], ah
jno 0x138fd9d
jo 0x138fd9d
mov ecx, 0x53ae2bd8
aam 0x4a
sub eax, 0x73ef5bdc
jecxz 0x138fd1c
jne 0x138fdba
cmc
jbe 0x138fd7f
cmp dword [esi + 0x60], 0xf
lea esp, [edi - 0x32]
push es
add byte [edi], cl
mov word [ecx - 0x32], fs
push es
add dl, bh
pushal
jge 0x13fcc0b
jl 0x13fcc0b
cli
jl 0x138fdbf
jne 0x138fd33
add esi, eax
jne 0x138fd98
invalid
add byte [eax], al
add byte [ecx - 0x27], cl
mov eax, 0x4d5224b
jb 0x138fe2e
imul ebp, eax, 0xfffffe80
sub ebp, dword [ecx - 0x6a54a7c7]
lodsd eax, dword [esi]
sub al, 0xa2
lds esi, [edi]
sbb dword [ebp - 0x2a7899f3], ebx
pushal
not dh
mov bp, 0x49ba
jnp 0x13fcc63
jp 0x13fcc63
popfd
push ds
mov ebx, gs
dec ebp
retf
pop word [esp + 2]
lea esp, [esp + 4]
mov byte [esp + 0xb], dh
push dword [esp + 0xe]
mov byte [esp + 0x15], bh
lea esp, [esp + 0x20]
lea esp, [esp + 4]
jo 0x13fd65e
jno 0x13fd65e
xchg edi, eax
pop ss
xchg edx, esp
adc dword [eax - 0x482fbd3b], ebx
inc edx
lds ebp, [0x648d60ff]
and al, 0x5c
pushal
lea esp, [esp + 0x5c]
push edi
jmp 0x13fd107
popal
push edi
mov dword [esp], esi
lea esp, [esp]
mov word [esp], ax
mov byte [esp + 2], bh
pop word [esp]
push di
mov byte [esp + 1], al
mov dword [esp], esp
mov byte [esp + 1], ch
lea esp, [esp + 4]
push ebp
mov ebp, esp
push ecx
pushal
mov byte [esp + 0x11], al
pop dword [esp + 0xd]
push ebp
mov word [esp + 7], bx
mov dword [esp + 0x1c], ecx
push esp
lea esp, [esp + 3]
push bp
pushfd
push word [esp]
push dword [esp + 5]
lea esp, [esp + 1]
lea esp, [esp + 0x28]
push ebx
pushal
pushal
pop word [esp + 0x3a]
push word [esp + 0x36]
push dword [esp + 0x21]
pop word [esp + 0x2f]
lea esp, [esp + 2]
mov dword [esp + 0x3c], esi
js 0x13fcc42
jns 0x13fcc42
add byte [edi], 0x97
add dword [ebx + ebx*2 + 0x2b], ebx
pop ebp
ror dword [ecx + 0x24648d95], 1
add cl, byte [ebp + 0xf242464]
mov dh, 0x70
pop es
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 9]
mov dword [ecx + 4], edx
movzx edx, byte [eax + 8]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xa]
shl edx, 8
push ax
lea esp, [esp + 2]
push si
mov word [esp], bp
sub esp, 9
mov byte [esp + 6], bh
cmc
push dword [esp + 2]
pushal
pushal
lea esp, [esp + 3]
xor edx, esi
pushfd
mov word [esp], bx
mov byte [esp + 2], ch
pushfd
lea esp, [esp + 5]
push word [esp + 2]
push word [esp + 4]
mov byte [esp + 5], bh
lea esp, [esp + 3]
lea esp, [esp + 0x50]
movzx esi, byte [eax + 0xb]
shl edx, 8
push esp
xor edx, esi
push eax
push ax
push word [esp + 2]
mov byte [esp + 5], dl
lea esp, [esp + 0xc]
movzx esi, byte [eax + 0xd]
mov dword [ecx + 8], edx
movzx edx, byte [eax + 0xc]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xe]
movzx eax, byte [eax + 0xf]
push di
lea esp, [esp + 1]
lea esp, [esp]
lea esp, [esp]
mov byte [esp], ah
mov byte [esp], ch
lea esp, [esp]
mov byte [esp], al
lea esp, [esp]
lea esp, [esp + 1]
shl edx, 8
push edx
lea esp, [esp + 1]
push word [esp]
mov word [esp + 1], dx
lea esp, [esp + 2]
mov word [esp], di
mov word [esp], di
lea esp, [esp + 3]
xor edx, esi
pushfd
shl edx, 8
pushfd
pushfd
lea esp, [esp + 0xc]
xor edx, eax
mov dword [ecx + 0xc], edx
pushal
setnp bh
mov dword [esp + 0x1c], edx
push bp
mov word [esp], cx
lea esp, [esp + 2]
popal
mov eax, edx
shr eax, 0x10
mov esi, 0xff
pushfd
mov word [esp], di
and eax, esi
pushfd
lea esp, [esp + 3]
lea esp, [esp + 1]
lea esp, [esp + 4]
mov eax, dword [eax*4 + 0x1396e20]
xor eax, 0x1000000
mov edi, edx
shr edi, 8
sub esp, 0xa
pop dword [esp]
push dword [esp + 2]
add esp, 9
pushal
sub esp, 0xe
add esp, 0x1e
pop word [esp + 1]
lea esp, [esp + 3]
and edi, esi
pushfd
lea esp, [esp + 0x10]
mov edi, dword [edi*4 + 0x1396e20]
and edi, 0xff0000
mov ebx, dword [ecx + 4]
push ebp
push word [esp + 1]
push eax
mov word [esp + 1], cx
lea esp, [esp + 2]
and eax, 0xff000000
pushfd
mov dword [esp], esi
mov byte [esp + 2], cl
mov byte [esp], bh
lea esp, [esp + 0xc]
xor eax, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [edi*4 + 0x1396e20]
xor eax, edi
mov edi, edx
and edi, esi
mov edi, dword [edi*4 + 0x1396e20]
mov ebp, 0xff00
and edi, ebp
pushal
lea esp, [esp + 0x20]
xor eax, edi
xor eax, dword [ecx]
lea edi, [ecx + 0x10]
xor ebx, eax
mov dword [edi], eax
mov eax, dword [ecx + 8]
push si
sub esp, 0x1c
lea esp, [esp + 0x1b]
push di
push ax
mov byte [esp + 2], ch
lea esp, [esp + 3]
xor eax, ebx
pushfd
pushfd
push dword [esp + 3]
pop dword [esp + 3]
lea esp, [esp + 0xc]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
xor edx, eax
mov dword [ecx + 0x1c], edx
call fcn.0139faf4
mov eax, edi
mov edx, dword [eax + 0xc]
mov ecx, edx
shr ecx, 8
mov edi, edx
and ecx, esi
mov ecx, dword [ecx*4 + 0x1396e20]
push esp
push word [esp + 2]
push edx
pushfd
push word [esp + 3]
pushal
mov byte [esp + 0x1d], al
push word [esp + 5]
lea esp, [esp + 2]
shr edi, 0x10
push edi
lea esp, [esp + 0x34]
and edi, esi
mov edi, dword [edi*4 + 0x1396e20]
clc
sub esp, 0xa
mov word [esp + 2], ax
lea esp, [esp + 4]
lea esp, [esp + 2]
and ecx, 0xff0000
pushal
pop dword [esp + 0x15]
lea esp, [esp + 1]
mov byte [esp + 3], bl
push di
pushal
lea esp, [esp + 1]
lea esp, [esp + 0x40]
and edi, 0xff000000
xor ecx, edi
pushal
bswap si
mov edi, ebx
mov dword [esp], edx
push esi
lea esp, [esp + 4]
popal
mov edi, edx
and edx, esi
mov edx, dword [edx*4 + 0x1396e20]
shr edi, 0x18
movzx edi, byte [edi*4 + 0x1396e20]
push esi
mov byte [esp], bl
stc
xor ecx, edi
pushal
mov word [esp + 0x19], sp
lea esp, [esp + 0xa]
push word [esp + 0xd]
mov word [esp + 6], bp
mov byte [esp + 4], cl
lea esp, [esp + 0x1c]
and edx, ebp
sub esp, 7
pop word [esp + 1]
add esp, 1
mov word [esp], dx
stc
mov word [esp], sp
push word [esp + 3]
add esp, 5
lea esp, [esp + 1]
xor ecx, edx
push eax
mov byte [esp + 2], bh
push cx
lea esp, [esp + 2]
lea esp, [esp + 4]
sub esp, 0x1d
mov byte [esp + 0x1b], dl
lea esp, [esp + 2]
pop dword [esp + 0xf]
mov word [esp + 0x14], sp
push word [esp + 0xf]
pop dword [esp + 0xf]
lea esp, [esp + 1]
lea esp, [esp + 0x14]
xor ecx, dword [ebx]
lea edi, [eax + 0x10]
xor ecx, dword [eax]
add ebx, 4
mov dword [edi], ecx
mov edx, dword [eax + 4]
xor edx, ecx
mov dword [eax + 0x14], edx
mov ecx, dword [eax + 8]
sub esp, 0xa
mov dword [esp + 1], esi
push dword [esp + 6]
push dword [esp + 8]
lea esp, [esp + 2]
xor ecx, edx
push esi
mov word [esp], ax
push word [esp + 3]
mov word [esp + 3], dx
mov byte [esp + 4], bl
mov byte [esp + 2], ah
lea esp, [esp + 5]
push ebx
lea esp, [esp + 1]
lea esp, [esp + 0x14]
mov dword [eax + 0x18], ecx
mov edx, dword [eax + 0xc]
xor edx, ecx
mov dword [eax + 0x1c], edx
cmp ebx, 0x1398648
jne 0x13fcee5
push 0xa
pop eax
pop edi
push edx
bswap esi
push dword [esp]
pop dword [esp]
mov esi, dword [esp + 4]
push bx
pushfd
push word [esp + 3]
mov word [esp + 1], ax
pushfd
lea esp, [esp + 0x14]
pop ebp
pop ebx
ret
jle 0x13fd0ac
jg 0x13fd0db
add dword [0x8a0ffc95], 0x1e7beb62
in eax, dx
insb byte es:[edi], dx
ficomp word [edx + esi*8 - 0x6b]
xor eax, 0xe0811190
adc edi, dword [edx - 0x24]
cmp eax, 1
jle 0x13fd53c
lea ecx, [eax - 1]
mov dword [ebp - 4], ecx
mov ecx, 0xff
jp 0x13fd44b
jmp 0x13fd44b
lea edx, [esi + ebx*4 + 8]
lea ecx, [esi + 8]
mov eax, dword [edx - 8]
mov edi, dword [ecx - 8]
add dword [ebp - 4], 4
ja 0x13fd93d
jbe 0x13fd93d
ljmp 0xb0f3:0x7485e26c
pushal
push eax
push dword [esp]
mov dword [esp + 0xc], ecx
pushfd
pushfd
lea esp, [esp + 0x10]
popal
mov esi, ecx
call fcn.0138fc48
and dword [ebp - 4], 0
mov ebx, eax
shl ebx, 2
mov dword [ebp - 8], eax
test ebx, ebx
jbe 0x13fd08f
ja 0x13fd08f
cmp al, 0xbe
sub al, 0x4b
invalid
and edx, ecx
mov edx, dword [edx*4 + 0x1396e20]
and ebx, ecx
xor edi, dword [ebx*4 + 0x1397620]
and edx, ecx
sub esp, 6
jns 0x13fd763
js 0x13fd763
cmpsb byte [esi], byte es:[edi]
sub edi, dword [ebx - 0x54bfd222]
sub dword [ecx + 0x53152bd8], edi
lea esp, [esp + 1]
lea esp, [esp + 0x34]
xor edi, dword [edx*4 + 0x1397e20]
mov edx, dword [esi + 0xc]
mov dword [esi + 8], edi
mov ebx, dword [ebx*4 + 0x1396e20]
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x1396e20]
and edi, ecx
mov edi, dword [edi*4 + 0x1397220]
and ebx, ecx
xor edi, dword [ebx*4 + 0x1397a20]
movzx ebx, byte [esi + 0xe]
mov ebx, dword [ebx*4 + 0x1396e20]
jno 0x13fd267
jmp 0x13fd267
and edx, ecx
pushal
mov byte [esp + 0xc], ah
sub esp, 0x15
sub esp, 0x11
mov dword [esp + 0x13], ebp
lea esp, [esp + 0x11]
pop dword [esp + 0x1b]
push dword [esp + 0x1c]
mov word [esp + 0x1c], sp
js 0x13fd297
jns 0x13fd297
ret 0xdb4b
push word [esp]
mov dword [esp], esi
lea esp, [esp + 1]
shr edi, 0x18
pushfd
pushfd
push esp
mov byte [esp + 0xa], ch
pop dword [esp + 3]
pop word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 8]
mov edi, dword [edi*4 + 0x1396e20]
and edi, ecx
mov edi, dword [edi*4 + 0x1397220]
and ebx, ecx
xor edi, dword [ebx*4 + 0x1397a20]
movzx ebx, byte [esi + 6]
mov ebx, dword [ebx*4 + 0x1396e20]
and ebx, ecx
sub esp, 5
add esp, 2
cmc
lea esp, [esp + 3]
xor edi, dword [ebx*4 + 0x1397620]
movzx ebx, byte [esi + 9]
and edx, ecx
mov edx, dword [edx*4 + 0x1396e20]
and edx, ecx
xor edi, dword [edx*4 + 0x1397e20]
mov edx, dword [esi + 8]
mov dword [esi + 4], edi
mov ebx, dword [ebx*4 + 0x1396e20]
pushal
mov ch, byte [esp]
setne al
bswap edi
lea esi, [ebp + 0x95]
mov bl, byte [esp]
mov eax, 0x673175fc
not bp
mov bh, 0x88
mov dword [esp], edx
popal
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x1396e20]
and edi, ecx
pushal
push word [esp + 9]
mov word [esp + 0x1b], bx
pushal
push sp
push word [esp + 0x15]
push word [esp + 0xa]
push bp
lea esp, [esp + 2]
lea esp, [esp + 0x48]
mov edi, dword [edi*4 + 0x1397220]
and ebx, ecx
xor edi, dword [ebx*4 + 0x1397a20]
movzx ebx, byte [esi + 0xa]
mov ebx, dword [ebx*4 + 0x1396e20]
and ebx, ecx
xor edi, dword [ebx*4 + 0x1397620]
movzx ebx, byte [esi + 0xd]
and edx, ecx
mov edx, dword [edx*4 + 0x1396e20]
je 0x13fd2f1
jne 0x13fd2f1
mov edx, 0x3acfa83a
push es
std
jl 0x13fd457
jne 0x13fd3cb
xlatb
mov ebp, 0xb60f357d
pop esi
adc dword [ebx + 0x6e209d1c], ecx
cmp dword [ecx], eax
movzx ebx, byte [esi + 0x11]
mov ebx, dword [ebx*4 + 0x1396e20]
add esi, 0x10
mov edx, dword [esi]
mov edi, edx
pushfd
push dword [esp + 2]
push word [esp + 2]
push dword [esp + 3]
pop dword [esp]
lea esp, [esp + 2]
shr edi, 0x18
pushfd
lea esp, [esp + 0xc]
mov edi, dword [edi*4 + 0x1396e20]
and edi, ecx
mov edi, dword [edi*4 + 0x1397220]
sub esp, 0x1f
push dword [esp + 1]
mov word [esp + 7], di
mov dword [esp + 0x12], edi
push word [esp + 3]
lea esp, [esp + 1]
and ebx, ecx
pushfd
push dword [esp + 2]
mov dword [esp + 2], ecx
lea esp, [esp + 0x2c]
push dx
sub esp, 0xd
pop word [esp + 2]
lea esp, [esp + 4]
sub esp, 0x16
lea esp, [esp + 3]
lea esp, [esp + 0x1c]
xor edi, dword [ebx*4 + 0x1397a20]
movzx ebx, byte [esi + 2]
mov ebx, dword [ebx*4 + 0x1396e20]
and ebx, ecx
xor edi, dword [ebx*4 + 0x1397620]
movzx ebx, byte [esi + 5]
and edx, ecx
mov edx, dword [edx*4 + 0x1396e20]
and edx, ecx
xor edi, dword [edx*4 + 0x1397e20]
mov edx, dword [esi + 4]
mov dword [esi], edi
mov ebx, dword [ebx*4 + 0x1396e20]
mov edi, edx
pushfd
mov byte [esp + 1], ah
push dword [esp + 1]
push word [esp]
mov dword [esp + 2], esp
lea esp, [esp + 7]
mov word [esp], bp
js 0x13fd32c
invalid
jns 0x13fd32c
pop esi
fmul dword [esi + 0x29]
fcomp dword [edi + 0x75]
pushal
pop es
bnd jne 0x13fd587
not edi
push bp
lea esp, [esp]
mov di, 0x485f
mov word [esp], bx
lea esp, [esp + 2]
mov edi, dword [esp]
pushal
pop word [esp + 0xf]
pop word [esp + 8]
mov byte [esp + 8], cl
mov dword [esp + 7], ecx
lea esp, [esp + 0x20]
pop esi
lea ebx, [esp - 0x9f]
setno bh
bswap bx
mov bx, word [esp]
mov bh, cl
bswap ebx
lea ebx, [ecx + 0x6c2a]
mov bh, bl
sti
pushal
mov ebx, dword [esp + 0x20]
push esi
lea esp, [esp + 3]
lea esp, [esp]
lea esp, [esp + 1]
lea esp, [esp + 0x24]
leave
ret
pushal
xchg dx, bp
mov cl, byte [esp]
popal
push sp
mov word [esp], cx
mov word [esp], di
push word [esp + 1]
push dword [esp + 3]
push word [esp + 2]
mov word [esp + 4], dx
pushfd
push dword [esp]
lea esp, [esp + 2]
lea esp, [esp + 0x10]
jmp 0x13fcbe9
sub esp, 0xc
cmc
pop word [esp + 0xc]
mov dword [esp + 3], esp
pop dword [esp + 4]
lea esp, [esp + 0xa]
lea esp, [esp + 2]
xor edi, dword [edx*4 + 0x1397e20]
dec dword [ebp - 4]
mov dword [esi + 0xc], edi
jne 0x13fd44b
jmp 0x13fd53c
mov dword [ecx - 8], eax
mov eax, dword [edx - 4]
mov dword [edx - 8], edi
mov edi, dword [ecx - 4]
mov dword [ecx - 4], eax
mov eax, dword [edx]
mov dword [edx - 4], edi
mov edi, dword [ecx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [edx], edi
mov edi, dword [ecx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], edi
sub ebx, 4
sub esp, 5
lea esp, [esp + 2]
push sp
stc
push word [esp + 2]
mov word [esp + 2], bx
sub esp, 0x15
pop word [esp + 5]
push ecx
lea esp, [esp + 2]
add ecx, 0x10
pushfd
pushfd
mov dword [esp], ebp
mov dword [esp + 3], ebp
pushal
push word [esp + 6]
lea esp, [esp + 2]
lea esp, [esp + 0x44]
sub esp, 0x17
mov word [esp + 0xc], sp
lea esp, [esp + 0xa]
add esp, 7
push word [esp + 2]
clc
push dword [esp + 1]
sub edx, 0x10
pushal
pop dword [esp + 0xc]
mov word [esp + 0xf], ax
push cx
mov byte [esp + 8], dh
pop dword [esp + 5]
lea esp, [esp + 7]
lea esp, [esp + 3]
lea esp, [esp + 0x1c]
pushal
pop dword [esp + 2]
mov dword [esp + 5], ecx
pop word [esp + 0x13]
lea esp, [esp + 2]
lea esp, [esp + 0x18]
cmp dword [ebp - 4], ebx
jl 0x13fd0e2
mov eax, dword [ebp - 8]
jmp 0x13fd0ac