Function at 0x481ee0
Capabilities:
Hash data using sha512
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x350
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebx + 0x64], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x69], 0
mov dword [ebx + 0x65], 0
movzx eax, byte [0x574a24]
movzx eax, al
push eax
call fcn.00478240
add esp, 4
cmp al, 2
jne 0x482746
movsd xmm2, qword [0x5255c0]
movsd xmm1, qword [0x5255c8]
xorps xmm0, xmm0
mov eax, dword [esi + 8]
lea edi, [esp + 0x170]
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
movsd qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
movsd xmm2, qword [0x5255d0]
movsd xmm1, qword [0x5255d8]
mov dword [esp + 0xc], eax
lea eax, [eax + 0x20]
movsd qword [esp + 0x200], xmm2
movsd qword [esp + 0x208], xmm1
movsd xmm2, qword [0x5255e0]
movsd xmm1, qword [0x5255e8]
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x218], xmm1
movsd xmm2, qword [0x5255f0]
movsd xmm1, qword [0x5255f8]
movsd qword [esp + 0x220], xmm2
movsd qword [esp + 0x228], xmm1
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x238], 0x5255c0
mov dword [esp + 0x240], 0
push 0x20
push eax
push edi
call fcn.004806d0
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [esp + 0x18], ecx
push ecx
mov dword [esp + 0x20], eax
push eax
push edi
call fcn.004806d0
add esp, 0xc
lea eax, [esp + 0x70]
push 0xd8
push edi
push eax
call fcn.004f5b80
add esp, 0xc
mov eax, dword [esp + 0x138]
lea edx, [esp + 0x2f0]
lea esi, [esp + 0xf0]
mov ecx, 0x14
mov edi, edx
mov eax, dword [eax + 0x48]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x81
jae 0x482773
lea ecx, [esp + 0x20]
push dword [esp + 0x140]
push eax
lea eax, [esp + 0x78]
push eax
push edx
push ecx
call fcn.004803b0
add esp, 0x14
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x40]
cmp eax, 0x41
jae 0x482773
cmp eax, 0x40
jne 0x482777
movsd xmm1, qword [esp + 0x50]
movsd xmm2, qword [esp + 0x48]
movsd xmm0, qword [esp + 0x58]
lea eax, [ebx + 4]
lea esi, [esp + 0x70]
mov dword [esp + 0x14], eax
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x98], xmm2
movsd xmm2, qword [esp + 0x38]
movsd qword [esp + 0xa8], xmm0
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x88], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x78], xmm1
push esi
call fcn.004e88c0
add esp, 4
movsd xmm1, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x258], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x260], xmm0
movsd qword [esp + 0x248], xmm2
movsd qword [esp + 0x250], xmm1
movzx eax, byte [0x574a24]
movzx eax, al
push eax
call fcn.00478240
add esp, 4
cmp al, 2
jne 0x482755
xorps xmm0, xmm0
lea eax, [esp + 0x248]
movaps xmmword [esp + 0x100], xmm0
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
push 0
push eax
push esi
call fcn.004e8770
add esp, 0xc
movaps xmm1, xmmword [esp + 0x80]
movsd xmm2, qword [esp + 0xb8]
movsd xmm0, qword [esp + 0x90]
movaps xmm3, xmmword [esp + 0x70]
lea eax, [esp + 0x2c0]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
movaps xmmword [esp + 0x2a0], xmm1
movsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 0x288], xmm2
movsd xmm2, qword [esp + 0xa8]
movsd qword [esp + 0x2b0], xmm0
movaps xmmword [esp + 0x290], xmm3
movsd qword [esp + 0x280], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x278], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x270], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x268], xmm2
movaps xmm2, xmmword [esp + 0xc0]
movsd qword [esp + 0x2e0], xmm1
movaps xmm1, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x2c0], xmm2
xorps xmm2, xmm2
movaps xmmword [esp + 0x160], xmm2
movaps xmmword [esp + 0x150], xmm2
movaps xmmword [esp + 0x30], xmm2
movaps xmmword [esp + 0x20], xmm2
movaps xmmword [esp + 0x2d0], xmm1
push eax
lea edi, [esp + 0x24]
push edi
call fcn.004e83c0
add esp, 8
xorps xmm0, xmm0
mov dword [esp + 0x314], 0
mov dword [esp + 0x310], 0
lea eax, [esp + 0x290]
movaps xmmword [esp + 0x300], xmm0
movaps xmmword [esp + 0x2f0], xmm0
push edi
push eax
lea esi, [esp + 0x2f8]
push esi
call fcn.004e83f0
add esp, 0xc
xorps xmm0, xmm0
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 0
lea eax, [esp + 0x268]
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
push edi
push eax
lea edi, [esp + 0x178]
push edi
call fcn.004e83f0
add esp, 0xc
lea eax, [esp + 0x150]
push edi
push eax
call fcn.004e8480
add esp, 8
push esi
call fcn.004e83d0
add esp, 4
shl al, 7
mov esi, dword [esp + 0x14]
xor byte [esp + 0x16f], al
mov eax, dword [esp + 0xc]
movsd xmm1, qword [esp + 0x160]
movsd xmm0, qword [esp + 0x168]
movsd xmm2, qword [esp + 0x150]
add eax, 0x40
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0x158]
movsd qword [esi + 0x18], xmm0
movsd qword [esi], xmm2
mov dword [esp + 0x10], eax
movsd qword [esi + 8], xmm1
movzx eax, byte [0x574a24]
movzx eax, al
push eax
call fcn.00478240
add esp, 4
cmp al, 2
jne 0x482764
movsd xmm2, qword [0x5255c0]
movsd xmm1, qword [0x5255c8]
xorps xmm0, 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
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
movsd qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
movsd xmm2, qword [0x5255d0]
movsd xmm1, qword [0x5255d8]
movsd qword [esp + 0x200], xmm2
movsd qword [esp + 0x208], xmm1
movsd xmm2, qword [0x5255e0]
movsd xmm1, qword [0x5255e8]
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x218], xmm1
movsd xmm2, qword [0x5255f0]
movsd xmm1, qword [0x5255f8]
movsd qword [esp + 0x220], xmm2
movsd qword [esp + 0x228], xmm1
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x238], 0x5255c0
mov dword [esp + 0x240], 0
push 0x20
push esi
push edi
call fcn.004806d0
add esp, 0xc
push 0x20
push dword [esp + 0x14]
push edi
call fcn.004806d0
add esp, 0xc
push dword [esp + 0x18]
push dword [esp + 0x20]
push edi
call fcn.004806d0
add esp, 0xc
push 0xd8
push edi
lea eax, [esp + 0x78]
push eax
call fcn.004f5b80
add esp, 0xc
mov eax, dword [esp + 0x138]
lea esi, [esp + 0xf0]
mov ecx, 0x14
mov edx, dword [eax + 0x48]
lea eax, [esp + 0x2f0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp edx, 0x81
jae 0x482773
push dword [esp + 0x140]
push edx
lea ecx, [esp + 0x78]
push ecx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.004803b0
add esp, 0x14
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x40]
cmp eax, 0x41
jae 0x482773
cmp eax, 0x40
lea edi, [esp + 0x170]
jne 0x482777
movsd xmm1, qword [esp + 0x50]
movsd xmm2, qword [esp + 0x48]
movsd xmm0, qword [esp + 0x58]
lea eax, [esp + 0x70]
lea esi, [ebx + 0x24]
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x98], xmm2
movsd xmm2, qword [esp + 0x38]
movsd qword [esp + 0xa8], xmm0
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x88], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x78], xmm1
push eax
call fcn.004e88c0
add esp, 4
movsd xmm1, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x70]
lea eax, [esp + 0x248]
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x188], xmm0
movsd qword [esp + 0x170], xmm2
movsd qword [esp + 0x178], xmm1
push eax
push dword [esp + 0x10]
push edi
push esi
call fcn.004e88b0
add esp, 0x10
mov dword [ebx], 0x40
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x574a24
call fcn.00504f00
jmp 0x481fd3
mov ecx, 0x574a24
call fcn.00504f00
jmp 0x482255
mov ecx, 0x574a24
call fcn.00504f00
jmp 0x4824be
ud2
push 0x52678c
push eax
push 0x40
call fcn.004ccfb0
add esp, 0xc
ud2