Function at 0x51d428
Capabilities:
Encrypt data using aes

Disassembly:
xchg ecx, edx
lea edx, [ebx + ebx]
jmp 0x4eff3f
mov edx, esp
mov cl, byte [esp]
jmp 0x51d5fc
lea esp, [esp + 3]
lea esp, [esp + 1]
jmp 0x51d45e
xor edx, eax
pushal
push dword [esp + 0x14]
push edx
jmp 0x51d640
push ebx
mov ebx, ecx
lea ebx, [ebx*4]
lea ebx, [ebx + 0x4fa5a0]
jmp 0x51d4e6
mov edi, edx
cmc
and ecx, esi
jmp 0x51d494
shr ecx, 8
ror edi, 0xb
bswap edi
mov di, word [esp]
bswap edi
jmp 0x51d4ba
mov ecx, dword [ebx]
pop ebx
sub esp, 6
pop word [esp + 1]
call 0x51d4f7
and eax, 0x24448f66
add dword [ebp - 0x14fddb9c], ecx
jp 0x51d546
salc
inc esp
and ebx, esi
popal
invalid
mov edx, dword [esi]
pop esi
mov ecx, edx
lea edi, [eax + 0x54c37bf9]
jmp 0x51d4d6
push esi
mov esi, eax
lea esi, [esi + 0xc]
jmp 0x51d50e
and al, 1
jmp 0x51d5c4
xor ecx, edi
sub esp, 0x16
lea esp, [esp + 2]
mov edi, edx
jmp 0x51d5d7
and edi, 0xff000000
stc
pushal
add esp, 0x13
lea esp, [esp + 1]
jmp 0x51d584
lea esp, [esp + 0x10]
and ecx, 0xff0000
sub esp, 0x14
lea esp, [esp + 0x14]
jmp 0x51d5a6
cmc
sub esp, 0xc
mov word [esp + 6], dx
and edx, esi
cmc
jmp 0x51d628
shr edi, 0x18
sub esp, 8
lea esp, [esp + 7]
cmc
lea esp, [esp + 1]
jmp 0x51d60c
mov eax, edi
setae dh
mov ch, byte [esp]
not dh
push edx
jmp 0x51d528
lea esp, [esp + 0x34]
movzx edi, byte [edi*4 + 0x4fa5a0]
jmp 0x51d7d4
push esp
mov edx, dword [edx*4 + 0x4fa5a0]
push edx
mov byte [esp + 2], ch
jmp 0x51d5e5
mov dword [ecx + 0x1c], edx
lea esp, [esp + 0x44]
call fcn.00507295
jmp 0x4eff34
lea edi, [eax + 0x10]
lea edx, [eax + 0x91]
dec dx
bswap edx
jmp 0x51d7a3
lea esp, [esp + 0x10]
xor ecx, dword [ebx]
ror edi, 3
jmp 0x51d651
lea esp, [esp + 2]
xor ecx, edx
lea edx, [esi + 0x1d]
mov dh, bh
jmp 0x51d667
mov edx, dword [eax + 4]
sub esp, 2
add esp, 1
lea esp, [esp + 1]
jmp 0x51d750
push esp
add dx, 0xaf5e
lea edx, [edi*4]
jmp 0x51d68b
lea esp, [esp + 8]
add ebx, 4
lea edx, [ebp*4]
mov dword [edi], ecx
not dx
jmp 0x51d6b1
cmp eax, 0xbc4d2ab4
jns 0x51d733
mov eax, dword [0x11a35031]
pushal
mov dword [0xeb2435da], eax
in al, 0x8b
push ebp
add byte [ebp - 0x18], bl
sbb eax, dword [eax]
add byte [eax], al
pop edx
fisttp dword [ebx + 0x2e]
invalid
dec ecx
mov ecx, dword [eax + 8]
xor ecx, edx
call 0x51d710
add esp, 3
add esp, 0
lea esp, [esp + 1]
invalid
add eax, dword [ebx + 0x648d00c4]
and al, 1
jmp 0x51d783
cmpsd dword [esi], dword es:[edi]
jl 0x51d738
jl 0x51d767
test byte [esi + 0x7f], 0x46
xor edx, ecx
mov ch, byte [esp]
mov ecx, 0xe0d579c2
mov dword [eax + 0x14], edx
xchg ch, cl
jmp 0x51d72b
mov ebp, eax
lea ebp, [ebp + 0x1c]
mov dword [ebp], edx
pop ebp
jmp 0x51d7b4
push ebp
add byte [ebp - 0x15], bl
dec eax
lea esp, [esp + 0x3c]
cmp ebx, 0x4fbdc8
call fcn.0051d7fa
loopne 0x51d7ee
loope 0x51d6ff
jae 0x51d746
xor edx, ecx
xor edx, ecx
sub esp, 0x12
lea esp, [esp + 2]
push ebp
jmp 0x51d761
xor ecx, dword [eax]
sub esp, 0xa
bt edx, esp
lea esp, [esp + 2]
jmp 0x51d6c8
sub esp, 0xa
lea esp, [esp + 5]
lea esp, [esp + 1]
jmp 0x51d76c
xor ecx, edi
and edx, ebp
sub esp, 0x12
xchg dword [esp + 8], edi
jmp 0x51d67e
not si
jmp 0x51d8b4
pop esi
pop ebp
mov bl, 0xb6
mov bx, 0x81d7
setl bl
jmp 0x51d872
pop edi
setne bl
lea ebx, [eax + ebx]
lea esi, [esp + ebx]
jmp 0x51d827
mov bl, bh
pop ebx
call 0x51d853
lea edx, [edi]
xchg edx, esp
adc esi, ebx
adc eax, 0x88791e88
dec ebx
test dword [0xaa2fdcb5], esp
aam 0x47
pop eax
lea esi, [eax - 0x617a649f]
mov si, sp
mov di, word [esp]
bswap ebp
jmp 0x51d847
mov si, word [esp]
push 0xa
mov si, word [esp]
push edx
pop ebp
jmp 0x51d88e