Function at 0x4940f0
Capabilities:
Hash data using sha512

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x430
movsd xmm2, qword [0x5278e8]
movsd xmm3, qword [0x5278e0]
mov eax, dword [ebp + 0xc]
movsd xmm1, qword [0x5278f0]
xorps xmm0, xmm0
lea esi, [esp + 0x70]
movsd qword [esp + 0x325], xmm0
movsd qword [esp + 0x320], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x310], xmm0
movaps xmmword [esp + 0x300], xmm0
movaps xmmword [esp + 0x2f0], xmm0
movaps xmmword [esp + 0x2e0], xmm0
movaps xmmword [esp + 0x2d0], xmm0
movaps xmmword [esp + 0x2c0], xmm0
movsd qword [esp + 0x120], xmm2
movsd xmm2, qword [0x5278d8]
movsd qword [esp + 0x118], xmm3
movsd xmm3, qword [0x5278d0]
lea eax, [eax + 0x20]
movsd qword [esp + 0x128], xmm1
movsd qword [esp + 0x110], xmm2
movsd xmm2, qword [0x5278c8]
movsd qword [esp + 0x108], xmm3
movsd xmm3, qword [0x5278c0]
movsd qword [esp + 0x100], xmm2
movsd xmm2, qword [0x5278b8]
movsd qword [esp + 0xf8], xmm3
movsd qword [esp + 0xf0], xmm2
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], 0x5278b8
mov dword [esp + 0x140], 0
push 0x20
push eax
push esi
call fcn.0048f8e0
add esp, 0xc
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
call fcn.0048f8e0
add esp, 0xc
lea ebx, [esp + 0x150]
push 0xd8
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x218]
lea esi, [esp + 0x1d0]
lea edi, [esp + 0x388]
mov ecx, 0x14
mov eax, dword [eax + 0x50]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x81
jae 0x494881
lea esi, [esp + 0x388]
lea ecx, [esp + 0x27c]
mov edx, esi
push dword [esp + 0x220]
push eax
push ebx
call fcn.0048f650
add esp, 0xc
mov eax, dword [esp + 0x27c]
mov eax, dword [eax + 0x48]
cmp eax, 0x41
jae 0x494891
cmp eax, 0x40
jne 0x49489e
movsd xmm1, qword [esp + 0x2b0]
movsd xmm2, qword [esp + 0x2a8]
movsd xmm0, qword [esp + 0x2b8]
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [esp + 0x2a0]
movsd qword [esp + 0x178], xmm2
movsd xmm2, qword [esp + 0x298]
movsd qword [esp + 0x188], xmm0
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x290]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x280]
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x288]
movsd qword [esp + 0x150], xmm2
movsd qword [esp + 0x158], xmm1
push ebx
call fcn.004eeae0
add esp, 4
movsd xmm1, qword [esp + 0x160]
movsd xmm0, qword [esp + 0x168]
movsd xmm2, qword [esp + 0x150]
movsd qword [esp + 0x240], xmm1
movsd xmm1, qword [esp + 0x158]
movsd qword [esp + 0x248], xmm0
movsd qword [esp + 0x230], xmm2
movsd qword [esp + 0x238], xmm1
movzx eax, byte [0x5781b4]
cmp al, 2
jne 0x494872
xorps xmm0, xmm0
lea eax, [esp + 0x230]
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
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
push 0
push eax
push ebx
call fcn.004ee990
add esp, 0xc
push 0xa0
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x3d0]
movsd xmm1, qword [esp + 0x3b8]
lea eax, [esp + 0x28]
lea ebx, [esp + 0x330]
movsd qword [esp + 0x270], xmm0
movsd xmm0, qword [esp + 0x3c8]
movsd qword [esp + 0x258], xmm1
xorps xmm1, xmm1
movsd qword [esp + 0x350], xmm1
movsd qword [esp + 0x268], xmm0
movsd xmm0, qword [esp + 0x3c0]
movsd qword [esp + 0x260], xmm0
movsd xmm0, qword [esp + 0x3b0]
movsd qword [esp + 0x250], xmm0
movsd xmm0, qword [esp + 0x3f8]
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [esp + 0x3f0]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esp + 0x3e8]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esp + 0x3e0]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x3d8]
movsd qword [esp + 0x28], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp], xmm0
movaps xmmword [esp + 0x340], xmm0
movaps xmmword [esp + 0x330], xmm0
push eax
push ebx
call fcn.004ee5e0
add esp, 8
xorps xmm0, xmm0
movsd qword [esp + 0x90], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
push ebx
push esi
lea edi, [esp + 0x78]
push edi
call fcn.004ee610
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x250]
movsd qword [esp + 0x170], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
push ebx
lea ebx, [esp + 0x154]
push eax
push ebx
call fcn.004ee610
add esp, 0xc
mov eax, esp
push ebx
push eax
call fcn.004ee6a0
add esp, 8
push edi
call fcn.004ee5f0
add esp, 4
shl al, 7
lea ecx, [esp + 0x2c4]
xor byte [esp + 0x1f], al
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [esp + 0x18]
lea esi, [eax + 0x40]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x10]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 8]
movsd qword [ecx + 8], xmm0
movsd xmm0, qword [esp]
movsd qword [ecx], xmm0
movsd xmm0, qword [0x5278f0]
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [0x5278e8]
movsd qword [esp + 0x120], xmm0
movsd xmm0, qword [0x5278e0]
movsd qword [esp + 0x118], xmm0
movsd xmm0, qword [0x5278d8]
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [0x5278d0]
movsd qword [esp + 0x108], xmm0
movsd xmm0, qword [0x5278c8]
movsd qword [esp + 0x100], xmm0
movsd xmm0, qword [0x5278c0]
movsd qword [esp + 0xf8], xmm0
movsd xmm0, qword [0x5278b8]
movsd qword [esp + 0xf0], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], 0x5278b8
mov dword [esp + 0x140], 0
push 0x20
push ecx
push edi
call fcn.0048f8e0
add esp, 0xc
push 0x20
push esi
push edi
call fcn.0048f8e0
add esp, 0xc
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
call fcn.0048f8e0
add esp, 0xc
push 0xd8
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x218]
lea esi, [esp + 0x1d0]
lea edi, [esp + 0x330]
mov ecx, 0x14
mov eax, dword [eax + 0x50]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x81
jae 0x494881
lea ecx, [esp + 0x28]
lea edx, [esp + 0x330]
push dword [esp + 0x220]
push eax
push ebx
call fcn.0048f650
add esp, 0xc
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x48]
cmp eax, 0x41
jae 0x494891
cmp eax, 0x40
jne 0x49489e
movsd xmm1, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x54]
movsd xmm0, qword [esp + 0x64]
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x150]
lea esi, [esp + 0x2e4]
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [esp + 0x4c]
movsd qword [esp + 0x178], xmm2
movsd xmm2, qword [esp + 0x44]
movsd qword [esp + 0x188], xmm0
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x3c]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x2c]
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x34]
movsd qword [esp + 0x150], xmm2
movsd qword [esp + 0x158], xmm1
push eax
call fcn.004eeae0
add esp, 4
movsd xmm1, qword [esp + 0x160]
movsd xmm0, qword [esp + 0x168]
movsd xmm2, qword [esp + 0x150]
lea eax, [esp + 0x230]
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x158]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x78], xmm1
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x78]
push eax
push esi
call fcn.004eead0
add esp, 0x10
mov dword [esp + 0x2c0], 0x40
lea esi, [esp + 0x2c0]
mov ecx, 0x1c
mov edi, ebx
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x5781b4
call fcn.004fefa0
jmp 0x4943ca
push 0x5276b4
push 0x80
push eax
call fcn.00500430
push 0x528288
push 0x40
push eax
call fcn.00500430
push 0x528304
push eax
push 0x40
call fcn.005008b0
int3