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

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x583b28
sub esp, 0xb0
mov eax, 0
mov dword [esp + 0xac], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov ecx, dword [esp + 0xbc]
cmp ecx, 0x1000
jg 0x583047
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x5c], edx
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0046ffcb
lea ecx, [sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.newCounter.func1]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0xc4]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0xac], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.lookup
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
movzx ebp, byte [esp + 0x18]
mov dword [esp + 0xc0], ecx
xor eax, eax
jmp 0x5830ec
lea eax, [0x624d47]
mov dword [esp], eax
mov dword [esp + 4], 0x15
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb0
ret
mov dword [esp + 0xb4], eax
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 8], ecx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.lookup
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
inc ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
movzx ebp, byte [esp + 0x18]
mov dword [esp + 0xc0], eax
mov eax, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5834fb
cmp eax, 0xa
jge 0x583486
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx + 8]
mov edx, dword [edx + 0x20]
mov ecx, dword [edx + 8]
mov ebp, ecx
sar ebp, 0x1f
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setl bl
xchg esi, ebx
cmp ecx, ebx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebp
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x58313f
xor ecx, ecx
jmp 0x58315a
cmp ecx, ebx
jbe 0x583b14
mov eax, dword [edx + 4]
add eax, ebx
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
mov ecx, eax
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx + 0x20]
mov ebx, dword [ebx + 8]
mov ebp, ebx
sar ebx, 0x1f
test ebx, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ecx, ebp
setbe al
and eax, edi
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x583386
mov dword [esp + 0x28], ecx
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov ebx, dword [eax + 0x12c]
mov eax, dword [eax + 0x130]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter.openMapped
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x583347
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 8]
mov edx, ecx
sar ecx, 0x1f
test ecx, ecx
sete bl
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov esi, dword [esp + 0x28]
cmp esi, edx
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x583247
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x5c]
cmp ecx, edx
je 0x5830a8
mov dword [esp + 0x64], eax
lea eax, [sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.newCounter._mappedFile_.close.func2]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test byte [ecx], al
add ecx, 0x10
mov dword [esp], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 4], ecx
call sym.sync._Once_.Do
mov eax, dword [esp + 0x64]
jmp 0x5830a8
mov dword [esp + 0x50], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp], esi
mov dword [esp + 4], 0
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed860]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed860]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x62c72f]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter.debugFatalf
mov eax, dword [0x7863e8]
mov ecx, dword [0x7863ec]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp], ecx
mov dword [esp + 4], 0
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed860]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed860]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x62e906]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter.debugFatalf
mov eax, dword [0x7863e8]
mov ecx, dword [0x7863ec]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
lea eax, [0x62ccaa]
mov dword [esp], eax
mov dword [esp + 4], 0x27
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter.debugFatalf
mov eax, dword [0x7863e8]
mov ecx, dword [0x7863ec]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov ebp, dword [esp + 0xc0]
test ebp, ebp
jne 0x58351e
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
jmp 0x58356c
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0xb4]
mov eax, dword [edi + 8]
mov edi, dword [edi + 0x20]
mov ecx, dword [edi + 8]
mov dword [esp + 0x50], ecx
sar ecx, 0x1f
mov edx, dword [esp + 0x50]
cmp edx, eax
setbe bl
test ecx, ecx
sete cl
xchg ebp, ebx
setl bl
xchg ebp, ebx
and ebx, ecx
or ebx, ebp
test bl, bl
je 0x5835a4
xor eax, eax
jmp 0x5835c4
cmp edx, eax
jbe 0x583b0d
mov ecx, dword [edi + 4]
add eax, ecx
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xc], ecx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.place
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.0046ffca
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5ed820]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5ed820]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
lea eax, [0x624468]
mov dword [esp], eax
mov dword [esp + 4], 0x14
lea edx, [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter.debugPrintf
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 8]
mov edx, ecx
sar ecx, 0x1f
test ecx, ecx
sete cl
setl bl
mov ebp, dword [esp + 0x40]
cmp edx, ebp
setb dl
and edx, ecx
or edx, ebx
test dl, dl
je 0x583745
mov dword [esp], eax
mov dword [esp + 4], ebp
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.extend
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x583772
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
je 0x583739
mov dword [esp + 0x60], ecx
nop
lea eax, [sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.newCounter._mappedFile_.close.func3]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
test byte [edx], al
lea ecx, [edx + 0x10]
mov dword [esp], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 4], ecx
call sym.sync._Once_.Do
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xb4], ecx
jmp 0x583556
mov ecx, dword [eax + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.cas32
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5837b1
mov ebx, dword [esp + 0x5c]
jmp 0x583556
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0xc], edx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.writeEntryAt
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
test al, al
je 0x583803
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x3c]
jmp 0x583908
mov ecx, dword [esp + 0xb4]
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x50], ecx
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.0046ffca
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed820]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
lea ecx, [0x62ec9d]
mov dword [esp], ecx
mov dword [esp + 4], 0x2e
lea ecx, [esp + 0x7c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter.debugFatalf
mov ecx, dword [0x7863e8]
mov edx, dword [0x7863ec]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov ecx, dword [edx]
call ecx
add esp, 0xb0
ret
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
test byte [edx], al
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.sync_atomic.StoreUint32
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.cas32
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5839aa
mov edx, dword [esp + 0xb4]
mov edx, dword [edx + 0x20]
mov ecx, dword [edx + 8]
mov ebx, ecx
sar ebx, 0x1f
test ebx, ebx
sete bl
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov eax, dword [esp + 0x38]
cmp eax, ecx
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x583983
xor ecx, ecx
jmp 0x5839a2
cmp eax, ecx
jae 0x583b08
mov ecx, dword [edx + 4]
add ecx, eax
mov dword [esp], ecx
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
mov ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x4c], ecx
mov edx, ecx
jmp 0x5839ea
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
cmp ecx, ebx
je 0x583900
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.entryAt
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test al, al
je 0x583ac1
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, eax
jne 0x5839e2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
jne 0x583a69
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xbc]
jmp 0x5839e2
nop
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call sym.sync_atomic.StoreUint32
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
mov eax, dword [0x7863e8]
mov ecx, dword [0x7863ec]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xac]
mov eax, dword [edx]
call eax
add esp, 0xb0
ret
call sym.runtime.panicIndexU
mov ecx, edx
call sym.runtime.panicIndexU
mov eax, ebx
call sym.runtime.panicIndexU
nop
call sym.runtime.deferreturn
add esp, 0xb0
ret
call sym.runtime.morestack_noctxt
jmp sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.newCounter