Function at 0x625040
Capabilities:
Encrypt data using aes

Disassembly:
pop word [esp + 9]
pushal
push eax
lea esp, [esp + 3]
jmp 0x625077
mov dword [esp], ebx
lea esp, [esp + 3]
pushal
mov word [esp + 0x16], di
jmp 0x624f5f
lea esp, [esp + 1]
lea esp, [esp + 0x10]
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]
push edx
pop word [esp]
mov word [esp], sp
push word [esp]
mov word [esp], si
push dword [esp + 3]
lea esp, [esp]
push dword [esp + 6]
shl edx, 8
push ecx
jmp 0x624f7b
push si
mov byte [esp], bh
mov word [esp], di
pushal
lea esp, [esp + 0x20]
lea esp, [esp + 2]
push ebx
push ebp
push esi
push edi
movzx edx, byte [eax]
shl edx, 8
movzx esi, byte [eax + 1]
xor edx, esi
movzx esi, byte [eax + 2]
shl edx, 8
sub esp, 0x11
push dword [esp + 8]
push di
mov word [esp + 0xa], ax
pop dword [esp + 1]
lea esp, [esp + 3]
xor edx, esi
push sp
mov byte [esp], al
mov byte [esp], bl
lea esp, [esp + 1]
jmp 0x624f99
lea esp, [esp + 4]
jmp 0x624fe4
push cx
push dword [esp + 1]
mov dword [esp + 1], ecx
mov word [esp + 7], di
lea esp, [esp]
jmp 0x663684
lea esp, [esp + 0x4c]
xor edx, esi
movzx esi, byte [eax + 6]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 7]
shl edx, 8
xor edx, esi
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]
pushfd
jmp 0x625054
push bp
shl edx, 8
push dx
lea esp, [esp]
mov byte [esp], al
pushal
push dword [esp + 0x1e]
mov word [esp + 0x22], dx
mov dword [esp + 0x18], ebx
jmp 0x663716
lea esp, [esp + 1]
pushfd
mov byte [esp + 0xe], dh
push di
lea esp, [esp + 2]
xor edx, esi
pushfd
jmp 0x6637c9
mov byte [esp + 0xe], bl
lea esp, [esp + 2]
lea esp, [esp + 0x30]
sub esp, 0x11
pushfd
pop dword [esp + 0xa]
jmp 0x6636f4
lea esp, [esp + 1]
lea esp, [esp + 0x28]
mov edi, dword [edi*4 + 0x63271c]
and edi, 0xff0000
jmp 0x6638e5
push word [esp + 2]
pushfd
mov byte [esp + 2], dh
push dword [esp + 3]
push word [esp]
lea esp, [esp + 0x24]
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]
shl edx, 8
xor edx, esi
push cx
lea esp, [esp + 2]
shl edx, 8
pushal
mov dword [esp + 1], edx
push word [esp + 0x1b]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
xor edx, eax
push esi
mov esi, ecx
lea esi, [esi + 0xc]
mov dword [esi], edx
pop esi
mov eax, edx
shr eax, 0x10
mov esi, 0xff
and eax, esi
push ecx
mov ecx, eax
lea ecx, [ecx*4]
lea ecx, [ecx + 0x63271c]
mov eax, dword [ecx]
pop ecx
xor eax, 0x1000000
mov edi, edx
shr edi, 8
cmc
sub esp, 7
mov word [esp], si
add esp, 5
lea esp, [esp + 2]
and edi, esi
push si
mov byte [esp], dl
lea esp, [esp + 1]
pushfd
mov byte [esp + 2], bl
push dword [esp + 4]
pop dword [esp]
pushal
push eax
jmp 0x6637a8
mov ebx, dword [ecx + 4]
and eax, 0xff000000
xor eax, edi
mov edi, edx
shr edi, 0x18
movzx edi, byte [edi*4 + 0x63271c]
xor eax, edi
push bx
lea esp, [esp]
lea esp, [esp + 1]
lea esp, [esp + 1]
pushal
mov dword [esp], edx
popal
and edi, esi
mov edi, dword [edi*4 + 0x63271c]
mov ebp, 0xff00
and edi, ebp
jmp 0x663b64
xor ecx, dword [ebx]
lea edi, [eax + 0x10]
xor ecx, dword [eax]
add ebx, 4
push eax
mov eax, edi
mov dword [eax], ecx
pop eax
mov edx, dword [eax + 4]
xor edx, ecx
push esi
mov esi, eax
lea esi, [esi + 0x14]
mov dword [esi], edx
pop esi
push ebx
pushal
mov ch, byte [esp]
mov bh, cl
push esi
push word [esp]
push word [esp]
mov dword [esp + 0x18], eax
push bp
mov word [esp], si
mov word [esp], si
mov byte [esp], dh
lea esp, [esp + 1]
mov byte [esp], dh
lea esp, [esp]
lea esp, [esp + 1]
lea esp, [esp + 8]
popal
lea ebx, [ebx + 8]
mov ecx, dword [ebx]
pop ebx
xor ecx, edx
mov dword [eax + 0x18], ecx
mov edx, dword [eax + 0xc]
xor edx, ecx
push ecx
pushal
lea ecx, [ecx*4]
mov ecx, dword [esp]
mov ecx, dword [esp]
xchg cl, dl
pushal
mov dword [esp + 0x38], eax
pushal
lea esp, [esp + 0x40]
popal
lea ecx, [ecx + 0x1c]
mov dword [ecx], edx
pop ecx
cmp ebx, 0x633f44
jne 0x663bc9
push 0xa
pop eax
mov di, word [esp]
mov edi, dword [esp]
mov edi, dword [esp]
pushfd
push edi
lea esp, [esp + 0xc]
pop esi
pop ebp
pop ebx
ret
pop word [esp + 0x1f]
push word [esp + 0x11]
shr edi, 0x18
pushfd
lea esp, [esp + 0x28]
movzx edi, byte [edi*4 + 0x63271c]
xor ecx, edi
and edx, ebp
sub esp, 0xb
lea esp, [esp + 3]
xor ecx, edx
push esp
mov byte [esp + 2], ah
mov byte [esp + 1], dh
mov byte [esp + 1], dh
lea esp, [esp + 2]
mov word [esp], bp
pushfd
lea esp, [esp + 2]
lea esp, [esp + 0xc]
jmp 0x6639a5
xor eax, edi
push ax
pushfd
mov word [esp + 3], cx
lea esp, [esp]
push bp
mov word [esp], bx
mov dword [esp + 3], eax
lea esp, [esp + 8]
xor eax, dword [ecx]
lea edi, [ecx + 0x10]
xor ebx, eax
push ecx
pushal
mov bp, word [esp]
mov dword [esp + 0x18], edi
pushal
mov dword [esp + 8], esi
lea esp, [esp + 0x12]
push bp
lea esp, [esp + 8]
pushfd
pop word [esp + 7]
mov dword [esp], eax
lea esp, [esp + 2]
lea esp, [esp + 8]
popal
mov dword [ecx], eax
pop ecx
mov eax, dword [ecx + 8]
xor eax, ebx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
xor edx, eax
mov dword [ecx + 0x1c], edx
call int.00645ce4
pushal
push eax
xchg ebx, edx
mov ecx, 0x61023bc1
lea esp, [esp + 2]
not esi
mov ebp, dword [esp]
xchg dh, cl
mov edx, 0x9b606e9
lea esp, [esp + 2]
mov dword [esp + 0x1c], edi
pushal
pop word [esp + 4]
mov word [esp + 0x1a], si
pop word [esp + 0xd]
lea esp, [esp + 0x1c]
popal
mov edx, dword [eax + 0xc]
mov ecx, edx
shr ecx, 8
pushal
xchg cl, bh
pushfd
lea ecx, [eax - 0x6bee]
mov byte [esp + 2], cl
bswap bp
mov dword [esp + 4], edx
pushfd
mov byte [esp], bh
lea esp, [esp + 8]
popal
clc
pushal
push word [esp + 0x13]
mov word [esp + 0x19], cx
lea esp, [esp + 2]
and ecx, esi
pushal
lea esp, [esp + 0x40]
mov ecx, dword [ecx*4 + 0x63271c]
shr edi, 0x10
and edi, esi
mov edi, dword [edi*4 + 0x63271c]
and ecx, 0xff0000
and edi, 0xff000000
pushfd
mov byte [esp], bl
pop word [esp]
sub esp, 0x17
sub esp, 0x1d
pop dword [esp + 0x2d]
mov byte [esp + 2], bl
lea esp, [esp + 2]
xor ecx, edi
push si
push word [esp]
lea esp, [esp]
lea esp, [esp + 1]
push word [esp + 1]
mov byte [esp + 2], bl
pop word [esp]
mov byte [esp], bl
push ebp
lea esp, [esp + 3]
lea esp, [esp + 0x34]
mov edi, edx
and edx, esi
mov edx, dword [edx*4 + 0x63271c]
pushal
push dword [esp + 8]
mov word [esp + 1], bp
mov word [esp + 0x1a], bp
jmp 0x663b0e