Function at 0x493b90
Capabilities:
Hash data using sha512

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3b0
movsd xmm2, qword [0x5278b8]
movsd xmm1, qword [0x5278c0]
xorps xmm0, xmm0
mov ebx, ecx
lea esi, [esp + 0x190]
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x218], xmm1
movsd xmm2, qword [0x5278c8]
movsd xmm1, qword [0x5278d0]
movsd qword [esp + 0x220], xmm2
movsd qword [esp + 0x228], xmm1
movsd xmm2, qword [0x5278d8]
movsd xmm1, qword [0x5278e0]
movsd qword [esp + 0x230], xmm2
movsd qword [esp + 0x238], xmm1
movsd xmm2, qword [0x5278e8]
movsd xmm1, qword [0x5278f0]
movsd qword [esp + 0x240], xmm2
movsd qword [esp + 0x248], xmm1
mov dword [esp + 0x254], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x258], 0x5278b8
mov dword [esp + 0x260], 0
push 0x20
push edx
push esi
call fcn.0048f8e0
add esp, 0xc
lea eax, [esp + 0x60]
push 0xd8
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x128]
lea esi, [esp + 0xe0]
lea edi, [esp + 0x2b0]
mov ecx, 0x14
mov eax, dword [eax + 0x50]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x81
jae 0x49407d
lea ecx, [esp + 0x26c]
lea edx, [esp + 0x2b0]
push dword [esp + 0x130]
push eax
lea esi, [esp + 0x68]
push esi
call fcn.0048f650
add esp, 0xc
mov eax, dword [esp + 0x26c]
mov edi, dword [eax + 0x48]
cmp edi, 0x41
jae 0x49408d
cmp edi, 0x1f
jbe 0x49409a
lea eax, [esp + 0x270]
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x68], xmm1
push esi
call fcn.004eeab0
add esp, 4
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x60]
movsd qword [esp + 0x10], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x18], xmm0
movsd qword [esp], xmm2
movsd qword [esp + 8], xmm1
movzx eax, byte [0x5781b4]
cmp al, 2
jne 0x49406e
xorps xmm0, xmm0
mov eax, esp
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x60], xmm0
push 0
push eax
push esi
call fcn.004ee990
add esp, 0xc
lea eax, [esp + 0x30c]
push 0xa0
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x10]
movsd xmm0, qword [esp + 0x18]
movsd xmm2, qword [esp]
cmp edi, 0x40
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 8]
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x20], xmm2
movsd qword [esp + 0x28], xmm1
jne 0x4940cd
movsd xmm0, qword [esp + 0x354]
movsd xmm1, qword [esp + 0x33c]
lea eax, [esp + 0x168]
movsd qword [esp + 0x160], xmm0
movsd xmm0, qword [esp + 0x34c]
movsd qword [esp + 0x148], xmm1
xorps xmm1, xmm1
movsd qword [esp + 0x2d0], xmm1
movsd qword [esp + 0x158], xmm0
movsd xmm0, qword [esp + 0x344]
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0x334]
movsd qword [esp + 0x140], xmm0
movsd xmm0, qword [esp + 0x37c]
movsd qword [esp + 0x188], xmm0
movsd xmm0, qword [esp + 0x374]
movsd qword [esp + 0x180], xmm0
movsd xmm0, qword [esp + 0x36c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0x364]
movsd qword [esp + 0x170], xmm0
movsd xmm0, qword [esp + 0x35c]
movsd qword [esp + 0x168], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x2c0], xmm0
movaps xmmword [esp + 0x2b0], xmm0
push eax
lea esi, [esp + 0x2b4]
push esi
call fcn.004ee5e0
add esp, 8
xorps xmm0, xmm0
movsd qword [esp + 0x1b0], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push esi
lea eax, [esp + 0x310]
push eax
lea edi, [esp + 0x198]
push edi
call fcn.004ee610
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x140]
movsd qword [esp + 0x80], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x60], xmm0
push esi
push eax
lea esi, [esp + 0x68]
push esi
call fcn.004ee610
add esp, 0xc
lea eax, [esp + 0x40]
push esi
push eax
call fcn.004ee6a0
add esp, 8
push edi
call fcn.004ee5f0
add esp, 4
shl al, 7
movsd xmm2, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x20]
xor byte [esp + 0x5f], al
movaps xmm1, xmmword [esp + 0x50]
movaps xmm0, xmmword [esp + 0x40]
movsd qword [ebx + 0x18], xmm2
movsd qword [ebx], xmm3
movsd xmm2, qword [esp + 0x2a8]
movaps xmmword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x30]
movaps xmmword [esp + 0x60], xmm0
movsd xmm3, qword [esp + 0x60]
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [ebx + 8], xmm1
movsd xmm1, qword [esp + 0x2a0]
movsd qword [ebx + 0x38], xmm2
movsd xmm2, qword [esp + 0x290]
movsd qword [ebx + 0x30], xmm1
movsd xmm1, qword [esp + 0x298]
movsd qword [ebx + 0x20], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [ebx + 0x28], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [ebx + 0x40], xmm3
movsd qword [ebx + 0x50], xmm2
movsd qword [ebx + 0x48], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [ebx + 0x58], xmm1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x5781b4
call fcn.004fefa0
jmp 0x493da0
push 0x5276b4
push 0x80
push eax
call fcn.00500430
push 0x527fb8
push 0x40
push edi
call fcn.00500430
mov dword [esp + 0x60], 0x527eb8
mov dword [esp + 0x64], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0x527e4c
mov dword [esp + 0x6c], 0
push 0x527fc8
push esi
call fcn.00500510
push 0x527fd8
push 0x527e78
lea eax, [esp + 0x68]
push eax
push 0x2b
push 0x527e4c
call fcn.00500340
int3