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

Disassembly:
mov ax, word [esp]
jmp 0x603f1a
cmp eax, 1
call 0x5d0f80
or al, 0xe9
dec esi
xor dword [ebx], eax
add byte [edi + ebx*4], cl
out 0x11, al
ret
jmp 0x5d1020
lea esp, [esp + 4]
push esi
call fcn.005d106f
push edi
jmp 0x5d1050
mov esi, ecx
call 0x5d1058
out dx, eax
lea esp, [esp + 4]
jmp 0x5d1082
call fcn.005ecd5d
mov bx, bp
and dword [ebp - 4], 0
btc ebx, ecx
pushfd
jmp 0x5d10b9
lea ebx, [eax + ebp]
mov ebx, eax
shl ebx, 2
sub esp, 0x1f
jmp 0x603efa
mov bl, byte [ecx + 1]
cmc
clc
jmp 0x604b9a
jmp 0x604b31
cmp al, 0x30
jmp 0x604b0f
cmp bl, 0x61
pushfd
jmp 0x604c18
call 0x604c69
mov dh, 0x10
dec ebp
js 0x5d1217
xchg ebx, eax
fbld tbyte [esi - 0x62]
daa
xchg byte [ecx + 0x2889be57], cl
dec ebx
loop 0x5d1237
insb byte es:[edi], dx
add byte [ecx], dl
dec eax
lea esp, [esp + 3]
push ebx
jmp 0x603fe9
push ebp
jmp 0x603f73
jle 0x5d0f77
lea edx, [esi + ebx*4 + 8]
lea ecx, [esi + 8]
jmp 0x5d0f61
push eax
mov dword [esp], ebx
lea esp, [esp + 0x24]
test ebx, ebx
jmp 0x603f30
mov edi, dword [esp]
jmp 0x603f97
mov ebp, edx
add ebp, 0xfffffff8
mov eax, dword [ebp]
pop ebp
jmp 0x603f5d
mov ebx, ecx
jmp 0x603fb7
mov edi, dword [ecx - 8]
add dword [ebp - 4], 4
push ebx
jmp 0x603f81
mov ah, cl
clc
jmp 0x603fc8
add ebx, 0xfffffff8
mov dword [ebx], eax
pop ebx
mov ah, ch
mov ax, word [esp]
jmp 0x603fa1
mov eax, dword [edx - 4]
cmc
push eax
jmp 0x6040b4
stc
popal
jmp 0x60402e
mov ebx, ebp
add ebx, 0xfffffff8
mov dword [ebx], eax
pop ebx
jmp 0x603f51
mov eax, dword [edx]
jmp 0x604063
stc
mov dword [ecx - 4], eax
mov eax, ebp
bt eax, esp
jmp 0x603ff9
add eax, 0xfffffff8
mov dword [eax], edi
pop eax
mov edi, dword [ecx - 4]
jmp 0x60400f
mov dword [ecx], eax
pushal
btr ax, cx
push esi
jmp 0x604049
mov esi, edx
add esi, 4
mov eax, dword [esi]
pop esi
jmp 0x60408b
mov dword [edx - 4], edi
lea edi, [edx*4]
mov di, 0x5e47
mov edi, dword [ecx]
jmp 0x60403b
mov cl, 0x8f
lea eax, [ebx + ebp]
mov dword [esp + 0x1c], edx
popal
mov dword [eax], edi
pop eax
jmp 0x604093
push eax
pushal
neg cx
clc
jmp 0x604075
mov edi, dword [ecx + 4]
stc
push edx
jmp 0x6040c8
mov dword [edx + 4], edi
lea esp, [esp + 0x40]
sub ebx, 4
clc
jmp 0x6055e9
pushal
xchg si, ax
add bp, ax
dec bx
neg ebp
mov dword [esp + 0x1c], edx
jmp 0x603fd2
mov edx, ecx
add edx, 4
mov dword [edx], eax
pop edx
pushal
jmp 0x60409a
cmp dword [ebp - 4], ebx
jl 0x5d0f61
call fcn.0060449e
cmp al, 0x7a
call 0x604ada
mov ah, 0x3d
lodsd eax, dword [esi]
mov ah, 0x47
lock xchg byte [esi], cl
pushfd
sti
push ss
mov byte [0x6691661f], al
push eax
lea esp, [esp + 2]
cmp al, 0x61
jb 0x5d114e
jae 0x604ab4
push word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 4]
jmp 0x604b25
jb 0x5d1124
call fcn.00604b83
aad 0x5a
enter 0x5aaf, 0xffffffffffffffee
cmp edx, dword [edx]
lea ebx, [edi + ebp*2]
jbe 0x5d10e1
ja 0x5d114e
invalid
cmp al, 0x2b
call 0x604b60
js 0x604b2e
push 0xd
cld
inc edx
outsb dx, byte [esi]
loope 0x604bb2
adc bl, ah
and byte [eax - 0x729fe51d], ah
and al, 7
lea esp, [esp + 1]
lea esp, [esp + 0x18]
jbe 0x5d10e1
ja 0x5d1124
lea esp, [esp + 4]
je 0x5d10e1
sub esp, 0xc
jmp 0x604bb1
jne 0x5d110e
je 0x5d10e1
mov byte [ebp - 1], bl
push di
add esp, 1
lea esp, [esp + 1]
jmp 0x604bbe
lea esp, [esp + 0xc]
and al, 0xc
cmp al, 0x2f
pushfd
lea esp, [esp + 4]
jmp 0x604b8e
cmp bl, 0x41
call 0x604bc7
lodsb al, byte [esi]
lea esp, [esp + 4]
jb 0x5d1164
sub esp, 0xe
jmp 0x604c99
lea esp, [esp + 4]
cmp bl, 0x7a
jmp 0x604c2e
lea esp, [esp + 4]
jb 0x5d11ef
pushfd
push word [esp + 2]
lea esp, [esp + 2]
jmp 0x604bfc
jbe 0x5d123a
ja 0x5d11ef
pop ss
mov word [edx], es
xchg esp, eax
and byte [ebx + 0x1be88919], al
lodsd eax, dword [esi]
clc
jbe 0x5d123a
ja 0x5d1164
sub esp, 0x14
mov dword [esp + 9], edx
lea esp, [esp + 2]
lea esp, [esp + 0x20]
cmp bl, 0x5a
jmp 0x604c47
lea esp, [esp + 0x1c]
sub edx, 0x10
sub esp, 0x1b
lea esp, [esp + 3]
lea esp, [esp + 0x18]
jmp 0x604aa6
add ecx, 0x10
sub esp, 0x19
push dword [esp + 0x11]
lea esp, [esp + 1]
jmp 0x6051f9