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

Disassembly:
call fcn.007d122b
push dword [esp + 1]
push dword [esp + 2]
pop word [esp + 2]
lea esp, [esp + 2]
mov dword [esp + 8], ecx
push sp
pushfd
push cx
pop word [esp + 3]
jmp 0x7d190d
pop edi
pop esi
mov ebx, dword [esp]
pushfd
mov byte [esp + 2], bl
lea esp, [esp + 8]
leave
ret
add ecx, 0x10
sub edx, 0x10
cmp dword [ebp - 4], ebx
jl 0x7d193a
mov eax, dword [ebp - 8]
jmp 0x7d18de
add dword [ebp - 4], 4
push edi
mov edi, ecx
lea edi, [edi - 8]
mov dword [edi], eax
pop edi
push ecx
mov ecx, edx
lea ecx, [ecx - 4]
mov eax, dword [ecx]
pop ecx
mov dword [edx - 8], edi
mov edi, dword [ecx - 4]
mov dword [ecx - 4], eax
push esi
mov esi, edx
mov eax, dword [esi]
pop esi
mov dword [edx - 4], edi
mov edi, dword [ecx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [edx], edi
mov edi, dword [ecx + 4]
push esi
mov esi, ecx
lea esi, [esi + 4]
mov dword [esi], eax
pop esi
mov dword [edx + 4], edi
sub ebx, 4
jmp 0x7d1861
cmp eax, 1
jle 0x7d1840
lea ecx, [eax - 1]
mov dword [ebp - 4], ecx
mov ecx, 0xff
movzx ebx, byte [esi + 0x11]
mov ebx, dword [ebx*4 + 0x7dbf54]
jmp 0x80fd69
push dword [esp + 2]
lea esp, [esp + 2]
lea esp, [esp + 0x10]
push ebx
push esi
push edi
mov esi, ecx
call fcn.007d17d0
and dword [ebp - 4], 0
mov ebx, eax
shl ebx, 2
mov dword [ebp - 8], eax
test ebx, ebx
jle 0x7d18de
lea edx, [esi + ebx*4 + 8]
lea ecx, [esi + 8]
mov eax, dword [edx - 8]
mov edi, dword [ecx - 8]
jmp 0x7d188b
add esi, 0x10
push eax
mov eax, esi
mov edx, dword [eax]
pop eax
mov edi, edx
pushal
lea esp, [esp + 0x15]
push dword [esp + 1]
mov byte [esp + 0xb], dl
push word [esp + 7]
pop dword [esp + 4]
mov dword [esp + 7], edx
push dword [esp + 5]
lea esp, [esp + 1]
shr edi, 0x18
pushfd
mov word [esp + 1], cx
mov byte [esp + 1], ch
mov dword [esp], ebx
push word [esp + 2]
push dword [esp + 2]
push word [esp + 9]
lea esp, [esp + 0x1c]
mov edi, dword [edi*4 + 0x7dbf54]
and edi, ecx
mov edi, dword [edi*4 + 0x7dc354]
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dcb54]
movzx ebx, byte [esi + 2]
push ecx
mov ecx, ebx
lea ecx, [ecx*4]
lea ecx, [ecx + 0x7dbf54]
mov ebx, dword [ecx]
pop ecx
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dc754]
movzx ebx, byte [esi + 5]
and edx, ecx
mov edx, dword [edx*4 + 0x7dbf54]
and edx, ecx
xor edi, dword [edx*4 + 0x7dcf54]
push ebx
pushal
mov dword [esp + 0x10], esi
popal
lea ebx, [ebx + 4]
mov edx, dword [ebx]
pop ebx
mov dword [esi], edi
mov ebx, dword [ebx*4 + 0x7dbf54]
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x7dbf54]
and edi, ecx
push esi
mov esi, edi
lea esi, [esi*4]
lea esi, [esi + 0x7dc354]
mov edi, dword [esi]
pop esi
cmc
stc
push ecx
push ecx
push ebx
push word [esp]
pushfd
lea esp, [esp + 2]
and ebx, ecx
pushal
pop word [esp + 0x1b]
pushfd
pop dword [esp + 6]
mov byte [esp + 0x1b], al
pop dword [esp + 0x11]
lea esp, [esp + 2]
lea esp, [esp + 0x28]
xor edi, dword [ebx*4 + 0x7dcb54]
movzx ebx, byte [esi + 6]
mov ebx, dword [ebx*4 + 0x7dbf54]
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dc754]
movzx ebx, byte [esi + 9]
and edx, ecx
mov edx, dword [edx*4 + 0x7dbf54]
and edx, ecx
xor edi, dword [edx*4 + 0x7dcf54]
mov edx, dword [esi + 8]
mov dword [esi + 4], edi
mov ebx, dword [ebx*4 + 0x7dbf54]
mov edi, edx
push di
mov byte [esp], dl
push word [esp + 1]
pop word [esp]
push word [esp]
pushal
lea esp, [esp]
mov word [esp + 5], ax
shr edi, 0x18
push ax
mov byte [esp], dl
mov byte [esp], ah
mov word [esp], sp
push sp
mov dword [esp], ebp
mov byte [esp], bh
push dword [esp + 3]
lea esp, [esp + 0x2c]
mov edi, dword [edi*4 + 0x7dbf54]
and edi, ecx
push edx
push dword [esp + 2]
mov byte [esp + 1], dl
mov dword [esp + 3], ecx
mov word [esp + 5], sp
mov byte [esp + 5], dl
push word [esp + 1]
mov dword [esp + 3], edx
pop word [esp + 5]
lea esp, [esp + 8]
mov edi, dword [edi*4 + 0x7dc354]
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dcb54]
movzx ebx, byte [esi + 0xa]
mov ebx, dword [ebx*4 + 0x7dbf54]
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dc754]
movzx ebx, byte [esi + 0xd]
and edx, ecx
mov edx, dword [edx*4 + 0x7dbf54]
and edx, ecx
xor edi, dword [edx*4 + 0x7dcf54]
push ebp
pushal
mov cx, 0x650d
mov bx, 0x7855
mov bx, word [esp]
not bp
mov dx, ax
mov dword [esp + 8], esi
pushal
mov word [esp + 0x10], di
push word [esp + 0xd]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
popal
lea ebp, [ebp + 0xc]
mov edx, dword [ebp]
pop ebp
mov dword [esi + 8], edi
push eax
mov eax, ebx
lea eax, [eax*4]
lea eax, [eax + 0x7dbf54]
mov ebx, dword [eax]
pop eax
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + 0x7dbf54]
and edi, ecx
push edx
pushal
mov cx, word [esp]
lea ebp, [esi + 0x4b]
mov esi, ebp
mov dl, 0xea
mov dword [esp + 0x14], edi
push esp
push eax
push word [esp]
mov byte [esp], dl
mov word [esp + 7], ax
lea esp, [esp + 1]
pop dword [esp]
push dword [esp]
pop dword [esp]
lea esp, [esp + 1]
lea esp, [esp + 4]
popal
lea edx, [edx*4]
lea edx, [edx + 0x7dc354]
mov edi, dword [edx]
pop edx
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dcb54]
movzx ebx, byte [esi + 0xe]
mov ebx, dword [ebx*4 + 0x7dbf54]
and edx, ecx
mov edx, dword [edx*4 + 0x7dbf54]
and ebx, ecx
xor edi, dword [ebx*4 + 0x7dc754]
and edx, ecx
xor edi, dword [edx*4 + 0x7dcf54]
dec dword [ebp - 4]
mov dword [esi + 0xc], edi
jne 0x7d18f3
je 0x7d1840
mov dword [esp + 0x38], 0
test ebx, ebx
jl 0x8107a1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x3c]
jmp 0x81060c
sub esp, 7
pushal
mov word [esp + 0x14], si
push dword [esp + 0x23]
mov dword [esp + 0x25], ecx
jmp 0x810782
push word [esp + 6]
push word [esp + 0x17]
mov word [esp + 5], bp
pushfd
mov dword [esp + 0x17], edi
lea esp, [esp + 2]
jmp 0x8107fa
sub esp, 0x13
push ebx
add esp, 0x18
lea esp, [esp + 2]
add edx, ebp
pushal
jmp 0x81075a
mov eax, dword [esp + 0x20]
jmp 0x81085e
mov word [esp + 5], si
lea esp, [esp + 0xc]
pop esi
pop ebx
jmp 0x810e3b
mov edx, dword [esp + 0x38]
movzx eax, word [esi + edx*2]
mov edi, dword [edi + eax*4]
clc
cmc
clc
push sp
cmc
jmp 0x8109b7
lea esp, [esp + 2]
lea esp, [esp + 0x4c]
call fcn.007d20dc
test eax, eax
je 0x8107d9
mov eax, dword [esp + 0x38]
inc eax
cmp eax, ebx
mov dword [esp + 0x38], eax
jle 0x81003e
mov eax, dword [esp + 0x20]
lea edi, [0x46877293]
mov edi, 0x3dc5134b
mov di, 0x2da8
mov edi, dword [esp]
pushfd
mov word [esp + 1], di
push dword [esp]
mov dword [esp + 1], esi
pop word [esp + 2]
push dword [esp + 5]
pop word [esp + 5]
jmp 0x8107bd
bswap di
lea edi, [eax + 0x37]
push ebp
push dword [esp + 2]
mov word [esp + 3], sp
mov di, word [esp + 3]
mov edi, dword [esp + 8]
push dx
mov word [esp], bx
pushal
jmp 0x810978
push dword [esp + 4]
pop dword [esp + 0xf]
push word [esp + 7]
lea esp, [esp + 0x13]
pushfd
lea esp, [esp + 1]
lea esp, [esp + 0x20]
pop esi
pop ebx
pop ebp
add esp, 0x24
ret 8
sub esp, 0xd
mov byte [esp + 7], al
mov dword [esp + 6], edx
clc
lea esp, [esp + 3]
add edi, ebp
push di
lea esp, [esp + 1]
pushfd
mov word [esp + 2], sp
push edx
push dword [esp + 1]
pop dword [esp]
push word [esp + 1]
lea esp, [esp + 3]
lea esp, [esp + 0x14]
mov dword [esp + 0x20], edi
and cl, ch
scasb al, byte es:[edi]
std
invalid
invalid
lea ebp, [0x1fb00fd0]
lea ebp, [0x15b35b36]
mov bp, 0x17c2
mov ebp, 0xf6f4851
lea ebp, [edi - 0x2bd8]
mov ebp, 0x44927be1
mov ebp, dword [esp]
push ebx
push sp
lea esp, [esp + 2]
push eax
push bx
lea esp, [esp + 2]
lea esp, [esp + 0xc]
add esp, 0x24
ret 8