Function at 0x5387bd
Capabilities:
Encrypt data using aes

Disassembly:
pushal
mov ecx, dword [esp]
popal
push bx
push word [esp]
mov word [esp + 1], ax
pop word [esp]
mov word [esp], bp
jmp 0x55c7b7
movzx esi, byte [eax + 1]
push edx
sub esp, 0x1a
push dword [esp + 0x19]
sub esp, 1
jmp 0x55c7f6
pushal
bswap ecx
popal
pushal
lea esp, [esp + 5]
mov byte [esp + 0x12], cl
push word [esp + 9]
pop dword [esp + 0x10]
lea esp, [esp + 1]
mov word [esp + 9], bp
mov dword [esp + 3], esp
mov dword [esp], edi
mov word [esp + 0x12], sp
pop word [esp + 1]
pushfd
lea esp, [esp + 2]
lea esp, [esp + 0x18]
push edi
mov dword [esp], esp
push dword [esp + 1]
pop dword [esp]
mov dword [esp], ebx
pushfd
mov byte [esp], dl
mov word [esp], cx
mov dword [esp], edi
mov dword [esp], esi
pop word [esp]
lea esp, [esp]
lea esp, [esp + 2]
push ebp
push esi
push edi
movzx edx, byte [eax]
shl edx, 8
jmp 0x55c71f
lea esp, [esp]
mov byte [esp], cl
mov word [esp], bx
push edx
mov dword [esp], esp
lea esp, [esp + 3]
push eax
push word [esp + 4]
push word [esp + 8]
lea esp, [esp + 3]
lea esp, [esp + 8]
lea esp, [esp + 4]
jmp 0x55c73d
push dword [esp + 0x21]
mov byte [esp + 8], dh
lea esp, [esp + 3]
xor edx, esi
pushfd
mov byte [esp], cl
mov dword [esp], esi
push dx
pop word [esp]
push dword [esp + 3]
pop dword [esp]
lea esp, [esp + 0x28]
movzx esi, byte [eax + 2]
pushal
mov dword [esp + 3], ecx
pushal
mov dword [esp + 6], esp
push word [esp + 0x33]
jmp 0x55ca81
push si
mov byte [esp], al
push ebp
pop word [esp]
lea esp, [esp + 8]
push esi
jmp 0x55ce04
mov dword [esi], edx
pop esi
mov eax, edx
shr eax, 0x10
mov esi, 0xff
push dx
push word [esp]
and eax, esi
jmp 0x55ca3d
mov dword [esp + 2], esp
push dword [esp + 0x16]
pop dword [esp + 0x32]
pop dword [esp + 0x24]
lea esp, [esp + 2]
shl edx, 8
push si
mov word [esp], bx
lea esp, [esp + 2]
lea esp, [esp + 0x3c]
sub esp, 7
add esp, 4
lea esp, [esp]
lea esp, [esp + 3]
xor edx, esi
pushfd
mov byte [esp + 1], al
lea esp, [esp]
push word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 4]
movzx esi, byte [eax + 3]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 5]
mov dword [ecx], edx
movzx edx, byte [eax + 4]
pushfd
push word [esp + 2]
mov word [esp + 3], sp
mov word [esp + 3], ax
lea esp, [esp]
mov dword [esp], edi
pop word [esp]
shl edx, 8
push edx
push dword [esp + 2]
mov dword [esp], edx
mov word [esp + 2], di
push dword [esp]
pop dword [esp + 2]
pop dword [esp]
lea esp, [esp + 8]
xor edx, esi
movzx esi, byte [eax + 6]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 7]
push bp
pushal
mov byte [esp + 9], al
pushfd
lea esp, [esp + 0x11]
push word [esp + 0xd]
pop word [esp + 9]
lea esp, [esp + 1]
shl edx, 8
push cx
mov byte [esp], ah
pushal
mov byte [esp + 3], ah
pop dword [esp + 0x10]
mov dword [esp + 6], ebp
mov byte [esp + 5], bh
mov dword [esp + 0xb], esi
push word [esp + 5]
lea esp, [esp + 0x34]
sub esp, 2
push dx
mov dword [esp], edi
push dword [esp + 3]
xor edx, esi
push sp
push word [esp]
mov byte [esp], dh
mov byte [esp + 1], cl
lea esp, [esp + 0xc]
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
xor edx, esi
movzx esi, byte [eax + 0xb]
shl edx, 8
xor edx, esi
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]
pushfd
shl edx, 8
lea esp, [esp + 4]
xor edx, esi
shl edx, 8
xor edx, eax
push esi
mov esi, ecx
lea esi, [esi + 0xc]
jmp 0x55ca5a
mov eax, dword [esi]
pop esi
xor eax, 0x1000000
mov edi, edx
shr edi, 8
jmp 0x55d03c
mov esi, eax
lea esi, [esi*4]
lea esi, [esi + 0x54270c]
jmp 0x55cde5
and edi, esi
mov edi, dword [edi*4 + 0x54270c]
and edi, 0xff0000
mov ebx, dword [ecx + 4]
and eax, 0xff000000
xor eax, edi
mov edi, edx
shr edi, 0x18
pushfd
lea esp, [esp + 3]
mov byte [esp], cl
mov byte [esp], ah
pushal
push dword [esp + 7]
lea esp, [esp + 1]
lea esp, [esp + 0x24]
movzx edi, byte [edi*4 + 0x54270c]
xor eax, edi
pushal
mov ch, byte [esp]
mov di, word [esp]
lea ebx, [ecx + esi]
xchg ecx, esi
mov ah, al
mov si, cx
mov eax, 0x725432be
xchg si, ax
mov dword [esp], edx
popal
and edi, esi
mov edi, dword [edi*4 + 0x54270c]
jmp 0x55dae4
mov ebp, 0xff00
and edi, ebp
cmc
push esp
pop word [esp]
push word [esp + 1]
pop word [esp]
lea esp, [esp + 2]
xor eax, edi
pushal
push word [esp + 8]
lea esp, [esp + 3]
lea esp, [esp + 0x1b]
push eax
mov byte [esp + 4], bh
lea esp, [esp + 3]
lea esp, [esp + 1]
lea esp, [esp + 4]
xor eax, dword [ecx]
lea edi, [ecx + 0x10]
pushal
pop dword [esp + 4]
pop dword [esp + 4]
xor ebx, eax
pushfd
mov byte [esp + 2], bh
lea esp, [esp + 0x1c]
push edx
mov edx, edi
mov dword [edx], eax
pop edx
mov eax, dword [ecx + 8]
cmc
cmc
push ebx
clc
sub esp, 8
cmc
xor eax, ebx
push cx
lea esp, [esp + 2]
lea esp, [esp + 0xc]
mov dword [ecx + 0x14], ebx
push edi
pushal
not dh
bswap edx
lea ebx, [edi*4]
mov dword [esp], ecx
push bx
lea esp, [esp + 1]
mov byte [esp], dh
mov byte [esp], dh
pushfd
lea esp, [esp + 1]
lea esp, [esp + 4]
popal
lea edi, [edi + 0x18]
mov dword [edi], eax
pop edi
xor edx, eax
push ebp
pushal
bswap ax
mov edx, 0x6b861739
mov dx, 0x1473
setnp dh
not bp
mov dword [esp + 8], ecx
push ecx
push dword [esp + 2]
mov dword [esp], esi
mov dword [esp + 1], edi
pop dword [esp]
lea esp, [esp + 4]
popal
lea ebp, [ebp + 0x1c]
mov dword [ebp], edx
pop ebp
call fcn.0054f8c4
pushal
xchg ecx, edx
mov bx, 0x9e5
mov dword [esp + 0x1c], edi
pushfd
mov word [esp], cx
push word [esp + 2]
mov word [esp + 3], sp
pop word [esp]
lea esp, [esp + 1]
mov word [esp], ax
lea esp, [esp + 3]
popal
push esi
mov esi, eax
lea esi, [esi + 0xc]
mov edx, dword [esi]
pop esi
mov ecx, edx
shr ecx, 8
mov edi, edx
and ecx, esi
mov ecx, dword [ecx*4 + 0x54270c]
shr edi, 0x10
and edi, esi
mov edi, dword [edi*4 + 0x54270c]
and ecx, 0xff0000
and edi, 0xff000000
xor ecx, edi
mov edi, edx
and edx, esi
mov edx, dword [edx*4 + 0x54270c]
pushfd
mov word [esp + 1], bp
push dword [esp + 1]
pop dword [esp]
mov word [esp + 1], cx
mov word [esp], ax
shr edi, 0x18
pushfd
pushal
mov dword [esp + 0x1b], esp
mov word [esp + 0x1e], sp
mov dword [esp + 8], ebx
lea esp, [esp + 0x28]
movzx edi, byte [edi*4 + 0x54270c]
xor ecx, edi
sub esp, 0x16
mov word [esp + 0xa], cx
pushfd
push dword [esp + 0x17]
pop dword [esp + 0xc]
add esp, 0x12
mov dword [esp], edi
and edx, ebp
pushfd
lea esp, [esp + 2]
mov byte [esp], ah
push word [esp]
push dword [esp + 1]
mov word [esp + 5], dx
lea esp, [esp + 0x10]
xor ecx, edx
xor ecx, dword [ebx]
lea edi, [eax + 0x10]
xor ecx, dword [eax]
add ebx, 4
mov dword [edi], ecx
mov edx, dword [eax + 4]
stc
sub esp, 0x17
lea esp, [esp + 4]
lea esp, [esp]
lea esp, [esp + 4]
add esp, 1
sub esp, 0xd
pop dword [esp + 9]
lea esp, [esp + 3]
xor edx, ecx
push di
mov byte [esp], ch
push bp
mov dword [esp], eax
push word [esp + 1]
push word [esp + 2]
lea esp, [esp + 4]
lea esp, [esp + 0x18]
mov dword [eax + 0x14], edx
mov ecx, dword [eax + 8]
xor ecx, edx
mov dword [eax + 0x18], ecx
push esi
pushal
mov cl, dl
lea edi, [ebp + 0x54]
xchg bh, ch
bswap ebx
xchg ebx, edi
mov di, word [esp]
mov bl, 0xcd
mov cx, ax
mov dword [esp + 4], eax
push edx
push eax
lea esp, [esp + 7]
mov byte [esp], ch
lea esp, [esp + 1]
popal
lea esi, [esi + 0xc]
mov edx, dword [esi]
pop esi
push bp
mov byte [esp], bh
mov byte [esp], cl
sub esp, 0x1c
pop word [esp + 2]
sub esp, 0x13
mov dword [esp + 0x25], edi
clc
lea esp, [esp + 3]
xor edx, ecx
pushal
mov byte [esp + 0xa], ah
mov dword [esp + 9], ecx
mov byte [esp + 0x17], al
lea esp, [esp + 0x4c]
mov dword [eax + 0x1c], edx
cmp ebx, 0x543f34
jne 0x55dbc1
push 0xa
pop eax
pop edi
pop esi
pop ebp
pop ebx
ret