Function at 0x557e80
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 [0x89cb68]
movsd xmm1, qword [0x89cb70]
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
mov ecx, esi
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x218], xmm1
movsd xmm2, qword [0x89cb78]
movsd xmm1, qword [0x89cb80]
movsd qword [esp + 0x220], xmm2
movsd qword [esp + 0x228], xmm1
movsd xmm2, qword [0x89cb88]
movsd xmm1, qword [0x89cb90]
movsd qword [esp + 0x230], xmm2
movsd qword [esp + 0x238], xmm1
movsd xmm2, qword [0x89cb98]
movsd xmm1, qword [0x89cba0]
movsd qword [esp + 0x240], xmm2
movsd qword [esp + 0x248], xmm1
mov dword [esp + 0x254], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x258], 0x89cb68
mov dword [esp + 0x260], 0
push 0x20
call fcn.00557170
add esp, 4
lea eax, [esp + 0x60]
push 0xd8
push esi
push eax
call fcn.007bd9b0
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 0x55836d
lea ecx, [esp + 0x26c]
lea edx, [esp + 0x2b0]
push dword [esp + 0x130]
push eax
lea esi, [esp + 0x68]
push esi
call fcn.00557400
add esp, 0xc
mov eax, dword [esp + 0x26c]
mov edi, dword [eax + 0x48]
cmp edi, 0x41
jae 0x55837e
cmp edi, 0x1f
jbe 0x55838f
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.00767410
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 [0x94bfc4]
cmp al, 2
jne 0x558363
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.007672e0
add esp, 0xc
mov eax, esi
lea esi, [esp + 0x30c]
push 0xa0
push eax
push esi
call fcn.007bd9b0
add esp, 0xc
movsd xmm1, qword [esp + 0x10]
movsd xmm0, qword [esp + 0x18]
movsd xmm2, qword [esp]
cmp edi, 0x40
movsd qword [esp + 0x50], xmm1
movsd xmm1, qword [esp + 8]
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x48], xmm1
jne 0x5583c5
movsd xmm0, qword [esp + 0x2a8]
movsd xmm1, qword [esp + 0x298]
lea eax, [esp + 0x168]
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d0], 0
movsd qword [ebx + 0x38], xmm0
movsd xmm0, qword [esp + 0x2a0]
movsd qword [ebx + 0x28], xmm1
movsd xmm1, qword [esp + 0x33c]
movsd qword [ebx + 0x30], xmm0
movsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x148], xmm1
movsd qword [ebx + 0x20], xmm0
movsd xmm0, qword [esp + 0x354]
movsd qword [esp + 0x160], xmm0
movsd xmm0, qword [esp + 0x34c]
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 + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x2c0], xmm0
movaps xmmword [esp + 0x2b0], xmm0
push eax
lea edi, [esp + 0x2b4]
push edi
call fcn.00766f30
add esp, 8
xorps xmm0, xmm0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
push edi
push esi
lea esi, [esp + 0x198]
push esi
call fcn.00766f60
add esp, 0xc
xorps xmm0, xmm0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
lea eax, [esp + 0x140]
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x60], xmm0
push edi
push eax
lea edi, [esp + 0x68]
push edi
call fcn.00766f60
add esp, 0xc
lea eax, [esp + 0x20]
push edi
push eax
call fcn.00766ff0
add esp, 8
push esi
call fcn.00766f40
add esp, 4
shl al, 7
movsd xmm2, qword [esp + 0x58]
xor byte [esp + 0x3f], al
movsd xmm1, qword [esp + 0x30]
movsd xmm0, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x20]
movsd qword [ebx + 0x50], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [ebx + 0x58], xmm0
movsd qword [ebx + 0x40], xmm3
movsd qword [ebx + 0x48], xmm1
movsd xmm1, qword [esp + 0x50]
movsd qword [ebx + 0x18], xmm2
movsd xmm2, qword [esp + 0x40]
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [ebx], xmm2
movsd qword [ebx + 8], xmm1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.007cb1f0
jmp 0x558090
mov ecx, eax
mov edx, 0x80
push 0x89cb58
call fcn.007c1c40
mov ecx, edi
mov edx, 0x40
push 0x89f7f8
call fcn.007c1c40
lea ecx, [esp + 0x60]
mov edx, 0x89cc58
mov dword [esp + 0x60], 0x93a1fc
mov dword [esp + 0x64], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0x93d1f8
mov dword [esp + 0x6c], 0
call fcn.007c1b50
mov ecx, 0x93b384
mov edx, 0x2b
push 0x89cc68
push 0x89be24
lea eax, [esp + 0x68]
push eax
call fcn.007c1f60
int3