Function at 0xa37dcb
Capabilities:
Encode data using xor
Encrypt data using aes

Disassembly:
pushal
bswap edx
popal
push esi
push cx
lea esp, [esp + 1]
mov byte [esp + 1], dl
mov dword [esp], eax
jmp 0xa5c0f8
lea esp, [esp + 8]
lea esp, [esp + 4]
jmp 0xa5c15a
pop word [esp]
pushfd
mov dword [esp], edi
mov word [esp + 1], di
push cx
lea esp, [esp + 1]
jmp 0xa5c0db
pushal
xchg di, bx
popal
push dx
mov byte [esp], bl
push word [esp + 1]
push word [esp + 1]
mov byte [esp + 1], ch
jmp 0xa5c1bb
pop word [esp]
push word [esp + 3]
push dword [esp + 4]
lea esp, [esp + 2]
lea esp, [esp + 8]
push ebx
push ebp
push esi
push edx
push esi
jmp 0xa5c234
shl edx, 8
movzx esi, byte [eax + 1]
push ax
lea esp, [esp + 1]
pushal
sub esp, 0x16
push word [esp + 0x2e]
pop dword [esp + 0x19]
push eax
stc
lea esp, [esp + 1]
xor edx, esi
push esi
mov word [esp], bx
jmp 0xa5c30a
mov byte [esp + 5], dl
mov word [esp], dx
mov dword [esp + 4], edi
pushfd
mov byte [esp], dl
mov word [esp], sp
pop word [esp]
push word [esp]
lea esp, [esp + 8]
movzx edx, byte [eax]
jmp 0xa5c1fe
shl edx, 8
stc
xor edx, esi
push edi
mov byte [esp + 2], bh
mov dword [esp], edi
jmp 0xa5c609
push dword [esp + 2]
mov word [esp + 3], di
pop dword [esp]
mov byte [esp + 1], cl
push word [esp + 2]
mov dword [esp], ecx
lea esp, [esp + 2]
lea esp, [esp + 0x3c]
movzx esi, byte [eax + 2]
shl edx, 8
push esi
pushfd
clc
sub esp, 8
mov word [esp + 0xa], si
mov byte [esp + 6], dl
xor edx, esi
pushfd
mov dword [esp], ecx
pushal
pop dword [esp + 0x1a]
pop dword [esp + 0xd]
lea esp, [esp + 0x2c]
movzx esi, byte [eax + 3]
pushal
lea esp, [esp + 0x1b]
mov byte [esp + 2], bh
push word [esp]
mov dword [esp], ebp
push dword [esp + 3]
mov byte [esp + 7], ah
lea esp, [esp + 3]
shl edx, 8
push ax
lea esp, [esp + 2]
lea esp, [esp + 8]
stc
pushal
mov word [esp + 3], bp
push word [esp]
sub esp, 8
lea esp, [esp + 2]
xor edx, esi
pushal
pop dword [esp + 0x16]
pop dword [esp + 7]
lea esp, [esp + 0x40]
movzx esi, byte [eax + 5]
mov dword [ecx], edx
movzx edx, byte [eax + 4]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 6]
pushfd
lea esp, [esp + 3]
mov byte [esp], bl
mov byte [esp], dl
lea esp, [esp]
pushfd
lea esp, [esp + 1]
shl edx, 8
lea esp, [esp + 4]
sub esp, 0xe
lea esp, [esp + 0xa]
pop word [esp]
mov byte [esp], dl
mov word [esp], ax
mov word [esp], bx
sub esp, 0x12
mov byte [esp + 1], dh
lea esp, [esp + 0xc]
xor edx, esi
pushal
lea esp, [esp + 0x19]
pop word [esp + 1]
push dword [esp + 1]
mov word [esp + 6], bx
push dword [esp]
pop dword [esp + 3]
pop word [esp + 1]
mov byte [esp + 5], dh
lea esp, [esp + 3]
lea esp, [esp + 0xc]
movzx esi, byte [eax + 7]
shl edx, 8
sub esp, 0xf
clc
pop word [esp + 9]
mov word [esp + 9], bp
add esp, 2
add esp, 2
sub esp, 4
push word [esp + 1]
lea esp, [esp + 3]
xor edx, esi
push bp
mov word [esp], si
mov byte [esp], cl
push bx
lea esp, [esp + 0x10]
movzx esi, byte [eax + 9]
mov dword [ecx + 4], edx
movzx edx, byte [eax + 8]
jmp 0xa5c2ed
mov byte [esp], dh
lea esp, [esp + 2]
xor edx, esi
movzx esi, byte [eax + 0xe]
movzx eax, byte [eax + 0xf]
pushfd
shl edx, 8
push edx
push ecx
lea esp, [esp + 4]
pushal
mov byte [esp + 5], al
pushal
mov word [esp + 0x15], sp
mov byte [esp + 0x15], bl
lea esp, [esp + 0x28]
lea esp, [esp + 0x20]
xor edx, esi
pushal
pushfd
shl edx, 8
push cx
lea esp, [esp + 2]
lea esp, [esp + 0x24]
stc
clc
stc
stc
sub esp, 8
mov byte [esp], al
pop dword [esp]
xor edx, eax
lea esp, [esp + 4]
push ebp
mov ebp, ecx
lea ebp, [ebp + 0xc]
mov dword [ebp], edx
pop ebp
mov eax, edx
pushal
push ebx
mov dword [esp + 0xb], esp
mov dword [esp + 0x10], ebp
lea esp, [esp + 0xa]
pop word [esp + 3]
shr eax, 0x10
pushal
push edi
lea esp, [esp + 0x3c]
mov esi, 0xff
and eax, esi
mov eax, dword [eax*4 + 0xa41d14]
xor eax, 0x1000000
mov edi, edx
push ebp
lea esp, [esp]
mov word [esp + 1], dx
lea esp, [esp]
shr edi, 8
push eax
pushal
mov byte [esp + 0x12], ah
push dword [esp + 0x1c]
pushfd
mov byte [esp + 0x23], ah
lea esp, [esp + 0x30]
cmc
stc
sub esp, 0xb
add esp, 0xa
sub esp, 7
mov word [esp + 3], sp
push word [esp + 1]
sub esp, 0x19
pop word [esp + 0xc]
lea esp, [esp + 1]
and edi, esi
pushal
mov dword [esp + 0x1a], ecx
pop dword [esp + 2]
pop dword [esp + 0xd]
lea esp, [esp + 0x38]
mov edi, dword [edi*4 + 0xa41d14]
and edi, 0xff0000
mov ebx, dword [ecx + 4]
and eax, 0xff000000
xor eax, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [edi*4 + 0xa41d14]
xor eax, edi
mov edi, edx
and edi, esi
mov edi, dword [edi*4 + 0xa41d14]
mov ebp, 0xff00
and edi, ebp
xor eax, edi
xor eax, dword [ecx]
lea edi, [ecx + 0x10]
xor ebx, eax
mov dword [edi], eax
mov eax, dword [ecx + 8]
xor eax, ebx
pushal
mov word [esp + 6], si
push dword [esp + 0x1b]
pop word [esp + 0x10]
pop word [esp + 3]
mov byte [esp + 0xf], dl
lea esp, [esp + 0x20]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
cmc
sub esp, 0x1b
push dx
lea esp, [esp + 0x17]
jmp 0xa5c709
mov dword [esp], ebp
lea esp, [esp + 4]
movzx esi, byte [eax + 0xa]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xb]
shl edx, 8
pushfd
pop word [esp]
lea esp, [esp + 2]
xor edx, esi
movzx esi, byte [eax + 0xd]
mov dword [ecx + 8], edx
movzx edx, byte [eax + 0xc]
push ax
lea esp, [esp]
lea esp, [esp]
mov word [esp], sp
mov word [esp], dx
lea esp, [esp]
lea esp, [esp]
mov word [esp], cx
lea esp, [esp + 2]
shl edx, 8
push cx
jmp 0xa5c498
push dword [esp + 1]
mov byte [esp + 1], cl
push ax
mov byte [esp + 0xa], cl
pop dword [esp + 2]
xor edx, eax
pushfd
pushfd
push edx
pop dword [esp]
mov byte [esp + 3], cl
pop dword [esp]
push dword [esp + 2]
pushal
lea esp, [esp + 0x23]
lea esp, [esp + 1]
lea esp, [esp + 0xc]
push eax
pushal
lea edi, [eax - 0x1ed]
xchg al, dl
xchg ah, dh
mov ebp, dword [esp]
not ah
mov edi, eax
mov edi, 0xb05203
mov edi, eax
not ah
mov dword [esp + 0x1c], ecx
pushal
push word [esp]
mov dword [esp + 0x14], ebp
mov word [esp + 0x15], dx
push word [esp + 0x17]
push si
pop dword [esp + 1]
push dword [esp + 0x1a]
lea esp, [esp + 2]
lea esp, [esp + 0x24]
popal
lea eax, [eax + 0x1c]
mov dword [eax], edx
pop eax
call fcn.00a4df8e
pushal
mov dl, dh
mov eax, 0x40b5607c
lea ecx, [ebx - 0x8f]
mov si, word [esp]
xchg bh, dh
lea ecx, [edi + ebp]
mov dword [esp + 0x1c], edi
pushfd
push word [esp + 1]
lea esp, [esp]
mov word [esp + 1], di
pop word [esp + 1]
lea esp, [esp + 4]
popal
mov edx, dword [eax + 0xc]
mov ecx, edx
shr ecx, 8
mov edi, edx
and ecx, esi
push eax
mov eax, ecx
lea eax, [eax*4]
lea eax, [eax + 0xa41d14]
mov ecx, dword [eax]
pop eax
shr edi, 0x10
and edi, esi
push edx
mov edx, edi
lea edx, [edx*4]
lea edx, [edx + 0xa41d14]
mov edi, dword [edx]
pop edx
and ecx, 0xff0000
and edi, 0xff000000
cmc
cmc
sub esp, 0x1f
lea esp, [esp + 3]
xor ecx, edi
pushfd
push dword [esp + 1]
pop word [esp + 3]
mov word [esp + 1], sp
mov dword [esp], esi
lea esp, [esp + 2]
push word [esp + 3]
push word [esp + 4]
pop dword [esp]
lea esp, [esp + 0x20]
mov edi, edx
push ebx
and edx, esi
push sp
mov word [esp], bp
push edi
mov dword [esp], edi
push dword [esp]
lea esp, [esp + 8]
lea esp, [esp + 1]
lea esp, [esp + 1]
lea esp, [esp + 4]
push edi
mov edi, edx
lea edi, [edi*4]
lea edi, [edi + 0xa41d14]
mov edx, dword [edi]
pop edi
shr edi, 0x18
movzx edi, byte [edi*4 + 0xa41d14]
pushal
mov byte [esp + 0x1e], cl
add esp, 0x15
lea esp, [esp + 3]
xor ecx, edi
push ebx
mov dword [esp], eax
lea esp, [esp + 1]
mov byte [esp + 1], ch
lea esp, [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 8]
and edx, ebp
xor ecx, edx
xor ecx, dword [ebx]
lea edi, [eax + 0x10]
xor ecx, dword [eax]
add ebx, 4
push edx
pushal
mov cl, bh
xchg bx, cx
mov dl, bl
pushfd
mov dword [esp + 0x18], edi
pushal
push dword [esp + 0xc]
mov word [esp + 0xb], di
lea esp, [esp + 0x1c]
lea esp, [esp + 0xc]
popal
mov dword [edx], ecx
pop edx
push ebp
mov ebp, eax
lea ebp, [ebp + 4]
mov edx, dword [ebp]
pop ebp
xor edx, ecx
push edi
mov edi, eax
lea edi, [edi + 0x14]
mov dword [edi], edx
pop edi
push edx
mov edx, eax
lea edx, [edx + 8]
mov ecx, dword [edx]
pop edx
xor ecx, edx
mov dword [eax + 0x18], ecx
push ecx
mov ecx, eax
lea ecx, [ecx + 0xc]
mov edx, dword [ecx]
pop ecx
xor edx, ecx
mov dword [eax + 0x1c], edx
cmp ebx, 0xa4353c
jne 0xa5c78d
push 0xa
mov al, bh
mov al, bl
mov eax, dword [esp]
lea esp, [esp + 4]
lea edi, [esp + ebx]
lea edi, [edi + 0x4b]
not di
mov edi, dword [esp]
pushal
pop word [esp + 0x15]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
pop esi
pop ebp
pop ebx
ret