Function at 0x56e5a0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
push ebx
push esi
push edi
lea edi, [ebp - 0x18c]
mov ecx, 0x63
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xbc]
lea ecx, [eax*4 + 4]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx*4 + 4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xa4], 4
jmp 0x56e5ff
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jbe 0x56e63b
mov eax, dword [ebp - 0xc8]
sub eax, 4
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + ecx*4 - 4]
xor ecx, dword [eax]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 0xc]
mov dword [eax + edx*4 - 4], ecx
jmp 0x56e5f0
mov dword [ebp - 0xb0], 0
jmp 0x56e656
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xbc]
jge 0x56e902
mov dword [ebp - 0xa4], 4
jmp 0x56e683
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jbe 0x56e8a9
mov eax, dword [ebp - 0xa4]
add eax, 3
xor edx, edx
mov ecx, 4
div ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
shr ecx, 0x18
and ecx, 0xff
movzx edx, byte [ecx + 0x639e08]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0xa4]
add eax, 2
xor edx, edx
mov ecx, 4
div ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
shr ecx, 0x10
and ecx, 0xff
movzx edx, byte [ecx + 0x639e08]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0xa4]
add eax, 1
xor edx, edx
mov ecx, 4
div ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
shr ecx, 8
and ecx, 0xff
movzx edx, byte [ecx + 0x639e08]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0xa4]
xor edx, edx
mov ecx, 4
div ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
and ecx, 0xff
movzx edx, byte [ecx + 0x639e08]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0xbc]
sub eax, 1
cmp dword [ebp - 0xb0], eax
jge 0x56e87b
mov eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x80]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x80]
xor eax, dword [ebp - 0x8c]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x8c]
xor eax, dword [ebp - 0x98]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0x74]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x2c]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x2c]
xor eax, dword [ebp - 0x38]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x5c]
push eax
call fcn.0056e530
add esp, 4
movzx ecx, al
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x80]
xor eax, dword [ebp - 0x8c]
xor eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x68]
xor eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x8c]
xor eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0x5c]
xor eax, dword [ebp - 0x68]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x80]
xor eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x68]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x80]
xor eax, dword [ebp - 0x8c]
xor eax, dword [ebp - 0x5c]
xor eax, dword [ebp - 0x68]
xor eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
shl eax, 0x18
mov ecx, dword [ebp - 0x2c]
shl ecx, 0x10
or eax, ecx
mov edx, dword [ebp - 0x38]
shl edx, 8
or eax, edx
or eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xa4]
mov dword [ebp + ecx*4 - 0x18], eax
jmp 0x56e8a4
mov eax, dword [ebp - 0x74]
shl eax, 0x18
mov ecx, dword [ebp - 0x80]
shl ecx, 0x10
or eax, ecx
mov edx, dword [ebp - 0x8c]
shl edx, 8
or eax, edx
or eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa4]
mov dword [ebp + ecx*4 - 0x18], eax
jmp 0x56e674
mov dword [ebp - 0xa4], 4
jmp 0x56e8c4
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jbe 0x56e8fd
mov eax, dword [ebp - 0xc8]
sub eax, 4
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp + ecx*4 - 0x18]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*4 - 4], eax
jmp 0x56e8b5
jmp 0x56e647
push edx
mov ecx, ebp
push eax
lea edx, [0x56e928]
call fcn.004a8880
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x18c
cmp ebp, esp
call fcn.004a7520
mov esp, ebp
pop ebp
ret