Function at 0x52d4f0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52dd2d
sub esp, 0x58
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov ecx, dword [esp + 0x64]
mov esi, ecx
sar esi, 0x1f
add ebx, ecx
mov dword [edx], ebx
adc esi, ebp
mov dword [edx + 4], esi
mov eax, dword [edx + 0x48]
lea ebx, [eax + ecx]
cmp ebx, 0x20
jl 0x52d8e4
test eax, eax
jle 0x52d8d5
cmp eax, 0x20
ja 0x52dd22
lea ebx, [eax - 0x20]
neg ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [edx + eax + 0x28]
cmp ecx, ebp
jge 0x52d55c
mov eax, ecx
jmp 0x52d560
mov eax, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x60]
cmp ebp, ebx
je 0x52d58c
mov dword [esp + 0x2c], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
cmp eax, ecx
jb 0x52dd17
mov ebx, dword [esp + 0x68]
sub ebx, ecx
mov dword [esp + 0x4c], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov dword [esp + 0x48], ebx
mov edi, dword [edx + 8]
mov dword [esp + 0x24], edi
mov esi, dword [edx + 0xc]
mov dword [esp + 0x28], esi
movzx esi, byte [edx + 0x28]
movzx edi, byte [edx + 0x29]
mov dword [esp + 0x44], edi
shl edi, 8
or esi, edi
mov edi, dword [esp + 0x44]
shr edi, 0x18
movzx ebx, byte [edx + 0x2a]
mov dword [esp + 0x44], ebx
shr ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x44]
shl edi, 0x10
or edi, esi
movzx esi, byte [edx + 0x2b]
mov dword [esp + 0x44], esi
shr esi, 8
or esi, ebx
mov ebx, dword [esp + 0x44]
shl ebx, 0x18
or ebx, edi
movzx edi, byte [edx + 0x2c]
or edi, esi
movzx esi, byte [edx + 0x2d]
shl esi, 8
or esi, edi
movzx edi, byte [edx + 0x2e]
shl edi, 0x10
or edi, esi
movzx esi, byte [edx + 0x2f]
shl esi, 0x18
or esi, edi
mov edi, eax
mov eax, 0x27d4eb4f
mul ebx
imul ebx, ebx, 0xc2b2ae3d
add edx, ebx
imul ebx, esi, 0x27d4eb4f
add edx, ebx
sub edi, ecx
mov ebx, dword [esp + 0x48]
add ebx, ebp
mov dword [esp + 0x54], ebx
nop
mov ebp, dword [esp + 0x24]
add ebp, eax
mov esi, dword [esp + 0x28]
adc edx, esi
mov esi, ebp
shr ebp, 1
mov eax, edx
shl edx, 0x1f
or edx, ebp
imul edx, edx, 0x85ebca87
shl esi, 0x1f
shr eax, 1
or eax, esi
mov ecx, eax
mov eax, 0x85ebca87
mov ebp, edx
mul ecx
mov esi, dword [esp + 0x5c]
mov dword [esi + 8], eax
imul eax, ecx, 0x9e3779b1
add edx, eax
add edx, ebp
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x20], edx
mov ebp, dword [esi + 0x14]
movzx eax, byte [esi + 0x30]
movzx ecx, byte [esi + 0x31]
mov dword [esp + 0x44], ecx
shl ecx, 8
or eax, ecx
mov ebx, dword [esp + 0x44]
shr ebx, 0x18
movzx ecx, byte [esi + 0x32]
mov dword [esp + 0x44], ecx
shr ecx, 0x10
or ecx, ebx
mov ebx, dword [esp + 0x44]
shl ebx, 0x10
or ebx, eax
movzx eax, byte [esi + 0x33]
mov dword [esp + 0x44], eax
shr eax, 8
or eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x44]
shl edi, 0x18
or edi, ebx
movzx ebx, byte [esi + 0x34]
or ebx, eax
movzx eax, byte [esi + 0x35]
shl eax, 8
or eax, ebx
movzx ebx, byte [esi + 0x36]
shl ebx, 0x10
or ebx, eax
movzx eax, byte [esi + 0x37]
shl eax, 0x18
or eax, ebx
mov ebx, eax
mov eax, 0x27d4eb4f
mul edi
imul edi, edi, 0xc2b2ae3d
imul ebx, ebx, 0x27d4eb4f
add edx, ebx
add edx, edi
nop
mov ebx, dword [esp + 0x20]
add ebx, eax
adc ebp, edx
mov edx, ebx
shr ebx, 1
mov edi, ebp
shl ebp, 0x1f
or ebx, ebp
imul ebx, ebx, 0x85ebca87
shl edx, 0x1f
shr edi, 1
or edx, edi
mov eax, 0x85ebca87
mov ebp, edx
mul edx
mov dword [esi + 0x10], eax
add edx, ebx
imul ebx, ebp, 0x9e3779b1
add edx, ebx
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x1c], edx
mov ebx, dword [esi + 0x1c]
movzx ebp, byte [esi + 0x38]
movzx edi, byte [esi + 0x39]
mov eax, edi
shl edi, 8
or ebp, edi
shr eax, 0x18
movzx edi, byte [esi + 0x3a]
mov dword [esp + 0x44], edi
shr edi, 0x10
or edi, eax
mov eax, ebx
mov ebx, dword [esp + 0x44]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [esi + 0x3b]
mov dword [esp + 0x44], ebp
shr ebp, 8
or ebp, edi
mov edi, dword [esp + 0x44]
shl edi, 0x18
or edi, ebx
movzx ebx, byte [esi + 0x3c]
or ebx, ebp
movzx ebp, byte [esi + 0x3d]
shl ebp, 8
or ebp, ebx
movzx ebx, byte [esi + 0x3e]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [esi + 0x3f]
shl ebp, 0x18
or ebp, ebx
mov ebx, eax
mov eax, 0x27d4eb4f
mul edi
imul edi, edi, 0xc2b2ae3d
imul ebp, ebp, 0x27d4eb4f
add edx, ebp
add edx, edi
nop
mov ebp, dword [esp + 0x1c]
add eax, ebp
adc ebx, edx
mov edx, eax
shr eax, 1
mov ebp, ebx
shl ebx, 0x1f
or ebx, eax
imul ebx, ebx, 0x85ebca87
shl edx, 0x1f
shr ebp, 1
or ebp, edx
mov eax, 0x85ebca87
mul ebp
mov dword [esi + 0x18], eax
add edx, ebx
imul ebx, ebp, 0x9e3779b1
add edx, ebx
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0x20]
mov dword [esp + 0x18], edx
mov ebx, dword [esi + 0x24]
movzx ebp, byte [esi + 0x40]
movzx edi, byte [esi + 0x41]
mov eax, edi
shl edi, 8
or ebp, edi
shr eax, 0x18
movzx edi, byte [esi + 0x42]
mov dword [esp + 0x44], edi
shr edi, 0x10
or edi, eax
mov eax, ebx
mov ebx, dword [esp + 0x44]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [esi + 0x43]
mov dword [esp + 0x44], ebp
shr ebp, 8
or ebp, edi
mov edi, dword [esp + 0x44]
shl edi, 0x18
or edi, ebx
movzx ebx, byte [esi + 0x44]
or ebx, ebp
movzx ebp, byte [esi + 0x45]
shl ebp, 8
or ebp, ebx
movzx ebx, byte [esi + 0x46]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [esi + 0x47]
shl ebp, 0x18
or ebp, ebx
mov ebx, eax
mov eax, 0x27d4eb4f
mul edi
imul edi, edi, 0xc2b2ae3d
imul ebp, ebp, 0x27d4eb4f
add edx, ebp
add edx, edi
nop
mov ebp, dword [esp + 0x18]
add eax, ebp
adc ebx, edx
mov edx, eax
shr eax, 1
mov ebp, ebx
shl ebx, 0x1f
or eax, ebx
imul ebx, eax, 0x85ebca87
shl edx, 0x1f
shr ebp, 1
or ebp, edx
mov eax, 0x85ebca87
mul ebp
mov dword [esi + 0x20], eax
add edx, ebx
imul ebx, ebp, 0x9e3779b1
add edx, ebx
mov dword [esi + 0x24], edx
mov dword [esi + 0x48], 0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
jmp 0x52da2f
mov esi, edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
jmp 0x52da2f
cmp eax, 0x20
ja 0x52d92e
lea ebx, [eax - 0x20]
neg ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea eax, [edx + eax + 0x28]
cmp ecx, ebp
jge 0x52d903
mov ebx, ecx
jmp 0x52d907
mov ebx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x60]
cmp ebp, eax
je 0x52d927
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
add dword [edx + 0x48], ebx
add esp, 0x58
ret
mov ecx, 0x20
call sym.runtime.panicSliceB
mov ebx, dword [ecx + 0x20]
mov dword [esp + 0xc], ebx
mov ebp, dword [ecx + 0x24]
mov eax, ebp
mov ebp, dword [esp + 0x40]
add ebp, 0xffffffe0
mov dword [esp + 0x4c], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0x20
movzx esi, byte [edi + 0x18]
movzx edx, byte [edi + 0x19]
mov dword [esp + 0x44], edx
shl edx, 8
or esi, edx
mov ebx, dword [esp + 0x44]
shr ebx, 0x18
movzx ecx, byte [edi + 0x1a]
mov dword [esp + 0x44], ecx
shr ecx, 0x10
or ecx, ebx
mov ebx, dword [esp + 0x44]
shl ebx, 0x10
or ebx, esi
movzx esi, byte [edi + 0x1b]
mov dword [esp + 0x44], esi
shr esi, 8
or esi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x44]
shl ebp, 0x18
or ebp, ebx
movzx ebx, byte [edi + 0x1c]
or ebx, esi
movzx esi, byte [edi + 0x1d]
shl esi, 8
or esi, ebx
movzx ebx, byte [edi + 0x1e]
shl ebx, 0x10
or ebx, esi
movzx esi, byte [edi + 0x1f]
shl esi, 0x18
or esi, ebx
mov ebx, eax
mov eax, 0x27d4eb4f
mul ebp
imul ebp, ebp, 0xc2b2ae3d
imul esi, esi, 0x27d4eb4f
add edx, esi
add ebp, edx
lea edx, [ecx + edi]
mov edi, dword [esp + 0x3c]
lea ecx, [edi - 0x20]
nop
mov edi, dword [esp + 0xc]
add edi, eax
adc ebx, ebp
mov ebp, edi
shr edi, 1
mov eax, ebx
shl ebx, 0x1f
or edi, ebx
imul ebx, edi, 0x85ebca87
shl ebp, 0x1f
shr eax, 1
or eax, ebp
mov ebp, eax
mov eax, 0x85ebca87
mov esi, edx
mul ebp
mov edi, dword [esp + 0x5c]
mov dword [edi + 0x20], eax
add ebx, edx
imul ebp, ebp, 0x9e3779b1
add ebx, ebp
mov dword [edi + 0x24], ebx
mov ebx, dword [esp + 0x4c]
mov edx, esi
mov eax, ebx
mov esi, edi
mov dword [esp + 0x3c], ecx
cmp ecx, 0x20
jl 0x52dcc9
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], edx
mov ebx, dword [esi + 8]
mov ebp, dword [esi + 0xc]
lea edi, [ecx - 8]
mov dword [esp + 0x38], edi
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
mov dword [esp + 0x44], ecx
shl ecx, 8
or eax, ecx
mov edi, dword [esp + 0x44]
shr edi, 0x18
movzx ecx, byte [edx + 2]
mov dword [esp + 0x44], ecx
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0x44]
shl edi, 0x10
or edi, eax
movzx eax, byte [edx + 3]
mov dword [esp + 0x44], eax
shr eax, 8
or eax, ecx
mov ecx, esi
mov esi, dword [esp + 0x44]
shl esi, 0x18
or esi, edi
movzx edi, byte [edx + 4]
or edi, eax
movzx eax, byte [edx + 5]
shl eax, 8
or eax, edi
movzx edi, byte [edx + 6]
shl edi, 0x10
or edi, eax
movzx eax, byte [edx + 7]
shl eax, 0x18
or eax, edi
mov edi, eax
mov eax, 0x27d4eb4f
mul esi
imul esi, esi, 0xc2b2ae3d
imul edi, edi, 0x27d4eb4f
add edx, edi
add edx, esi
nop
add ebx, eax
adc ebp, edx
mov edx, ebx
shr ebx, 1
mov esi, ebp
shl ebp, 0x1f
or ebp, ebx
imul ebx, ebp, 0x85ebca87
shl edx, 0x1f
shr esi, 1
or esi, edx
mov eax, 0x85ebca87
mul esi
mov dword [ecx + 8], eax
add edx, ebx
imul ebx, esi, 0x9e3779b1
add edx, ebx
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x38]
cmp edx, 7
jbe 0x52dd0b
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x14], edx
mov ebx, dword [ecx + 0x14]
mov ebp, dword [esp + 0x3c]
lea esi, [ebp - 0x10]
mov dword [esp + 0x34], esi
mov edi, dword [esp + 0x50]
movzx eax, byte [edi + 8]
movzx ebp, byte [edi + 9]
mov dword [esp + 0x44], ebp
shl ebp, 8
or eax, ebp
mov ebp, dword [esp + 0x44]
shr ebp, 0x18
movzx esi, byte [edi + 0xa]
mov dword [esp + 0x44], esi
shr esi, 0x10
or esi, ebp
mov ebp, dword [esp + 0x44]
shl ebp, 0x10
or ebp, eax
movzx eax, byte [edi + 0xb]
mov dword [esp + 0x44], eax
shr eax, 8
or eax, esi
mov esi, dword [esp + 0x44]
shl esi, 0x18
or esi, ebp
movzx ebp, byte [edi + 0xc]
or ebp, eax
movzx eax, byte [edi + 0xd]
shl eax, 8
or eax, ebp
movzx ebp, byte [edi + 0xe]
shl ebp, 0x10
or ebp, eax
movzx eax, byte [edi + 0xf]
shl eax, 0x18
or eax, ebp
mov ebp, eax
mov eax, 0x27d4eb4f
mul esi
imul esi, esi, 0xc2b2ae3d
imul ebp, ebp, 0x27d4eb4f
add edx, ebp
add edx, esi
nop
mov ebp, dword [esp + 0x14]
add ebp, eax
adc edx, ebx
mov ebx, ebp
shr ebp, 1
mov esi, edx
shl edx, 0x1f
or ebp, edx
imul edx, ebp, 0x85ebca87
shl ebx, 0x1f
shr esi, 1
or ebx, esi
mov eax, 0x85ebca87
mov ebp, edx
mul ebx
mov dword [ecx + 0x10], eax
add edx, ebp
imul ebx, ebx, 0x9e3779b1
add edx, ebx
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x34]
cmp edx, 7
jbe 0x52dcff
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x10], edx
mov ebx, dword [ecx + 0x1c]
mov ebp, dword [esp + 0x3c]
lea esi, [ebp - 0x18]
mov dword [esp + 0x30], esi
movzx eax, byte [edi + 0x10]
movzx ebp, byte [edi + 0x11]
mov dword [esp + 0x44], ebp
shl ebp, 8
or eax, ebp
mov ebp, dword [esp + 0x44]
shr ebp, 0x18
movzx esi, byte [edi + 0x12]
mov dword [esp + 0x44], esi
shr esi, 0x10
or esi, ebp
mov ebp, dword [esp + 0x44]
shl ebp, 0x10
or ebp, eax
movzx eax, byte [edi + 0x13]
mov dword [esp + 0x44], eax
shr eax, 8
or eax, esi
mov esi, dword [esp + 0x44]
shl esi, 0x18
or esi, ebp
movzx ebp, byte [edi + 0x14]
or ebp, eax
movzx eax, byte [edi + 0x15]
shl eax, 8
or eax, ebp
movzx ebp, byte [edi + 0x16]
shl ebp, 0x10
or ebp, eax
movzx eax, byte [edi + 0x17]
shl eax, 0x18
or eax, ebp
mov ebp, eax
mov eax, 0x27d4eb4f
mul esi
imul esi, esi, 0xc2b2ae3d
imul ebp, ebp, 0x27d4eb4f
add edx, ebp
add edx, esi
nop
mov ebp, dword [esp + 0x10]
add ebp, eax
adc ebx, edx
mov edx, ebp
shr ebp, 1
mov esi, ebx
shl ebx, 0x1f
or ebx, ebp
imul ebx, ebx, 0x85ebca87
shl edx, 0x1f
shr esi, 1
or esi, edx
mov eax, 0x85ebca87
mul esi
mov dword [ecx + 0x18], eax
add edx, ebx
imul ebx, esi, 0x9e3779b1
add edx, ebx
mov dword [ecx + 0x1c], edx
mov edx, dword [esp + 0x30]
cmp edx, 7
ja 0x52d938
jmp 0x52dcf3
test ecx, ecx
je 0x52dcef
lea eax, [esi + 0x28]
cmp edx, eax
je 0x52dcec
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x5c]
mov dword [esi + 0x48], ecx
add esp, 0x58
ret
mov eax, 7
mov ecx, edx
call sym.runtime.panicIndex
mov eax, 7
mov ecx, edx
call sym.runtime.panicIndex
mov eax, 7
mov ecx, edx
call sym.runtime.panicIndex
mov edx, eax
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, 0x20
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._xxhash64_.update