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

Disassembly:
mov ecx, dword [0x71d934]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x555b1b
sub esp, 0x7c
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x591ae0]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x591ca0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x5bb352]
mov dword [esp], eax
mov dword [esp + 4], 0xc
lea eax, [esp + 0x68]
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.debugPrintf
mov eax, dword [esp + 0x88]
test eax, eax
jl 0x555b02
sete cl
mov edx, dword [esp + 0x84]
test edx, edx
sete bl
and ecx, ebx
test cl, cl
jne 0x55544e
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._file_.register
mov eax, dword [esp + 0x80]
lea ecx, [eax + 0x10]
mov dword [esp + 0x78], ecx
nop
mov dword [esp], ecx
call sym.sync_atomic.LoadUint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
jmp 0x55546f
add esp, 0x7c
ret
nop
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sym.sync_atomic.LoadUint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x40]
mov ecx, eax
and eax, 0x3fffffff
mov edx, dword [esp + 0x44]
cmp eax, 0x3fffffff
sete al
and eax, 1
test al, al
jne 0x5554a1
test ecx, 0x40000000
jne 0x55560e
test al, al
je 0x55554f
mov eax, ecx
and ecx, 0x80000000
mov ebx, edx
shl edx, 1
shr ecx, 0x1f
or edx, ecx
mov ecx, ebx
shr ebx, 0x1f
nop
mov ebp, dword [esp + 0x84]
add ebp, edx
mov edi, dword [esp + 0x88]
adc edi, ebx
cmp ebx, edi
seta bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebp, edx
setb dl
and edx, esi
or ebx, edx
test bl, bl
jne 0x5554e8
cmp edi, 1
jbe 0x5554f2
mov ebp, 0xffffffff
mov edi, 1
mov edx, ebp
shr ebp, 1
shl edi, 0x1f
or ebp, edi
mov dword [esp + 0x4c], ebp
shl edx, 0x1f
mov ebx, eax
and eax, 0x7fffffff
or eax, edx
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call sym.sync_atomic.CompareAndSwapUint64
movzx eax, byte [esp + 0x14]
test al, al
je 0x555544
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
je 0x555452
jmp 0x55565c
test ecx, 0x40000000
jne 0x555452
mov eax, ecx
and ecx, 0x80000000
mov ebx, edx
shl edx, 1
shr ecx, 0x1f
or edx, ecx
mov ecx, ebx
shr ebx, 0x1f
nop
mov ebp, dword [esp + 0x84]
add ebp, edx
mov edi, dword [esp + 0x88]
adc edi, ebx
cmp ebx, edi
seta bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebp, edx
setb dl
and edx, esi
or ebx, edx
test bl, bl
jne 0x5555a2
cmp edi, 1
jbe 0x5555ac
mov ebp, 0xffffffff
mov edi, 1
mov edx, ebp
shr ebp, 1
shl edi, 0x1f
or ebp, edi
mov dword [esp + 0x4c], ebp
shl edx, 0x1f
mov ebx, eax
and eax, 0x7fffffff
or eax, edx
or eax, 0x3fffffff
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call sym.sync_atomic.CompareAndSwapUint64
movzx eax, byte [esp + 0x14]
test al, al
je 0x555603
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
je 0x555452
jmp 0x555737
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
add ecx, 1
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], ecx
adc edx, 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x10], edx
call sym.sync_atomic.CompareAndSwapUint64
movzx eax, byte [esp + 0x14]
test al, al
je 0x555651
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
je 0x555452
jmp 0x555831
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
and edx, 0x80000000
mov ebx, ecx
shl ecx, 1
shr edx, 0x1f
or ecx, edx
mov dword [esp + 0x4c], ecx
shr ebx, 0x1f
mov dword [esp + 0x2c], ebx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.0046f59a
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x591ae0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ecx, dword [esp + 8]
lea edx, [0x591ca0]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ecx, dword [esp + 8]
lea edx, [0x591ce0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [0x5c2add]
mov dword [esp], ecx
mov dword [esp + 4], 0x1e
lea ecx, [esp + 0x50]
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.debugPrintf
add esp, 0x7c
ret
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
and edx, 0x80000000
mov ebx, ecx
shl ecx, 1
shr edx, 0x1f
or ecx, edx
mov dword [esp + 0x4c], ecx
shr ebx, 0x1f
mov dword [esp + 0x28], ebx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.0046f59a
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov ebp, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ebp
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x591ae0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ecx, dword [esp + 8]
lea edx, [0x591ca0]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ecx, dword [esp + 8]
lea edx, [0x591ce0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [0x5c24af]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
lea ecx, [esp + 0x50]
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.debugPrintf
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._Counter_.releaseLock
add esp, 0x7c
ret
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x555966
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._Counter_.add
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.0046f59a
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x591ae0]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x591ca0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x591ce0]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x5bfc4a]
mov dword [esp], eax
mov dword [esp + 4], 0x17
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
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 + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._Counter_.releaseReader
add esp, 0x7c
ret
nop
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sym.sync_atomic.LoadUint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ebx, ecx
and ecx, 0x80000000
mov ebp, edx
shl edx, 1
shr ecx, 0x1f
or edx, ecx
mov ecx, ebp
shr ebp, 0x1f
mov dword [esp + 0x34], ebp
nop
mov esi, dword [esp + 0x84]
mov edi, edx
add edx, esi
mov esi, dword [esp + 0x88]
adc ebp, esi
mov esi, dword [esp + 0x34]
cmp esi, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
seta al
cmp edx, edi
xchg edi, ebx
setb bl
xchg edi, ebx
and esi, edi
or eax, esi
test al, al
jne 0x5559c3
cmp ebp, 1
jbe 0x5559cd
mov edx, 0xffffffff
mov ebp, 1
mov eax, edx
shr edx, 1
shl ebp, 0x1f
or edx, ebp
mov dword [esp + 0x4c], edx
shl eax, 0x1f
mov ebp, ebx
and ebx, 0x7fffffff
or ebx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call sym.sync_atomic.CompareAndSwapUint64
movzx eax, byte [esp + 0x14]
test al, al
je 0x555a20
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
je 0x555949
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
and edx, 0x80000000
mov ebx, ecx
shl ecx, 1
shr edx, 0x1f
or ecx, edx
mov dword [esp + 0x4c], ecx
shr ebx, 0x1f
mov dword [esp + 0x30], ebx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.0046f59a
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov ebp, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ebp
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x591ae0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ecx, dword [esp + 8]
lea edx, [0x591ca0]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ecx, dword [esp + 8]
lea edx, [0x591ce0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [0x5c17d8]
mov dword [esp], ecx
mov dword [esp + 4], 0x1b
lea ecx, [esp + 0x50]
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.debugPrintf
jmp 0x555926
lea eax, [0x591ae0]
mov dword [esp], eax
lea eax, [0x5faa38]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_vendor_golang.org_x_telemetry_internal_counter._Counter_.Add