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

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x57f38b
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, [0x5ed6a0]
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, [0x5ed860]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x620848]
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 0x57f372
sete cl
mov edx, dword [esp + 0x84]
test edx, edx
sete bl
and ecx, ebx
test cl, cl
jne 0x57ecbe
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 0x57ecdf
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 0x57ed11
test ecx, 0x40000000
jne 0x57ee7e
test al, al
je 0x57edbf
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 0x57ed58
cmp edi, 1
jbe 0x57ed62
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 0x57edb4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
je 0x57ecc2
jmp 0x57eecc
test ecx, 0x40000000
jne 0x57ecc2
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 0x57ee12
cmp edi, 1
jbe 0x57ee1c
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 0x57ee73
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
je 0x57ecc2
jmp 0x57efa7
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 0x57eec1
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
je 0x57ecc2
jmp 0x57f0a1
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.0046ffca
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, [0x5ed6a0]
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, [0x5ed860]
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, [0x5ed8a0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [0x6296a2]
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.0046ffca
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, [0x5ed6a0]
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, [0x5ed860]
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, [0x5ed8a0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [0x628f2a]
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 0x57f1d6
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.0046ffca
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, [0x5ed6a0]
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, [0x5ed860]
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, [0x5ed8a0]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x625fa1]
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 0x57f233
cmp ebp, 1
jbe 0x57f23d
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 0x57f290
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
je 0x57f1b9
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.0046ffca
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, [0x5ed6a0]
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, [0x5ed860]
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, [0x5ed8a0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [0x627fa7]
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 0x57f196
lea eax, [0x5ed6a0]
mov dword [esp], eax
lea eax, [0x66dee0]
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