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

Disassembly:
mov ecx, dword [0x71d934]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x55a228
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 0x559747
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x5c], edx
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0046f59b
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 0x5597ec
lea eax, [0x5bece8]
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 0x559bfb
cmp eax, 0xa
jge 0x559b86
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 0x55983f
xor ecx, ecx
jmp 0x55985a
cmp ecx, ebx
jbe 0x55a214
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 0x559a86
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 0x559a47
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 0x559947
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x5c]
cmp ecx, edx
je 0x5597a8
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 0x5597a8
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, [0x591ca0]
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, [0x591ca0]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x5c50e0]
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 [0x6f3cf8]
mov ecx, dword [0x6f3cfc]
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, [0x591ca0]
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, [0x591ca0]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x5c6c60]
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 [0x6f3cf8]
mov ecx, dword [0x6f3cfc]
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, [0x5c554a]
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 [0x6f3cf8]
mov ecx, dword [0x6f3cfc]
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 0x559c1e
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
jmp 0x559c6c
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 0x559ca4
xor eax, eax
jmp 0x559cc4
cmp edx, eax
jbe 0x55a20d
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.0046f59a
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, [0x591ae0]
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, [0x591c60]
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, [0x591c60]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
lea eax, [0x5be52f]
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 0x559e45
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 0x559e72
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
je 0x559e39
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 0x559c56
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 0x559eb1
mov ebx, dword [esp + 0x5c]
jmp 0x559c56
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 0x559f03
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x3c]
jmp 0x55a008
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.0046f59a
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x591c60]
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, [0x591d20]
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, [0x591d20]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
lea ecx, [0x5c6fc9]
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 [0x6f3cf8]
mov edx, dword [0x6f3cfc]
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 0x55a0aa
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 0x55a083
xor ecx, ecx
jmp 0x55a0a2
cmp eax, ecx
jae 0x55a208
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 0x55a0ea
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 0x55a000
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 0x55a1c1
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, eax
jne 0x55a0e2
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 0x55a169
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xbc]
jmp 0x55a0e2
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 [0x6f3cf8]
mov ecx, dword [0x6f3cfc]
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