Function at 0x5169f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x6dded4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x51713e
sub esp, 0x94
mov edx, dword [esp + 0x98]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebx, 0x20
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x516a4c
mov esi, dword [edx + 0x18]
mov edi, dword [edx + 0x1c]
add esi, 0x165667c5
adc edi, 0x27d4eb2f
jmp 0x516dd4
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x88], ebx
mov eax, dword [edx + 8]
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x20], ecx
mov esi, dword [edx + 0x10]
mov dword [esp + 0x10], esi
mov edi, dword [edx + 0x14]
mov dword [esp + 0x1c], edi
mov ebp, dword [edx + 0x18]
mov dword [esp + 0xc], ebp
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x20]
mov dword [esp + 8], ebp
mov edx, dword [edx + 0x24]
mov dword [esp + 0x18], edx
shl ecx, 1
shl eax, 1
mov edx, dword [esp + 0x14]
shr edx, 0x1f
or ecx, edx
mov edx, dword [esp + 0x20]
shr edx, 0x1f
or eax, edx
mov dword [esp + 0x84], eax
mov edx, edi
shl edi, 7
shl esi, 7
mov ebp, dword [esp + 0x10]
shr ebp, 0x19
or edi, ebp
shr edx, 0x19
or esi, edx
mov edx, ebx
shl ebx, 0xc
mov ebp, dword [esp + 0xc]
shl ebp, 0xc
mov dword [esp + 0x80], ebp
mov ebp, dword [esp + 0xc]
shr ebp, 0x14
or ebx, ebp
mov dword [esp + 0x7c], ebx
mov ebp, edx
shr edx, 0x14
mov ebx, dword [esp + 0x80]
or ebx, edx
mov dword [esp + 0x80], ebx
mov edx, dword [esp + 8]
shr edx, 0xe
mov ebx, dword [esp + 0x18]
shl ebx, 0x12
or ebx, edx
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 8]
shl edx, 0x12
mov ebx, dword [esp + 0x18]
shr ebx, 0xe
or edx, ebx
mov dword [esp + 0x74], edx
mov eax, 0x27d4eb4f
mov edx, dword [esp + 0x14]
mul edx
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x14]
imul ebx, ebx, 0xc2b2ae3d
add edx, ebx
mov ebx, dword [esp + 0x20]
imul ebx, ebx, 0x27d4eb4f
add edx, ebx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x10]
mov edx, 0x27d4eb4f
mul edx
mov dword [esp + 0x68], eax
mov ebx, dword [esp + 0x10]
imul ebx, ebx, 0xc2b2ae3d
add edx, ebx
mov ebx, dword [esp + 0x1c]
imul ebx, ebx, 0x27d4eb4f
add edx, ebx
mov dword [esp + 0x64], edx
mov eax, 0x27d4eb4f
mov edx, dword [esp + 0xc]
mul edx
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0xc]
imul ebx, ebx, 0xc2b2ae3d
add edx, ebx
imul ebx, ebp, 0x27d4eb4f
add edx, ebx
mov dword [esp + 0x5c], edx
mov eax, 0x27d4eb4f
mov ebp, dword [esp + 8]
mul ebp
mov dword [esp + 0x58], eax
imul ebp, ebp, 0xc2b2ae3d
add edx, ebp
mov ebp, dword [esp + 0x18]
imul ebp, ebp, 0x27d4eb4f
add edx, ebp
mov dword [esp + 0x54], edx
mov ebp, dword [esp + 0x70]
shr ebp, 1
mov edx, dword [esp + 0x6c]
shl edx, 0x1f
or ebp, edx
imul edx, ebp, 0x85ebca87
mov dword [esp + 0x50], edx
mov ebp, dword [esp + 0x70]
shl ebp, 0x1f
mov ebx, dword [esp + 0x6c]
shr ebx, 1
or ebx, ebp
mov eax, 0x85ebca87
mul ebx
mov dword [esp + 0x2c], eax
imul ebx, ebx, 0x9e3779b1
add edx, ebx
mov ebx, dword [esp + 0x50]
add edx, ebx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x68]
shr ebx, 1
mov edx, dword [esp + 0x64]
shl edx, 0x1f
or ebx, edx
imul edx, ebx, 0x85ebca87
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x68]
shl ebx, 0x1f
mov ebp, dword [esp + 0x64]
shr ebp, 1
or ebp, ebx
mov eax, 0x85ebca87
mul ebp
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x70]
add edx, ebx
imul ebx, ebp, 0x9e3779b1
add edx, ebx
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x60]
mov ebp, ebx
shr ebx, 1
mov edx, dword [esp + 0x5c]
shl edx, 0x1f
or ebx, edx
imul edx, ebx, 0x85ebca87
mov dword [esp + 0x70], edx
shl ebp, 0x1f
mov ebx, dword [esp + 0x5c]
shr ebx, 1
or ebx, ebp
mov eax, ebx
mov ebp, 0x85ebca87
mul ebp
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0x70]
add edx, ebp
imul ebx, ebx, 0x9e3779b1
add edx, ebx
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x58]
mov ebp, ebx
shr ebx, 1
mov edx, dword [esp + 0x54]
shl edx, 0x1f
or ebx, edx
imul edx, ebx, 0x85ebca87
mov dword [esp + 0x70], edx
shl ebp, 0x1f
mov ebx, dword [esp + 0x54]
shr ebx, 1
or ebx, ebp
mov eax, ebx
mov ebp, 0x85ebca87
mul ebp
mov ebp, dword [esp + 0x70]
add edx, ebp
imul ebx, ebx, 0x9e3779b1
add edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x84]
add ebx, esi
adc ecx, edi
mov ebp, dword [esp + 0x80]
add ebp, ebx
mov ebx, dword [esp + 0x7c]
adc ecx, ebx
mov ebx, dword [esp + 0x74]
add ebx, ebp
mov ebp, dword [esp + 0x78]
adc ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0x2c]
xor ebx, edx
mov edx, dword [esp + 0x38]
xor ebp, edx
mov edx, eax
mov eax, 0x85ebca87
mov esi, edx
mul ebx
imul ebp, ebp, 0x85ebca87
add edx, ebp
imul ebx, ebx, 0x9e3779b1
add edx, ebx
add eax, 0xc2b2ae63
adc edx, 0x85ebca77
mov ebx, dword [esp + 0x28]
xor eax, ebx
mov ebx, dword [esp + 0x34]
xor ebx, edx
mov edx, 0x85ebca87
mov ebp, eax
mul edx
imul ebx, ebx, 0x85ebca87
add edx, ebx
imul ebx, ebp, 0x9e3779b1
add edx, ebx
add eax, 0xc2b2ae63
adc edx, 0x85ebca77
mov ebx, dword [esp + 0x24]
xor eax, ebx
mov ebx, dword [esp + 0x30]
xor ebx, edx
mov edx, 0x85ebca87
mov ebp, eax
mul edx
imul ebx, ebx, 0x85ebca87
add edx, ebx
imul ebx, ebp, 0x9e3779b1
add edx, ebx
add eax, 0xc2b2ae63
adc edx, 0x85ebca77
xor eax, esi
xor ecx, edx
mov edx, 0x85ebca87
mov ebx, eax
mul edx
imul ebp, ecx, 0x85ebca87
add edx, ebp
imul ebx, ebx, 0x9e3779b1
lea edi, [edx + ebx]
add eax, 0xc2b2ae63
adc edi, 0x85ebca77
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov esi, eax
mov eax, ebx
and ebx, 0x1f
add edx, 0x28
add eax, esi
adc ebp, edi
xor ecx, ecx
mov esi, 0x20
jmp 0x516f31
add esi, 0xfffffff8
mov dword [esp + 0x48], esi
mov edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 8
movzx ecx, byte [edx]
movzx ebx, byte [edx + 1]
mov dword [esp + 0x8c], ebx
shl ebx, 8
or ebx, ecx
mov ecx, edi
mov edi, dword [esp + 0x8c]
shr edi, 0x18
movzx esi, byte [edx + 2]
mov dword [esp + 0x8c], esi
shr esi, 0x10
or esi, edi
mov edi, dword [esp + 0x8c]
shl edi, 0x10
or edi, ebx
movzx ebx, byte [edx + 3]
mov dword [esp + 0x8c], ebx
shr ebx, 8
or ebx, esi
mov esi, edi
mov edi, dword [esp + 0x8c]
shl edi, 0x18
or edi, esi
movzx esi, byte [edx + 4]
or esi, ebx
movzx ebx, byte [edx + 5]
shl ebx, 8
or esi, ebx
movzx ebx, byte [edx + 6]
shl ebx, 0x10
or ebx, esi
movzx esi, byte [edx + 7]
shl esi, 0x18
or esi, ebx
mov ebx, eax
mov eax, 0x27d4eb4f
mul edi
imul edi, edi, 0xc2b2ae3d
imul esi, esi, 0x27d4eb4f
add edx, esi
add edi, edx
mov edx, eax
shr edx, 1
mov esi, edi
shl edi, 0x1f
or edi, edx
imul edi, edi, 0x85ebca87
shl eax, 0x1f
shr esi, 1
or eax, esi
mov dword [esp + 0x8c], eax
mov edx, edi
mov edi, 0x85ebca87
mov esi, edx
mul edi
xor ebx, eax
lea eax, [esi + edx]
mov edi, dword [esp + 0x8c]
imul edi, edi, 0x9e3779b1
add edi, eax
xor ebp, edi
mov edi, ebx
shr ebx, 5
mov eax, ebp
shl ebp, 0x1b
or ebx, ebp
imul edx, ebx, 0x85ebca87
shl edi, 0x1b
shr eax, 5
or eax, edi
mov ebx, eax
mov eax, 0x85ebca87
mov ebp, edx
mul ebx
lea edi, [ebp + edx]
imul edx, ebx, 0x9e3779b1
lea ebp, [edi + edx]
nop
mov edi, dword [esp + 0x90]
lea edx, [ecx + edi]
nop
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
mov ebx, dword [esp + 0x3c]
add ebx, 0xfffffff8
mov ecx, dword [esp + 0x40]
adc ecx, 0xffffffff
mov edi, dword [esp + 0x48]
mov esi, edi
mov dword [esp + 0x90], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ecx
test ecx, ecx
xchg edi, ebx
seta bl
xchg edi, ebx
sete cl
cmp ebx, 8
setae bl
and ebx, ecx
or ebx, edi
test bl, bl
je 0x516f69
nop
cmp esi, 7
ja 0x516dec
jmp 0x517131
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x3c]
cmp ebx, 4
setae al
and eax, ecx
or eax, edi
test al, al
je 0x517010
cmp esi, 3
jbe 0x517125
add esi, 0xfffffffc
mov edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 4
mov dword [esp + 0x4c], edi
mov eax, dword [edx]
mov ecx, eax
mov eax, 0x85ebca87
mul ecx
mov edi, dword [esp + 0x44]
xor eax, edi
imul edi, ecx, 0x9e3779b1
add edi, edx
xor ebp, edi
mov edi, eax
shr eax, 9
mov ecx, ebp
shl ebp, 0x17
or eax, ebp
imul eax, eax, 0x27d4eb4f
shl edi, 0x17
shr ecx, 9
or ecx, edi
mov edx, eax
mov eax, 0x27d4eb4f
mov ebp, edx
mul ecx
imul edi, ecx, 0xc2b2ae3d
add edi, edx
add ebp, edi
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + edi]
add eax, 0x9e3779f9
adc ebp, 0x165667b1
add ebx, 0xfffffffc
mov ecx, dword [esp + 0x40]
adc ecx, 0xffffffff
jmp 0x51708f
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
jmp 0x51708f
movzx edi, byte [edx]
mov ecx, eax
mov eax, 0x165667c5
mov ebx, edx
mul edi
xor eax, ecx
imul edi, edi, 0x27d4eb2f
add edi, edx
xor edi, ebp
dec esi
mov ecx, esi
neg ecx
sar ecx, 0x1f
and ecx, 1
mov edx, edi
shl edi, 0xb
mov ebp, eax
shl ebp, 0xb
shr eax, 0x15
or edi, eax
imul edi, edi, 0x85ebca87
mov dword [esp + 0x8c], edi
shr edx, 0x15
or ebp, edx
mov eax, ebp
mov edi, 0x85ebca87
mul edi
mov edi, dword [esp + 0x8c]
add edi, edx
imul edx, ebp, 0x9e3779b1
add ecx, ebx
lea ebp, [edi + edx]
mov ebx, dword [esp + 0x3c]
add ebx, 0xffffffff
mov edi, dword [esp + 0x40]
adc edi, 0xffffffff
mov edx, ecx
mov ecx, edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ecx
test ecx, ecx
xchg edi, ebx
seta bl
xchg edi, ebx
sete cl
test ebx, ebx
seta bl
and ecx, ebx
or ecx, edi
test cl, cl
je 0x5170ba
test esi, esi
ja 0x51701a
jmp 0x51711c
mov ecx, ebp
shr ebp, 1
xor ebp, eax
mov eax, 0x27d4eb4f
mul ebp
imul ebx, ebp, 0xc2b2ae3d
add edx, ebx
imul ecx, ecx, 0x27d4eb4f
add ecx, edx
mov edx, ecx
shl ecx, 3
mov ebx, edx
shr edx, 0x1d
xor edx, ebx
mov ebx, eax
shr eax, 0x1d
or ecx, eax
xor ecx, ebx
mov eax, 0x9e3779f9
mov ebx, edx
mul ecx
imul ebx, ebx, 0x9e3779f9
imul ecx, ecx, 0x165667b1
add ecx, edx
add ecx, ebx
mov dword [esp + 0xa0], ecx
xor ecx, eax
mov dword [esp + 0x9c], ecx
add esp, 0x94
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 3
mov ecx, esi
call sym.runtime.panicIndex
mov eax, 7
mov ecx, esi
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._xxhash64_.digest