Function at 0x4b5320
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe8
mov eax, dword [0x512a40]
xor eax, esp
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 8]
xor edx, edx
mov ecx, dword [ebp + 0x14]
test ecx, ecx
vpxor xmm0, xmm0, xmm0
push esi
vmovdqu xmm4, xmmword [eax]
vmovdqu xmm5, xmmword [eax + 0x10]
vmovdqu xmm6, xmmword [eax + 0x20]
vmovdqu xmm7, xmmword [eax + 0x30]
mov esi, dword [ebp + 0x10]
setne dl
mov dword [esp + 0x78], eax
vmovdqa xmmword [esp + 0x4c], xmm0
vmovdqu xmmword [esp + 0xcc], xmm0
vmovd xmm0, ecx
push edi
mov edi, dword [ebp + 0xc]
vmovdqa xmmword [esp + 0x90], xmm0
vmovdqa xmmword [esp + 0xc0], xmm4
vmovdqa xmmword [esp + 0x40], xmm4
vmovdqa xmmword [esp + 0xb0], xmm5
vmovdqa xmmword [esp + 0x30], xmm5
vmovdqa xmmword [esp + 0xa0], xmm6
vmovdqa xmmword [esp + 0x20], xmm6
vmovdqa xmmword [esp + 0x80], xmm7
vmovdqa xmmword [esp + 0x10], xmm7
cmp esi, 0x10
jae 0x4b53f5
test esi, esi
je 0x4b5823
push esi
lea eax, [esp + 0xd4]
push edi
push eax
call fcn.004abcb0
vmovdqa xmm0, xmmword [esp + 0xdc]
add esp, 0xc
vmovdqa xmmword [esp + 0x50], xmm0
jmp 0x4b57c6
mov eax, edi
neg eax
and eax, 0xf
mov dword [esp + 0x78], eax
je 0x4b54d0
vmovdqu xmm2, xmmword [edi]
vmovdqa xmmword [esp + 0x60], xmm2
vmovdqa xmmword [esp + 0x50], xmm2
test ecx, ecx
je 0x4b542c
vpxor xmm2, xmm2, xmm0
xor edx, edx
vmovdqa xmmword [esp + 0x60], xmm2
vmovdqa xmmword [esp + 0x50], xmm2
cmp eax, 4
jae 0x4b5482
test ecx, ecx
je 0x4b5482
vmovdqa xmm3, xmmword [0x4dab00]
add edi, 0x10
cmp esi, 0x20
jb 0x4b5694
vmovdqu xmm0, xmmword [edi]
vmovdqa xmmword [esp + 0x50], xmm0
vpclmulqdq xmm1, xmm4, xmm3, 1
vpclmulqdq xmm0, xmm4, xmm3, 0x10
vxorps xmm0, xmm1, xmm0
vpxor xmm0, xmm2, xmm0
vmovdqa xmmword [esp + 0x40], xmm5
vmovdqa xmmword [esp + 0x30], xmm6
vmovdqa xmmword [esp + 0x20], xmm7
vmovdqa xmmword [esp + 0x10], xmm0
sub esi, 0x10
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x50]
push ecx
push eax
call fcn.004b63c0
add edi, dword [esp + 0x90]
add esp, 0x18
sub esi, dword [esp + 0x78]
vmovdqa xmm7, xmmword [esp + 0x10]
vmovdqa xmm6, xmmword [esp + 0x20]
vmovdqa xmm5, xmmword [esp + 0x30]
vmovdqa xmm4, xmmword [esp + 0x40]
vmovdqa xmm0, xmmword [esp + 0x90]
cmp esi, 0x100
jb 0x4b5515
push edx
push esi
push edi
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.004b5fd0
vmovdqa xmm7, xmmword [esp + 0x2c]
vmovdqa xmm6, xmmword [esp + 0x3c]
vmovdqa xmm5, xmmword [esp + 0x4c]
vmovdqa xmm4, xmmword [esp + 0x5c]
add esp, 0x1c
xor edx, edx
sub esi, eax
add edi, eax
vmovdqa xmm3, xmmword [0x4dab00]
cmp esi, 0x40
jb 0x4b55f3
mov eax, esi
shr eax, 6
nop dword [eax + eax]
vmovdqu xmm0, xmmword [edi + 0x10]
vmovdqu xmm2, xmmword [edi]
vmovdqa xmmword [esp + 0x80], xmm0
vmovdqu xmm0, xmmword [edi + 0x20]
vmovdqa xmmword [esp + 0xa0], xmm0
vmovdqu xmm0, xmmword [edi + 0x30]
vmovdqa xmmword [esp + 0xb0], xmm0
vpclmulqdq xmm1, xmm4, xmm3, 1
vpclmulqdq xmm0, xmm4, xmm3, 0x10
vxorps xmm4, xmm0, xmm1
vpclmulqdq xmm1, xmm5, xmm3, 1
vpclmulqdq xmm0, xmm5, xmm3, 0x10
vxorps xmm5, xmm0, xmm1
vpclmulqdq xmm1, xmm6, xmm3, 1
vpclmulqdq xmm0, xmm6, xmm3, 0x10
vxorps xmm6, xmm0, xmm1
sub esi, 0x40
add edi, 0x40
vpclmulqdq xmm1, xmm7, xmm3, 1
vpclmulqdq xmm0, xmm7, xmm3, 0x10
vxorps xmm0, xmm0, xmm1
test edx, edx
je 0x4b55b3
vpxor xmm2, xmm2, xmmword [esp + 0x90]
xor edx, edx
vpxor xmm5, xmm5, xmmword [esp + 0x80]
vpxor xmm6, xmm6, xmmword [esp + 0xa0]
vpxor xmm7, xmm0, xmmword [esp + 0xb0]
vpxor xmm4, xmm4, xmm2
vmovdqa xmmword [esp + 0x40], xmm4
vmovdqa xmmword [esp + 0x30], xmm5
vmovdqa xmmword [esp + 0x20], xmm6
vmovdqa xmmword [esp + 0x10], xmm7
sub eax, 1
jne 0x4b5530
cmp esi, 0x30
jb 0x4b56ff
vmovdqu xmm1, xmmword [edi + 0x10]
vmovdqu xmm0, xmmword [edi]
vmovdqa xmmword [esp + 0x80], xmm1
vmovdqu xmm1, xmmword [edi + 0x20]
sub esi, 0x30
add edi, 0x30
vmovdqa xmmword [esp + 0x60], xmm0
vmovdqa xmmword [esp + 0xa0], xmm1
test edx, edx
je 0x4b563b
vpxor xmm0, xmm0, xmmword [esp + 0x90]
vmovdqa xmmword [esp + 0x60], xmm0
vpclmulqdq xmm1, xmm6, xmm3, 1
vpclmulqdq xmm0, xmm6, xmm3, 0x10
vmovdqa xmm6, xmmword [0x4dab00]
vxorps xmm3, xmm1, xmm0
vpclmulqdq xmm1, xmm5, xmm6, 1
vpclmulqdq xmm0, xmm5, xmm6, 0x10
vxorps xmm2, xmm1, xmm0
vpclmulqdq xmm1, xmm4, xmm6, 1
vpclmulqdq xmm0, xmm4, xmm6, 0x10
vpxor xmm6, xmm2, xmmword [esp + 0x80]
vxorps xmm0, xmm1, xmm0
vpxor xmm5, xmm0, xmmword [esp + 0x60]
vmovdqa xmm4, xmm7
vpxor xmm7, xmm3, xmmword [esp + 0xa0]
jmp 0x4b57aa
add esi, 0xfffffff0
lea eax, [esp + 0xd0]
push esi
push edi
push eax
call fcn.004abcb0
vmovdqa xmm0, xmmword [esp + 0xdc]
vmovdqa xmm4, xmmword [esp + 0xbc]
vmovdqa xmm5, xmmword [esp + 0xac]
vmovdqa xmm6, xmmword [esp + 0x8c]
vmovdqa xmmword [esp + 0x5c], xmm0
vmovdqa xmm0, xmmword [esp + 0xcc]
vpclmulqdq xmm1, xmm0, xmmword [0x4dab00], 1
vpclmulqdq xmm0, xmm0, xmmword [0x4dab00], 0x10
vxorps xmm0, xmm1, xmm0
vpxor xmm7, xmm0, xmmword [esp + 0x6c]
add esp, 0xc
jmp 0x4b57aa
cmp esi, 0x20
jb 0x4b576e
vmovdqu xmm0, xmmword [edi]
vmovdqu xmm1, xmmword [edi + 0x10]
sub esi, 0x20
add edi, 0x20
vmovdqa xmmword [esp + 0x60], xmm0
vmovdqa xmmword [esp + 0x80], xmm1
test edx, edx
je 0x4b5735
vpxor xmm0, xmm0, xmmword [esp + 0x90]
vmovdqa xmmword [esp + 0x60], xmm0
vpclmulqdq xmm1, xmm5, xmm3, 1
vpclmulqdq xmm0, xmm5, xmm3, 0x10
vxorps xmm2, xmm1, xmm0
vpclmulqdq xmm1, xmm4, xmm3, 1
vpclmulqdq xmm0, xmm4, xmm3, 0x10
vxorps xmm0, xmm1, xmm0
vmovdqa xmm4, xmm6
vpxor xmm6, xmm0, xmmword [esp + 0x60]
vmovdqa xmm5, xmm7
vpxor xmm7, xmm2, xmmword [esp + 0x80]
jmp 0x4b57aa
cmp esi, 0x10
jb 0x4b57c2
vmovdqu xmm2, xmmword [edi]
sub esi, 0x10
add edi, 0x10
test edx, edx
je 0x4b578a
vpxor xmm2, xmm2, xmmword [esp + 0x90]
vpclmulqdq xmm1, xmm4, xmm3, 1
vpclmulqdq xmm0, xmm4, xmm3, 0x10
vmovdqa xmm4, xmm5
vxorps xmm0, xmm1, xmm0
vmovdqa xmm5, xmm6
vmovdqa xmm6, xmm7
vpxor xmm7, xmm0, xmm2
vmovdqa xmmword [esp + 0x10], xmm7
vmovdqa xmmword [esp + 0x20], xmm6
vmovdqa xmmword [esp + 0x30], xmm5
vmovdqa xmmword [esp + 0x40], xmm4
test esi, esi
je 0x4b580c
push esi
lea eax, [esp + 0x54]
push edi
push eax
call fcn.004abcb0
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x5c]
push eax
push esi
call fcn.004b63c0
vmovdqa xmm7, xmmword [esp + 0x34]
vmovdqa xmm6, xmmword [esp + 0x44]
vmovdqa xmm5, xmmword [esp + 0x54]
vmovdqa xmm4, xmmword [esp + 0x64]
add esp, 0x24
mov eax, dword [esp + 0x7c]
vmovdqu xmmword [eax], xmm4
vmovdqu xmmword [eax + 0x10], xmm5
vmovdqu xmmword [eax + 0x20], xmm6
vmovdqu xmmword [eax + 0x30], xmm7
mov ecx, dword [esp + 0xec]
pop edi
pop esi
xor ecx, esp
call fcn.004a9ea5
mov esp, ebp
pop ebp
ret