Function at 0x44a4c0
Capabilities:
Encrypt data using aes

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 8
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test esi, esi
je 0x44a7f0
test edx, edx
je 0x44a7f0
cmp eax, 0xc0
je 0x44a640
cmp eax, 0x100
je 0x44a507
add eax, 0xffffff80
je 0x44a576
mov eax, 0xfffffffe
add esp, 8
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [edx + 0xf0], 0xe
mov ebx, dword [esi]
cmp eax, 0xc0
bswap ebx
mov dword [edx], ebx
mov dword [esp], ebx
mov ebx, dword [esi + 4]
bswap ebx
mov dword [edx + 4], ebx
mov edi, dword [esi + 8]
mov dword [esp + 4], ebx
bswap edi
mov dword [edx + 8], edi
mov ebp, dword [esi + 0xc]
bswap ebp
mov dword [edx + 0xc], ebp
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [edx + 0x10], ecx
mov ebx, dword [esi + 0x14]
bswap ebx
mov dword [edx + 0x14], ebx
je 0x44a748
mov ecx, dword [esi + 0x18]
cmp eax, 0x100
bswap ecx
mov dword [edx + 0x18], ecx
mov ebx, dword [esi + 0x1c]
bswap ebx
mov dword [edx + 0x1c], ebx
je 0x44a650
xor eax, eax
add esp, 8
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [edx + 0xf0], 0xa
mov ebp, dword [esi]
xor ebx, ebx
mov dword [esp], ebx
bswap ebp
mov dword [edx], ebp
mov edi, dword [esi + 4]
bswap edi
mov dword [edx + 4], edi
mov eax, dword [esi + 8]
bswap eax
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 4], eax
bswap ecx
mov dword [edx + 0xc], ecx
jmp 0x44a5c2
add edx, 0x10
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov ebp, dword [edx]
mov edi, dword [edx + 4]
mov dword [esp + 4], eax
movzx eax, cl
mov esi, ecx
mov ebx, dword [esp]
shr esi, 0x18
mov eax, dword [eax*4 + 0x56c7e0]
movzx esi, byte [esi*4 + 0x56c3e0]
add dword [esp], 1
and eax, 0xff00
xor eax, esi
mov esi, ecx
shr esi, 0x10
xor eax, dword [ebx*4 + 0x56aaa0]
mov ebx, esi
movzx esi, bl
mov esi, dword [esi*4 + 0x56bfe0]
and esi, 0xff000000
xor eax, esi
movzx esi, ch
mov esi, dword [esi*4 + 0x56bbe0]
and esi, 0xff0000
xor eax, esi
xor eax, ebp
mov dword [edx + 0x10], eax
xor eax, edi
mov dword [edx + 0x14], eax
xor eax, dword [esp + 4]
mov dword [edx + 0x18], eax
xor eax, ecx
cmp dword [esp], 0xa
mov dword [edx + 0x1c], eax
jne 0x44a5b0
xor eax, eax
jmp 0x44a56e
mov dword [edx + 0xf0], 0xc
jmp 0x44a511
xor esi, esi
jmp 0x44a6d0
mov ecx, ebp
mov eax, ebp
shr ecx, 0x18
movzx edi, al
mov ecx, dword [ecx*4 + 0x56bfe0]
add edx, 0x20
movzx edi, byte [edi*4 + 0x56c3e0]
and ecx, 0xff000000
xor ecx, edi
mov edi, ebp
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, ebp
mov edi, dword [edi*4 + 0x56bbe0]
movzx eax, ah
mov eax, dword [eax*4 + 0x56c7e0]
xor ecx, dword [edx - 0x10]
and edi, 0xff0000
xor ecx, edi
and eax, 0xff00
xor ecx, eax
mov dword [edx + 0x10], ecx
xor ecx, dword [edx - 0xc]
mov dword [edx + 0x14], ecx
xor ecx, dword [edx - 8]
mov dword [edx + 0x18], ecx
xor ecx, ebx
mov dword [edx + 0x1c], ecx
mov eax, dword [edx]
mov ebx, dword [edx + 0x1c]
mov edi, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov dword [esp], eax
mov eax, dword [edx + 4]
mov dword [esp + 4], eax
movzx eax, bl
mov ecx, ebx
shr ecx, 0x18
mov eax, dword [eax*4 + 0x56c7e0]
movzx ecx, byte [ecx*4 + 0x56c3e0]
and eax, 0xff00
xor eax, ecx
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x56bfe0]
xor eax, dword [esi*4 + 0x56aaa0]
add esi, 1
and ecx, 0xff000000
xor eax, ecx
movzx ecx, bh
mov ecx, dword [ecx*4 + 0x56bbe0]
and ecx, 0xff0000
xor eax, ecx
xor eax, dword [esp]
mov dword [edx + 0x20], eax
xor eax, dword [esp + 4]
mov dword [edx + 0x24], eax
xor eax, edi
xor ebp, eax
cmp esi, 7
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], ebp
jne 0x44a654
xor eax, eax
jmp 0x44a56e
xor esi, esi
jmp 0x44a773
xor edi, dword [edx + 0x10]
add edx, 0x18
mov dword [edx + 0x10], edi
xor edi, ebx
mov dword [edx + 0x14], edi
mov eax, dword [edx]
mov ebx, dword [edx + 0x14]
mov edi, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov dword [esp], eax
mov eax, dword [edx + 4]
mov dword [esp + 4], eax
movzx eax, bl
mov ecx, ebx
shr ecx, 0x18
mov eax, dword [eax*4 + 0x56c7e0]
movzx ecx, byte [ecx*4 + 0x56c3e0]
and eax, 0xff00
xor eax, ecx
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x56bfe0]
xor eax, dword [esi*4 + 0x56aaa0]
add esi, 1
and ecx, 0xff000000
xor eax, ecx
movzx ecx, bh
mov ecx, dword [ecx*4 + 0x56bbe0]
and ecx, 0xff0000
xor eax, ecx
xor eax, dword [esp]
mov dword [edx + 0x18], eax
xor eax, dword [esp + 4]
xor edi, eax
mov dword [edx + 0x20], edi
xor edi, ebp
cmp esi, 8
mov dword [edx + 0x1c], eax
mov dword [edx + 0x24], edi
jne 0x44a750
xor eax, eax
jmp 0x44a56e
mov eax, 0xffffffff
jmp 0x44a4ff