Function at 0x10661607
Capabilities:
Encrypt data using aes mixcolumns step

Disassembly:
btc edx, edx
bswap ecx
lea ecx, [edx + ecx - 0x74ee8030]
jae 0x104fd04e
jb 0x10535730
inc ecx
mov ecx, edx
inc ecx
inc esp
inc ecx
neg esp
inc ecx
bswap esp
jmp 0x1052aa2c
ror dl, 1
or al, 0x2a
add eax, eax
or eax, 0xd2dc701
sbb dl, 0x36
xor dl, 0xf
inc dl
xor bl, dl
add edx, esp
cwde
inc al
movzx ax, byte [ecx + edx - 0x75b1fa6d]
lea esi, [esi + ecx - 0x75b1fa6f]
mov word [esi + ecx - 0x75b1fa6d], ax
setl cl
shl ecx, 0x74
mov ecx, dword [edi]
mov edx, 0x2eb6c213
movzx eax, dx
lea edi, [edi + eax*4 - 0x30848]
xor ecx, ebx
xchg dx, ax
btc edx, eax
inc edx
lea ecx, [ecx + edx*4 - 0x2fe2ab14]
ror ecx, 2
not ecx
shl eax, 0xa1
dec al
not al
ror ecx, 1
jmp 0x104e0872
dec ecx
xor edx, 0xc48a0d09
xor ecx, 0xba9cdf90
shl dword [esp + 3], 0x85
adc ecx, 0x2d85ee00
pop eax
add dx, word [esp]
xor ebx, ecx
add al, al
sal dword [esp], 0xe6
jns 0x105b0d17
mov eax, 0xcd1d26a8
movzx edx, byte [edi]
dec al
lea ecx, [eax + eax*8 + 0x3fab9e8f]
lea edi, [edi + ecx - 0x75b1fa6d]
xor dl, bl
dec cx
and ecx, ecx
jge 0x104f2131
call fcn.10544709
dec eax
adc edx, ebx
dec edx
lea ebx, [ebx + eax*2 - 0x100006e]
inc sp
btc eax, esp
inc cx
sar edi, 0x21
inc dx
mov dword [ebx + eax*4 - 0x20000d8], edx
inc ecx
dec al
dec ecx
lea ebp, [esp + eax - 0x2d544d66]
inc cx
shr edx, 0xc6
jns fcn.104f078d
pop eax
inc cx
sar cl, 0x61
mov word [esi + 4], dx
mov dword [esi + 4], edx
sar ecx, 0x35
mov dword [esi], eax
jb fcn.104d9290
sbb byte [esi - 0x580003ad], 0xcd
invalid
cmpsd dword [esi], dword es:[edi]
int 0xdf
clc
js 0x10513eed
xchg ecx, eax
nop
mov al, 0xb8
dec ebp
jp 0x10513ee2
rcl byte [ecx + ebx]
test al, 0x5f
jecxz 0x10513eb3
adc dword [esi], ecx
out 0xcf, al
sbb bh, ch
out dx, al
js 0x10513f50
xchg edx, eax
jge 0x10513f0c
fisubr word [edi]
push eax
and eax, dword [eax - 0x31]
lodsd eax, dword [esi]
dec edi
add byte [eax - 0x4959d170], ah
test eax, 0xa619570
add dword [ebp + 0x25], eax
mov ebp, 0xf9814
retf 0x562
outsd dx, dword [esi]
dec esi
jg 0x10513fb3
sbb bh, byte [edx + 0x37308a68]
dec esi
push 0x4e37308a
ror dword [ebx + 0x2a], cl
aas
wait
xchg ebx, eax
inc eax
adc dword [0xa51f897d], 0x94420872
mov dword [edi], ebx
movsd dword es:[edi], dword [esi]
jb 0x10513f5d
inc edx
xchg esp, eax
jl 0x10513f5d
push ebx
fchs
das
pop ds
sub dword [ebp - 0x2ee36a74], 0x8daf20dc
and dl, bh
imul byte [ebx]
lea esi, [eax]
js 0x10513f3b
js 0x10513f73
sub byte [edx - 0x62], bl
mov ebp, 0x972eec42
adc eax, 0xb03b8244
mov ah, 0x56
push eax
jle 0x10513f41
mov esp, 0xe720f733
pop esi
sub byte [ebx + 9], ah
invalid
adc dword [ebp + 0x1c], 0x29
mov ebp, 0x7c7e7546
mov ch, 0xd6
fistp dword [eax - 0x1f]
and dword [ebx], ebp
fmul st(7)
pop ecx
js 0x10514013
push 0x2b
aas
jne 0x10513ff8
mov bh, 0x37
invalid
or dh, byte [eax - 0x12]
inc edx
in eax, dx
bound esp, qword [eax + esi*4]
inc eax
imul ecx, dword [ecx - 0x7e16256b], 0x17
popal
iretd
cmp al, 0x58
inc ecx
push esp
popal
ror edi, 1
invalid
ror ecx, 1
not ax
or edx, eax
btc edx, 0x1e
xor ebx, ecx
xor edx, edx
adc ebp, ecx
movzx ecx, dx
dec eax
jp fcn.104d9290
adc ebp, ecx
pop ecx
jmp ebp
inc ecx
pop esp
dec edx
lea ebx, [ebx + eax*4 - 0x6a]
inc dx
mov dword [ebx + eax*4 - 0x68], edx
dec eax
cdq
push edx
ror ax, 0xe5
pop edx
inc ecx
pop edi
inc ecx
pop ebp
inc ecx
pop eax
jp fcn.104f078d
mul ecx
mov ecx, 0xdb36bdab
or cl, ch
mov dword [esi], edx
mov dword [esi + 4], eax
movzx edx, cl
and edx, edx
mov ecx, dword [edx + edi - 0xbf]
xadd dl, dh
btc dx, 0xb1
mov dword [esp + edx*2 - 0x17f7a], edx
lea edi, [edx + edi - 0xbfb9]
movsx eax, dx
dec word [esp + edx*4 - 0x2fef3]
push eax
xor ecx, ebx
and byte [esp + edx - 0xbfbc], ah
bswap ecx
bt edx, 0x21
jae 0x10513e4e