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

Disassembly:
pushal
mov di, 0x79f1
popal
push esi
push dword [esp]
push cx
mov byte [esp + 1], dl
push word [esp + 3]
jmp 0x6244b2
pushal
bswap di
popal
push dx
push word [esp]
pop word [esp]
mov word [esp], cx
mov word [esp], bp
mov byte [esp], ah
jmp 0x624489
lea esp, [esp + 3]
lea esp, [esp + 0xc]
lea esp, [esp + 4]
jmp 0x624441
lea esp, [esp + 2]
push ebx
push si
lea esp, [esp]
mov byte [esp], ah
mov byte [esp], cl
push word [esp]
mov dword [esp], edx
lea esp, [esp + 1]
pushfd
jmp 0x624522
lea esp, [esp + 2]
mov dword [esp], ebx
pop word [esp + 4]
push bp
push bp
push ecx
push word [esp + 3]
pop word [esp + 7]
lea esp, [esp + 1]
jmp 0x62446c
mov word [esp], si
lea esp, [esp + 2]
push edi
movzx edx, byte [eax]
jmp 0x6248f3
lea esp, [esp + 3]
mov dword [esp], ebp
push esi
pushfd
pop word [esp]
mov word [esp], dx
jmp 0x624505
pop dword [esp]
lea esp, [esp + 0x24]
movzx edi, byte [edi*4 + 0x60b06c]
xor eax, edi
pushal
mov di, sp
pushal
lea ebx, [edx + ebp]
mov ch, cl
mov bl, 0xa4
mov byte [esp + 0xa], ch
mov esi, 0x11fd1551
mov dword [esp + 0x20], edx
pushal
push word [esp + 4]
pop dword [esp + 0xa]
push word [esp + 0x12]
jmp 0x624c8d
shr edi, 0x18
pushfd
mov word [esp + 1], bx
push dword [esp + 1]
jmp 0x62474c
xor edx, esi
pushfd
mov dword [esp], ebp
push word [esp + 1]
lea esp, [esp]
lea esp, [esp + 3]
push eax
mov word [esp + 4], bx
lea esp, [esp + 5]
push di
lea esp, [esp + 0x18]
movzx esi, byte [eax + 0xd]
mov dword [ecx + 8], edx
movzx edx, byte [eax + 0xc]
push ecx
pop word [esp]
lea esp, [esp + 1]
lea esp, [esp]
push bp
push word [esp + 1]
pop word [esp]
lea esp, [esp + 3]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 0xe]
movzx eax, byte [eax + 0xf]
pushal
pop word [esp + 0x14]
push word [esp + 0x1c]
pushal
push esp
mov byte [esp + 0x17], cl
shl edx, 8
pushal
mov word [esp + 0xd], dx
mov word [esp + 0x17], dx
lea esp, [esp + 0x64]
xor edx, esi
shl edx, 8
xor edx, eax
mov dword [ecx + 0xc], edx
mov eax, edx
shr eax, 0x10
mov esi, 0xff
and eax, esi
mov eax, dword [eax*4 + 0x60b06c]
xor eax, 0x1000000
pushal
bswap ecx
mov bx, word [esp]
mov dword [esp], edx
pushfd
push esp
push word [esp + 5]
lea esp, [esp + 8]
push word [esp + 1]
mov word [esp + 1], sp
lea esp, [esp + 4]
popal
pushal
lea esp, [esp + 0x10]
mov word [esp + 1], sp
push dword [esp + 9]
mov word [esp + 6], di
pushfd
mov byte [esp + 5], al
shr edi, 8
push esp
push dword [esp + 1]
pop word [esp + 2]
push word [esp]
push dword [esp + 6]
mov dword [esp + 6], ecx
lea esp, [esp + 0x24]
and edi, esi
push eax
mov eax, edi
lea eax, [eax*4]
lea eax, [eax + 0x60b06c]
mov edi, dword [eax]
pop eax
and edi, 0xff0000
push eax
mov eax, ecx
lea eax, [eax + 4]
mov ebx, dword [eax]
pop eax
and eax, 0xff000000
xor eax, edi
mov edi, edx
push eax
pop word [esp]
mov byte [esp], dh
pushal
pop word [esp + 5]
jmp 0x624798
shl edx, 8
push edi
lea esp, [esp + 4]
movzx esi, byte [eax + 1]
xor edx, esi
movzx esi, byte [eax + 2]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 3]
shl edx, 8
xor edx, esi
pushal
pop word [esp + 0x1a]
pushal
mov word [esp + 0x35], di
mov word [esp + 4], bp
pop dword [esp + 0xd]
pop dword [esp + 9]
push word [esp + 0x33]
lea esp, [esp + 0x38]
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]
shl edx, 8
xor edx, esi
movzx esi, byte [eax + 7]
pushal
shl edx, 8
push cx
lea esp, [esp + 2]
lea esp, [esp + 0x20]
sub esp, 0xd
push word [esp + 5]
push dword [esp + 7]
lea esp, [esp + 5]
add esp, 5
cmc
sub esp, 0x12
lea esp, [esp + 3]
xor edx, esi
push sp
push word [esp]
push dword [esp + 3]
push word [esp + 2]
lea esp, [esp + 8]
lea esp, [esp + 2]
lea esp, [esp + 0x18]
movzx esi, byte [eax + 9]
mov dword [ecx + 4], edx
movzx edx, byte [eax + 8]
pushal
shl edx, 8
lea esp, [esp + 0x20]
xor edx, esi
movzx esi, byte [eax + 0xa]
shl edx, 8
xor edx, esi
push esi
push word [esp + 3]
mov word [esp], bx
mov byte [esp + 1], ah
pushal
push dword [esp + 0x1b]
mov word [esp + 0x10], cx
lea esp, [esp + 2]
lea esp, [esp + 0x28]
movzx esi, byte [eax + 0xb]
push edx
mov byte [esp], bh
mov dword [esp], edi
mov dword [esp], edi
shl edx, 8
push edx
lea esp, [esp + 1]
lea esp, [esp + 3]
lea esp, [esp + 4]
stc
sub esp, 0x1b
push dx
mov dword [esp + 6], ecx
mov dword [esp + 0xb], ecx
push word [esp + 0x13]
lea esp, [esp + 9]
mov byte [esp + 0xf], cl
cmc
lea esp, [esp + 2]
jmp 0x6247b5
pop dword [esp + 0xd]
mov byte [esp + 0xe], bl
push word [esp + 0x19]
mov word [esp + 0x12], dx
push dword [esp + 0x16]
lea esp, [esp + 2]
lea esp, [esp + 0x40]
popal
and edi, esi
mov edi, dword [edi*4 + 0x60b06c]
mov ebp, 0xff00
clc
sub esp, 0x18
push word [esp + 1]
mov dword [esp + 9], esi
mov word [esp + 0x14], cx
pop word [esp + 4]
cmc
and edi, ebp
push bp
mov byte [esp], bh
lea esp, [esp + 2]
lea esp, [esp + 0x18]
xor eax, edi
xor eax, dword [ecx]
lea edi, [ecx + 0x10]
xor ebx, eax
pushal
lea esp, [esp]
mov word [esp + 0x15], ax
push dword [esp + 7]
pushal
pop dword [esp + 7]
lea esp, [esp + 0x40]
mov dword [edi], eax
mov eax, dword [ecx + 8]
xor eax, ebx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
xor edx, eax
push eax
mov eax, ecx
lea eax, [eax + 0x1c]
mov dword [eax], edx
pop eax
call int.00616e28
mov eax, edi
mov edx, dword [eax + 0xc]
pushal
xchg al, bl
bswap si
mov al, byte [esp]
mov ah, bh
mov dword [esp + 0x18], edx
pushfd
push word [esp + 1]
pop word [esp]
lea esp, [esp]
mov byte [esp], bh
push dword [esp + 1]
mov dword [esp + 2], ebx
lea esp, [esp + 8]
popal
shr ecx, 8
mov edi, edx
and ecx, esi
push eax
pushal
mov bl, byte [esp]
xchg ebp, eax
mov ebx, edx
mov edi, esp
mov dl, bh
lea ebp, [ecx + 0xb9]
xchg ah, dh
mov si, word [esp]
lea ebp, [ecx*4]
mov dword [esp + 0x1c], ecx
pushal
push di
lea esp, [esp + 2]
lea esp, [esp + 0x20]
popal
lea eax, [eax*4]
lea eax, [eax + 0x60b06c]
mov ecx, dword [eax]
pop eax
shr edi, 0x10
and edi, esi
push ebp
mov ebp, edi
lea ebp, [ebp*4]
lea ebp, [ebp + 0x60b06c]
mov edi, dword [ebp]
pop ebp
and ecx, 0xff0000
and edi, 0xff000000
xor ecx, edi
mov edi, edx
and edx, esi
mov edx, dword [edx*4 + 0x60b06c]
shr edi, 0x18
movzx edi, byte [edi*4 + 0x60b06c]
xor ecx, edi
pushfd
mov dword [esp], ebx
add esp, 0
mov byte [esp + 2], bl
mov byte [esp + 1], bl
push ecx
pop dword [esp]
push bx
lea esp, [esp + 2]
and edx, ebp
push cx
pushal
lea esp, [esp + 2]
lea esp, [esp + 0x24]
stc
sub esp, 0x11
push si
add esp, 0xe
lea esp, [esp + 1]
xor ecx, edx
pushal
lea esp, [esp + 0x24]
xor ecx, dword [ebx]
lea edi, [eax + 0x10]
xor ecx, dword [eax]
add ebx, 4
mov dword [edi], ecx
push ebx
pushal
mov ch, ah
lea edi, [edi*4]
mov ebp, 0x6b375235
push edx
mov dword [esp + 0x14], eax
pushal
push word [esp + 0xe]
lea esp, [esp + 5]
pop word [esp + 0x12]
lea esp, [esp + 0x19]
mov byte [esp], bl
lea esp, [esp + 1]
lea esp, [esp]
lea esp, [esp + 1]
lea esp, [esp + 4]
popal
lea ebx, [ebx + 4]
mov edx, dword [ebx]
pop ebx
stc
stc
sub esp, 0xf
mov byte [esp + 0xb], ch
lea esp, [esp + 3]
xor edx, ecx
pushal
mov byte [esp + 3], cl
push dword [esp + 4]
pop word [esp + 5]
lea esp, [esp + 9]
pop dword [esp + 0xf]
pushal
lea esp, [esp + 1]
lea esp, [esp + 0x40]
mov dword [eax + 0x14], edx
push esi
pushal
push si
xchg word [esp], si
mov edx, 0x1dff59af
lea esi, [edx*4]
mov byte [esp], al
mov ch, 0xf
lea esp, [esp + 2]
mov dword [esp + 4], eax
popal
lea esi, [esi + 8]
mov ecx, dword [esi]
pop esi
xor ecx, edx
mov dword [eax + 0x18], ecx
mov edx, dword [eax + 0xc]
xor edx, ecx
push esi
mov esi, eax
lea esi, [esi + 0x1c]
mov dword [esi], edx
pop esi
cmp ebx, 0x60c894
jne 0x624d1e
push 0xa
setl al
bswap eax
mov ax, word [esp]
mov ah, byte [esp]
mov eax, 0x231b3a26
mov eax, dword [esp]
pushfd
pushfd
pop dword [esp]
push ax
mov byte [esp + 1], ch
mov byte [esp + 1], dl
lea esp, [esp + 2]
lea esp, [esp + 8]
pop edi
pop esi
pop ebp
mov bh, byte [esp]
bswap bx
setne bl
mov bl, 0x5f
lea ebx, [ebx - 0x370a]
mov ebx, dword [esp]
push esi
mov dword [esp], edi
mov dword [esp], edi
lea esp, [esp + 8]
ret